WME GLR State Scripts

Consolidation of state scripts (validator/counties/cities) for GLR states

目前为 2016-10-26 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name WME GLR State Scripts
  3. // @namespace https://gf.qytechs.cn/users/30701-justins83-waze
  4. // @version 0.3
  5. // @description Consolidation of state scripts (validator/counties/cities) for GLR states
  6. // @include https://www.waze.com/editor/*
  7. // @include https://www.waze.com/*/editor/*
  8. // @include https://beta.waze.com/*
  9. // @exclude https://www.waze.com/user/editor*
  10. // @author JustinS83
  11. // @grant none
  12. // @require https://gf.qytechs.cn/scripts/9794-wlib/code/wLib.js?version=106259
  13. // @require https://gf.qytechs.cn/scripts/23614-wlibext/code/wLibExt.js?version=150020
  14. // @license GPLv3
  15. // ==/UserScript==
  16.  
  17. (function() {
  18. 'use strict';
  19.  
  20. function bootstrap(tries) {
  21. tries = tries || 1;
  22.  
  23. if (window.W &&
  24. window.W.map &&
  25. window.W.model &&
  26. $) {
  27. init();
  28. } else if (tries < 1000) {
  29. setTimeout(function () {bootstrap(tries++);}, 200);
  30. }
  31. }
  32.  
  33. bootstrap();
  34.  
  35. function isChecked(id) {
  36. return $('#' + id).is(':checked');
  37. }
  38.  
  39. function setChecked(id, checked) {
  40. $('#' + id).prop('checked', checked);
  41. }
  42.  
  43. function init(){
  44. var $section = $("<div>", {style:"padding:8px 16px", id:"GLRStateSections"});
  45.  
  46. var $OHsection = $("<div>", {style:"padding:8px 16px", id:"GLROHScriptsSettings"});
  47. $OHsection.html([
  48. '<div style="font-weight:bold">Ohio</div>',
  49. '<div title="OH Validator Localization, Author: Xanderb" id="divGLROHValidatorLocalization" class="controls-container"><input type="checkbox" id="_cbGLROHValidatorLocalizationEnable" name="StateValidator" /><label for="_cbGLROHValidatorLocalizationEnable">OH Validator Localization <a href="https://gf.qytechs.cn/en/scripts/8746-wme-validator-localization-for-ohio" target="_blank">...</a></label></div>',
  50. '<div title="OH Counties 2014, Author: rickzable" class="controls-container"><input type="checkbox" id="_cbGLROHCounties2014Enable" /><label for ="_cbGLROHCounties2014Enable"> OH Counties 2014 <a href="https://gf.qytechs.cn/scripts/11240-wme-counties-ohio-census-2014" target="_blank">...</a></label></div>',
  51. '<div title="OH Cities 2014-1, Author: JustinS83" class="controls-container"><input type="checkbox" id="_cbGLROHCities20141Enable" /><label for ="_cbGLROHCities20141Enable"> OH Cities 2014-1 <a href="https://gf.qytechs.cn/scripts/17391-wme-ohio-cities-census-2014-1" target="_blank">...</a></label></div>',
  52. '<div title="OH Cities 2014-2, Author: JustinS83" class="controls-container"><input type="checkbox" id="_cbGLROHCities20142Enable" /><label for ="_cbGLROHCities20142Enable"> OH Cities 2014-2 <a href="https://gf.qytechs.cn/scripts/17392-wme-ohio-cities-census-2014-2" target="_blank">...</a></label></div>',
  53. ].join(' '));
  54.  
  55. var $INsection = $("<div>", {style:"padding:8px 16px", id:"GLRINScriptsSettings"});
  56. $INsection.html([
  57. '<div style="font-weight:bold">Indiana</div>',
  58. '<div title="IN Validator Localization, Author: Xanderb" id="divINValidatorLocalization" class="controls-container"><input type="checkbox" id="_cbGLRINValidatorLocalizationEnable" name="StateValidator" /><label for="_cbGLRINValidatorLocalizationEnable">IN Validator Localization <a href="https://gf.qytechs.cn/en/scripts/8433-wme-validator-localization-for-indiana" target="_blank">...</a></label></div>',
  59. '<div title="IN Counties 2014, Author: rickzable" class="controls-container"><input type="checkbox" id="_cbGLRINCounties2014Enable" /><label for ="_cbGLRINCounties2014Enable"> IN Counties 2014 <a href="https://gf.qytechs.cn/en/scripts/11442-wme-counties-indiana-census-2014" target="_blank">...</a></label></div>',
  60. ].join(' '));
  61.  
  62. var $ILsection = $("<div>", {style:"padding:8px 16px", id:"GLRILScriptsSettings"});
  63. $ILsection.html([
  64. '<div style="font-weight:bold">Illinois</div>',
  65. '<div title="IL Validator Localization, Author: Xanderb" id="divILValidatorLocalization" class="controls-container"><input type="checkbox" id="_cbGLRILValidatorLocalizationEnable" name="StateValidator" /><label for="_cbGLRILValidatorLocalizationEnable">IL Validator Localization <a href="https://gf.qytechs.cn/en/scripts/8747-wme-validator-localization-for-illinois" target="_blank">...</a></label></div>',
  66. '<div title="IL Counties 2014, Author: rickzable" class="controls-container"><input type="checkbox" id="_cbGLRILCounties2014Enable" /><label for ="_cbGLRILCounties2014Enable"> IN Counties 2014 <a href="https://gf.qytechs.cn/en/scripts/8297-wme-counties-illinois-census-2014" target="_blank">...</a></label></div>',
  67. ].join(' '));
  68.  
  69. var $WIsection = $("<div>", {style:"padding:8px 16px", id:"GLRWIScriptsSettings"});
  70. $WIsection.html([
  71. '<div style="font-weight:bold">Wisconsin</div>',
  72. '<div title="WI Validator Localization, Author: Xanderb" id="divWIValidatorLocalization" class="controls-container"><input type="checkbox" id="_cbGLRWIValidatorLocalizationEnable" name="StateValidator" /><label for="_cbGLRWIValidatorLocalizationEnable">WI Validator Localization <a href="https://gf.qytechs.cn/en/scripts/8748-wme-validator-localization-for-wisconsin" target="_blank">...</a></label></div>',
  73. '<div title="WI Counties 2014, Author: rickzable" class="controls-container"><input type="checkbox" id="_cbGLRWICounties2014Enable" /><label for ="_cbGLRWICounties2014Enable"> WI Counties 2014 <a href="https://gf.qytechs.cn/en/scripts/11498-wme-counties-wisconsin-census-2014" target="_blank">...</a></label></div>',
  74. ].join(' '));
  75.  
  76. var $MIsection = $("<div>", {style:"padding:8px 16px", id:"GLRMIScriptsSettings"});
  77. $MIsection.html([
  78. '<div style="font-weight:bold">Michigan</div>',
  79. '<div title="MI Validator Localization, Author: Xanderb" id="divMIValidatorLocalization" class="controls-container"><input type="checkbox" id="_cbGLRMIValidatorLocalizationEnable" name="StateValidator" /><label for="_cbGLRMIValidatorLocalizationEnable">MI Validator Localization <a href="https://gf.qytechs.cn/en/scripts/8749-wme-validator-localization-for-michigan" target="_blank">...</a></label></div>',
  80. '<div title="MI Counties 2014, Author: rickzable" class="controls-container"><input type="checkbox" id="_cbGLRMICounties2014Enable" /><label for ="_cbGLRMICounties2014Enable"> MI Counties 2014 <a href="https://gf.qytechs.cn/en/scripts/11453-wme-counties-michigan-census-2014" target="_blank">...</a></label></div>',
  81. '<div title="MI Drive Total Closures Only, Author: vaindil" class="controls-container"><input type="checkbox" id="_cbGLRMIDriveTotalClosures" /><label for="_cbGLRMIDriveTotalClosures">MI Drive Total Closures <a href="https://gf.qytechs.cn/en/scripts/15672-mi-drive-total-closures-only" target="_blank">...</a></label></div>',
  82. ].join(' '));
  83.  
  84. $section.append($OHsection);
  85. $section.append($INsection);
  86. $section.append($ILsection);
  87. $section.append($WIsection);
  88. $section.append($MIsection);
  89.  
  90. new wLib.Interface.Tab('GLR Scripts', $section.html(), initializeSettings);
  91. }
  92.  
  93. function initializeSettings(){
  94. $('input[name^="StateValidator"]').change(function () {
  95. $('input[name^="StateValidator"]').not(this).prop('checked', false);
  96. });
  97.  
  98. loadOhio();
  99. loadIndiana();
  100. loadIllinois();
  101. loadWisconsin();
  102. loadMichigan();
  103. }
  104.  
  105. function loadOhio(){
  106. var storedOptionsStr = localStorage.GLR_OHScripts;
  107.  
  108. if(!localStorage.GLR_OHScripts)
  109. storedOptionsStr = localStorage.OHScripts;
  110.  
  111. var options = storedOptionsStr ? JSON.parse(storedOptionsStr) : [0, true, true, false, false, true];
  112. setChecked('_cbGLROHValidatorLocalizationEnable', options[1]);
  113. setChecked('_cbGLROHCounties2014Enable', options[2]);
  114. setChecked('_cbGLROHCities20141Enable', options[3]);
  115. setChecked('_cbGLROHCities20142Enable', options[4]);
  116.  
  117. if(!localStorage.GLR_OHScripts){
  118. SaveSettings();
  119. localStorage.removeItem("OHScripts");
  120. }
  121.  
  122. $('input[id^="_cbGLROH"]').change(function() { SaveSettings(); });
  123.  
  124. if(!$('#OHScriptsSettings')){
  125. if(options[1])
  126. $.getScript("https://gf.qytechs.cn/scripts/8746-wme-validator-localization-for-ohio/code/WME%20Validator%20Localization%20for%20Ohio.user.js");
  127.  
  128. if(options[2])
  129. $.getScript("https://gf.qytechs.cn/scripts/11240-wme-counties-ohio-census-2014/code/WME%20Counties%20Ohio%20Census%202014.user.js");
  130.  
  131. if(options[3])
  132. $.getScript("https://gf.qytechs.cn/scripts/17391-wme-ohio-cities-census-2014-1/code/WME%20Ohio%20Cities%20Census%202014%20-%201.user.js");
  133.  
  134. if(options[4])
  135. $.getScript("https://gf.qytechs.cn/scripts/17392-wme-ohio-cities-census-2014-2/code/WME%20Ohio%20Cities%20Census%202014%20-%202.user.js");
  136. }
  137.  
  138. }
  139.  
  140. function loadIndiana(){
  141. var storedOptionsStr = localStorage.GLR_INScripts;
  142.  
  143. var options = storedOptionsStr ? JSON.parse(storedOptionsStr) : [0, false, false];
  144. setChecked('_cbGLRINValidatorLocalizationEnable', options[1]);
  145. setChecked('_cbGLRINCounties2014Enable', options[2]);
  146.  
  147. $('input[id^="_cbGLRIN"]').change(function() { SaveSettings(); });
  148.  
  149. if(options[1])
  150. $.getScript("https://gf.qytechs.cn/scripts/8433-wme-validator-localization-for-indiana/code/WME%20Validator%20Localization%20for%20Indiana.user.js");
  151.  
  152. if(options[2])
  153. $.getScript("https://gf.qytechs.cn/scripts/11442-wme-counties-indiana-census-2014/code/WME%20Counties%20Indiana%20Census%202014.user.js");
  154. }
  155.  
  156. function loadIllinois(){
  157. var storedOptionsStr = localStorage.GLR_ILScripts;
  158.  
  159. var options = storedOptionsStr ? JSON.parse(storedOptionsStr) : [0, false, false];
  160. setChecked('_cbGLRILValidatorLocalizationEnable', options[1]);
  161. setChecked('_cbGLRILCounties2014Enable', options[2]);
  162.  
  163. $('input[id^="_cbGLRIL"]').change(function() { SaveSettings(); });
  164.  
  165. if(options[1])
  166. $.getScript("https://gf.qytechs.cn/scripts/8747-wme-validator-localization-for-illinois/code/WME%20Validator%20Localization%20for%20Illinois.user.js");
  167.  
  168. if(options[2])
  169. $.getScript("https://gf.qytechs.cn/scripts/8297-wme-counties-illinois-census-2014/code/WME%20Counties%20Illinois%20Census%202014.user.js");
  170. }
  171.  
  172. function loadWisconsin(){
  173. var storedOptionsStr = localStorage.GLR_WIScripts;
  174.  
  175. var options = storedOptionsStr ? JSON.parse(storedOptionsStr) : [0, false, false];
  176. setChecked('_cbGLRWIValidatorLocalizationEnable', options[1]);
  177. setChecked('_cbGLRWICounties2014Enable', options[2]);
  178.  
  179. $('input[id^="_cbGLRWI"]').change(function() { SaveSettings(); });
  180.  
  181. if(options[1])
  182. $.getScript("https://gf.qytechs.cn/scripts/8748-wme-validator-localization-for-wisconsin/code/WME%20Validator%20Localization%20for%20Wisconsin.user.js");
  183.  
  184. if(options[2])
  185. $.getScript("https://gf.qytechs.cn/scripts/11498-wme-counties-wisconsin-census-2014/code/WME%20Counties%20Wisconsin%20Census%202014.user.js");
  186. }
  187.  
  188. function loadMichigan(){
  189. var storedOptionsStr = localStorage.GLR_MIScripts;
  190.  
  191. var options = storedOptionsStr ? JSON.parse(storedOptionsStr) : [0, false, false, false];
  192. setChecked('_cbGLRMIValidatorLocalizationEnable', options[1]);
  193. setChecked('_cbGLRMICounties2014Enable', options[2]);
  194. setChecked('_cbGLRMIDriveTotalClosures', options[3]);
  195.  
  196. $('input[id^="_cbGLRMI"]').change(function() { SaveSettings(); });
  197.  
  198. if(options[1])
  199. $.getScript("https://gf.qytechs.cn/scripts/8749-wme-validator-localization-for-michigan/code/WME%20Validator%20Localization%20for%20Michigan.user.js");
  200.  
  201. if(options[2])
  202. $.getScript("https://gf.qytechs.cn/scripts/11453-wme-counties-michigan-census-2014/code/WME%20Counties%20Michigan%20Census%202014.user.js");
  203.  
  204. if(options[3])
  205. $.getScript("https://gf.qytechs.cn/scripts/15672-mi-drive-total-closures-only/code/Mi%20Drive%20-%20Total%20Closures%20Only.user.js");
  206. }
  207.  
  208. function SaveSettings(){
  209. if (localStorage) {
  210. var options = [];
  211. // preserve previous options which may get lost after logout
  212. if (localStorage.GLR_OHScripts) { options = JSON.parse(localStorage.GLR_OHScripts); }
  213. options[1] = isChecked('_cbGLROHValidatorLocalizationEnable');
  214. options[2] = isChecked('_cbGLROHCounties2014Enable');
  215. options[3] = isChecked('_cbGLROHCities20141Enable');
  216. options[4] = isChecked('_cbGLROHCities20142Enable');
  217. options[5] = isChecked('GLRFCDisplay');
  218. localStorage.GLR_OHScripts = JSON.stringify(options);
  219.  
  220. var ILoptions = [];
  221. if (localStorage.GLR_ILScripts) { options = JSON.parse(localStorage.GLR_ILScripts); }
  222. ILoptions[1] = isChecked('_cbGLRILValidatorLocalizationEnable');
  223. ILoptions[2] = isChecked('_cbGLRILCounties2014Enable');
  224. localStorage.GLR_ILScripts = JSON.stringify(ILoptions);
  225.  
  226. var INoptions = [];
  227. if (localStorage.GLR_INScripts) { options = JSON.parse(localStorage.GLR_INScripts); }
  228. INoptions[1] = isChecked('_cbGLRINValidatorLocalizationEnable');
  229. INoptions[2] = isChecked('_cbGLRINCounties2014Enable');
  230. localStorage.GLR_INScripts = JSON.stringify(INoptions);
  231.  
  232. var WIoptions = [];
  233. if (localStorage.GLR_WIScripts) { options = JSON.parse(localStorage.GLR_WIScripts); }
  234. WIoptions[1] = isChecked('_cbGLRWIValidatorLocalizationEnable');
  235. WIoptions[2] = isChecked('_cbGLRWICounties2014Enable');
  236. localStorage.GLR_WIScripts = JSON.stringify(WIoptions);
  237.  
  238. var MIoptions = [];
  239. if (localStorage.GLR_MIScripts) { options = JSON.parse(localStorage.GLR_MIScripts); }
  240. MIoptions[1] = isChecked('_cbGLRMIValidatorLocalizationEnable');
  241. MIoptions[2] = isChecked('_cbGLRMICounties2014Enable');
  242. MIoptions[3] = isChecked('_cbGLRMIDriveTotalClosures');
  243. localStorage.GLR_MIScripts = JSON.stringify(MIoptions);
  244. }
  245. }
  246.  
  247. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址