WME UI Bugs

Corrects bugs of WME User Interface like moving location info on the right when UR or place update is open, StreetView when editing house numbers...

当前为 2015-06-28 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name WME UI Bugs
  3. // @namespace https://greasyfork.org/fr/scripts/10691-wme-ui-bugs
  4. // @description Corrects bugs of WME User Interface like moving location info on the right when UR or place update is open, StreetView when editing house numbers...
  5. // @include https://www.waze.com/editor/*
  6. // @include https://www.waze.com/*/editor/*
  7. // @version 0.3
  8. // @grant na
  9. // ==/UserScript==
  10.  
  11. // V0.2 Ajout gestion des place update
  12. // V0.2 Prise en charge des contrôles de Street View lors de l'édition des numéros de maisons.
  13. // V0.3
  14.  
  15. if ('undefined' == typeof __RTLM_PAGE_SCOPE_RUN__) {
  16. (function page_scope_runner() {
  17. var my_src = "(" + page_scope_runner.caller.toString() + ")();";
  18. var script = document.createElement('script');
  19. script.setAttribute("type", "text/javascript");
  20. script.textContent = "var __RTLM_PAGE_SCOPE_RUN__ = true;\n" + my_src;
  21. setTimeout(function() {
  22. document.body.appendChild(script);
  23. document.body.removeChild(script);
  24. }, 0);
  25. })();
  26. return;
  27. }
  28.  
  29. function bootstrapUIBugs(){
  30. if (typeof(unsafeWindow) === "undefined"){
  31. unsafeWindow = ( function () {
  32. var dummyElem = document.createElement('p');
  33. dummyElem.setAttribute('onclick', 'return window;');
  34. return dummyElem.onclick();
  35. }) ();
  36. }
  37. setTimeout(initUIBugs, 700);
  38. }
  39.  
  40. function LocationPos() {
  41. //JQuery renvoie toujours Objet même s'il n'existe pas (!!) Il faut tester la longueur... Si = 0, n'existe pas.
  42. if ($(".problem-edit").length > 0 || $(".place-update-edit").length > 0){ // On teste si un UR ou Place update est ouvert
  43. $( ".WazeControlLocationInfo" ).css("left","350px"); // On déplace le texte vers la droite grâce à Jquery
  44. }else{
  45. $( ".WazeControlLocationInfo" ).css("left","73px"); // On déplace le texte à son emplacement d'origine grâce à Jquery
  46. }
  47. }
  48.  
  49. function ModifySv(){
  50. if ($(".lightboxShown").length > 0){ // Si l'édition des numéros de rues est en cours
  51. $( ".close-button" ).css("top","55px"); // On déplace le bouton fermer
  52. $('.gmnoprint[controlwidth="25"]').css("top","55px"); // On déplace les contrôles de position de SV
  53. $('.gmnoprint[style*="top: 103px"]').css("top","158px");
  54. }else{
  55. $( ".close-button" ).css("top","0px"); // On remet le bouton fermer à sa place
  56. $('.gmnoprint[controlwidth="25"]').css("top","0px"); // On remet les contrôles de position de SV à leur place
  57. $('.gmnoprint[style*="top: 158px"]').css("top","103px");
  58. }
  59. }
  60.  
  61. function initUIBugs(){
  62. Waze = unsafeWindow.Waze;
  63. if(typeof(Waze) == 'undefined'){
  64. setTimeout(initUIBugs, 700);
  65. return;
  66. }
  67. $("body").click(function(){LocationPos()}); // ajout d'un listener click sur "toute la page" et non pas seulement la map
  68. $('body').mousemove(function(){ModifySv()}); // listener mousemove
  69. setTimeout(LocationPos,1000);
  70. }
  71.  
  72. bootstrapUIBugs();