WME englishName display

Display the englishName for selected cities

  1. // ==UserScript==
  2. // @name WME englishName display
  3. // @namespace https://greatest.deepsurf.us/users/30701-justins83-waze
  4. // @version 2018.09.18.01
  5. // @description Display the englishName for selected cities
  6. // @author JustinS83
  7. // @include https://beta.waze.com/*
  8. // @include https://www.waze.com/editor*
  9. // @include https://www.waze.com/*/editor*
  10. // @exclude https://www.waze.com/user/editor*
  11. // @require https://greatest.deepsurf.us/scripts/24851-wazewrap/code/WazeWrap.js
  12. // @grant none
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. 'use strict';
  17.  
  18. function bootstrap(tries = 1) {
  19. if (W && W.map &&
  20. W.model &&
  21. $ && WazeWrap.Ready) {
  22. init();
  23. } else if (tries < 1000)
  24. setTimeout(function () {bootstrap(tries++);}, 200);
  25. }
  26.  
  27. function init()
  28. {
  29. W.selectionManager.events.register("selectionchanged", null, displayEnglishname);
  30. }
  31.  
  32. function displayEnglishname()
  33. {
  34. if(WazeWrap.hasSelectedFeatures() && WazeWrap.getSelectedFeatures()[0].model.type == "city")
  35. {
  36. var $cityAttributes = $(`<div class='preview'>cityID: <span>${WazeWrap.getSelectedFeatures()[0].model.attributes.id}</span></div>
  37. <div class='preview'>stateID: <span>${WazeWrap.getSelectedFeatures()[0].model.attributes.stateID}</span></div>
  38. <div class='preview'>englishName: <span>${WazeWrap.getSelectedFeatures()[0].model.attributes.englishName}</span></div><br/>
  39. <div><a href="https://docs.google.com/forms/d/e/1FAIpQLSeoEtS5lQNwakeTXzHz98FpB_p2ji-U3XWwyv-Er4nbgEuf9A/viewform" target="_blank">Cities form</a></div>`);
  40. $('#edit-panel > div > div > div > div > div.preview').after($cityAttributes);
  41. }
  42. }
  43.  
  44. bootstrap();
  45. })();