From 9a0fdb6ee8c1ad73af0ecc7c8352ac6303236e9f Mon Sep 17 00:00:00 2001 From: Giacinto Garcea Date: Sun, 11 Aug 2013 17:36:47 +0200 Subject: [PATCH] New Plugin - Data Freezer Disable automatic portal data refresh. --- plugins/data-freezer.user.js | 99 ++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 plugins/data-freezer.user.js diff --git a/plugins/data-freezer.user.js b/plugins/data-freezer.user.js new file mode 100644 index 00000000..c869dc50 --- /dev/null +++ b/plugins/data-freezer.user.js @@ -0,0 +1,99 @@ +// ==UserScript== +// @id iitc-plugin-data-freezer@zaso +// @name IITC plugin: Data Freezer +// @category Tweaks +// @version 0.1.2.@@DATETIMEVERSION@@ +// @namespace https://github.com/jonatkins/ingress-intel-total-conversion +// @updateURL @@UPDATEURL@@ +// @downloadURL @@DOWNLOADURL@@ +// @description [@@BUILDNAME@@-@@BUILDDATE@@] Disable automatic portal data refresh. +// @include https://www.ingress.com/intel* +// @include http://www.ingress.com/intel* +// @match https://www.ingress.com/intel* +// @match http://www.ingress.com/intel* +// @grant none +// ==/UserScript== + +@@PLUGINSTART@@ + +// PLUGIN START //////////////////////////////////////////////////////// + + // use own namespace for plugin + window.plugin.dataFreezer = function() {}; + + window.plugin.dataFreezer.noMoreData = 1000000; + window.plugin.dataFreezer.defaultVal = 1.25; + window.plugin.dataFreezer.storageKEY = 'plugin-data-freezer-status'; + window.plugin.dataFreezer.status; + + if(!localStorage[window.plugin.dataFreezer.storageKEY]) { + localStorage[window.plugin.dataFreezer.storageKEY] = 1; + } + if(localStorage[window.plugin.dataFreezer.storageKEY] === '1') { + window.plugin.dataFreezer.status = true; + window.ON_MOVE_REFRESH = window.plugin.dataFreezer.noMoreData; + window.mapRunsUserAction = true; + } else { + window.plugin.dataFreezer.status = false; + } + + window.plugin.dataFreezer.toggle = function() { + if(!window.plugin.dataFreezer.status) { + window.plugin.dataFreezer.status = true; + window.ON_MOVE_REFRESH = window.plugin.dataFreezer.noMoreData; + localStorage[window.plugin.dataFreezer.storageKEY] = 1; + } else { + window.plugin.dataFreezer.status = false; + window.ON_MOVE_REFRESH = window.plugin.dataFreezer.defaultVal; + localStorage[window.plugin.dataFreezer.storageKEY] = 0; + } + + window.plugin.dataFreezer.setupCSS(); + map.zoomOut(1, {animate:false}); + map.zoomIn(1, {animate:false}); + } + + window.plugin.dataFreezer.setupCSS = function() { + if(window.plugin.dataFreezer.status === true) { + $('a.dataFreezer').css({'background':'#f66','outline':'none'}); + } else { + $('a.dataFreezer').css({'background':'#03DC03','outline':'none'}); + } + } + + var setup = function() { + L.Control.Command = L.Control.extend({ + options:{position: 'topleft'}, + + onAdd:function(map) { + var controlDiv = L.DomUtil.create('div', 'leaflet-dataFreezer leaflet-control'); + var controlSubDIV = L.DomUtil.create('div', 'leaflet-bar', controlDiv); + var butt = L.DomUtil.create('a', 'dataFreezer', controlSubDIV); + butt.title = 'Enable/Disable data refresh'; + + L.DomEvent + .addListener(controlDiv, 'click', L.DomEvent.stopPropagation) + .addListener(controlDiv, 'click', L.DomEvent.preventDefault) + .addListener(controlDiv, 'dblclick', L.DomEvent.stopPropagation) + .addListener(controlDiv, 'dblclick', L.DomEvent.preventDefault) + .addListener(butt, 'click', function() { + window.plugin.dataFreezer.toggle(); + }); + return controlDiv; + } + }); + L.control.command = function(options) { return new L.Control.Command(options); }; + + map.addControl(new L.control.command()); + window.plugin.dataFreezer.setupCSS(); + + window.addHook('checkRenderLimit', function() { + if(window.plugin.dataFreezer.status) { + window.mapRunsUserAction = true; + } + }); + } + +// PLUGIN END ////////////////////////////////////////////////////////// + +@@PLUGINEND@@