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...

  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.4
  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. // V0.4 Compatibilité avec WME Maximized
  15.  
  16. if ('undefined' == typeof __RTLM_PAGE_SCOPE_RUN__) {
  17. (function page_scope_runner() {
  18. var my_src = "(" + page_scope_runner.caller.toString() + ")();";
  19. var script = document.createElement('script');
  20. script.setAttribute("type", "text/javascript");
  21. script.textContent = "var __RTLM_PAGE_SCOPE_RUN__ = true;\n" + my_src;
  22. setTimeout(function() {
  23. document.body.appendChild(script);
  24. document.body.removeChild(script);
  25. }, 0);
  26. })();
  27. return;
  28. }
  29.  
  30. function bootstrapUIBugs(){
  31. if (typeof(unsafeWindow) === "undefined"){
  32. unsafeWindow = ( function () {
  33. var dummyElem = document.createElement('p');
  34. dummyElem.setAttribute('onclick', 'return window;');
  35. return dummyElem.onclick();
  36. }) ();
  37. }
  38. setTimeout(initUIBugs, 700);
  39. }
  40.  
  41. function LocationPos() {
  42. //JQuery renvoie toujours Objet même s'il n'existe pas (!!) Il faut tester la longueur... Si = 0, n'existe pas.
  43. if ($(".problem-edit").length > 0 || $(".place-update-edit").length > 0){ // On teste si un UR ou Place update est ouvert
  44. $('.WazeControlLocationInfo').attr('style', function(i,s) { return s + 'left: 350px !important;' }); // On déplace le texte vers la droite grâce à Jquery
  45. }else{
  46. $('.WazeControlLocationInfo').attr('style', function(i,s) { return s + 'left: 73px !important;' }); // On déplace le texte à son emplacement d'origine grâce à Jquery
  47. }
  48. }
  49.  
  50. function ModifySv(){
  51. if ($(".lightboxShown").length > 0){ // Si l'édition des numéros de rues est en cours
  52. var MaximizedSidebarW = $('#sidebar').css("max-width");
  53. if(MaximizedSidebarW == "260px"){ // Si WME Maximized est actif
  54. CBTop = 79;
  55. SVCTop = 182;
  56. }else{
  57. CBTop = 55;
  58. SVCTop = 158;
  59. }
  60. $('.close-button').attr('style', function(i,s) { return s + 'top: ' + CBTop + 'px !important;' }); // On déplace le bouton fermer
  61. $('.gmnoprint[controlwidth="25"]').attr('style', function(i,s) { return s + 'top: ' + CBTop + 'px !important;' }); // On déplace les contrôles de position de SV //55
  62. $('.gmnoprint[style*="top: 103px"]').attr('style', function(i,s) { return s + 'top: ' + SVCTop + 'px !important;' }); //158
  63. }else{
  64. $( ".close-button" ).css("top","0px"); // On remet le bouton fermer à sa place
  65. $('.gmnoprint[controlwidth="25"]').css("top","0px"); // On remet les contrôles de position de SV à leur place
  66. $('.gmnoprint[style*="top: 158px"]').css("top","103px");
  67. }
  68. }
  69.  
  70. function initUIBugs(){
  71. Waze = unsafeWindow.Waze;
  72. if(typeof(Waze) == 'undefined'){
  73. setTimeout(initUIBugs, 700);
  74. return;
  75. }
  76. $("body").click(function(){LocationPos()}); // ajout d'un listener click sur "toute la page" et non pas seulement la map
  77. $('body').mousemove(function(){ModifySv()}); // listener mousemove
  78. setTimeout(LocationPos,1000);
  79. }
  80.  
  81. bootstrapUIBugs();