WP Google Maps - Version 7.10.51

Version Description

:- 2018-12-11 :- Low priority = * Added tile server URL setting for OpenLayers * Fixed Google vertex context menu preventing OpenLayers engine loading in developer mode * Fixed Gutenberg integration module always loading scripts on front end

Download this release

Release Info

Developer perryrylance
Plugin Icon 128x128 WP Google Maps
Version 7.10.51
Comparing to
See all releases

Code changes from version 7.10.50 to 7.10.51

Files changed (100) hide show
  1. docs/js/WPGMZA.Circle.html +1 -1
  2. docs/js/WPGMZA.Compatibility.html +1 -1
  3. docs/js/WPGMZA.Distance.html +1 -1
  4. docs/js/WPGMZA.Event.html +1 -1
  5. docs/js/WPGMZA.EventDispatcher.html +1 -1
  6. docs/js/WPGMZA.FriendlyError.html +1 -1
  7. docs/js/WPGMZA.Geocoder.html +1 -1
  8. docs/js/WPGMZA.GoogleAPIErrorHandler.html +1 -1
  9. docs/js/WPGMZA.GoogleCircle.html +1 -1
  10. docs/js/WPGMZA.GoogleGeocoder.html +1 -1
  11. docs/js/WPGMZA.InfoWindow.html +1 -1
  12. docs/js/WPGMZA.LatLng.html +1 -1
  13. docs/js/WPGMZA.LatLngBounds.html +1 -1
  14. docs/js/WPGMZA.Map.html +1 -1
  15. docs/js/WPGMZA.MapEngineDialog.html +1 -1
  16. docs/js/WPGMZA.MapObject.html +1 -1
  17. docs/js/WPGMZA.MapSettings.html +1 -1
  18. docs/js/WPGMZA.MapSettingsPage.html +1 -1
  19. docs/js/WPGMZA.Marker.html +1 -1
  20. docs/js/WPGMZA.ModernStoreLocator.html +1 -1
  21. docs/js/WPGMZA.ModernStoreLocatorCircle.html +1 -1
  22. docs/js/WPGMZA.NativeMapsAppIcon.html +1 -1
  23. docs/js/WPGMZA.Polygon.html +1 -1
  24. docs/js/WPGMZA.Polyline.html +1 -1
  25. docs/js/WPGMZA.PopoutPanel.html +1 -1
  26. docs/js/WPGMZA.RestAPI.html +1 -1
  27. docs/js/WPGMZA.module_RestAPI.html +1 -1
  28. docs/js/classes.list.html +1 -1
  29. docs/js/index.html +1 -1
  30. docs/js/module-CSS.html +1 -1
  31. docs/js/module-Circle.html +1 -1
  32. docs/js/module-Compatibility.html +1 -1
  33. docs/js/module-Distance.html +1 -1
  34. docs/js/module-Event.html +1 -1
  35. docs/js/module-EventDispatcher.html +1 -1
  36. docs/js/module-FriendlyError.html +1 -1
  37. docs/js/module-Geocoder.html +1 -1
  38. docs/js/module-GoogleAPIErrorHandler.html +1 -1
  39. docs/js/module-GoogleCircle.html +1 -1
  40. docs/js/module-GoogleGeocoder.html +1 -1
  41. docs/js/module-GoogleInfoWindow.html +1 -1
  42. docs/js/module-GoogleMap.html +1 -1
  43. docs/js/module-GoogleMarker.html +1 -1
  44. docs/js/module-GoogleModernStoreLocator.html +1 -1
  45. docs/js/module-GoogleModernStoreLocatorCircle.html +1 -1
  46. docs/js/module-GooglePolygon.html +1 -1
  47. docs/js/module-GooglePolyline.html +1 -1
  48. docs/js/module-GoogleUICompatibility.html +1 -1
  49. docs/js/module-GoogleVertexContextMenu.html +1 -1
  50. docs/js/module-Gutenberg.html +1 -1
  51. docs/js/module-InfoWindow.html +1 -1
  52. docs/js/module-Integration.html +1 -1
  53. docs/js/module-LatLng.html +1 -1
  54. docs/js/module-LatLngBounds.html +1 -1
  55. docs/js/module-Map.html +1 -1
  56. docs/js/module-MapObject.html +1 -1
  57. docs/js/module-MapSettings.html +1 -1
  58. docs/js/module-MapSettingsPage.html +1 -1
  59. docs/js/module-MapsEngineDialog.html +1 -1
  60. docs/js/module-Marker.html +1 -1
  61. docs/js/module-ModernStoreLocator.html +1 -1
  62. docs/js/module-ModernStoreLocatorCircle.html +1 -1
  63. docs/js/module-NativeMapsAppIcon.html +1 -1
  64. docs/js/module-OLCircle.html +1 -1
  65. docs/js/module-OLGeocoder-OLGeocoder.html +1 -1
  66. docs/js/module-OLGeocoder.html +1 -1
  67. docs/js/module-OLInfoWindow.html +1 -1
  68. docs/js/module-OLMap.html +1 -1
  69. docs/js/module-OLMarker.html +1 -1
  70. docs/js/module-OLModernStoreLocator.html +1 -1
  71. docs/js/module-OLModernStoreLocatorCircle.html +1 -1
  72. docs/js/module-OLPolygon.html +1 -1
  73. docs/js/module-OLPolyline.html +1 -1
  74. docs/js/module-Polygon.html +1 -1
  75. docs/js/module-Polyline.html +1 -1
  76. docs/js/module-PopoutPanel.html +1 -1
  77. docs/js/module-Version.html +1 -1
  78. docs/js/module-WPGMZA.html +1 -1
  79. docs/js/modules.list.html +1 -1
  80. docs/js/quicksearch.html +1 -1
  81. docs/php/class-WPGMZA.DOMDocument.html +45 -32
  82. docs/php/class-WPGMZA.DOMElement.html +48 -77
  83. docs/php/class-WPGMZA.Integration.Gutenberg.html +4 -4
  84. docs/php/class-WPGMZA.ModalDialog.html +1 -0
  85. docs/php/namespace-WPGMZA.html +2 -2
  86. docs/php/source-class-WPGMZA.DOMDocument.html +235 -236
  87. docs/php/source-class-WPGMZA.DOMElement.html +648 -658
  88. docs/php/source-class-WPGMZA.Integration.Gutenberg.html +51 -48
  89. docs/php/source-class-WPGMZA.ScriptLoader.html +1 -1
  90. html/tile-server-fieldset.html.php +125 -0
  91. includes/3rd-party-integration/class.gutenberg.php +3 -0
  92. includes/build.log +227 -227
  93. includes/class.dom-document.php +9 -10
  94. includes/class.dom-element.php +10 -19
  95. includes/class.script-loader.php +1 -1
  96. js/v8/open-layers/ol-map.js +6 -1
  97. js/v8/wp-google-maps.combined.js +6 -1
  98. js/v8/wp-google-maps.min.js +1 -1
  99. readme.txt +35 -30
  100. wpGoogleMaps.php +32 -2
docs/js/WPGMZA.Circle.html CHANGED
@@ -2593,7 +2593,7 @@
2593
  <span class="jsdoc-message">
2594
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2595
 
2596
- on 2018-12-10T08:22:58+00:00
2597
 
2598
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2599
  </span>
2593
  <span class="jsdoc-message">
2594
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2595
 
2596
+ on 2018-12-12T08:28:09+00:00
2597
 
2598
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2599
  </span>
docs/js/WPGMZA.Compatibility.html CHANGED
@@ -313,7 +313,7 @@
313
  <span class="jsdoc-message">
314
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
315
 
316
- on 2018-12-10T08:22:58+00:00
317
 
318
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
319
  </span>
313
  <span class="jsdoc-message">
314
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
315
 
316
+ on 2018-12-12T08:28:09+00:00
317
 
318
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
319
  </span>
docs/js/WPGMZA.Distance.html CHANGED
@@ -1030,7 +1030,7 @@
1030
  <span class="jsdoc-message">
1031
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1032
 
1033
- on 2018-12-10T08:22:59+00:00
1034
 
1035
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1036
  </span>
1030
  <span class="jsdoc-message">
1031
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1032
 
1033
+ on 2018-12-12T08:28:09+00:00
1034
 
1035
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1036
  </span>
docs/js/WPGMZA.Event.html CHANGED
@@ -366,7 +366,7 @@
366
  <span class="jsdoc-message">
367
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
368
 
369
- on 2018-12-10T08:22:59+00:00
370
 
371
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
372
  </span>
366
  <span class="jsdoc-message">
367
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
368
 
369
+ on 2018-12-12T08:28:09+00:00
370
 
371
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
372
  </span>
docs/js/WPGMZA.EventDispatcher.html CHANGED
@@ -1329,7 +1329,7 @@
1329
  <span class="jsdoc-message">
1330
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1331
 
1332
- on 2018-12-10T08:22:59+00:00
1333
 
1334
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1335
  </span>
1329
  <span class="jsdoc-message">
1330
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1331
 
1332
+ on 2018-12-12T08:28:09+00:00
1333
 
1334
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1335
  </span>
docs/js/WPGMZA.FriendlyError.html CHANGED
@@ -240,7 +240,7 @@
240
  <span class="jsdoc-message">
241
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
242
 
243
- on 2018-12-10T08:22:59+00:00
244
 
245
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
246
  </span>
240
  <span class="jsdoc-message">
241
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
242
 
243
+ on 2018-12-12T08:28:09+00:00
244
 
245
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
246
  </span>
docs/js/WPGMZA.Geocoder.html CHANGED
@@ -1134,7 +1134,7 @@
1134
  <span class="jsdoc-message">
1135
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1136
 
1137
- on 2018-12-10T08:22:59+00:00
1138
 
1139
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1140
  </span>
1134
  <span class="jsdoc-message">
1135
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1136
 
1137
+ on 2018-12-12T08:28:09+00:00
1138
 
1139
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1140
  </span>
docs/js/WPGMZA.GoogleAPIErrorHandler.html CHANGED
@@ -535,7 +535,7 @@
535
  <span class="jsdoc-message">
536
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
537
 
538
- on 2018-12-10T08:22:59+00:00
539
 
540
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
541
  </span>
535
  <span class="jsdoc-message">
536
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
537
 
538
+ on 2018-12-12T08:28:09+00:00
539
 
540
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
541
  </span>
docs/js/WPGMZA.GoogleCircle.html CHANGED
@@ -2519,7 +2519,7 @@
2519
  <span class="jsdoc-message">
2520
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2521
 
2522
- on 2018-12-10T08:22:59+00:00
2523
 
2524
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2525
  </span>
2519
  <span class="jsdoc-message">
2520
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2521
 
2522
+ on 2018-12-12T08:28:10+00:00
2523
 
2524
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2525
  </span>
docs/js/WPGMZA.GoogleGeocoder.html CHANGED
@@ -784,7 +784,7 @@
784
  <span class="jsdoc-message">
785
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
786
 
787
- on 2018-12-10T08:22:59+00:00
788
 
789
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
790
  </span>
784
  <span class="jsdoc-message">
785
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
786
 
787
+ on 2018-12-12T08:28:10+00:00
788
 
789
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
790
  </span>
docs/js/WPGMZA.InfoWindow.html CHANGED
@@ -1047,7 +1047,7 @@
1047
  <span class="jsdoc-message">
1048
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1049
 
1050
- on 2018-12-10T08:22:59+00:00
1051
 
1052
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1053
  </span>
1047
  <span class="jsdoc-message">
1048
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1049
 
1050
+ on 2018-12-12T08:28:10+00:00
1051
 
1052
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1053
  </span>
docs/js/WPGMZA.LatLng.html CHANGED
@@ -1087,7 +1087,7 @@
1087
  <span class="jsdoc-message">
1088
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1089
 
1090
- on 2018-12-10T08:22:59+00:00
1091
 
1092
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1093
  </span>
1087
  <span class="jsdoc-message">
1088
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1089
 
1090
+ on 2018-12-12T08:28:10+00:00
1091
 
1092
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1093
  </span>
docs/js/WPGMZA.LatLngBounds.html CHANGED
@@ -468,7 +468,7 @@
468
  <span class="jsdoc-message">
469
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
470
 
471
- on 2018-12-10T08:22:59+00:00
472
 
473
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
474
  </span>
468
  <span class="jsdoc-message">
469
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
470
 
471
+ on 2018-12-12T08:28:10+00:00
472
 
473
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
474
  </span>
docs/js/WPGMZA.Map.html CHANGED
@@ -5298,7 +5298,7 @@
5298
  <span class="jsdoc-message">
5299
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
5300
 
5301
- on 2018-12-10T08:22:59+00:00
5302
 
5303
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
5304
  </span>
5298
  <span class="jsdoc-message">
5299
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
5300
 
5301
+ on 2018-12-12T08:28:10+00:00
5302
 
5303
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
5304
  </span>
docs/js/WPGMZA.MapEngineDialog.html CHANGED
@@ -413,7 +413,7 @@
413
  <span class="jsdoc-message">
414
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
415
 
416
- on 2018-12-10T08:22:59+00:00
417
 
418
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
419
  </span>
413
  <span class="jsdoc-message">
414
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
415
 
416
+ on 2018-12-12T08:28:10+00:00
417
 
418
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
419
  </span>
docs/js/WPGMZA.MapObject.html CHANGED
@@ -1666,7 +1666,7 @@
1666
  <span class="jsdoc-message">
1667
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1668
 
1669
- on 2018-12-10T08:22:59+00:00
1670
 
1671
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1672
  </span>
1666
  <span class="jsdoc-message">
1667
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
1668
 
1669
+ on 2018-12-12T08:28:10+00:00
1670
 
1671
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
1672
  </span>
docs/js/WPGMZA.MapSettings.html CHANGED
@@ -439,7 +439,7 @@
439
  <span class="jsdoc-message">
440
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
441
 
442
- on 2018-12-10T08:22:59+00:00
443
 
444
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
445
  </span>
439
  <span class="jsdoc-message">
440
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
441
 
442
+ on 2018-12-12T08:28:10+00:00
443
 
444
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
445
  </span>
docs/js/WPGMZA.MapSettingsPage.html CHANGED
@@ -391,7 +391,7 @@
391
  <span class="jsdoc-message">
392
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
393
 
394
- on 2018-12-10T08:22:59+00:00
395
 
396
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
397
  </span>
391
  <span class="jsdoc-message">
392
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
393
 
394
+ on 2018-12-12T08:28:10+00:00
395
 
396
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
397
  </span>
docs/js/WPGMZA.Marker.html CHANGED
@@ -3775,7 +3775,7 @@
3775
  <span class="jsdoc-message">
3776
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
3777
 
3778
- on 2018-12-10T08:22:59+00:00
3779
 
3780
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
3781
  </span>
3775
  <span class="jsdoc-message">
3776
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
3777
 
3778
+ on 2018-12-12T08:28:10+00:00
3779
 
3780
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
3781
  </span>
docs/js/WPGMZA.ModernStoreLocator.html CHANGED
@@ -437,7 +437,7 @@
437
  <span class="jsdoc-message">
438
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
439
 
440
- on 2018-12-10T08:22:59+00:00
441
 
442
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
443
  </span>
437
  <span class="jsdoc-message">
438
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
439
 
440
+ on 2018-12-12T08:28:10+00:00
441
 
442
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
443
  </span>
docs/js/WPGMZA.ModernStoreLocatorCircle.html CHANGED
@@ -2306,7 +2306,7 @@
2306
  <span class="jsdoc-message">
2307
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2308
 
2309
- on 2018-12-10T08:22:59+00:00
2310
 
2311
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2312
  </span>
2306
  <span class="jsdoc-message">
2307
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2308
 
2309
+ on 2018-12-12T08:28:10+00:00
2310
 
2311
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2312
  </span>
docs/js/WPGMZA.NativeMapsAppIcon.html CHANGED
@@ -229,7 +229,7 @@
229
  <span class="jsdoc-message">
230
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
231
 
232
- on 2018-12-10T08:22:59+00:00
233
 
234
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
235
  </span>
229
  <span class="jsdoc-message">
230
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
231
 
232
+ on 2018-12-12T08:28:10+00:00
233
 
234
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
235
  </span>
docs/js/WPGMZA.Polygon.html CHANGED
@@ -2076,7 +2076,7 @@
2076
  <span class="jsdoc-message">
2077
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2078
 
2079
- on 2018-12-10T08:22:59+00:00
2080
 
2081
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2082
  </span>
2076
  <span class="jsdoc-message">
2077
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2078
 
2079
+ on 2018-12-12T08:28:10+00:00
2080
 
2081
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2082
  </span>
docs/js/WPGMZA.Polyline.html CHANGED
@@ -2076,7 +2076,7 @@
2076
  <span class="jsdoc-message">
2077
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2078
 
2079
- on 2018-12-10T08:22:59+00:00
2080
 
2081
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2082
  </span>
2076
  <span class="jsdoc-message">
2077
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
2078
 
2079
+ on 2018-12-12T08:28:10+00:00
2080
 
2081
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
2082
  </span>
docs/js/WPGMZA.PopoutPanel.html CHANGED
@@ -391,7 +391,7 @@
391
  <span class="jsdoc-message">
392
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
393
 
394
- on 2018-12-10T08:22:59+00:00
395
 
396
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
397
  </span>
391
  <span class="jsdoc-message">
392
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
393
 
394
+ on 2018-12-12T08:28:10+00:00
395
 
396
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
397
  </span>
docs/js/WPGMZA.RestAPI.html CHANGED
@@ -465,7 +465,7 @@
465
  <span class="jsdoc-message">
466
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
467
 
468
- on 2018-12-10T08:22:59+00:00
469
 
470
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
471
  </span>
465
  <span class="jsdoc-message">
466
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
467
 
468
+ on 2018-12-12T08:28:10+00:00
469
 
470
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
471
  </span>
docs/js/WPGMZA.module_RestAPI.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:59+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:10+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/classes.list.html CHANGED
@@ -280,7 +280,7 @@
280
  <span class="jsdoc-message">
281
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
282
 
283
- on 2018-12-10T08:22:58+00:00
284
 
285
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
286
  </span>
280
  <span class="jsdoc-message">
281
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
282
 
283
+ on 2018-12-12T08:28:08+00:00
284
 
285
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
286
  </span>
docs/js/index.html CHANGED
@@ -135,7 +135,7 @@
135
  <span class="jsdoc-message">
136
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
137
 
138
- on 2018-12-10T08:22:58+00:00
139
 
140
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
141
  </span>
135
  <span class="jsdoc-message">
136
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
137
 
138
+ on 2018-12-12T08:28:08+00:00
139
 
140
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
141
  </span>
docs/js/module-CSS.html CHANGED
@@ -198,7 +198,7 @@
198
  <span class="jsdoc-message">
199
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
200
 
201
- on 2018-12-10T08:22:58+00:00
202
 
203
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
204
  </span>
198
  <span class="jsdoc-message">
199
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
200
 
201
+ on 2018-12-12T08:28:08+00:00
202
 
203
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
204
  </span>
docs/js/module-Circle.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:08+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Compatibility.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:08+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Distance.html CHANGED
@@ -262,7 +262,7 @@
262
  <span class="jsdoc-message">
263
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
264
 
265
- on 2018-12-10T08:22:58+00:00
266
 
267
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
268
  </span>
262
  <span class="jsdoc-message">
263
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
264
 
265
+ on 2018-12-12T08:28:09+00:00
266
 
267
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
268
  </span>
docs/js/module-Event.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-EventDispatcher.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-FriendlyError.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Geocoder.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleAPIErrorHandler.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleCircle.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleGeocoder.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleInfoWindow.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleMap.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleMarker.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleModernStoreLocator.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleModernStoreLocatorCircle.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GooglePolygon.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GooglePolyline.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleUICompatibility.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-GoogleVertexContextMenu.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Gutenberg.html CHANGED
@@ -204,7 +204,7 @@
204
  <span class="jsdoc-message">
205
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
206
 
207
- on 2018-12-10T08:22:58+00:00
208
 
209
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
210
  </span>
204
  <span class="jsdoc-message">
205
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
206
 
207
+ on 2018-12-12T08:28:09+00:00
208
 
209
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
210
  </span>
docs/js/module-InfoWindow.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Integration.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-LatLng.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-LatLngBounds.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Map.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-MapObject.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-MapSettings.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-MapSettingsPage.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-MapsEngineDialog.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Marker.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-ModernStoreLocator.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-ModernStoreLocatorCircle.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-NativeMapsAppIcon.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLCircle.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLGeocoder-OLGeocoder.html CHANGED
@@ -240,7 +240,7 @@
240
  <span class="jsdoc-message">
241
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
242
 
243
- on 2018-12-10T08:22:58+00:00
244
 
245
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
246
  </span>
240
  <span class="jsdoc-message">
241
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
242
 
243
+ on 2018-12-12T08:28:09+00:00
244
 
245
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
246
  </span>
docs/js/module-OLGeocoder.html CHANGED
@@ -700,7 +700,7 @@
700
  <span class="jsdoc-message">
701
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
702
 
703
- on 2018-12-10T08:22:58+00:00
704
 
705
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
706
  </span>
700
  <span class="jsdoc-message">
701
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
702
 
703
+ on 2018-12-12T08:28:09+00:00
704
 
705
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
706
  </span>
docs/js/module-OLInfoWindow.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLMap.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLMarker.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLModernStoreLocator.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLModernStoreLocatorCircle.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLPolygon.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-OLPolyline.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Polygon.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Polyline.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-PopoutPanel.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-Version.html CHANGED
@@ -196,7 +196,7 @@
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
- on 2018-12-10T08:22:58+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
196
  <span class="jsdoc-message">
197
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
198
 
199
+ on 2018-12-12T08:28:09+00:00
200
 
201
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
202
  </span>
docs/js/module-WPGMZA.html CHANGED
@@ -3547,7 +3547,7 @@
3547
  <span class="jsdoc-message">
3548
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
3549
 
3550
- on 2018-12-10T08:22:58+00:00
3551
 
3552
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
3553
  </span>
3547
  <span class="jsdoc-message">
3548
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
3549
 
3550
+ on 2018-12-12T08:28:09+00:00
3551
 
3552
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
3553
  </span>
docs/js/modules.list.html CHANGED
@@ -280,7 +280,7 @@
280
  <span class="jsdoc-message">
281
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
282
 
283
- on 2018-12-10T08:22:57+00:00
284
 
285
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
286
  </span>
280
  <span class="jsdoc-message">
281
  Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a>
282
 
283
+ on 2018-12-12T08:28:08+00:00
284
 
285
  using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
286
  </span>
docs/js/quicksearch.html CHANGED
@@ -7,7 +7,7 @@
7
  <script src="scripts/fulltext-search.js"></script>
8
 
9
  <script type="text/x-docstrap-searchdb">
10
- {"modules.list.html":{"id":"modules.list.html","title":"Modules","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Modules Classes OLGeocoder OpenLayers geocoder - uses Nominatim by default Circle Compatibility Distance Event EventDispatcher FriendlyError Geocoder GoogleAPIErrorHandler GoogleCircle GoogleGeocoder InfoWindow LatLng LatLngBounds Map MapEngineDialog MapObject MapSettings MapSettingsPage Marker ModernStoreLocator ModernStoreLocatorCircle NativeMapsAppIcon Polygon Polyline PopoutPanel RestAPI × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:57+00:00 using the DocStrap template. "},"classes.list.html":{"id":"classes.list.html","title":"Classes","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Classes Classes OLGeocoder OpenLayers geocoder - uses Nominatim by default Circle Compatibility Distance Event EventDispatcher FriendlyError Geocoder GoogleAPIErrorHandler GoogleCircle GoogleGeocoder InfoWindow LatLng LatLngBounds Map MapEngineDialog MapObject MapSettings MapSettingsPage Marker ModernStoreLocator ModernStoreLocatorCircle NativeMapsAppIcon Polygon Polyline PopoutPanel RestAPI × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"index.html":{"id":"index.html","title":"Index","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Circle.html":{"id":"module-Circle.html","title":"Module: Circle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Circle Requires module:WPGMZA.MapObject × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Compatibility.html":{"id":"module-Compatibility.html","title":"Module: Compatibility","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Compatibility Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-CSS.html":{"id":"module-CSS.html","title":"Module: CSS","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: CSS Polyfill for CSS.escape, with thanks to @mathias Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Distance.html":{"id":"module-Distance.html","title":"Module: Distance","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Distance Collection of distance utility functions and constants Requires module:WPGMZA Members &lt;static, constant&gt; KILOMETERS_PER_MILE Kilometers per mile × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Event.html":{"id":"module-Event.html","title":"Module: Event","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Event Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-EventDispatcher.html":{"id":"module-EventDispatcher.html","title":"Module: EventDispatcher","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: EventDispatcher Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-FriendlyError.html":{"id":"module-FriendlyError.html","title":"Module: FriendlyError","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: FriendlyError Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Geocoder.html":{"id":"module-Geocoder.html","title":"Module: Geocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Geocoder Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleAPIErrorHandler.html":{"id":"module-GoogleAPIErrorHandler.html","title":"Module: GoogleAPIErrorHandler","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleAPIErrorHandler Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleCircle.html":{"id":"module-GoogleCircle.html","title":"Module: GoogleCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleCircle Requires module:WPGMZA.Circle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleGeocoder.html":{"id":"module-GoogleGeocoder.html","title":"Module: GoogleGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleGeocoder Requires module:WPGMZA.Geocoder × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleInfoWindow.html":{"id":"module-GoogleInfoWindow.html","title":"Module: GoogleInfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleInfoWindow Requires module:WPGMZA.InfoWindow × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleMap.html":{"id":"module-GoogleMap.html","title":"Module: GoogleMap","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleMap Requires module:WPGMZA.Map × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleMarker.html":{"id":"module-GoogleMarker.html","title":"Module: GoogleMarker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleMarker Requires module:WPGMZA.Marker × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleModernStoreLocator.html":{"id":"module-GoogleModernStoreLocator.html","title":"Module: GoogleModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleModernStoreLocator Requires module:WPGMZA.ModernStoreLocator × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleModernStoreLocatorCircle.html":{"id":"module-GoogleModernStoreLocatorCircle.html","title":"Module: GoogleModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleModernStoreLocatorCircle Requires module:WPGMZA.ModernStoreLocatorCircle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GooglePolygon.html":{"id":"module-GooglePolygon.html","title":"Module: GooglePolygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GooglePolygon Requires module:WPGMZA.Polygon × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GooglePolyline.html":{"id":"module-GooglePolyline.html","title":"Module: GooglePolyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GooglePolyline Requires module:WPGMZA.Polyline × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleUICompatibility.html":{"id":"module-GoogleUICompatibility.html","title":"Module: GoogleUICompatibility","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleUICompatibility Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-GoogleVertexContextMenu.html":{"id":"module-GoogleVertexContextMenu.html","title":"Module: GoogleVertexContextMenu","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleVertexContextMenu Requires module:wpgmza_api_call × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Gutenberg.html":{"id":"module-Gutenberg.html","title":"Module: Gutenberg","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Gutenberg Requires module:WPGMZA.Integration module:wp-i18n module:wp-blocks module:wp-editor module:wp-components × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-InfoWindow.html":{"id":"module-InfoWindow.html","title":"Module: InfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: InfoWindow Requires module:WPGMZA.EventDispatcher × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Integration.html":{"id":"module-Integration.html","title":"Module: Integration","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Integration Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-LatLng.html":{"id":"module-LatLng.html","title":"Module: LatLng","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: LatLng Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-LatLngBounds.html":{"id":"module-LatLngBounds.html","title":"Module: LatLngBounds","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: LatLngBounds Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Map.html":{"id":"module-Map.html","title":"Module: Map","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Map Requires module:WPGMZA.EventDispatcher × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-MapObject.html":{"id":"module-MapObject.html","title":"Module: MapObject","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapObject Requires module:WPGMZA.EventDispatcher × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-MapsEngineDialog.html":{"id":"module-MapsEngineDialog.html","title":"Module: MapsEngineDialog","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapsEngineDialog Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-MapSettings.html":{"id":"module-MapSettings.html","title":"Module: MapSettings","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapSettings Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-MapSettingsPage.html":{"id":"module-MapSettingsPage.html","title":"Module: MapSettingsPage","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapSettingsPage Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Marker.html":{"id":"module-Marker.html","title":"Module: Marker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Marker Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-ModernStoreLocator.html":{"id":"module-ModernStoreLocator.html","title":"Module: ModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: ModernStoreLocator Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-ModernStoreLocatorCircle.html":{"id":"module-ModernStoreLocatorCircle.html","title":"Module: ModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: ModernStoreLocatorCircle Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-NativeMapsAppIcon.html":{"id":"module-NativeMapsAppIcon.html","title":"Module: NativeMapsAppIcon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: NativeMapsAppIcon Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLCircle.html":{"id":"module-OLCircle.html","title":"Module: OLCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLCircle Requires module:WPGMZA.Circle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLGeocoder.html":{"id":"module-OLGeocoder.html","title":"Module: OLGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLGeocoder Requires module:WPGMZA.Geocoder Classes OLGeocoder OpenLayers geocoder - uses Nominatim by default Methods &lt;protected, inner&gt; cacheResponse(address, response) Caches a response on the server, usually after it's been returned from Nominatim Parameters: Name Type Description address string The street address response object | array The response to cache Returns: Type void &lt;protected, inner&gt; getResponseFromCache(address, callback) Tries to retrieve cached coordinates from server cache Parameters: Name Type Description address string The street address to geocode callback function Where to send the results, as an array Returns: Type void &lt;protected, inner&gt; getResponseFromNominatim(options, callback) Queries Nominatim on the specified address Parameters: Name Type Description options object An object containing the options for geocoding, address is a mandatory field callback function The function to send the results to, as an array × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLGeocoder-OLGeocoder.html":{"id":"module-OLGeocoder-OLGeocoder.html","title":"Class: OLGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: OLGeocoder OLGeocoder~ OLGeocoder new OLGeocoder() OpenLayers geocoder - uses Nominatim by default Extends Geocoder × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLInfoWindow.html":{"id":"module-OLInfoWindow.html","title":"Module: OLInfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLInfoWindow Requires module:WPGMZA.InfoWindow × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLMap.html":{"id":"module-OLMap.html","title":"Module: OLMap","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLMap Requires module:WPGMZA.Map × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLMarker.html":{"id":"module-OLMarker.html","title":"Module: OLMarker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLMarker Requires module:WPGMZA.Marker × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLModernStoreLocator.html":{"id":"module-OLModernStoreLocator.html","title":"Module: OLModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLModernStoreLocator Requires module:WPGMZA.ModernStoreLocator × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLModernStoreLocatorCircle.html":{"id":"module-OLModernStoreLocatorCircle.html","title":"Module: OLModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLModernStoreLocatorCircle Requires module:WPGMZA.ModernStoreLocatorCircle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLPolygon.html":{"id":"module-OLPolygon.html","title":"Module: OLPolygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLPolygon Requires module:WPGMZA.Polygon × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-OLPolyline.html":{"id":"module-OLPolyline.html","title":"Module: OLPolyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLPolyline Requires module:WPGMZA.Polyline × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Polygon.html":{"id":"module-Polygon.html","title":"Module: Polygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Polygon Requires module:WPGMZA.MapObject × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Polyline.html":{"id":"module-Polyline.html","title":"Module: Polyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Polyline Requires module:WPGMZA.MapObject × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-PopoutPanel.html":{"id":"module-PopoutPanel.html","title":"Module: PopoutPanel","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: PopoutPanel Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-Version.html":{"id":"module-Version.html","title":"Module: Version","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Version Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"module-WPGMZA.html":{"id":"module-WPGMZA.html","title":"Module: WPGMZA","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: WPGMZA Members &lt;static, constant&gt; events :EventDispatcher Global EventDispatcher used to listen for global plugin events Type: EventDispatcher &lt;static, constant&gt; latLngRegexp :RegExp A regular expression that matches a latitude / longitude coordinate pair Type: RegExp &lt;static, constant&gt; localized_strings :object Key and value pairs of localized strings passed from the server Type: object &lt;static, constant&gt; maps :array Indexed array of map instances Type: array &lt;static, constant&gt; restAPI :RestAPI Instance of the restAPI. Not to be confused with WPGMZA.RestAPI, which is the instances constructor Type: RestAPI &lt;static, constant&gt; settings :object Settings, passed from the server Type: object &lt;inner&gt; imageDimensionsCache Cache of image dimensions by URL, for internal use only See: WPGMZA.getImageDimensions Methods &lt;static&gt; animateScroll(element [, milliseconds]) Animated scroll, accounts for animation settings and fixed header height Parameters: Name Type Argument Description element HTMLElement The element to scroll to milliseconds number &lt;optional&gt; The time in milliseconds to scroll over. Defaults to 500 if no value is specified. Returns: void &lt;static&gt; assertInstanceOf(instance, instanceName) This function is for checking inheritence has been setup correctly. For objects that have engine and Pro specific classes, it will automatically add the engine and pro prefix to the supplied string and if such an object exists it will test against that name rather than the un-prefix argument supplied. For example, if we are running the Pro addon with Google maps as the engine, if you supply Marker as the instance name the function will check to see if instance is an instance of GoogleProMarker Parameters: Name Type Description instance object The object to check instanceName string The class name as a string which this object should be an instance of Returns: Type void &lt;static&gt; getCurrentPosition() This function will get the users position, it first attempts to get high accuracy position (mobile with GPS sensors etc.), if that fails (desktops will time out) then it tries again without high accuracy enabled. Returns: The users position as a LatLng literal Type object &lt;static&gt; getImageDimensions(src, callback) Utility function to get the dimensions of an image, caches results for best performance Parameters: Name Type Description src string Image source URL callback function Callback to recieve image dimensions Returns: Type void &lt;static&gt; getMapByID(id) Parameters: Name Type Description id mixed The ID of the map to retrieve Returns: The map object, or null if no such map exists Type object &lt;static&gt; getScrollAnimationOffset() Override this method to add a scroll offset when using animated scroll, useful for sites with fixed headers. Returns: The scroll offset Type number &lt;static&gt; guid() Generates and returns a GUID Returns: The GUID Type string &lt;static&gt; hexOpacityToRGBA(colour, opacity) Takes a hex string and opacity value and converts it to Openlayers RGBA format Parameters: Name Type Description colour string The hex color string opacity number The opacity from 0.0 - 1.0 Returns: RGBA array where color components are 0 - 255 and opacity is 0.0 - 1.0 Type array &lt;static&gt; hexToRgba(hex) Takes a hex color string and converts it to an RGBA object. Parameters: Name Type Description hex string The hex color string Returns: Object with r, g, b and a properties, or 0 if the input is invalid. Type object &lt;static&gt; isDeveloperMode() Returns true if developer mode is set or if developer mode cookie is set Returns: True if developer mode is on Type boolean &lt;static&gt; isDeviceiOS() Makes an educated guess whether the browser is running on an iOS device Returns: True if it's likely the browser is running on an iOS device Type boolean &lt;static&gt; isGoogleAutocompleteSupported() Shorthand function to determine if the Places Autocomplete is available Returns: True if the places autocomplete is available Type boolean &lt;static&gt; isLatLngString(str) Utility function returns true is string is a latitude and longitude Parameters: Name Type Description str string The string to attempt to parse as coordinates Returns: the matched latitude and longitude or null if no match Type array &lt;static&gt; isProVersion() Returns true if the Pro add-on is active Returns: True if the Pro add-on is active Type boolean &lt;static&gt; isSafari() Makes an educated guess as to whether the browser is Safari Returns: True if it's likely the browser is Safari Type boolean &lt;static&gt; isTouchDevice() Makes an educated guess as to whether the browser is running on a touch device Returns: True if it's likely the browser is running on a touch device Type boolean &lt;static&gt; openMediaDialog(callback) Opens the WP media dialog and returns the result to a callback Parameters: Name Type Description callback function Callback to recieve the attachment ID as the first parameter and URL as the second Returns: Type void &lt;static&gt; rgbaToString(rgba) Takes an object with r, g, b and a properties and returns a CSS rgba color string Parameters: Name Type Description rgba string The input object Returns: The CSS rgba color string Type string &lt;static&gt; runCatchableTask(callback, friendlyErrorContainer) Runs a catchable task and displays a friendly error if the function throws an error Parameters: Name Type Description callback function The function to run friendlyErrorContainer HTMLElement The container element to hold the error See: WPGMZA.FriendlyError Returns: Type void &lt;static&gt; stringToLatLng(str) Utility function returns a latLng literal given a valid latLng string Parameters: Name Type Description str string The string to attempt to parse as coordinates Returns: LatLng literal Type object &lt;static&gt; stringToLatLng(str) Utility function returns a latLng literal given a valid latLng string Parameters: Name Type Description str string The string to attempt to parse as coordinates Returns: LatLng literal Type object × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"WPGMZA.Circle.html":{"id":"WPGMZA.Circle.html","title":"Class: Circle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Circle Circle WPGMZA.Circle new Circle() Base class for circles. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Circle.createInstance Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance(options) Creates an instance of a circle, please always use this function rather than calling the constructor directly. Parameters: Name Type Description options object Options for the object (optional) _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getCenter() Gets the circles center Returns: Type WPGMZA.LatLng getMap() Returns the map that this circle is being displayed on Returns: Type WPGMZA.Map getRadius(latLng) Gets the circles radius, in kilometers Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng Returns: Type WPGMZA.LatLng hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener setCenter(latLng) Sets the circles center Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng setMap(map) Puts this circle on a map Parameters: Name Type Description map WPGMZA.Map The target map Returns: Type void setRadius(radius) Sets the circles radius, in kilometers Parameters: Name Type Description radius number The radius Returns: Type void toJSON() Returns a copy of this object as a JSON object for serializsation Inherited From: WPGMZA.MapObject#toJSON Returns: This object as represented by JSON Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"WPGMZA.Compatibility.html":{"id":"WPGMZA.Compatibility.html","title":"Class: Compatibility","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Compatibility Compatibility WPGMZA.Compatibility new Compatibility() Reverse compatibility module Methods preventDocumentWriteGoogleMapsAPI() Prevents document.write from outputting Google Maps API script tag × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:58+00:00 using the DocStrap template. "},"WPGMZA.Distance.html":{"id":"WPGMZA.Distance.html","title":"Class: Distance","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Distance Distance new Distance() Deprecated: Will be dropped wiht the introduction of global distance units Members &lt;static, constant&gt; KILOMETERS Kilometers, represented as false by legacy versions of the plugin &lt;static, constant&gt; MILES Miles, represented as true by legacy versions of the plugin &lt;static, constant&gt; MILES_PER_KILOMETER Miles per kilometer Methods &lt;static&gt; kilometersToUI(km, The) Converts kilometers to a UI distance, either the same value, or converted to miles depending on settings. Parameters: Name Type Description km number The input distance in kilometers The number UI distance in the units specified by settings &lt;static&gt; uiToKilometers(uiDistance) Converts a UI distance (eg from a form control) to kilometers, accounting for the global units setting Parameters: Name Type Description uiDistance number The distance from the UI, could be in miles or kilometers depending on settings Returns: The input distance in kilometers Type number &lt;static&gt; uiToMeters(uiDistance) Converts a UI distance (eg from a form control) to meters, accounting for the global units setting Parameters: Name Type Description uiDistance number The distance from the UI, could be in miles or kilometers depending on settings Returns: The input distance in meters Type number &lt;static&gt; uiToMiles(uiDistance) Converts a UI distance (eg from a form control) to miles, according to settings Parameters: Name Type Description uiDistance number The distance from the UI, could be in miles or kilometers depending on settings Returns: The input distance Type number × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.Event.html":{"id":"WPGMZA.Event.html","title":"Class: Event","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Event Event WPGMZA.Event new Event(options) Base class used for events (for non-HTMLElement objects) Parameters: Name Type Description options string | object The event type as a string, or an object of options to be mapped to this event Methods stopPropagation() Prevents any further propagation of this event × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.EventDispatcher.html":{"id":"WPGMZA.EventDispatcher.html","title":"Class: EventDispatcher","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: EventDispatcher EventDispatcher WPGMZA.EventDispatcher new EventDispatcher() Base class for any (non HTMLElement) object which dispatches or listens for events Methods _triggerListeners() Handles the logic of triggering listeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener See: WPGMZA.EventDispatcher#addEventListener removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. trigger() Alias for removeEventListener See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.FriendlyError.html":{"id":"WPGMZA.FriendlyError.html","title":"Class: FriendlyError","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: FriendlyError FriendlyError WPGMZA.FriendlyError new FriendlyError() Deprecated Deprecated: Yes × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.Geocoder.html":{"id":"WPGMZA.Geocoder.html","title":"Class: Geocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Geocoder Geocoder WPGMZA.Geocoder new Geocoder() Base class for geocoders. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Geocoder.createInstance Members &lt;static, constant&gt; FAIL Indicates the geocode failed, usually due to technical reasons (eg connectivity) &lt;static, constant&gt; SUCCESS Indicates a successful geocode, with one or more results &lt;static, constant&gt; ZERO_RESULTS Indicates the geocode was successful, but returned no results Methods &lt;static&gt; createInstance() Creates an instance of a Geocoder, please always use this function rather than calling the constructor directly Returns: A subclass of WPGMZA.Geocoder Type WPGMZA.Geocoder &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function geocode(options) Geocodes either an address or a latitude and longitude coordinate pair, depending on the input Parameters: Name Type Description options object The options to geocode, you must supply either latLng or address. Throws: You must supply either a latLng or address Returns: Type void getAddressFromLatLng(options, callback) Attempts to convert latitud eand longitude coordinates into a street address. By default this will simply return the coordinates wrapped in an array. Parameters: Name Type Description options object The options to geocode, latLng is mandatory. callback function The callback to receive the geocode result. Returns: Type void getLatLngFromAddress(options, callback) Attempts to convert a street address to an array of potential coordinates that match the address, which are passed to a callback. If the address is interpreted as a latitude and longitude coordinate pair, the callback is immediately fired. Parameters: Name Type Description options object The options to geocode, address is mandatory. callback function The callback to receive the geocode result. Returns: Type void × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.GoogleAPIErrorHandler.html":{"id":"WPGMZA.GoogleAPIErrorHandler.html","title":"Class: GoogleAPIErrorHandler","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: GoogleAPIErrorHandler GoogleAPIErrorHandler WPGMZA.GoogleAPIErrorHandler new GoogleAPIErrorHandler() This class catches Google Maps API errors and presents them in a friendly manner, before sending them on to the consoles default error handler. Methods addErrorMessage(message [, urls]) Called by onErrorMessage when a Google Maps API error is picked up, this will add the specified message to the Maps API error message dialog, along with URLs to compliment it. This function ignores duplicate error messages. Parameters: Name Type Argument Description message string The message, or part of the message, intercepted from the console urls array &lt;optional&gt; An array of URLs relating to the error message to compliment the message. onErrorMessage(message) Overrides console.error to scan the error message for Google Maps API error messages. Parameters: Name Type Description message string The error message passed to the console × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.GoogleCircle.html":{"id":"WPGMZA.GoogleCircle.html","title":"Class: GoogleCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: GoogleCircle GoogleCircle WPGMZA.GoogleCircle new GoogleCircle() Subclass, used when Google is the maps engine. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Circle.createInstance Extends WPGMZA.Circle Methods _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getCenter() Gets the circles center Inherited From: WPGMZA.Circle#getCenter Returns: Type WPGMZA.LatLng getMap() Returns the map that this circle is being displayed on Inherited From: WPGMZA.Circle#getMap Returns: Type WPGMZA.Map getRadius(latLng) Gets the circles radius, in kilometers Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng Inherited From: WPGMZA.Circle#getRadius Returns: Type WPGMZA.LatLng hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener setCenter(latLng) Sets the circles center Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng Inherited From: WPGMZA.Circle#setCenter setMap(map) Puts this circle on a map Parameters: Name Type Description map WPGMZA.Map The target map Inherited From: WPGMZA.Circle#setMap Returns: Type void setRadius(radius) Sets the circles radius, in kilometers Parameters: Name Type Description radius number The radius Inherited From: WPGMZA.Circle#setRadius Returns: Type void toJSON() Returns a copy of this object as a JSON object for serializsation Inherited From: WPGMZA.MapObject#toJSON Returns: This object as represented by JSON Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.GoogleGeocoder.html":{"id":"WPGMZA.GoogleGeocoder.html","title":"Class: GoogleGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: GoogleGeocoder GoogleGeocoder WPGMZA.GoogleGeocoder new GoogleGeocoder() Subclass, used when Google is the maps engine. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Geocoder.createInstance Extends WPGMZA.Geocoder Methods geocode(options) Geocodes either an address or a latitude and longitude coordinate pair, depending on the input Parameters: Name Type Description options object The options to geocode, you must supply either latLng or address. Inherited From: WPGMZA.Geocoder#geocode Throws: You must supply either a latLng or address Returns: Type void getAddressFromLatLng(options, callback) Attempts to convert latitud eand longitude coordinates into a street address. By default this will simply return the coordinates wrapped in an array. Parameters: Name Type Description options object The options to geocode, latLng is mandatory. callback function The callback to receive the geocode result. Inherited From: WPGMZA.Geocoder#getAddressFromLatLng Returns: Type void getLatLngFromAddress(options, callback) Attempts to convert a street address to an array of potential coordinates that match the address, which are passed to a callback. If the address is interpreted as a latitude and longitude coordinate pair, the callback is immediately fired. Parameters: Name Type Description options object The options to geocode, address is mandatory. callback function The callback to receive the geocode result. Inherited From: WPGMZA.Geocoder#getLatLngFromAddress Returns: Type void × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.InfoWindow.html":{"id":"WPGMZA.InfoWindow.html","title":"Class: InfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: InfoWindow InfoWindow WPGMZA.InfoWindow new InfoWindow() Base class for infoWindows. This acts as an abstract class so that infoWindows for both Google and OpenLayers can be interacted with seamlessly by the overlying logic. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.InfoWindow.createInstance Methods &lt;static&gt; createInstance(options) Creates an instance of an InfoWindow, please always use this function rather than calling the constructor directly Parameters: Name Type Description options object Options for the object (optional) &lt;static&gt; getConstructor() Fetches the constructor to be used by createInstance, based on the selected maps engine Returns: The appropriate constructor Type function close() Abstract function, closes this InfoWindow getContent() Gets the content for the info window and passes it to the specified callback - this allows for delayed loading (eg AJAX) as well as instant content Returns: void onMapObjectAdded() Event listener for when the map object is added. This will cause the info window to open if the map object has infoopen set Returns: void open(map, mapObject) Opens the info window on the specified map, with the specified map object as the subject. Parameters: Name Type Description map WPGMZA.Map The map to open this InfoWindow on. mapObject WPGMZA.MapObject The map object (eg marker, polygon) to open this InfoWindow on. Returns: boolean FALSE if the info window should not and will not open, TRUE if it will. This can be used by subclasses to establish whether or not the subclassed open should bail or open the window. setContent() Abstract function, sets the content in this InfoWindow setOptions() Abstract function, sets options on this InfoWindow × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.LatLng.html":{"id":"WPGMZA.LatLng.html","title":"Class: LatLng","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: LatLng LatLng WPGMZA.LatLng new LatLng(arg [, lng]) This class represents a latitude and longitude coordinate pair, and provides utilities to work with coordinates, parsing and conversion. Parameters: Name Type Argument Description arg number | object A latLng literal, or latitude lng number &lt;optional&gt; The latitude, where arg is a longitude Members &lt;static, constant&gt; REGEXP :RegExp A regular expression which matches latitude and longitude coordinate pairs from a string. Matches 1 and 3 correspond to latitude and longitude, respectively, Type: RegExp Methods &lt;static&gt; fromGoogleLatLng(The) Returns an instnace of WPGMZA.LatLng from an instance of google.maps.LatLng Parameters: Name Type Description The google.maps.LatLng google.maps.LatLng to convert Returns: An instance of WPGMZA.LatLng built from the supplied google.maps.LatLng Type WPGMZA.LatLng &lt;static&gt; isValid(obj) Returns true if the supplied object is a LatLng literal, also returns true for instances of WPGMZA.LatLng Parameters: Name Type Description obj object A LatLng literal, or an instance of WPGMZA.LatLng Returns: True if this object is a valid LatLng literal or instance of WPGMZA.LatLng Type bool moveByDistance(kilometers, heading) Moves this latLng by the specified kilometers along the given heading. This function operates in place, as opposed to creating a new instance of WPGMZA.LatLng. With many thanks to Hu Kenneth - https://gis.stackexchange.com/questions/234473/get-a-lonlat-point-by-distance-or-between-2-lonlat-points Parameters: Name Type Description kilometers number The number of kilometers to move this LatLng by heading number The heading, in degrees, to move along, where zero is North Returns: Type void toGoogleLatLng() Returns an instance of google.maps.LatLng with the same coordinates as this object Returns: This object, expressed as a google.maps.LatLng Type google.maps.LatLng toString() Returns this latitude and longitude as a string Returns: This object represented as a string Type string × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.LatLngBounds.html":{"id":"WPGMZA.LatLngBounds.html","title":"Class: LatLngBounds","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: LatLngBounds LatLngBounds WPGMZA.LatLngBounds new LatLngBounds() This class represents latitude and longitude bounds as a rectangular area. NB: This class is not fully implemented Methods extend(latLng) Extends this bounds object to encompass the given latitude and longitude coordinates Parameters: Name Type Description latLng object | WPGMZA.LatLng either a LatLng literal or an instance of WPGMZA.LatLng isInInitialState() Returns true if this object is in it's initial state (eg no points specified to gather bounds from) Returns: True if the object is in it's initial state Type bool × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.Map.html":{"id":"WPGMZA.Map.html","title":"Class: Map","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Map Map WPGMZA.Map new Map(element [, options]) Base class for maps. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description element HTMLElement to contain map options object &lt;optional&gt; Options to apply to this map Extends WPGMZA.EventDispatcher Methods &lt;static&gt; createInstance(element [, options]) Creates an instance of a map, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description element HTMLElement to contain map options object &lt;optional&gt; Options to apply to this map Returns: An instance of WPGMZA.Map Type WPGMZA.Map &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function &lt;static&gt; getGeographicDistance(lat1, lon1, lat2, lon1) This gets the distance in kilometers between two latitude / longitude points TODO: Move this to the distance class, or the LatLng class Parameters: Name Type Description lat1 number Latitude from the first coordinate pair lon1 number Longitude from the first coordinate pair lat2 number Latitude from the second coordinate pair lon1 number Longitude from the second coordinate pair Returns: The distance between the latitude and longitudes, in kilometers Type number _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addCircle(circle) Adds the specified circle to this map Parameters: Name Type Description circle WPGMZA.Circle The circle to add Fires: event:polygonadded Throws: Argument must be an instance of WPGMZA.Circle addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener addMarker(marker) Adds the specified marker to this map Parameters: Name Type Description marker WPGMZA.Marker The marker to add Fires: event:markeradded WPGMZA.Marker#event:added Throws: Argument must be an instance of WPGMZA.Marker addPolygon(polygon) Adds the specified polygon to this map Parameters: Name Type Description polygon WPGMZA.Polygon The polygon to add Fires: event:polygonadded Throws: Argument must be an instance of WPGMZA.Polygon addPolyline(polyline) Adds the specified polyline to this map Parameters: Name Type Description polyline WPGMZA.Polyline The polyline to add Fires: event:polylineadded Throws: Argument must be an instance of WPGMZA.Polyline deleteCircleByID(id) Removes a circle by ID Parameters: Name Type Description id int The ID of the circle to remove deletePolygon(polygon) Removes the specified polygon from this map Parameters: Name Type Description polygon WPGMZA.Polygon The polygon to remove Fires: event:polygonremoved Throws: Argument must be an instance of WPGMZA.Polygon Wrong map error deletePolygonByID(id) Removes a polygon by ID Parameters: Name Type Description id int The ID of the polygon to remove deletePolyline(polyline) Removes the specified polyline from this map Parameters: Name Type Description polyline WPGMZA.Polyline The polyline to remove Fires: event:polylineremoved Throws: Argument must be an instance of WPGMZA.Polyline Wrong map error deletePolylineByID(id) Removes a polyline by ID Parameters: Name Type Description id int The ID of the polyline to remove dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getCircleByID(id) Gets a circle by ID Parameters: Name Type Description id int The ID of the circle to get Returns: The circle, or null if no circle with the specified ID is found Type WPGMZA.Circle | null getMarkerByID(id) Gets a marker by ID Parameters: Name Type Description id int The ID of the marker to get Returns: The marker, or null if no marker with the specified ID is found Type WPGMZA.Marker | null getPolygonByID(id) Gets a polygon by ID Parameters: Name Type Description id int The ID of the polygon to get Returns: The polygon, or null if no polygon with the specified ID is found Type WPGMZA.Polygon | null getPolylineByID(id) Gets a polyline by ID Parameters: Name Type Description id int The ID of the polyline to get Returns: The polyline, or null if no polyline with the specified ID is found Type WPGMZA.Polyline | null hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool loadSettings() Loads the maps settings and sets some defaults nudge(x, y) Nudges the map viewport by the given pixel coordinates Parameters: Name Type Description x number Number of pixels to nudge along the x axis y number Number of pixels to nudge along the y axis Throws: Invalid coordinates supplied off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener onBoundsChanged() Called when the map viewport bounds change. Fires the legacy bounds_changed event. Fires: event:boundschanged event:bounds_changed onElementResized() Called when the engine map div is resized onIdle() Called when the map viewport becomes idle (eg movement done, tiles loaded) Fires: event:idle onWindowResize() Called when the window resizes removeCircle(circle) Removes the specified circle from this map Parameters: Name Type Description circle WPGMZA.Circle The circle to remove Fires: event:circleremoved Throws: Argument must be an instance of WPGMZA.Circle Wrong map error removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener removeMarker(marker) Removes the specified marker from this map Parameters: Name Type Description marker WPGMZA.Marker The marker to remove Fires: event:markerremoved WPGMZA.Marker#event:removed Throws: Argument must be an instance of WPGMZA.Marker Wrong map error removeMarkerByID(id) Removes a marker by ID Parameters: Name Type Description id int The ID of the marker to remove Fires: event:markerremoved WPGMZA.Marker#event:removed setCenter(latLng) Centers the map on the supplied latitude and longitude Parameters: Name Type Description latLng object | WPGMZA.LatLng A LatLng literal or an instance of WPGMZA.LatLng setDimensions(width, height) Sets the dimensions of the map engine element Parameters: Name Type Description width number Width as a CSS string height number Height as a CSS string setOptions() Sets options in bulk on map trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.MapEngineDialog.html":{"id":"WPGMZA.MapEngineDialog.html","title":"Class: MapEngineDialog","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapEngineDialog MapEngineDialog WPGMZA.MapEngineDialog new MapEngineDialog(element) The modal dialog presented to the user in the map edit page, prompting them to choose a map engine, if they haven't done so already Parameters: Name Type Description element HTMLElement to create modal dialog from Methods &lt;static&gt; WPGMZA.MapsEngineDialog#onButtonClicked(event) Triggered when an engine is selected. Makes an AJAX call to the server to save the selected engine. Parameters: Name Type Description event object The click event from the selected button. × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.MapObject.html":{"id":"WPGMZA.MapObject.html","title":"Class: MapObject","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapObject MapObject WPGMZA.MapObject new MapObject() Base class for Map Objects (known as Features in Map Block), that is, markers, polygons, polylines, circles, rectangles and heatmaps. Implements functionality shared by all map objects, such as parsing geometry and serialization. Extends WPGMZA.EventDispatcher Methods _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener toJSON() Returns a copy of this object as a JSON object for serializsation Returns: This object as represented by JSON Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.MapSettings.html":{"id":"WPGMZA.MapSettings.html","title":"Class: MapSettings","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapSettings MapSettings WPGMZA.MapSettings new MapSettings() Handles map settings, parsing them from the data-settings attribute on the maps HTML element. NB: This will be split into GoogleMapSettings and OLMapSettings in the future. Methods toGoogleMapsOptions() Returns settings on this object converted to Google's MapOptions spec. Returns: The map settings, in the format specified by google.maps.MapOptions Type object toOLViewOptions() Returns settings on this object converted to OpenLayers view options Returns: The map settings, in a format understood by OpenLayers Type object × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.MapSettingsPage.html":{"id":"WPGMZA.MapSettingsPage.html","title":"Class: MapSettingsPage","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapSettingsPage MapSettingsPage WPGMZA.MapSettingsPage new MapSettingsPage() This class helps manage the map settings pageX Methods updateEngineSpecificControls() Updates engine specific controls, hiding irrelevant controls (eg Google controls when OpenLayers is the selected engine) and showing relevant controls. updateGDPRControls() Updates the GDPR controls (eg visibility state) based on the selected GDPR settings × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.Marker.html":{"id":"WPGMZA.Marker.html","title":"Class: Marker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Marker Marker WPGMZA.Marker new Marker( [row]) Base class for markers. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description row object &lt;optional&gt; Data to map to this object (eg from the database) Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance( [row]) Creates an instance of a marker, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description row object &lt;optional&gt; Data to map to this object (eg from the database) &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getAnimation() Returns the animation set on this marker (see WPGMZA.Marker ANIMATION_* constants). getDraggable() Gets whether this marker is draggable or not Returns: True if the marker is draggable Type bool getIcon() Gets the marker icon image URL, without the protocol prefix Returns: The URL to the markers icon image Type string getPosition() Gets the position of the marker Returns: LatLng literal of this markers position Type object getVisible() Get the marker visibility hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool hidePreviousInteractedInfoWindow() This function will hide the last info the user interacted with, so that only one InfoWindow can be open at any given moment. off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener onAdded() Called when the marker has been added to a map onClick() Called when the marker has been clicked onMouseOver() Called when the user hovers the mouse over this marker onSelect() Called when the marker has been selected, either by the icon being clicked, or from a marker listing openInfoWindow() Placeholder for future use panIntoView() Centers the map this marker belongs to on this marker Throws: Marker hasn't been added to a map parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener setAnimation(animation) Sets the animation for this marker (see WPGMZA.Marker ANIMATION_* constants). Parameters: Name Type Description animation int The animation to set. setDraggable(draggable) Sets whether the marker is draggable Parameters: Name Type Description draggable bool Set to true to make this marker draggable setMap(map) Sets the map this marker should be displayed on. If it is already on a map, it will be removed from that map first, before being added to the supplied map. Parameters: Name Type Description map WPGMZA.Map The map to add this markmer to setOptions(options) Sets options on this marker Parameters: Name Type Description options object An object containing the options to be set setPosition(latLng) Sets the position of the marker. Parameters: Name Type Description latLng object | WPGMZA.LatLng The position either as a LatLng literal or instance of WPGMZA.LatLng. setVisible(visible) Set the marker visibility. This is used by the store locator etc. and is not a setting. Closes the InfoWindow if the marker is being hidden and the InfoWindow for this marker is open. Parameters: Name Type Description visible bool Whether the marker should be visible or not toJSON() Overrides MapObject.toJSON, serializes the marker to a JSON object Overrides: WPGMZA.MapObject#toJSON Returns: A JSON representation of this marker Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.ModernStoreLocator.html":{"id":"WPGMZA.ModernStoreLocator.html","title":"Class: ModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: ModernStoreLocator ModernStoreLocator WPGMZA.ModernStoreLocator new ModernStoreLocator(map_id) The new modern look store locator. It takes the elements from the default look and moves them into the map, wrapping in a new element so we can apply new styles. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Description map_id int The ID of the map this store locator belongs to Methods &lt;static&gt; createInstance(map_id) Creates an instance of a modern store locator, please always use this function rather than calling the constructor directly. Parameters: Name Type Description map_id int The ID of the map this store locator belongs to Returns: An instance of WPGMZA.ModernStoreLocator Type WPGMZA.ModernStoreLocator × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.ModernStoreLocatorCircle.html":{"id":"WPGMZA.ModernStoreLocatorCircle.html","title":"Class: ModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: ModernStoreLocatorCircle ModernStoreLocatorCircle WPGMZA.ModernStoreLocatorCircle new ModernStoreLocatorCircle(map_id [, settings]) This is the base class the modern store locator circle. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description map_id int The ID of the map this circle belongs to settings object &lt;optional&gt; Settings to pass into this circle, such as strokeColor Methods &lt;static&gt; createInstance() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function draw() Draws the circle to the canvas getCanvasDimensions() Abstract function to get the canvas dimensions Throws: Abstract function called getCenter() Returns the center of the circle Returns: A latLng literal Type object getContext(type) Abstract function to set the canvas context Parameters: Name Type Description type string The context type Throws: Abstract function called getPosition() Gets the center of the circle Returns: The center as a LatLng literal Type object getRadius() Gets the circle radius, in kilometers Returns: The circles radius, in kilometers Type number getResolutionScale() Gets the resolution scale for drawing on the circles canvas. Returns: The device pixel ratio, or 1 where that is not present. Type number getTransformedRadius(km) Abstract function to get the transformed circle radius (see subclasses) Parameters: Name Type Description km number The input radius, in kilometers Throws: Abstract function called getVisible() Gets the visibility of the circle Returns: Whether or not the circle is visible Type bool initCanvasLayer() Abstract function to initialize the canvas layer onResize() Handles the map viewport being resized onUpdate() Updates and redraws the circle setCenter(A) Sets the center of the circle Parameters: Name Type Description A WPGMZA.LatLng | object LatLng literal or instance of WPGMZA.LatLng setOptions(options) Sets options on the circle (for example, strokeColor) Parameters: Name Type Description options object An object of options to iterate over and set on this circle. setPosition() Alias for setCenter setRadius(radius) Sets the circles radius, in kilometers Parameters: Name Type Description radius number The radius, in kilometers Throws: Invalid radius setVisible(visible) Sets the visibility of the circle Parameters: Name Type Description visible bool Whether the circle should be visible validateSettings() Validates the circle settings and corrects them where they are invalid × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.module_RestAPI.html":{"id":"WPGMZA.module_RestAPI.html","title":"Module: RestAPI","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: RestAPI Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.NativeMapsAppIcon.html":{"id":"WPGMZA.NativeMapsAppIcon.html","title":"Class: NativeMapsAppIcon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: NativeMapsAppIcon NativeMapsAppIcon new NativeMapsAppIcon() Small utility class to create an icon for the native maps app, an Apple icon on iOS devices, a Google icon on other devices × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.Polygon.html":{"id":"WPGMZA.Polygon.html","title":"Class: Polygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Polygon Polygon WPGMZA.Polygon new Polygon( [row] [, enginePolygon]) Base class for polygons. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polygon. enginePolygon object &lt;optional&gt; An engine polygon, passed from the drawing manager. Used when a polygon has been created by a drawing manager. Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance( [row] [, enginePolygon]) Creates an instance of a map, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polygon. enginePolygon object &lt;optional&gt; An engine polygon, passed from the drawing manager. Used when a polygon has been created by a drawing manager. Returns: An instance of WPGMZA.Polygon Type WPGMZA.Polygon &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener toJSON() Returns a JSON representation of this polygon, for serialization Overrides: WPGMZA.MapObject#toJSON Returns: A JSON object representing this polygon Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.Polyline.html":{"id":"WPGMZA.Polyline.html","title":"Class: Polyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Polyline Polyline WPGMZA.Polyline new Polyline( [row] [, enginePolyline]) Base class for polylines. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polyline. enginePolyline object &lt;optional&gt; An engine polyline, passed from the drawing manager. Used when a polyline has been created by a drawing manager. Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance( [row] [, enginePolyline]) Creates an instance of a map, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polyline. enginePolyline object &lt;optional&gt; An engine polyline, passed from the drawing manager. Used when a polyline has been created by a drawing manager. Returns: An instance of WPGMZA.Polyline Type WPGMZA.Polyline &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener toJSON() Returns a JSON representation of this polyline, for serialization Overrides: WPGMZA.MapObject#toJSON Returns: A JSON object representing this polyline Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.PopoutPanel.html":{"id":"WPGMZA.PopoutPanel.html","title":"Class: PopoutPanel","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: PopoutPanel PopoutPanel WPGMZA.PopoutPanel new PopoutPanel() Common functionality for popout panels, which is the directions box, directions result box, and the modern style marker listing Methods close() Closes the direction box open() Opens the direction box × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "},"WPGMZA.RestAPI.html":{"id":"WPGMZA.RestAPI.html","title":"Class: RestAPI","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: RestAPI RestAPI WPGMZA.RestAPI new RestAPI() Used to interact with the WordPress REST API. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Methods &lt;static&gt; createInstance() Creates an instance of a RestAPI, please always use this function rather than calling the constructor directly. call(route, params) Makes an AJAX to the REST API, this function is a wrapper for $.ajax Parameters: Name Type Description route string The REST API route params object The request parameters, see http://api.jquery.com/jquery.ajax/ × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-10T08:22:59+00:00 using the DocStrap template. "}}
11
  </script>
12
 
13
  <script type="text/javascript">
7
  <script src="scripts/fulltext-search.js"></script>
8
 
9
  <script type="text/x-docstrap-searchdb">
10
+ {"modules.list.html":{"id":"modules.list.html","title":"Modules","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Modules Classes OLGeocoder OpenLayers geocoder - uses Nominatim by default Circle Compatibility Distance Event EventDispatcher FriendlyError Geocoder GoogleAPIErrorHandler GoogleCircle GoogleGeocoder InfoWindow LatLng LatLngBounds Map MapEngineDialog MapObject MapSettings MapSettingsPage Marker ModernStoreLocator ModernStoreLocatorCircle NativeMapsAppIcon Polygon Polyline PopoutPanel RestAPI × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:08+00:00 using the DocStrap template. "},"classes.list.html":{"id":"classes.list.html","title":"Classes","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Classes Classes OLGeocoder OpenLayers geocoder - uses Nominatim by default Circle Compatibility Distance Event EventDispatcher FriendlyError Geocoder GoogleAPIErrorHandler GoogleCircle GoogleGeocoder InfoWindow LatLng LatLngBounds Map MapEngineDialog MapObject MapSettings MapSettingsPage Marker ModernStoreLocator ModernStoreLocatorCircle NativeMapsAppIcon Polygon Polyline PopoutPanel RestAPI × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:08+00:00 using the DocStrap template. "},"index.html":{"id":"index.html","title":"Index","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:08+00:00 using the DocStrap template. "},"module-Circle.html":{"id":"module-Circle.html","title":"Module: Circle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Circle Requires module:WPGMZA.MapObject × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:08+00:00 using the DocStrap template. "},"module-Compatibility.html":{"id":"module-Compatibility.html","title":"Module: Compatibility","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Compatibility Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:08+00:00 using the DocStrap template. "},"module-CSS.html":{"id":"module-CSS.html","title":"Module: CSS","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: CSS Polyfill for CSS.escape, with thanks to @mathias Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:08+00:00 using the DocStrap template. "},"module-Distance.html":{"id":"module-Distance.html","title":"Module: Distance","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Distance Collection of distance utility functions and constants Requires module:WPGMZA Members &lt;static, constant&gt; KILOMETERS_PER_MILE Kilometers per mile × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Event.html":{"id":"module-Event.html","title":"Module: Event","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Event Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-EventDispatcher.html":{"id":"module-EventDispatcher.html","title":"Module: EventDispatcher","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: EventDispatcher Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-FriendlyError.html":{"id":"module-FriendlyError.html","title":"Module: FriendlyError","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: FriendlyError Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Geocoder.html":{"id":"module-Geocoder.html","title":"Module: Geocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Geocoder Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleAPIErrorHandler.html":{"id":"module-GoogleAPIErrorHandler.html","title":"Module: GoogleAPIErrorHandler","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleAPIErrorHandler Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleCircle.html":{"id":"module-GoogleCircle.html","title":"Module: GoogleCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleCircle Requires module:WPGMZA.Circle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleGeocoder.html":{"id":"module-GoogleGeocoder.html","title":"Module: GoogleGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleGeocoder Requires module:WPGMZA.Geocoder × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleInfoWindow.html":{"id":"module-GoogleInfoWindow.html","title":"Module: GoogleInfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleInfoWindow Requires module:WPGMZA.InfoWindow × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleMap.html":{"id":"module-GoogleMap.html","title":"Module: GoogleMap","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleMap Requires module:WPGMZA.Map × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleMarker.html":{"id":"module-GoogleMarker.html","title":"Module: GoogleMarker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleMarker Requires module:WPGMZA.Marker × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleModernStoreLocator.html":{"id":"module-GoogleModernStoreLocator.html","title":"Module: GoogleModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleModernStoreLocator Requires module:WPGMZA.ModernStoreLocator × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleModernStoreLocatorCircle.html":{"id":"module-GoogleModernStoreLocatorCircle.html","title":"Module: GoogleModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleModernStoreLocatorCircle Requires module:WPGMZA.ModernStoreLocatorCircle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GooglePolygon.html":{"id":"module-GooglePolygon.html","title":"Module: GooglePolygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GooglePolygon Requires module:WPGMZA.Polygon × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GooglePolyline.html":{"id":"module-GooglePolyline.html","title":"Module: GooglePolyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GooglePolyline Requires module:WPGMZA.Polyline × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleUICompatibility.html":{"id":"module-GoogleUICompatibility.html","title":"Module: GoogleUICompatibility","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleUICompatibility Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-GoogleVertexContextMenu.html":{"id":"module-GoogleVertexContextMenu.html","title":"Module: GoogleVertexContextMenu","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: GoogleVertexContextMenu Requires module:wpgmza_api_call × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Gutenberg.html":{"id":"module-Gutenberg.html","title":"Module: Gutenberg","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Gutenberg Requires module:WPGMZA.Integration module:wp-i18n module:wp-blocks module:wp-editor module:wp-components × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-InfoWindow.html":{"id":"module-InfoWindow.html","title":"Module: InfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: InfoWindow Requires module:WPGMZA.EventDispatcher × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Integration.html":{"id":"module-Integration.html","title":"Module: Integration","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Integration Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-LatLng.html":{"id":"module-LatLng.html","title":"Module: LatLng","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: LatLng Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-LatLngBounds.html":{"id":"module-LatLngBounds.html","title":"Module: LatLngBounds","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: LatLngBounds Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Map.html":{"id":"module-Map.html","title":"Module: Map","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Map Requires module:WPGMZA.EventDispatcher × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-MapObject.html":{"id":"module-MapObject.html","title":"Module: MapObject","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapObject Requires module:WPGMZA.EventDispatcher × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-MapsEngineDialog.html":{"id":"module-MapsEngineDialog.html","title":"Module: MapsEngineDialog","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapsEngineDialog Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-MapSettings.html":{"id":"module-MapSettings.html","title":"Module: MapSettings","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapSettings Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-MapSettingsPage.html":{"id":"module-MapSettingsPage.html","title":"Module: MapSettingsPage","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: MapSettingsPage Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Marker.html":{"id":"module-Marker.html","title":"Module: Marker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Marker Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-ModernStoreLocator.html":{"id":"module-ModernStoreLocator.html","title":"Module: ModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: ModernStoreLocator Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-ModernStoreLocatorCircle.html":{"id":"module-ModernStoreLocatorCircle.html","title":"Module: ModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: ModernStoreLocatorCircle Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-NativeMapsAppIcon.html":{"id":"module-NativeMapsAppIcon.html","title":"Module: NativeMapsAppIcon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: NativeMapsAppIcon Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLCircle.html":{"id":"module-OLCircle.html","title":"Module: OLCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLCircle Requires module:WPGMZA.Circle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLGeocoder.html":{"id":"module-OLGeocoder.html","title":"Module: OLGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLGeocoder Requires module:WPGMZA.Geocoder Classes OLGeocoder OpenLayers geocoder - uses Nominatim by default Methods &lt;protected, inner&gt; cacheResponse(address, response) Caches a response on the server, usually after it's been returned from Nominatim Parameters: Name Type Description address string The street address response object | array The response to cache Returns: Type void &lt;protected, inner&gt; getResponseFromCache(address, callback) Tries to retrieve cached coordinates from server cache Parameters: Name Type Description address string The street address to geocode callback function Where to send the results, as an array Returns: Type void &lt;protected, inner&gt; getResponseFromNominatim(options, callback) Queries Nominatim on the specified address Parameters: Name Type Description options object An object containing the options for geocoding, address is a mandatory field callback function The function to send the results to, as an array × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLGeocoder-OLGeocoder.html":{"id":"module-OLGeocoder-OLGeocoder.html","title":"Class: OLGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: OLGeocoder OLGeocoder~ OLGeocoder new OLGeocoder() OpenLayers geocoder - uses Nominatim by default Extends Geocoder × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLInfoWindow.html":{"id":"module-OLInfoWindow.html","title":"Module: OLInfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLInfoWindow Requires module:WPGMZA.InfoWindow × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLMap.html":{"id":"module-OLMap.html","title":"Module: OLMap","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLMap Requires module:WPGMZA.Map × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLMarker.html":{"id":"module-OLMarker.html","title":"Module: OLMarker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLMarker Requires module:WPGMZA.Marker × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLModernStoreLocator.html":{"id":"module-OLModernStoreLocator.html","title":"Module: OLModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLModernStoreLocator Requires module:WPGMZA.ModernStoreLocator × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLModernStoreLocatorCircle.html":{"id":"module-OLModernStoreLocatorCircle.html","title":"Module: OLModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLModernStoreLocatorCircle Requires module:WPGMZA.ModernStoreLocatorCircle × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLPolygon.html":{"id":"module-OLPolygon.html","title":"Module: OLPolygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLPolygon Requires module:WPGMZA.Polygon × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-OLPolyline.html":{"id":"module-OLPolyline.html","title":"Module: OLPolyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: OLPolyline Requires module:WPGMZA.Polyline × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Polygon.html":{"id":"module-Polygon.html","title":"Module: Polygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Polygon Requires module:WPGMZA.MapObject × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Polyline.html":{"id":"module-Polyline.html","title":"Module: Polyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Polyline Requires module:WPGMZA.MapObject × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-PopoutPanel.html":{"id":"module-PopoutPanel.html","title":"Module: PopoutPanel","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: PopoutPanel Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-Version.html":{"id":"module-Version.html","title":"Module: Version","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: Version Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"module-WPGMZA.html":{"id":"module-WPGMZA.html","title":"Module: WPGMZA","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: WPGMZA Members &lt;static, constant&gt; events :EventDispatcher Global EventDispatcher used to listen for global plugin events Type: EventDispatcher &lt;static, constant&gt; latLngRegexp :RegExp A regular expression that matches a latitude / longitude coordinate pair Type: RegExp &lt;static, constant&gt; localized_strings :object Key and value pairs of localized strings passed from the server Type: object &lt;static, constant&gt; maps :array Indexed array of map instances Type: array &lt;static, constant&gt; restAPI :RestAPI Instance of the restAPI. Not to be confused with WPGMZA.RestAPI, which is the instances constructor Type: RestAPI &lt;static, constant&gt; settings :object Settings, passed from the server Type: object &lt;inner&gt; imageDimensionsCache Cache of image dimensions by URL, for internal use only See: WPGMZA.getImageDimensions Methods &lt;static&gt; animateScroll(element [, milliseconds]) Animated scroll, accounts for animation settings and fixed header height Parameters: Name Type Argument Description element HTMLElement The element to scroll to milliseconds number &lt;optional&gt; The time in milliseconds to scroll over. Defaults to 500 if no value is specified. Returns: void &lt;static&gt; assertInstanceOf(instance, instanceName) This function is for checking inheritence has been setup correctly. For objects that have engine and Pro specific classes, it will automatically add the engine and pro prefix to the supplied string and if such an object exists it will test against that name rather than the un-prefix argument supplied. For example, if we are running the Pro addon with Google maps as the engine, if you supply Marker as the instance name the function will check to see if instance is an instance of GoogleProMarker Parameters: Name Type Description instance object The object to check instanceName string The class name as a string which this object should be an instance of Returns: Type void &lt;static&gt; getCurrentPosition() This function will get the users position, it first attempts to get high accuracy position (mobile with GPS sensors etc.), if that fails (desktops will time out) then it tries again without high accuracy enabled. Returns: The users position as a LatLng literal Type object &lt;static&gt; getImageDimensions(src, callback) Utility function to get the dimensions of an image, caches results for best performance Parameters: Name Type Description src string Image source URL callback function Callback to recieve image dimensions Returns: Type void &lt;static&gt; getMapByID(id) Parameters: Name Type Description id mixed The ID of the map to retrieve Returns: The map object, or null if no such map exists Type object &lt;static&gt; getScrollAnimationOffset() Override this method to add a scroll offset when using animated scroll, useful for sites with fixed headers. Returns: The scroll offset Type number &lt;static&gt; guid() Generates and returns a GUID Returns: The GUID Type string &lt;static&gt; hexOpacityToRGBA(colour, opacity) Takes a hex string and opacity value and converts it to Openlayers RGBA format Parameters: Name Type Description colour string The hex color string opacity number The opacity from 0.0 - 1.0 Returns: RGBA array where color components are 0 - 255 and opacity is 0.0 - 1.0 Type array &lt;static&gt; hexToRgba(hex) Takes a hex color string and converts it to an RGBA object. Parameters: Name Type Description hex string The hex color string Returns: Object with r, g, b and a properties, or 0 if the input is invalid. Type object &lt;static&gt; isDeveloperMode() Returns true if developer mode is set or if developer mode cookie is set Returns: True if developer mode is on Type boolean &lt;static&gt; isDeviceiOS() Makes an educated guess whether the browser is running on an iOS device Returns: True if it's likely the browser is running on an iOS device Type boolean &lt;static&gt; isGoogleAutocompleteSupported() Shorthand function to determine if the Places Autocomplete is available Returns: True if the places autocomplete is available Type boolean &lt;static&gt; isLatLngString(str) Utility function returns true is string is a latitude and longitude Parameters: Name Type Description str string The string to attempt to parse as coordinates Returns: the matched latitude and longitude or null if no match Type array &lt;static&gt; isProVersion() Returns true if the Pro add-on is active Returns: True if the Pro add-on is active Type boolean &lt;static&gt; isSafari() Makes an educated guess as to whether the browser is Safari Returns: True if it's likely the browser is Safari Type boolean &lt;static&gt; isTouchDevice() Makes an educated guess as to whether the browser is running on a touch device Returns: True if it's likely the browser is running on a touch device Type boolean &lt;static&gt; openMediaDialog(callback) Opens the WP media dialog and returns the result to a callback Parameters: Name Type Description callback function Callback to recieve the attachment ID as the first parameter and URL as the second Returns: Type void &lt;static&gt; rgbaToString(rgba) Takes an object with r, g, b and a properties and returns a CSS rgba color string Parameters: Name Type Description rgba string The input object Returns: The CSS rgba color string Type string &lt;static&gt; runCatchableTask(callback, friendlyErrorContainer) Runs a catchable task and displays a friendly error if the function throws an error Parameters: Name Type Description callback function The function to run friendlyErrorContainer HTMLElement The container element to hold the error See: WPGMZA.FriendlyError Returns: Type void &lt;static&gt; stringToLatLng(str) Utility function returns a latLng literal given a valid latLng string Parameters: Name Type Description str string The string to attempt to parse as coordinates Returns: LatLng literal Type object &lt;static&gt; stringToLatLng(str) Utility function returns a latLng literal given a valid latLng string Parameters: Name Type Description str string The string to attempt to parse as coordinates Returns: LatLng literal Type object × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.Circle.html":{"id":"WPGMZA.Circle.html","title":"Class: Circle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Circle Circle WPGMZA.Circle new Circle() Base class for circles. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Circle.createInstance Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance(options) Creates an instance of a circle, please always use this function rather than calling the constructor directly. Parameters: Name Type Description options object Options for the object (optional) _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getCenter() Gets the circles center Returns: Type WPGMZA.LatLng getMap() Returns the map that this circle is being displayed on Returns: Type WPGMZA.Map getRadius(latLng) Gets the circles radius, in kilometers Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng Returns: Type WPGMZA.LatLng hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener setCenter(latLng) Sets the circles center Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng setMap(map) Puts this circle on a map Parameters: Name Type Description map WPGMZA.Map The target map Returns: Type void setRadius(radius) Sets the circles radius, in kilometers Parameters: Name Type Description radius number The radius Returns: Type void toJSON() Returns a copy of this object as a JSON object for serializsation Inherited From: WPGMZA.MapObject#toJSON Returns: This object as represented by JSON Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.Compatibility.html":{"id":"WPGMZA.Compatibility.html","title":"Class: Compatibility","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Compatibility Compatibility WPGMZA.Compatibility new Compatibility() Reverse compatibility module Methods preventDocumentWriteGoogleMapsAPI() Prevents document.write from outputting Google Maps API script tag × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.Distance.html":{"id":"WPGMZA.Distance.html","title":"Class: Distance","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Distance Distance new Distance() Deprecated: Will be dropped wiht the introduction of global distance units Members &lt;static, constant&gt; KILOMETERS Kilometers, represented as false by legacy versions of the plugin &lt;static, constant&gt; MILES Miles, represented as true by legacy versions of the plugin &lt;static, constant&gt; MILES_PER_KILOMETER Miles per kilometer Methods &lt;static&gt; kilometersToUI(km, The) Converts kilometers to a UI distance, either the same value, or converted to miles depending on settings. Parameters: Name Type Description km number The input distance in kilometers The number UI distance in the units specified by settings &lt;static&gt; uiToKilometers(uiDistance) Converts a UI distance (eg from a form control) to kilometers, accounting for the global units setting Parameters: Name Type Description uiDistance number The distance from the UI, could be in miles or kilometers depending on settings Returns: The input distance in kilometers Type number &lt;static&gt; uiToMeters(uiDistance) Converts a UI distance (eg from a form control) to meters, accounting for the global units setting Parameters: Name Type Description uiDistance number The distance from the UI, could be in miles or kilometers depending on settings Returns: The input distance in meters Type number &lt;static&gt; uiToMiles(uiDistance) Converts a UI distance (eg from a form control) to miles, according to settings Parameters: Name Type Description uiDistance number The distance from the UI, could be in miles or kilometers depending on settings Returns: The input distance Type number × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.Event.html":{"id":"WPGMZA.Event.html","title":"Class: Event","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Event Event WPGMZA.Event new Event(options) Base class used for events (for non-HTMLElement objects) Parameters: Name Type Description options string | object The event type as a string, or an object of options to be mapped to this event Methods stopPropagation() Prevents any further propagation of this event × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.EventDispatcher.html":{"id":"WPGMZA.EventDispatcher.html","title":"Class: EventDispatcher","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: EventDispatcher EventDispatcher WPGMZA.EventDispatcher new EventDispatcher() Base class for any (non HTMLElement) object which dispatches or listens for events Methods _triggerListeners() Handles the logic of triggering listeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener See: WPGMZA.EventDispatcher#addEventListener removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. trigger() Alias for removeEventListener See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.FriendlyError.html":{"id":"WPGMZA.FriendlyError.html","title":"Class: FriendlyError","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: FriendlyError FriendlyError WPGMZA.FriendlyError new FriendlyError() Deprecated Deprecated: Yes × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.Geocoder.html":{"id":"WPGMZA.Geocoder.html","title":"Class: Geocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Geocoder Geocoder WPGMZA.Geocoder new Geocoder() Base class for geocoders. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Geocoder.createInstance Members &lt;static, constant&gt; FAIL Indicates the geocode failed, usually due to technical reasons (eg connectivity) &lt;static, constant&gt; SUCCESS Indicates a successful geocode, with one or more results &lt;static, constant&gt; ZERO_RESULTS Indicates the geocode was successful, but returned no results Methods &lt;static&gt; createInstance() Creates an instance of a Geocoder, please always use this function rather than calling the constructor directly Returns: A subclass of WPGMZA.Geocoder Type WPGMZA.Geocoder &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function geocode(options) Geocodes either an address or a latitude and longitude coordinate pair, depending on the input Parameters: Name Type Description options object The options to geocode, you must supply either latLng or address. Throws: You must supply either a latLng or address Returns: Type void getAddressFromLatLng(options, callback) Attempts to convert latitud eand longitude coordinates into a street address. By default this will simply return the coordinates wrapped in an array. Parameters: Name Type Description options object The options to geocode, latLng is mandatory. callback function The callback to receive the geocode result. Returns: Type void getLatLngFromAddress(options, callback) Attempts to convert a street address to an array of potential coordinates that match the address, which are passed to a callback. If the address is interpreted as a latitude and longitude coordinate pair, the callback is immediately fired. Parameters: Name Type Description options object The options to geocode, address is mandatory. callback function The callback to receive the geocode result. Returns: Type void × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.GoogleAPIErrorHandler.html":{"id":"WPGMZA.GoogleAPIErrorHandler.html","title":"Class: GoogleAPIErrorHandler","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: GoogleAPIErrorHandler GoogleAPIErrorHandler WPGMZA.GoogleAPIErrorHandler new GoogleAPIErrorHandler() This class catches Google Maps API errors and presents them in a friendly manner, before sending them on to the consoles default error handler. Methods addErrorMessage(message [, urls]) Called by onErrorMessage when a Google Maps API error is picked up, this will add the specified message to the Maps API error message dialog, along with URLs to compliment it. This function ignores duplicate error messages. Parameters: Name Type Argument Description message string The message, or part of the message, intercepted from the console urls array &lt;optional&gt; An array of URLs relating to the error message to compliment the message. onErrorMessage(message) Overrides console.error to scan the error message for Google Maps API error messages. Parameters: Name Type Description message string The error message passed to the console × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:09+00:00 using the DocStrap template. "},"WPGMZA.GoogleCircle.html":{"id":"WPGMZA.GoogleCircle.html","title":"Class: GoogleCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: GoogleCircle GoogleCircle WPGMZA.GoogleCircle new GoogleCircle() Subclass, used when Google is the maps engine. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Circle.createInstance Extends WPGMZA.Circle Methods _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getCenter() Gets the circles center Inherited From: WPGMZA.Circle#getCenter Returns: Type WPGMZA.LatLng getMap() Returns the map that this circle is being displayed on Inherited From: WPGMZA.Circle#getMap Returns: Type WPGMZA.Map getRadius(latLng) Gets the circles radius, in kilometers Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng Inherited From: WPGMZA.Circle#getRadius Returns: Type WPGMZA.LatLng hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener setCenter(latLng) Sets the circles center Parameters: Name Type Description latLng object | WPGMZA.LatLng either a literal or as a WPGMZA.LatLng Inherited From: WPGMZA.Circle#setCenter setMap(map) Puts this circle on a map Parameters: Name Type Description map WPGMZA.Map The target map Inherited From: WPGMZA.Circle#setMap Returns: Type void setRadius(radius) Sets the circles radius, in kilometers Parameters: Name Type Description radius number The radius Inherited From: WPGMZA.Circle#setRadius Returns: Type void toJSON() Returns a copy of this object as a JSON object for serializsation Inherited From: WPGMZA.MapObject#toJSON Returns: This object as represented by JSON Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.GoogleGeocoder.html":{"id":"WPGMZA.GoogleGeocoder.html","title":"Class: GoogleGeocoder","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: GoogleGeocoder GoogleGeocoder WPGMZA.GoogleGeocoder new GoogleGeocoder() Subclass, used when Google is the maps engine. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.Geocoder.createInstance Extends WPGMZA.Geocoder Methods geocode(options) Geocodes either an address or a latitude and longitude coordinate pair, depending on the input Parameters: Name Type Description options object The options to geocode, you must supply either latLng or address. Inherited From: WPGMZA.Geocoder#geocode Throws: You must supply either a latLng or address Returns: Type void getAddressFromLatLng(options, callback) Attempts to convert latitud eand longitude coordinates into a street address. By default this will simply return the coordinates wrapped in an array. Parameters: Name Type Description options object The options to geocode, latLng is mandatory. callback function The callback to receive the geocode result. Inherited From: WPGMZA.Geocoder#getAddressFromLatLng Returns: Type void getLatLngFromAddress(options, callback) Attempts to convert a street address to an array of potential coordinates that match the address, which are passed to a callback. If the address is interpreted as a latitude and longitude coordinate pair, the callback is immediately fired. Parameters: Name Type Description options object The options to geocode, address is mandatory. callback function The callback to receive the geocode result. Inherited From: WPGMZA.Geocoder#getLatLngFromAddress Returns: Type void × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.InfoWindow.html":{"id":"WPGMZA.InfoWindow.html","title":"Class: InfoWindow","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: InfoWindow InfoWindow WPGMZA.InfoWindow new InfoWindow() Base class for infoWindows. This acts as an abstract class so that infoWindows for both Google and OpenLayers can be interacted with seamlessly by the overlying logic. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. See: WPGMZA.InfoWindow.createInstance Methods &lt;static&gt; createInstance(options) Creates an instance of an InfoWindow, please always use this function rather than calling the constructor directly Parameters: Name Type Description options object Options for the object (optional) &lt;static&gt; getConstructor() Fetches the constructor to be used by createInstance, based on the selected maps engine Returns: The appropriate constructor Type function close() Abstract function, closes this InfoWindow getContent() Gets the content for the info window and passes it to the specified callback - this allows for delayed loading (eg AJAX) as well as instant content Returns: void onMapObjectAdded() Event listener for when the map object is added. This will cause the info window to open if the map object has infoopen set Returns: void open(map, mapObject) Opens the info window on the specified map, with the specified map object as the subject. Parameters: Name Type Description map WPGMZA.Map The map to open this InfoWindow on. mapObject WPGMZA.MapObject The map object (eg marker, polygon) to open this InfoWindow on. Returns: boolean FALSE if the info window should not and will not open, TRUE if it will. This can be used by subclasses to establish whether or not the subclassed open should bail or open the window. setContent() Abstract function, sets the content in this InfoWindow setOptions() Abstract function, sets options on this InfoWindow × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.LatLng.html":{"id":"WPGMZA.LatLng.html","title":"Class: LatLng","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: LatLng LatLng WPGMZA.LatLng new LatLng(arg [, lng]) This class represents a latitude and longitude coordinate pair, and provides utilities to work with coordinates, parsing and conversion. Parameters: Name Type Argument Description arg number | object A latLng literal, or latitude lng number &lt;optional&gt; The latitude, where arg is a longitude Members &lt;static, constant&gt; REGEXP :RegExp A regular expression which matches latitude and longitude coordinate pairs from a string. Matches 1 and 3 correspond to latitude and longitude, respectively, Type: RegExp Methods &lt;static&gt; fromGoogleLatLng(The) Returns an instnace of WPGMZA.LatLng from an instance of google.maps.LatLng Parameters: Name Type Description The google.maps.LatLng google.maps.LatLng to convert Returns: An instance of WPGMZA.LatLng built from the supplied google.maps.LatLng Type WPGMZA.LatLng &lt;static&gt; isValid(obj) Returns true if the supplied object is a LatLng literal, also returns true for instances of WPGMZA.LatLng Parameters: Name Type Description obj object A LatLng literal, or an instance of WPGMZA.LatLng Returns: True if this object is a valid LatLng literal or instance of WPGMZA.LatLng Type bool moveByDistance(kilometers, heading) Moves this latLng by the specified kilometers along the given heading. This function operates in place, as opposed to creating a new instance of WPGMZA.LatLng. With many thanks to Hu Kenneth - https://gis.stackexchange.com/questions/234473/get-a-lonlat-point-by-distance-or-between-2-lonlat-points Parameters: Name Type Description kilometers number The number of kilometers to move this LatLng by heading number The heading, in degrees, to move along, where zero is North Returns: Type void toGoogleLatLng() Returns an instance of google.maps.LatLng with the same coordinates as this object Returns: This object, expressed as a google.maps.LatLng Type google.maps.LatLng toString() Returns this latitude and longitude as a string Returns: This object represented as a string Type string × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.LatLngBounds.html":{"id":"WPGMZA.LatLngBounds.html","title":"Class: LatLngBounds","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: LatLngBounds LatLngBounds WPGMZA.LatLngBounds new LatLngBounds() This class represents latitude and longitude bounds as a rectangular area. NB: This class is not fully implemented Methods extend(latLng) Extends this bounds object to encompass the given latitude and longitude coordinates Parameters: Name Type Description latLng object | WPGMZA.LatLng either a LatLng literal or an instance of WPGMZA.LatLng isInInitialState() Returns true if this object is in it's initial state (eg no points specified to gather bounds from) Returns: True if the object is in it's initial state Type bool × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.Map.html":{"id":"WPGMZA.Map.html","title":"Class: Map","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Map Map WPGMZA.Map new Map(element [, options]) Base class for maps. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description element HTMLElement to contain map options object &lt;optional&gt; Options to apply to this map Extends WPGMZA.EventDispatcher Methods &lt;static&gt; createInstance(element [, options]) Creates an instance of a map, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description element HTMLElement to contain map options object &lt;optional&gt; Options to apply to this map Returns: An instance of WPGMZA.Map Type WPGMZA.Map &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function &lt;static&gt; getGeographicDistance(lat1, lon1, lat2, lon1) This gets the distance in kilometers between two latitude / longitude points TODO: Move this to the distance class, or the LatLng class Parameters: Name Type Description lat1 number Latitude from the first coordinate pair lon1 number Longitude from the first coordinate pair lat2 number Latitude from the second coordinate pair lon1 number Longitude from the second coordinate pair Returns: The distance between the latitude and longitudes, in kilometers Type number _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addCircle(circle) Adds the specified circle to this map Parameters: Name Type Description circle WPGMZA.Circle The circle to add Fires: event:polygonadded Throws: Argument must be an instance of WPGMZA.Circle addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener addMarker(marker) Adds the specified marker to this map Parameters: Name Type Description marker WPGMZA.Marker The marker to add Fires: event:markeradded WPGMZA.Marker#event:added Throws: Argument must be an instance of WPGMZA.Marker addPolygon(polygon) Adds the specified polygon to this map Parameters: Name Type Description polygon WPGMZA.Polygon The polygon to add Fires: event:polygonadded Throws: Argument must be an instance of WPGMZA.Polygon addPolyline(polyline) Adds the specified polyline to this map Parameters: Name Type Description polyline WPGMZA.Polyline The polyline to add Fires: event:polylineadded Throws: Argument must be an instance of WPGMZA.Polyline deleteCircleByID(id) Removes a circle by ID Parameters: Name Type Description id int The ID of the circle to remove deletePolygon(polygon) Removes the specified polygon from this map Parameters: Name Type Description polygon WPGMZA.Polygon The polygon to remove Fires: event:polygonremoved Throws: Argument must be an instance of WPGMZA.Polygon Wrong map error deletePolygonByID(id) Removes a polygon by ID Parameters: Name Type Description id int The ID of the polygon to remove deletePolyline(polyline) Removes the specified polyline from this map Parameters: Name Type Description polyline WPGMZA.Polyline The polyline to remove Fires: event:polylineremoved Throws: Argument must be an instance of WPGMZA.Polyline Wrong map error deletePolylineByID(id) Removes a polyline by ID Parameters: Name Type Description id int The ID of the polyline to remove dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getCircleByID(id) Gets a circle by ID Parameters: Name Type Description id int The ID of the circle to get Returns: The circle, or null if no circle with the specified ID is found Type WPGMZA.Circle | null getMarkerByID(id) Gets a marker by ID Parameters: Name Type Description id int The ID of the marker to get Returns: The marker, or null if no marker with the specified ID is found Type WPGMZA.Marker | null getPolygonByID(id) Gets a polygon by ID Parameters: Name Type Description id int The ID of the polygon to get Returns: The polygon, or null if no polygon with the specified ID is found Type WPGMZA.Polygon | null getPolylineByID(id) Gets a polyline by ID Parameters: Name Type Description id int The ID of the polyline to get Returns: The polyline, or null if no polyline with the specified ID is found Type WPGMZA.Polyline | null hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool loadSettings() Loads the maps settings and sets some defaults nudge(x, y) Nudges the map viewport by the given pixel coordinates Parameters: Name Type Description x number Number of pixels to nudge along the x axis y number Number of pixels to nudge along the y axis Throws: Invalid coordinates supplied off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener onBoundsChanged() Called when the map viewport bounds change. Fires the legacy bounds_changed event. Fires: event:boundschanged event:bounds_changed onElementResized() Called when the engine map div is resized onIdle() Called when the map viewport becomes idle (eg movement done, tiles loaded) Fires: event:idle onWindowResize() Called when the window resizes removeCircle(circle) Removes the specified circle from this map Parameters: Name Type Description circle WPGMZA.Circle The circle to remove Fires: event:circleremoved Throws: Argument must be an instance of WPGMZA.Circle Wrong map error removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener removeMarker(marker) Removes the specified marker from this map Parameters: Name Type Description marker WPGMZA.Marker The marker to remove Fires: event:markerremoved WPGMZA.Marker#event:removed Throws: Argument must be an instance of WPGMZA.Marker Wrong map error removeMarkerByID(id) Removes a marker by ID Parameters: Name Type Description id int The ID of the marker to remove Fires: event:markerremoved WPGMZA.Marker#event:removed setCenter(latLng) Centers the map on the supplied latitude and longitude Parameters: Name Type Description latLng object | WPGMZA.LatLng A LatLng literal or an instance of WPGMZA.LatLng setDimensions(width, height) Sets the dimensions of the map engine element Parameters: Name Type Description width number Width as a CSS string height number Height as a CSS string setOptions() Sets options in bulk on map trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.MapEngineDialog.html":{"id":"WPGMZA.MapEngineDialog.html","title":"Class: MapEngineDialog","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapEngineDialog MapEngineDialog WPGMZA.MapEngineDialog new MapEngineDialog(element) The modal dialog presented to the user in the map edit page, prompting them to choose a map engine, if they haven't done so already Parameters: Name Type Description element HTMLElement to create modal dialog from Methods &lt;static&gt; WPGMZA.MapsEngineDialog#onButtonClicked(event) Triggered when an engine is selected. Makes an AJAX call to the server to save the selected engine. Parameters: Name Type Description event object The click event from the selected button. × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.MapObject.html":{"id":"WPGMZA.MapObject.html","title":"Class: MapObject","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapObject MapObject WPGMZA.MapObject new MapObject() Base class for Map Objects (known as Features in Map Block), that is, markers, polygons, polylines, circles, rectangles and heatmaps. Implements functionality shared by all map objects, such as parsing geometry and serialization. Extends WPGMZA.EventDispatcher Methods _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener toJSON() Returns a copy of this object as a JSON object for serializsation Returns: This object as represented by JSON Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.MapSettings.html":{"id":"WPGMZA.MapSettings.html","title":"Class: MapSettings","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapSettings MapSettings WPGMZA.MapSettings new MapSettings() Handles map settings, parsing them from the data-settings attribute on the maps HTML element. NB: This will be split into GoogleMapSettings and OLMapSettings in the future. Methods toGoogleMapsOptions() Returns settings on this object converted to Google's MapOptions spec. Returns: The map settings, in the format specified by google.maps.MapOptions Type object toOLViewOptions() Returns settings on this object converted to OpenLayers view options Returns: The map settings, in a format understood by OpenLayers Type object × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.MapSettingsPage.html":{"id":"WPGMZA.MapSettingsPage.html","title":"Class: MapSettingsPage","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: MapSettingsPage MapSettingsPage WPGMZA.MapSettingsPage new MapSettingsPage() This class helps manage the map settings pageX Methods updateEngineSpecificControls() Updates engine specific controls, hiding irrelevant controls (eg Google controls when OpenLayers is the selected engine) and showing relevant controls. updateGDPRControls() Updates the GDPR controls (eg visibility state) based on the selected GDPR settings × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.Marker.html":{"id":"WPGMZA.Marker.html","title":"Class: Marker","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Marker Marker WPGMZA.Marker new Marker( [row]) Base class for markers. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description row object &lt;optional&gt; Data to map to this object (eg from the database) Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance( [row]) Creates an instance of a marker, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description row object &lt;optional&gt; Data to map to this object (eg from the database) &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent getAnimation() Returns the animation set on this marker (see WPGMZA.Marker ANIMATION_* constants). getDraggable() Gets whether this marker is draggable or not Returns: True if the marker is draggable Type bool getIcon() Gets the marker icon image URL, without the protocol prefix Returns: The URL to the markers icon image Type string getPosition() Gets the position of the marker Returns: LatLng literal of this markers position Type object getVisible() Get the marker visibility hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool hidePreviousInteractedInfoWindow() This function will hide the last info the user interacted with, so that only one InfoWindow can be open at any given moment. off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener onAdded() Called when the marker has been added to a map onClick() Called when the marker has been clicked onMouseOver() Called when the user hovers the mouse over this marker onSelect() Called when the marker has been selected, either by the icon being clicked, or from a marker listing openInfoWindow() Placeholder for future use panIntoView() Centers the map this marker belongs to on this marker Throws: Marker hasn't been added to a map parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener setAnimation(animation) Sets the animation for this marker (see WPGMZA.Marker ANIMATION_* constants). Parameters: Name Type Description animation int The animation to set. setDraggable(draggable) Sets whether the marker is draggable Parameters: Name Type Description draggable bool Set to true to make this marker draggable setMap(map) Sets the map this marker should be displayed on. If it is already on a map, it will be removed from that map first, before being added to the supplied map. Parameters: Name Type Description map WPGMZA.Map The map to add this markmer to setOptions(options) Sets options on this marker Parameters: Name Type Description options object An object containing the options to be set setPosition(latLng) Sets the position of the marker. Parameters: Name Type Description latLng object | WPGMZA.LatLng The position either as a LatLng literal or instance of WPGMZA.LatLng. setVisible(visible) Set the marker visibility. This is used by the store locator etc. and is not a setting. Closes the InfoWindow if the marker is being hidden and the InfoWindow for this marker is open. Parameters: Name Type Description visible bool Whether the marker should be visible or not toJSON() Overrides MapObject.toJSON, serializes the marker to a JSON object Overrides: WPGMZA.MapObject#toJSON Returns: A JSON representation of this marker Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.ModernStoreLocator.html":{"id":"WPGMZA.ModernStoreLocator.html","title":"Class: ModernStoreLocator","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: ModernStoreLocator ModernStoreLocator WPGMZA.ModernStoreLocator new ModernStoreLocator(map_id) The new modern look store locator. It takes the elements from the default look and moves them into the map, wrapping in a new element so we can apply new styles. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Description map_id int The ID of the map this store locator belongs to Methods &lt;static&gt; createInstance(map_id) Creates an instance of a modern store locator, please always use this function rather than calling the constructor directly. Parameters: Name Type Description map_id int The ID of the map this store locator belongs to Returns: An instance of WPGMZA.ModernStoreLocator Type WPGMZA.ModernStoreLocator × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.ModernStoreLocatorCircle.html":{"id":"WPGMZA.ModernStoreLocatorCircle.html","title":"Class: ModernStoreLocatorCircle","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: ModernStoreLocatorCircle ModernStoreLocatorCircle WPGMZA.ModernStoreLocatorCircle new ModernStoreLocatorCircle(map_id [, settings]) This is the base class the modern store locator circle. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description map_id int The ID of the map this circle belongs to settings object &lt;optional&gt; Settings to pass into this circle, such as strokeColor Methods &lt;static&gt; createInstance() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function draw() Draws the circle to the canvas getCanvasDimensions() Abstract function to get the canvas dimensions Throws: Abstract function called getCenter() Returns the center of the circle Returns: A latLng literal Type object getContext(type) Abstract function to set the canvas context Parameters: Name Type Description type string The context type Throws: Abstract function called getPosition() Gets the center of the circle Returns: The center as a LatLng literal Type object getRadius() Gets the circle radius, in kilometers Returns: The circles radius, in kilometers Type number getResolutionScale() Gets the resolution scale for drawing on the circles canvas. Returns: The device pixel ratio, or 1 where that is not present. Type number getTransformedRadius(km) Abstract function to get the transformed circle radius (see subclasses) Parameters: Name Type Description km number The input radius, in kilometers Throws: Abstract function called getVisible() Gets the visibility of the circle Returns: Whether or not the circle is visible Type bool initCanvasLayer() Abstract function to initialize the canvas layer onResize() Handles the map viewport being resized onUpdate() Updates and redraws the circle setCenter(A) Sets the center of the circle Parameters: Name Type Description A WPGMZA.LatLng | object LatLng literal or instance of WPGMZA.LatLng setOptions(options) Sets options on the circle (for example, strokeColor) Parameters: Name Type Description options object An object of options to iterate over and set on this circle. setPosition() Alias for setCenter setRadius(radius) Sets the circles radius, in kilometers Parameters: Name Type Description radius number The radius, in kilometers Throws: Invalid radius setVisible(visible) Sets the visibility of the circle Parameters: Name Type Description visible bool Whether the circle should be visible validateSettings() Validates the circle settings and corrects them where they are invalid × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.module_RestAPI.html":{"id":"WPGMZA.module_RestAPI.html","title":"Module: RestAPI","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Module: RestAPI Requires module:WPGMZA × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.NativeMapsAppIcon.html":{"id":"WPGMZA.NativeMapsAppIcon.html","title":"Class: NativeMapsAppIcon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: NativeMapsAppIcon NativeMapsAppIcon new NativeMapsAppIcon() Small utility class to create an icon for the native maps app, an Apple icon on iOS devices, a Google icon on other devices × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.Polygon.html":{"id":"WPGMZA.Polygon.html","title":"Class: Polygon","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Polygon Polygon WPGMZA.Polygon new Polygon( [row] [, enginePolygon]) Base class for polygons. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polygon. enginePolygon object &lt;optional&gt; An engine polygon, passed from the drawing manager. Used when a polygon has been created by a drawing manager. Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance( [row] [, enginePolygon]) Creates an instance of a map, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polygon. enginePolygon object &lt;optional&gt; An engine polygon, passed from the drawing manager. Used when a polygon has been created by a drawing manager. Returns: An instance of WPGMZA.Polygon Type WPGMZA.Polygon &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener toJSON() Returns a JSON representation of this polygon, for serialization Overrides: WPGMZA.MapObject#toJSON Returns: A JSON object representing this polygon Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.Polyline.html":{"id":"WPGMZA.Polyline.html","title":"Class: Polyline","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: Polyline Polyline WPGMZA.Polyline new Polyline( [row] [, enginePolyline]) Base class for polylines. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polyline. enginePolyline object &lt;optional&gt; An engine polyline, passed from the drawing manager. Used when a polyline has been created by a drawing manager. Extends WPGMZA.MapObject Methods &lt;static&gt; createInstance( [row] [, enginePolyline]) Creates an instance of a map, please always use this function rather than calling the constructor directly. Parameters: Name Type Argument Description row object &lt;optional&gt; Options to apply to this polyline. enginePolyline object &lt;optional&gt; An engine polyline, passed from the drawing manager. Used when a polyline has been created by a drawing manager. Returns: An instance of WPGMZA.Polyline Type WPGMZA.Polyline &lt;static&gt; getConstructor() Returns the contructor to be used by createInstance, depending on the selected maps engine. Returns: The appropriate contructor Type function _triggerListeners() Handles the logic of triggering listeners Inherited From: WPGMZA.EventDispatcher#_triggerListeners addEventListener(type, callback [, thisObject] [, useCapture]) Adds an event listener on this object Parameters: Name Type Argument Description type string The event type, or multiple types separated by spaces callback function The callback to call when the event fires thisObject object &lt;optional&gt; The object to use as \"this\" when firing the callback useCapture bool &lt;optional&gt; If true, fires the callback on the capture phase, as opposed to bubble phase Inherited From: WPGMZA.EventDispatcher#addEventListener dispatchEvent(event) Fires an event on this object Parameters: Name Type Description event string | WPGMZA.Event Either the event type as a string, or an instance of WPGMZA.Event Inherited From: WPGMZA.EventDispatcher#dispatchEvent hasEventListener(type) Test for listeners of type on this object Parameters: Name Type Description type string The event type to test for Inherited From: WPGMZA.EventDispatcher#hasEventListener Returns: True if this object has listeners bound for the specified type Type bool off() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#off See: WPGMZA.EventDispatcher#removeEventListener on() Alias for addEventListener Inherited From: WPGMZA.EventDispatcher#on See: WPGMZA.EventDispatcher#addEventListener parseGeometry(string) Scans a string for all floating point numbers and build an array of latitude and longitude literals from the matched numbers Parameters: Name Type Description string string The string to parse numbers from Inherited From: WPGMZA.MapObject#parseGeometry Returns: An array of LatLng literals parsed from the string Type array removeEventListener(type [, listener] [, thisObject] [, useCapture]) Removes event listeners from this object Parameters: Name Type Argument Description type string The event type to remove listeners from listener function &lt;optional&gt; The function to remove. If omitted, all listeners will be removed thisObject object &lt;optional&gt; Use the parameter to remove listeners bound with the same thisObject useCapture bool &lt;optional&gt; Remove the capture phase event listener. Otherwise, the bubble phase event listener will be removed. Inherited From: WPGMZA.EventDispatcher#removeEventListener toJSON() Returns a JSON representation of this polyline, for serialization Overrides: WPGMZA.MapObject#toJSON Returns: A JSON object representing this polyline Type object trigger() Alias for removeEventListener Inherited From: WPGMZA.EventDispatcher#trigger See: WPGMZA.EventDispatcher#removeEventListener × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.PopoutPanel.html":{"id":"WPGMZA.PopoutPanel.html","title":"Class: PopoutPanel","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: PopoutPanel PopoutPanel WPGMZA.PopoutPanel new PopoutPanel() Common functionality for popout panels, which is the directions box, directions result box, and the modern style marker listing Methods close() Closes the direction box open() Opens the direction box × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "},"WPGMZA.RestAPI.html":{"id":"WPGMZA.RestAPI.html","title":"Class: RestAPI","body":" Documentation Modules CircleCompatibilityCSSDistanceEventEventDispatcherFriendlyErrorGeocoderGoogleAPIErrorHandlerGoogleCircleGoogleGeocoderGoogleInfoWindowGoogleMapGoogleMarkerGoogleModernStoreLocatorGoogleModernStoreLocatorCircleGooglePolygonGooglePolylineGoogleUICompatibilityGoogleVertexContextMenuGutenbergInfoWindowIntegrationLatLngLatLngBoundsMapMapObjectMapsEngineDialogMapSettingsMapSettingsPageMarkerModernStoreLocatorModernStoreLocatorCircleNativeMapsAppIconOLCircleOLGeocoderOLInfoWindowOLMapOLMarkerOLModernStoreLocatorOLModernStoreLocatorCircleOLPolygonOLPolylinePolygonPolylinePopoutPanelVersionWPGMZAWPGMZA.RestAPI Classes OLGeocoder~OLGeocoderWPGMZA.CircleWPGMZA.CompatibilityWPGMZA.DistanceWPGMZA.EventWPGMZA.EventDispatcherWPGMZA.FriendlyErrorWPGMZA.GeocoderWPGMZA.GoogleAPIErrorHandlerWPGMZA.GoogleCircleWPGMZA.GoogleGeocoderWPGMZA.InfoWindowWPGMZA.LatLngWPGMZA.LatLngBoundsWPGMZA.MapWPGMZA.MapEngineDialogWPGMZA.MapObjectWPGMZA.MapSettingsWPGMZA.MapSettingsPageWPGMZA.MarkerWPGMZA.ModernStoreLocatorWPGMZA.ModernStoreLocatorCircleWPGMZA.NativeMapsAppIconWPGMZA.PolygonWPGMZA.PolylineWPGMZA.PopoutPanelWPGMZA.RestAPI Class: RestAPI RestAPI WPGMZA.RestAPI new RestAPI() Used to interact with the WordPress REST API. Please do not call this constructor directly. Always use createInstance rather than instantiating this class directly. Using createInstance allows this class to be externally extensible. Methods &lt;static&gt; createInstance() Creates an instance of a RestAPI, please always use this function rather than calling the constructor directly. call(route, params) Makes an AJAX to the REST API, this function is a wrapper for $.ajax Parameters: Name Type Description route string The REST API route params object The request parameters, see http://api.jquery.com/jquery.ajax/ × Search results Close Documentation generated by JSDoc 3.4.3 on 2018-12-12T08:28:10+00:00 using the DocStrap template. "}}
11
  </script>
12
 
13
  <script type="text/javascript">
docs/php/class-WPGMZA.DOMDocument.html CHANGED
@@ -118,9 +118,6 @@
118
  <h1>Class DOMDocument</h1>
119
 
120
 
121
- <div class="description">
122
- <p>Extension of PHP's native \DOMDocument, providing helpful utility functions to carry out common tasks such as read HTML with inline PHP, populate named elements, import extenral content</p>
123
- </div>
124
 
125
  <dl class="tree">
126
  <dd style="padding-left:0px">
@@ -159,7 +156,7 @@ DOMDocument
159
  <b>Namespace:</b> <a href="namespace-WPGMZA.html">WPGMZA</a><br>
160
 
161
 
162
- <b>Located at</b> <a href="source-class-WPGMZA.DOMDocument.html#7-245" title="Go to source code">class.dom-document.php</a>
163
  <br>
164
  </div>
165
 
@@ -179,7 +176,7 @@ DOMDocument
179
 
180
  <td class="name"><div>
181
  <a class="anchor" href="#___construct">#</a>
182
- <code><a href="source-class-WPGMZA.DOMDocument.html#14-24" title="Go to source code">__construct</a>( <span> <var>$version</var> = <span class="php-quote">'1.0'</span></span>, <span> <var>$encoding</var> = <span class="php-quote">'UTF-8'</span></span> )</code>
183
 
184
  <div class="description short">
185
  <p>Constructor</p>
@@ -215,7 +212,7 @@ DOMDocument
215
 
216
  <td class="name"><div>
217
  <a class="anchor" href="#_convertUTF8ToHTMLEntities">#</a>
218
- <code><a href="source-class-WPGMZA.DOMDocument.html#26-35" title="Go to source code">convertUTF8ToHTMLEntities</a>( <span> <var>$html</var></span> )</code>
219
 
220
  <div class="description short">
221
 
@@ -245,7 +242,7 @@ DOMDocument
245
 
246
  <td class="name"><div>
247
  <a class="anchor" href="#_onReady">#</a>
248
- <code><a href="source-class-WPGMZA.DOMDocument.html#37-44" title="Go to source code">onReady</a>( )</code>
249
 
250
  <div class="description short">
251
  <p>Fired after construction when the Document is initialized</p>
@@ -275,7 +272,7 @@ DOMDocument
275
 
276
  <td class="name"><div>
277
  <a class="anchor" href="#_onLoaded">#</a>
278
- <code><a href="source-class-WPGMZA.DOMDocument.html#46-53" title="Go to source code">onLoaded</a>( )</code>
279
 
280
  <div class="description short">
281
  <p>Fired after content has been loaded</p>
@@ -305,7 +302,7 @@ DOMDocument
305
 
306
  <td class="name"><div>
307
  <a class="anchor" href="#_load">#</a>
308
- <code><a href="source-class-WPGMZA.DOMDocument.html#55-74" title="Go to source code">load</a>( <span>string <var>$src</var></span>, <span>integer <var>$options</var> = <span class="php-keyword1">null</span></span> )</code>
309
 
310
  <div class="description short">
311
  <p>Loads the specified file and evaulates nodes</p>
@@ -352,7 +349,7 @@ DOMDocument
352
 
353
  <td class="name"><div>
354
  <a class="anchor" href="#_loadPHPFile">#</a>
355
- <code><a href="source-class-WPGMZA.DOMDocument.html#76-118" title="Go to source code">loadPHPFile</a>( <span>string <var>$src</var></span>, <span>integer <var>$options</var> = <span class="php-num">0</span></span> )</code>
356
 
357
  <div class="description short">
358
  <p>Loads the specified file and parses any PHP</p>
@@ -393,32 +390,18 @@ DOMDocument
393
 
394
  <td class="name"><div>
395
  <a class="anchor" href="#_handleImport">#</a>
396
- <code><a href="source-class-WPGMZA.DOMDocument.html#120-176" title="Go to source code">handleImport</a>( <span>string <var>$subject</var></span>, <span><code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code> <var>$node</var></span>, <span>boolean <var>$forcePHP</var> = <span class="php-keyword1">false</span></span> )</code>
397
 
398
  <div class="description short">
399
- <p>Handles importing the specified filename to the given node. Files with the extension .html or .html.php will be processed and imported. Files with the extension .php will be scanned for a class extending DOMDocument and imported if one is found.</p>
400
  </div>
401
 
402
  <div class="description detailed hidden">
403
- <p>Handles importing the specified filename to the given node. Files with the extension .html or .html.php will be processed and imported. Files with the extension .php will be scanned for a class extending DOMDocument and imported if one is found.</p>
404
 
405
 
406
- <h4>Parameters</h4>
407
- <div class="list"><dl>
408
- <dt><var>$subject</var></dt>
409
- <dd>The filename to import</dd>
410
- <dt><var>$node</var></dt>
411
- <dd>The target node</dd>
412
- <dt><var>$forcePHP</var></dt>
413
- <dd>Forces inline PHP to be processed</dd>
414
- </dl></div>
415
 
416
 
417
- <h4>Throws</h4>
418
- <div class="list">
419
- Exception<br>When the subject is a PHP file, but no classes are found<br>
420
- Exception<br>When the subject is a PHP file, but the last class found in the file is not an instance of DOMDocument
421
- </div>
422
 
423
 
424
 
@@ -437,7 +420,7 @@ DOMDocument
437
 
438
  <td class="name"><div>
439
  <a class="anchor" href="#_querySelector">#</a>
440
- <code><a href="source-class-WPGMZA.DOMDocument.html#179-189" title="Go to source code">querySelector</a>( <span>string <var>$query</var></span> )</code>
441
 
442
  <div class="description short">
443
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelector</p>
@@ -476,7 +459,7 @@ DOMDocument
476
 
477
  <td class="name"><div>
478
  <a class="anchor" href="#_querySelectorAll">#</a>
479
- <code><a href="source-class-WPGMZA.DOMDocument.html#191-200" title="Go to source code">querySelectorAll</a>( <span> <var>$query</var></span> )</code>
480
 
481
  <div class="description short">
482
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll</p>
@@ -510,7 +493,7 @@ DOMDocument
510
 
511
  <td class="name"><div>
512
  <a class="anchor" href="#_populate">#</a>
513
- <code><a href="source-class-WPGMZA.DOMDocument.html#202-212" title="Go to source code">populate</a>( <span>mixed <var>$src</var></span>, <span> <var>$formatters</var> = <span class="php-keyword1">null</span></span> )</code>
514
 
515
  <div class="description short">
516
  <p>Takes an associative array or object, and populates this element with it</p>
@@ -547,7 +530,7 @@ DOMDocument
547
 
548
  <td class="name"><div>
549
  <a class="anchor" href="#_createErrorElement">#</a>
550
- <code><a href="source-class-WPGMZA.DOMDocument.html#214-225" title="Go to source code">createErrorElement</a>( <span>string <var>$message</var></span> )</code>
551
 
552
  <div class="description short">
553
  <p>Utility function to create an error element</p>
@@ -586,7 +569,7 @@ DOMDocument
586
 
587
  <td class="name"><div>
588
  <a class="anchor" href="#_saveInnerBody">#</a>
589
- <code><a href="source-class-WPGMZA.DOMDocument.html#227-244" title="Go to source code">saveInnerBody</a>( )</code>
590
 
591
  <div class="description short">
592
  <p>This function saves only the inside of the <body> element of this document. This is useful when you want to import a HTML document into another, but you don't want to end up with nested <html> elements</p>
@@ -605,6 +588,36 @@ DOMDocument
605
 
606
 
607
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
608
  </div>
609
  </div></td>
610
  </tr>
118
  <h1>Class DOMDocument</h1>
119
 
120
 
 
 
 
121
 
122
  <dl class="tree">
123
  <dd style="padding-left:0px">
156
  <b>Namespace:</b> <a href="namespace-WPGMZA.html">WPGMZA</a><br>
157
 
158
 
159
+ <b>Located at</b> <a href="source-class-WPGMZA.DOMDocument.html#7-244" title="Go to source code">class.dom-document.php</a>
160
  <br>
161
  </div>
162
 
176
 
177
  <td class="name"><div>
178
  <a class="anchor" href="#___construct">#</a>
179
+ <code><a href="source-class-WPGMZA.DOMDocument.html#11-21" title="Go to source code">__construct</a>( <span> <var>$version</var> = <span class="php-quote">'1.0'</span></span>, <span> <var>$encoding</var> = <span class="php-quote">'UTF-8'</span></span> )</code>
180
 
181
  <div class="description short">
182
  <p>Constructor</p>
212
 
213
  <td class="name"><div>
214
  <a class="anchor" href="#_convertUTF8ToHTMLEntities">#</a>
215
+ <code><a href="source-class-WPGMZA.DOMDocument.html#23-32" title="Go to source code">convertUTF8ToHTMLEntities</a>( <span> <var>$html</var></span> )</code>
216
 
217
  <div class="description short">
218
 
242
 
243
  <td class="name"><div>
244
  <a class="anchor" href="#_onReady">#</a>
245
+ <code><a href="source-class-WPGMZA.DOMDocument.html#34-41" title="Go to source code">onReady</a>( )</code>
246
 
247
  <div class="description short">
248
  <p>Fired after construction when the Document is initialized</p>
272
 
273
  <td class="name"><div>
274
  <a class="anchor" href="#_onLoaded">#</a>
275
+ <code><a href="source-class-WPGMZA.DOMDocument.html#43-50" title="Go to source code">onLoaded</a>( )</code>
276
 
277
  <div class="description short">
278
  <p>Fired after content has been loaded</p>
302
 
303
  <td class="name"><div>
304
  <a class="anchor" href="#_load">#</a>
305
+ <code><a href="source-class-WPGMZA.DOMDocument.html#52-71" title="Go to source code">load</a>( <span>string <var>$src</var></span>, <span>integer <var>$options</var> = <span class="php-keyword1">null</span></span> )</code>
306
 
307
  <div class="description short">
308
  <p>Loads the specified file and evaulates nodes</p>
349
 
350
  <td class="name"><div>
351
  <a class="anchor" href="#_loadPHPFile">#</a>
352
+ <code><a href="source-class-WPGMZA.DOMDocument.html#73-115" title="Go to source code">loadPHPFile</a>( <span>string <var>$src</var></span>, <span>integer <var>$options</var> = <span class="php-num">0</span></span> )</code>
353
 
354
  <div class="description short">
355
  <p>Loads the specified file and parses any PHP</p>
390
 
391
  <td class="name"><div>
392
  <a class="anchor" href="#_handleImport">#</a>
393
+ <code><a href="source-class-WPGMZA.DOMDocument.html#117-167" title="Go to source code">handleImport</a>( <span> <var>$subject</var></span>, <span> <var>$node</var></span>, <span> <var>$forcePHP</var> = <span class="php-keyword1">false</span></span> )</code>
394
 
395
  <div class="description short">
396
+
397
  </div>
398
 
399
  <div class="description detailed hidden">
400
+
401
 
402
 
 
 
 
 
 
 
 
 
 
403
 
404
 
 
 
 
 
 
405
 
406
 
407
 
420
 
421
  <td class="name"><div>
422
  <a class="anchor" href="#_querySelector">#</a>
423
+ <code><a href="source-class-WPGMZA.DOMDocument.html#170-180" title="Go to source code">querySelector</a>( <span>string <var>$query</var></span> )</code>
424
 
425
  <div class="description short">
426
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelector</p>
459
 
460
  <td class="name"><div>
461
  <a class="anchor" href="#_querySelectorAll">#</a>
462
+ <code><a href="source-class-WPGMZA.DOMDocument.html#182-191" title="Go to source code">querySelectorAll</a>( <span> <var>$query</var></span> )</code>
463
 
464
  <div class="description short">
465
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll</p>
493
 
494
  <td class="name"><div>
495
  <a class="anchor" href="#_populate">#</a>
496
+ <code><a href="source-class-WPGMZA.DOMDocument.html#193-203" title="Go to source code">populate</a>( <span>mixed <var>$src</var></span>, <span> <var>$formatters</var> = <span class="php-keyword1">null</span></span> )</code>
497
 
498
  <div class="description short">
499
  <p>Takes an associative array or object, and populates this element with it</p>
530
 
531
  <td class="name"><div>
532
  <a class="anchor" href="#_createErrorElement">#</a>
533
+ <code><a href="source-class-WPGMZA.DOMDocument.html#205-216" title="Go to source code">createErrorElement</a>( <span>string <var>$message</var></span> )</code>
534
 
535
  <div class="description short">
536
  <p>Utility function to create an error element</p>
569
 
570
  <td class="name"><div>
571
  <a class="anchor" href="#_saveInnerBody">#</a>
572
+ <code><a href="source-class-WPGMZA.DOMDocument.html#218-235" title="Go to source code">saveInnerBody</a>( )</code>
573
 
574
  <div class="description short">
575
  <p>This function saves only the inside of the <body> element of this document. This is useful when you want to import a HTML document into another, but you don't want to end up with nested <html> elements</p>
588
 
589
 
590
 
591
+ </div>
592
+ </div></td>
593
+ </tr>
594
+ <tr data-order="__get" id="___get">
595
+
596
+ <td class="attributes"><code>
597
+ public
598
+
599
+
600
+
601
+ </code>
602
+ </td>
603
+
604
+ <td class="name"><div>
605
+ <a class="anchor" href="#___get">#</a>
606
+ <code><a href="source-class-WPGMZA.DOMDocument.html#237-243" title="Go to source code">__get</a>( <span> <var>$name</var></span> )</code>
607
+
608
+ <div class="description short">
609
+
610
+ </div>
611
+
612
+ <div class="description detailed hidden">
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
  </div>
622
  </div></td>
623
  </tr>
docs/php/class-WPGMZA.DOMElement.html CHANGED
@@ -118,9 +118,6 @@
118
  <h1>Class DOMElement</h1>
119
 
120
 
121
- <div class="description">
122
- <p>An extension of PHPs native \DOMElement, adds JavaScript / jQuery style utilities such as querySelector, prepent, closest</p>
123
- </div>
124
 
125
  <dl class="tree">
126
  <dd style="padding-left:0px">
@@ -155,7 +152,7 @@ DOMElement
155
  <b>Namespace:</b> <a href="namespace-WPGMZA.html">WPGMZA</a><br>
156
 
157
 
158
- <b>Located at</b> <a href="source-class-WPGMZA.DOMElement.html#7-672" title="Go to source code">class.dom-element.php</a>
159
  <br>
160
  </div>
161
 
@@ -175,7 +172,7 @@ DOMElement
175
 
176
  <td class="name"><div>
177
  <a class="anchor" href="#___construct">#</a>
178
- <code><a href="source-class-WPGMZA.DOMElement.html#14-17" title="Go to source code">__construct</a>( )</code>
179
 
180
  <div class="description short">
181
 
@@ -207,7 +204,7 @@ DOMElement
207
 
208
  <td class="name"><div>
209
  <a class="anchor" href="#_querySelector">#</a>
210
- <code><a href="source-class-WPGMZA.DOMElement.html#19-30" title="Go to source code">querySelector</a>( <span>string <var>$query</var></span> )</code>
211
 
212
  <div class="description short">
213
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelector</p>
@@ -246,7 +243,7 @@ DOMElement
246
 
247
  <td class="name"><div>
248
  <a class="anchor" href="#_querySelectorAll">#</a>
249
- <code><a href="source-class-WPGMZA.DOMElement.html#32-56" title="Go to source code">querySelectorAll</a>( <span> <var>$query</var></span>, <span> <var>$sort</var> = <span class="php-keyword1">true</span></span> )</code>
250
 
251
  <div class="description short">
252
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll</p>
@@ -273,14 +270,14 @@ DOMElement
273
  <td class="attributes"><code>
274
  public
275
 
276
- DOMElement
277
 
278
  </code>
279
  </td>
280
 
281
  <td class="name"><div>
282
  <a class="anchor" href="#_prepend">#</a>
283
- <code><a href="source-class-WPGMZA.DOMElement.html#58-76" title="Go to source code">prepend</a>( <span> <var>$subject</var></span> )</code>
284
 
285
  <div class="description short">
286
  <p>Prepends the subject to this element.</p>
@@ -298,7 +295,7 @@ DOMElement
298
 
299
  <h4>Returns</h4>
300
  <div class="list">
301
- DOMElement<br>This element
302
  </div>
303
 
304
 
@@ -312,14 +309,14 @@ DOMElement
312
  <td class="attributes"><code>
313
  public
314
 
315
- DOMElement
316
 
317
  </code>
318
  </td>
319
 
320
  <td class="name"><div>
321
  <a class="anchor" href="#_append">#</a>
322
- <code><a href="source-class-WPGMZA.DOMElement.html#78-94" title="Go to source code">append</a>( <span>mixed <var>$subject</var></span> )</code>
323
 
324
  <div class="description short">
325
  <p>Appends the subject to this element.</p>
@@ -329,16 +326,7 @@ DOMElement
329
  <p>Appends the subject to this element.</p>
330
 
331
 
332
- <h4>Parameters</h4>
333
- <div class="list"><dl>
334
- <dt><var>$subject</var></dt>
335
- <dd>Either a \DOMNode, DOMElement, or an arroy of either</dd>
336
- </dl></div>
337
 
338
- <h4>Returns</h4>
339
- <div class="list">
340
- DOMElement<br>This element
341
- </div>
342
 
343
 
344
 
@@ -351,14 +339,14 @@ DOMElement
351
  <td class="attributes"><code>
352
  public
353
 
354
- mixed
355
 
356
  </code>
357
  </td>
358
 
359
  <td class="name"><div>
360
  <a class="anchor" href="#_closest">#</a>
361
- <code><a href="source-class-WPGMZA.DOMElement.html#96-114" title="Go to source code">closest</a>( <span>mixed <var>$selector</var></span> )</code>
362
 
363
  <div class="description short">
364
  <p>Traverses from this node up it's ancestors and returns the first node that matches the given selector</p>
@@ -374,10 +362,6 @@ DOMElement
374
  <dd>Either this node the first ancestor that matches this selector, or NULL if no match is found</dd>
375
  </dl></div>
376
 
377
- <h4>Returns</h4>
378
- <div class="list">
379
- mixed<br>The closest matching elmeent, or null if none is found.
380
- </div>
381
 
382
 
383
 
@@ -397,7 +381,7 @@ DOMElement
397
 
398
  <td class="name"><div>
399
  <a class="anchor" href="#_isBefore">#</a>
400
- <code><a href="source-class-WPGMZA.DOMElement.html#116-158" title="Go to source code">isBefore</a>( <span> <var>$other</var></span> )</code>
401
 
402
  <div class="description short">
403
  <p>Test if this element comes before the other element in the DOM tree</p>
@@ -431,7 +415,7 @@ DOMElement
431
 
432
  <td class="name"><div>
433
  <a class="anchor" href="#_getBreadth">#</a>
434
- <code><a href="source-class-WPGMZA.DOMElement.html#160-170" title="Go to source code">getBreadth</a>( )</code>
435
 
436
  <div class="description short">
437
  <p>Returns the breadth (sometimes called child index) of this node in regards to it's siblings</p>
@@ -465,7 +449,7 @@ DOMElement
465
 
466
  <td class="name"><div>
467
  <a class="anchor" href="#_getDepth">#</a>
468
- <code><a href="source-class-WPGMZA.DOMElement.html#172-182" title="Go to source code">getDepth</a>( )</code>
469
 
470
  <div class="description short">
471
  <p>Returns the depth of this node in regards to it's ancestors</p>
@@ -499,14 +483,14 @@ DOMElement
499
 
500
  <td class="name"><div>
501
  <a class="anchor" href="#_selectorToXPath">#</a>
502
- <code><a href="source-class-WPGMZA.DOMElement.html#193-207" title="Go to source code">selectorToXPath</a>( <span>string <var>$selector</var></span> )</code>
503
 
504
  <div class="description short">
505
- <p>Converts a selector to an XPath</p>
506
  </div>
507
 
508
  <div class="description detailed hidden">
509
- <p>Converts a selector to an XPath</p>
510
 
511
 
512
  <h4>Parameters</h4>
@@ -538,7 +522,7 @@ DOMElement
538
 
539
  <td class="name"><div>
540
  <a class="anchor" href="#_import">#</a>
541
- <code><a href="source-class-WPGMZA.DOMElement.html#209-295" title="Go to source code">import</a>( <span>mixed <var>$subject</var></span>, <span> <var>$forcePHP</var> = <span class="php-keyword1">false</span></span> )</code>
542
 
543
  <div class="description short">
544
  <p>Imports the supplied subject into this node.</p>
@@ -576,14 +560,14 @@ DOMElement
576
  <td class="attributes"><code>
577
  public
578
 
579
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code>
580
 
581
  </code>
582
  </td>
583
 
584
  <td class="name"><div>
585
  <a class="anchor" href="#_setInlineStyle">#</a>
586
- <code><a href="source-class-WPGMZA.DOMElement.html#297-309" title="Go to source code">setInlineStyle</a>( <span>string <var>$name</var></span>, <span>string <var>$value</var></span> )</code>
587
 
588
  <div class="description short">
589
  <p>Sets an inline CSS style on this element. If it's already set, the old value will be removed first</p>
@@ -603,7 +587,7 @@ DOMElement
603
 
604
  <h4>Returns</h4>
605
  <div class="list">
606
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code><br>$this
607
  </div>
608
 
609
 
@@ -617,14 +601,14 @@ DOMElement
617
  <td class="attributes"><code>
618
  public
619
 
620
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code>
621
 
622
  </code>
623
  </td>
624
 
625
  <td class="name"><div>
626
  <a class="anchor" href="#_removeInlineStyle">#</a>
627
- <code><a href="source-class-WPGMZA.DOMElement.html#311-334" title="Go to source code">removeInlineStyle</a>( <span>string <var>$name</var></span> )</code>
628
 
629
  <div class="description short">
630
  <p>Removes the inline CSS style specified by name</p>
@@ -642,7 +626,7 @@ DOMElement
642
 
643
  <h4>Returns</h4>
644
  <div class="list">
645
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code><br>$this
646
  </div>
647
 
648
 
@@ -663,7 +647,7 @@ DOMElement
663
 
664
  <td class="name"><div>
665
  <a class="anchor" href="#_hasInlineStyle">#</a>
666
- <code><a href="source-class-WPGMZA.DOMElement.html#336-345" title="Go to source code">hasInlineStyle</a>( <span>string <var>$name</var></span> )</code>
667
 
668
  <div class="description short">
669
  <p>Check if this element has an inline style by name</p>
@@ -698,7 +682,7 @@ DOMElement
698
 
699
  <td class="name"><div>
700
  <a class="anchor" href="#_getInlineStyle">#</a>
701
- <code><a href="source-class-WPGMZA.DOMElement.html#347-362" title="Go to source code">getInlineStyle</a>( <span>string <var>$name</var></span> )</code>
702
 
703
  <div class="description short">
704
  <p>Gets the value of the inline style by name</p>
@@ -737,7 +721,7 @@ DOMElement
737
 
738
  <td class="name"><div>
739
  <a class="anchor" href="#_addClass">#</a>
740
- <code><a href="source-class-WPGMZA.DOMElement.html#364-378" title="Go to source code">addClass</a>( <span>string <var>$name</var></span> )</code>
741
 
742
  <div class="description short">
743
  <p>Adds a class to this elements class attribute. It will be ignored if the class already exists</p>
@@ -776,7 +760,7 @@ DOMElement
776
 
777
  <td class="name"><div>
778
  <a class="anchor" href="#_removeClass">#</a>
779
- <code><a href="source-class-WPGMZA.DOMElement.html#380-399" title="Go to source code">removeClass</a>( <span>string <var>$name</var></span> )</code>
780
 
781
  <div class="description short">
782
  <p>Removes the specified class from this nodes class attribute</p>
@@ -815,7 +799,7 @@ DOMElement
815
 
816
  <td class="name"><div>
817
  <a class="anchor" href="#_hasClass">#</a>
818
- <code><a href="source-class-WPGMZA.DOMElement.html#401-412" title="Go to source code">hasClass</a>( <span>string <var>$name</var></span> )</code>
819
 
820
  <div class="description short">
821
  <p>Tests if the specified class exists on this elements class attribute</p>
@@ -854,7 +838,7 @@ DOMElement
854
 
855
  <td class="name"><div>
856
  <a class="anchor" href="#_populateElement">#</a>
857
- <code><a href="source-class-WPGMZA.DOMElement.html#414-456" title="Go to source code">populateElement</a>( <span>The <var>$target</var></span>, <span>string <var>$key</var></span>, <span>string <var>$value</var></span>, <span>array <var>$formatters</var></span> )</code>
858
 
859
  <div class="description short">
860
  <p>Populates the target element. If it is a form element, the value will be set according to the elements type/nodeName. If not, the value will be imported instead.</p>
@@ -895,7 +879,7 @@ DOMElement
895
 
896
  <td class="name"><div>
897
  <a class="anchor" href="#_populate">#</a>
898
- <code><a href="source-class-WPGMZA.DOMElement.html#458-511" title="Go to source code">populate</a>( <span>mixed <var>$src</var> = <span class="php-keyword1">null</span></span>, <span>array <var>$formatters</var> = <span class="php-keyword1">null</span></span> )</code>
899
 
900
  <div class="description short">
901
  <p>Takes a source object or associative array and optional array of formatting functions, and populates descendant named elements with the values from that source.</p>
@@ -936,7 +920,7 @@ DOMElement
936
 
937
  <td class="name"><div>
938
  <a class="anchor" href="#_getValue">#</a>
939
- <code><a href="source-class-WPGMZA.DOMElement.html#513-548" title="Go to source code">getValue</a>( )</code>
940
 
941
  <div class="description short">
942
  <p>Gets the value of this element</p>
@@ -970,7 +954,7 @@ DOMElement
970
 
971
  <td class="name"><div>
972
  <a class="anchor" href="#_setValue">#</a>
973
- <code><a href="source-class-WPGMZA.DOMElement.html#550-619" title="Go to source code">setValue</a>( <span>mixed <var>$value</var></span> )</code>
974
 
975
  <div class="description short">
976
  <p>Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute</p>
@@ -980,11 +964,6 @@ DOMElement
980
  <p>Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute</p>
981
 
982
 
983
- <h4>Parameters</h4>
984
- <div class="list"><dl>
985
- <dt><var>$value</var></dt>
986
- <dd>value to set</dd>
987
- </dl></div>
988
 
989
  <h4>Returns</h4>
990
  <div class="list">
@@ -1007,14 +986,14 @@ DOMElement
1007
  <td class="attributes"><code>
1008
  public
1009
 
1010
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code>
1011
 
1012
  </code>
1013
  </td>
1014
 
1015
  <td class="name"><div>
1016
  <a class="anchor" href="#_appendText">#</a>
1017
- <code><a href="source-class-WPGMZA.DOMElement.html#621-630" title="Go to source code">appendText</a>( <span>string <var>$text</var></span> )</code>
1018
 
1019
  <div class="description short">
1020
  <p>Appends the specified text to this element, shorthand utility function</p>
@@ -1024,15 +1003,10 @@ DOMElement
1024
  <p>Appends the specified text to this element, shorthand utility function</p>
1025
 
1026
 
1027
- <h4>Parameters</h4>
1028
- <div class="list"><dl>
1029
- <dt><var>$text</var></dt>
1030
- <dd>The text to append</dd>
1031
- </dl></div>
1032
 
1033
  <h4>Returns</h4>
1034
  <div class="list">
1035
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code><br>This element
1036
  </div>
1037
 
1038
 
@@ -1046,14 +1020,14 @@ DOMElement
1046
  <td class="attributes"><code>
1047
  public
1048
 
1049
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code>
1050
 
1051
  </code>
1052
  </td>
1053
 
1054
  <td class="name"><div>
1055
  <a class="anchor" href="#_insertAfter">#</a>
1056
- <code><a href="source-class-WPGMZA.DOMElement.html#632-649" title="Go to source code">insertAfter</a>( <span><code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code> <var>$elem</var></span>, <span><code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code> <var>$after</var> = <span class="php-keyword1">null</span></span> )</code>
1057
 
1058
  <div class="description short">
1059
  <p>Utility function to append the specified element after one of this elements children. Will append at the end if after is null</p>
@@ -1066,15 +1040,12 @@ DOMElement
1066
  <h4>Parameters</h4>
1067
  <div class="list"><dl>
1068
  <dt><var>$elem</var></dt>
1069
- <dd>the element to insert</dd>
1070
  <dt><var>$after</var></dt>
1071
- <dd>one of this elements children, or null</dd>
 
1072
  </dl></div>
1073
 
1074
- <h4>Returns</h4>
1075
- <div class="list">
1076
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code><br>this element
1077
- </div>
1078
 
1079
 
1080
 
@@ -1087,14 +1058,14 @@ DOMElement
1087
  <td class="attributes"><code>
1088
  public
1089
 
1090
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code>
1091
 
1092
  </code>
1093
  </td>
1094
 
1095
  <td class="name"><div>
1096
  <a class="anchor" href="#_clear">#</a>
1097
- <code><a href="source-class-WPGMZA.DOMElement.html#651-660" title="Go to source code">clear</a>( )</code>
1098
 
1099
  <div class="description short">
1100
  <p>Clears this element, completely removing all it's contents</p>
@@ -1107,7 +1078,7 @@ DOMElement
1107
 
1108
  <h4>Returns</h4>
1109
  <div class="list">
1110
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code><br>This element
1111
  </div>
1112
 
1113
 
@@ -1121,14 +1092,14 @@ DOMElement
1121
  <td class="attributes"><code>
1122
  public
1123
 
1124
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code>
1125
 
1126
  </code>
1127
  </td>
1128
 
1129
  <td class="name"><div>
1130
  <a class="anchor" href="#_remove">#</a>
1131
- <code><a href="source-class-WPGMZA.DOMElement.html#662-671" title="Go to source code">remove</a>( )</code>
1132
 
1133
  <div class="description short">
1134
  <p>Removes this element from it's parent</p>
@@ -1141,7 +1112,7 @@ DOMElement
1141
 
1142
  <h4>Returns</h4>
1143
  <div class="list">
1144
- <code><a href="class-WPGMZA.DOMElement.html">WPGMZA\DOMElement</a></code><br>This element
1145
  </div>
1146
 
1147
 
@@ -1226,7 +1197,7 @@ setUserData()
1226
  </code></td>
1227
 
1228
  <td class="name">
1229
- <a href="source-class-WPGMZA.DOMElement.html#12" title="Go to source code"><var>$xpathConverter</var></a>
1230
 
1231
  <div class="description short">
1232
 
118
  <h1>Class DOMElement</h1>
119
 
120
 
 
 
 
121
 
122
  <dl class="tree">
123
  <dd style="padding-left:0px">
152
  <b>Namespace:</b> <a href="namespace-WPGMZA.html">WPGMZA</a><br>
153
 
154
 
155
+ <b>Located at</b> <a href="source-class-WPGMZA.DOMElement.html#7-662" title="Go to source code">class.dom-element.php</a>
156
  <br>
157
  </div>
158
 
172
 
173
  <td class="name"><div>
174
  <a class="anchor" href="#___construct">#</a>
175
+ <code><a href="source-class-WPGMZA.DOMElement.html#11-14" title="Go to source code">__construct</a>( )</code>
176
 
177
  <div class="description short">
178
 
204
 
205
  <td class="name"><div>
206
  <a class="anchor" href="#_querySelector">#</a>
207
+ <code><a href="source-class-WPGMZA.DOMElement.html#16-27" title="Go to source code">querySelector</a>( <span>string <var>$query</var></span> )</code>
208
 
209
  <div class="description short">
210
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelector</p>
243
 
244
  <td class="name"><div>
245
  <a class="anchor" href="#_querySelectorAll">#</a>
246
+ <code><a href="source-class-WPGMZA.DOMElement.html#29-53" title="Go to source code">querySelectorAll</a>( <span> <var>$query</var></span>, <span> <var>$sort</var> = <span class="php-keyword1">true</span></span> )</code>
247
 
248
  <div class="description short">
249
  <p>Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll</p>
270
  <td class="attributes"><code>
271
  public
272
 
273
+
274
 
275
  </code>
276
  </td>
277
 
278
  <td class="name"><div>
279
  <a class="anchor" href="#_prepend">#</a>
280
+ <code><a href="source-class-WPGMZA.DOMElement.html#55-73" title="Go to source code">prepend</a>( <span> <var>$subject</var></span> )</code>
281
 
282
  <div class="description short">
283
  <p>Prepends the subject to this element.</p>
295
 
296
  <h4>Returns</h4>
297
  <div class="list">
298
+ <br>$this element
299
  </div>
300
 
301
 
309
  <td class="attributes"><code>
310
  public
311
 
312
+
313
 
314
  </code>
315
  </td>
316
 
317
  <td class="name"><div>
318
  <a class="anchor" href="#_append">#</a>
319
+ <code><a href="source-class-WPGMZA.DOMElement.html#75-89" title="Go to source code">append</a>( <span> <var>$subject</var></span> )</code>
320
 
321
  <div class="description short">
322
  <p>Appends the subject to this element.</p>
326
  <p>Appends the subject to this element.</p>
327
 
328
 
 
 
 
 
 
329
 
 
 
 
 
330
 
331
 
332
 
339
  <td class="attributes"><code>
340
  public
341
 
342
+
343
 
344
  </code>
345
  </td>
346
 
347
  <td class="name"><div>
348
  <a class="anchor" href="#_closest">#</a>
349
+ <code><a href="source-class-WPGMZA.DOMElement.html#91-108" title="Go to source code">closest</a>( <span>mixed <var>$selector</var></span> )</code>
350
 
351
  <div class="description short">
352
  <p>Traverses from this node up it's ancestors and returns the first node that matches the given selector</p>
362
  <dd>Either this node the first ancestor that matches this selector, or NULL if no match is found</dd>
363
  </dl></div>
364
 
 
 
 
 
365
 
366
 
367
 
381
 
382
  <td class="name"><div>
383
  <a class="anchor" href="#_isBefore">#</a>
384
+ <code><a href="source-class-WPGMZA.DOMElement.html#110-152" title="Go to source code">isBefore</a>( <span> <var>$other</var></span> )</code>
385
 
386
  <div class="description short">
387
  <p>Test if this element comes before the other element in the DOM tree</p>
415
 
416
  <td class="name"><div>
417
  <a class="anchor" href="#_getBreadth">#</a>
418
+ <code><a href="source-class-WPGMZA.DOMElement.html#154-164" title="Go to source code">getBreadth</a>( )</code>
419
 
420
  <div class="description short">
421
  <p>Returns the breadth (sometimes called child index) of this node in regards to it's siblings</p>
449
 
450
  <td class="name"><div>
451
  <a class="anchor" href="#_getDepth">#</a>
452
+ <code><a href="source-class-WPGMZA.DOMElement.html#166-176" title="Go to source code">getDepth</a>( )</code>
453
 
454
  <div class="description short">
455
  <p>Returns the depth of this node in regards to it's ancestors</p>
483
 
484
  <td class="name"><div>
485
  <a class="anchor" href="#_selectorToXPath">#</a>
486
+ <code><a href="source-class-WPGMZA.DOMElement.html#186-199" title="Go to source code">selectorToXPath</a>( <span>string <var>$selector</var></span> )</code>
487
 
488
  <div class="description short">
489
+
490
  </div>
491
 
492
  <div class="description detailed hidden">
493
+
494
 
495
 
496
  <h4>Parameters</h4>
522
 
523
  <td class="name"><div>
524
  <a class="anchor" href="#_import">#</a>
525
+ <code><a href="source-class-WPGMZA.DOMElement.html#201-287" title="Go to source code">import</a>( <span>mixed <var>$subject</var></span>, <span> <var>$forcePHP</var> = <span class="php-keyword1">false</span></span> )</code>
526
 
527
  <div class="description short">
528
  <p>Imports the supplied subject into this node.</p>
560
  <td class="attributes"><code>
561
  public
562
 
563
+
564
 
565
  </code>
566
  </td>
567
 
568
  <td class="name"><div>
569
  <a class="anchor" href="#_setInlineStyle">#</a>
570
+ <code><a href="source-class-WPGMZA.DOMElement.html#289-301" title="Go to source code">setInlineStyle</a>( <span>string <var>$name</var></span>, <span>string <var>$value</var></span> )</code>
571
 
572
  <div class="description short">
573
  <p>Sets an inline CSS style on this element. If it's already set, the old value will be removed first</p>
587
 
588
  <h4>Returns</h4>
589
  <div class="list">
590
+ <br>$this
591
  </div>
592
 
593
 
601
  <td class="attributes"><code>
602
  public
603
 
604
+
605
 
606
  </code>
607
  </td>
608
 
609
  <td class="name"><div>
610
  <a class="anchor" href="#_removeInlineStyle">#</a>
611
+ <code><a href="source-class-WPGMZA.DOMElement.html#303-326" title="Go to source code">removeInlineStyle</a>( <span>string <var>$name</var></span> )</code>
612
 
613
  <div class="description short">
614
  <p>Removes the inline CSS style specified by name</p>
626
 
627
  <h4>Returns</h4>
628
  <div class="list">
629
+ <br>$this
630
  </div>
631
 
632
 
647
 
648
  <td class="name"><div>
649
  <a class="anchor" href="#_hasInlineStyle">#</a>
650
+ <code><a href="source-class-WPGMZA.DOMElement.html#328-337" title="Go to source code">hasInlineStyle</a>( <span>string <var>$name</var></span> )</code>
651
 
652
  <div class="description short">
653
  <p>Check if this element has an inline style by name</p>
682
 
683
  <td class="name"><div>
684
  <a class="anchor" href="#_getInlineStyle">#</a>
685
+ <code><a href="source-class-WPGMZA.DOMElement.html#339-354" title="Go to source code">getInlineStyle</a>( <span>string <var>$name</var></span> )</code>
686
 
687
  <div class="description short">
688
  <p>Gets the value of the inline style by name</p>
721
 
722
  <td class="name"><div>
723
  <a class="anchor" href="#_addClass">#</a>
724
+ <code><a href="source-class-WPGMZA.DOMElement.html#356-370" title="Go to source code">addClass</a>( <span>string <var>$name</var></span> )</code>
725
 
726
  <div class="description short">
727
  <p>Adds a class to this elements class attribute. It will be ignored if the class already exists</p>
760
 
761
  <td class="name"><div>
762
  <a class="anchor" href="#_removeClass">#</a>
763
+ <code><a href="source-class-WPGMZA.DOMElement.html#372-391" title="Go to source code">removeClass</a>( <span>string <var>$name</var></span> )</code>
764
 
765
  <div class="description short">
766
  <p>Removes the specified class from this nodes class attribute</p>
799
 
800
  <td class="name"><div>
801
  <a class="anchor" href="#_hasClass">#</a>
802
+ <code><a href="source-class-WPGMZA.DOMElement.html#393-404" title="Go to source code">hasClass</a>( <span>string <var>$name</var></span> )</code>
803
 
804
  <div class="description short">
805
  <p>Tests if the specified class exists on this elements class attribute</p>
838
 
839
  <td class="name"><div>
840
  <a class="anchor" href="#_populateElement">#</a>
841
+ <code><a href="source-class-WPGMZA.DOMElement.html#406-448" title="Go to source code">populateElement</a>( <span>The <var>$target</var></span>, <span>string <var>$key</var></span>, <span>string <var>$value</var></span>, <span>array <var>$formatters</var></span> )</code>
842
 
843
  <div class="description short">
844
  <p>Populates the target element. If it is a form element, the value will be set according to the elements type/nodeName. If not, the value will be imported instead.</p>
879
 
880
  <td class="name"><div>
881
  <a class="anchor" href="#_populate">#</a>
882
+ <code><a href="source-class-WPGMZA.DOMElement.html#450-503" title="Go to source code">populate</a>( <span>mixed <var>$src</var> = <span class="php-keyword1">null</span></span>, <span>array <var>$formatters</var> = <span class="php-keyword1">null</span></span> )</code>
883
 
884
  <div class="description short">
885
  <p>Takes a source object or associative array and optional array of formatting functions, and populates descendant named elements with the values from that source.</p>
920
 
921
  <td class="name"><div>
922
  <a class="anchor" href="#_getValue">#</a>
923
+ <code><a href="source-class-WPGMZA.DOMElement.html#505-540" title="Go to source code">getValue</a>( )</code>
924
 
925
  <div class="description short">
926
  <p>Gets the value of this element</p>
954
 
955
  <td class="name"><div>
956
  <a class="anchor" href="#_setValue">#</a>
957
+ <code><a href="source-class-WPGMZA.DOMElement.html#542-610" title="Go to source code">setValue</a>( <span> <var>$value</var></span> )</code>
958
 
959
  <div class="description short">
960
  <p>Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute</p>
964
  <p>Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute</p>
965
 
966
 
 
 
 
 
 
967
 
968
  <h4>Returns</h4>
969
  <div class="list">
986
  <td class="attributes"><code>
987
  public
988
 
989
+ Smart\Element
990
 
991
  </code>
992
  </td>
993
 
994
  <td class="name"><div>
995
  <a class="anchor" href="#_appendText">#</a>
996
+ <code><a href="source-class-WPGMZA.DOMElement.html#612-620" title="Go to source code">appendText</a>( <span> <var>$text</var></span> )</code>
997
 
998
  <div class="description short">
999
  <p>Appends the specified text to this element, shorthand utility function</p>
1003
  <p>Appends the specified text to this element, shorthand utility function</p>
1004
 
1005
 
 
 
 
 
 
1006
 
1007
  <h4>Returns</h4>
1008
  <div class="list">
1009
+ Smart\Element<br>This element
1010
  </div>
1011
 
1012
 
1020
  <td class="attributes"><code>
1021
  public
1022
 
1023
+
1024
 
1025
  </code>
1026
  </td>
1027
 
1028
  <td class="name"><div>
1029
  <a class="anchor" href="#_insertAfter">#</a>
1030
+ <code><a href="source-class-WPGMZA.DOMElement.html#622-639" title="Go to source code">insertAfter</a>( <span>Smart\Element <var>$elem</var></span>, <span>Smart\Element <var>$after</var> = <span class="php-keyword1">null</span></span> )</code>
1031
 
1032
  <div class="description short">
1033
  <p>Utility function to append the specified element after one of this elements children. Will append at the end if after is null</p>
1040
  <h4>Parameters</h4>
1041
  <div class="list"><dl>
1042
  <dt><var>$elem</var></dt>
1043
+ <dd>element to insert</dd>
1044
  <dt><var>$after</var></dt>
1045
+ <dd><p>of this elements children, or null
1046
+ *@return \Smart\Element this element</p></dd>
1047
  </dl></div>
1048
 
 
 
 
 
1049
 
1050
 
1051
 
1058
  <td class="attributes"><code>
1059
  public
1060
 
1061
+ Smart\Element
1062
 
1063
  </code>
1064
  </td>
1065
 
1066
  <td class="name"><div>
1067
  <a class="anchor" href="#_clear">#</a>
1068
+ <code><a href="source-class-WPGMZA.DOMElement.html#641-650" title="Go to source code">clear</a>( )</code>
1069
 
1070
  <div class="description short">
1071
  <p>Clears this element, completely removing all it's contents</p>
1078
 
1079
  <h4>Returns</h4>
1080
  <div class="list">
1081
+ Smart\Element<br>This element
1082
  </div>
1083
 
1084
 
1092
  <td class="attributes"><code>
1093
  public
1094
 
1095
+ Smart\Element
1096
 
1097
  </code>
1098
  </td>
1099
 
1100
  <td class="name"><div>
1101
  <a class="anchor" href="#_remove">#</a>
1102
+ <code><a href="source-class-WPGMZA.DOMElement.html#652-661" title="Go to source code">remove</a>( )</code>
1103
 
1104
  <div class="description short">
1105
  <p>Removes this element from it's parent</p>
1112
 
1113
  <h4>Returns</h4>
1114
  <div class="list">
1115
+ Smart\Element<br>This element
1116
  </div>
1117
 
1118
 
1197
  </code></td>
1198
 
1199
  <td class="name">
1200
+ <a href="source-class-WPGMZA.DOMElement.html#9" title="Go to source code"><var>$xpathConverter</var></a>
1201
 
1202
  <div class="description short">
1203
 
docs/php/class-WPGMZA.Integration.Gutenberg.html CHANGED
@@ -124,7 +124,7 @@
124
  <b>Namespace:</b> <a href="namespace-WPGMZA.html">WPGMZA</a>\<a href="namespace-WPGMZA.Integration.html">Integration</a><br>
125
 
126
 
127
- <b>Located at</b> <a href="source-class-WPGMZA.Integration.Gutenberg.html#5-90" title="Go to source code">3rd-party-integration/class.gutenberg.php</a>
128
  <br>
129
  </div>
130
 
@@ -174,7 +174,7 @@
174
 
175
  <td class="name"><div>
176
  <a class="anchor" href="#_onEnqueueBlockAssets">#</a>
177
- <code><a href="source-class-WPGMZA.Integration.Gutenberg.html#36-51" title="Go to source code">onEnqueueBlockAssets</a>( )</code>
178
 
179
  <div class="description short">
180
  <p>Enqueues assets to be used with the Gutenberg editor</p>
@@ -204,7 +204,7 @@
204
 
205
  <td class="name"><div>
206
  <a class="anchor" href="#_onInit">#</a>
207
- <code><a href="source-class-WPGMZA.Integration.Gutenberg.html#53-78" title="Go to source code">onInit</a>( )</code>
208
 
209
  <div class="description short">
210
  <p>Called on the WordPress init action. This function strips out JS module generated by the babel compiler, for browser compatibility.</p>
@@ -234,7 +234,7 @@
234
 
235
  <td class="name"><div>
236
  <a class="anchor" href="#_onRender">#</a>
237
- <code><a href="source-class-WPGMZA.Integration.Gutenberg.html#80-89" title="Go to source code">onRender</a>( <span>mixed[] <var>$attr</var></span> )</code>
238
 
239
  <div class="description short">
240
  <p>Called to render the plugins Gutenberg block front end.</p>
124
  <b>Namespace:</b> <a href="namespace-WPGMZA.html">WPGMZA</a>\<a href="namespace-WPGMZA.Integration.html">Integration</a><br>
125
 
126
 
127
+ <b>Located at</b> <a href="source-class-WPGMZA.Integration.Gutenberg.html#5-93" title="Go to source code">3rd-party-integration/class.gutenberg.php</a>
128
  <br>
129
  </div>
130
 
174
 
175
  <td class="name"><div>
176
  <a class="anchor" href="#_onEnqueueBlockAssets">#</a>
177
+ <code><a href="source-class-WPGMZA.Integration.Gutenberg.html#36-54" title="Go to source code">onEnqueueBlockAssets</a>( )</code>
178
 
179
  <div class="description short">
180
  <p>Enqueues assets to be used with the Gutenberg editor</p>
204
 
205
  <td class="name"><div>
206
  <a class="anchor" href="#_onInit">#</a>
207
+ <code><a href="source-class-WPGMZA.Integration.Gutenberg.html#56-81" title="Go to source code">onInit</a>( )</code>
208
 
209
  <div class="description short">
210
  <p>Called on the WordPress init action. This function strips out JS module generated by the babel compiler, for browser compatibility.</p>
234
 
235
  <td class="name"><div>
236
  <a class="anchor" href="#_onRender">#</a>
237
+ <code><a href="source-class-WPGMZA.Integration.Gutenberg.html#83-92" title="Go to source code">onRender</a>( <span>mixed[] <var>$attr</var></span> )</code>
238
 
239
  <div class="description short">
240
  <p>Called to render the plugins Gutenberg block front end.</p>
docs/php/class-WPGMZA.ModalDialog.html CHANGED
@@ -208,6 +208,7 @@ DOMDocument
208
  <caption>Methods inherited from <a href="class-WPGMZA.DOMDocument.html#methods">WPGMZA\DOMDocument</a></caption>
209
  <tr>
210
  <td><code>
 
211
  <a href="class-WPGMZA.DOMDocument.html#_convertUTF8ToHTMLEntities">convertUTF8ToHTMLEntities()</a>,
212
  <a href="class-WPGMZA.DOMDocument.html#_createErrorElement">createErrorElement()</a>,
213
  <a href="class-WPGMZA.DOMDocument.html#_handleImport">handleImport()</a>,
208
  <caption>Methods inherited from <a href="class-WPGMZA.DOMDocument.html#methods">WPGMZA\DOMDocument</a></caption>
209
  <tr>
210
  <td><code>
211
+ <a href="class-WPGMZA.DOMDocument.html#___get">__get()</a>,
212
  <a href="class-WPGMZA.DOMDocument.html#_convertUTF8ToHTMLEntities">convertUTF8ToHTMLEntities()</a>,
213
  <a href="class-WPGMZA.DOMDocument.html#_createErrorElement">createErrorElement()</a>,
214
  <a href="class-WPGMZA.DOMDocument.html#_handleImport">handleImport()</a>,
docs/php/namespace-WPGMZA.html CHANGED
@@ -142,11 +142,11 @@ side logic, for example Map, Marker, Polygon</p></td>
142
  </tr>
143
  <tr>
144
  <td class="name"><a href="class-WPGMZA.DOMDocument.html">DOMDocument</a></td>
145
- <td>Extension of PHP's native \DOMDocument, providing helpful utility functions to carry out common tasks such as read HTML with inline PHP, populate named elements, import extenral content</td>
146
  </tr>
147
  <tr>
148
  <td class="name"><a href="class-WPGMZA.DOMElement.html">DOMElement</a></td>
149
- <td>An extension of PHPs native \DOMElement, adds JavaScript / jQuery style utilities such as querySelector, prepent, closest</td>
150
  </tr>
151
  <tr>
152
  <td class="name"><a href="class-WPGMZA.Factory.html">Factory</a></td>
142
  </tr>
143
  <tr>
144
  <td class="name"><a href="class-WPGMZA.DOMDocument.html">DOMDocument</a></td>
145
+ <td></td>
146
  </tr>
147
  <tr>
148
  <td class="name"><a href="class-WPGMZA.DOMElement.html">DOMElement</a></td>
149
+ <td></td>
150
  </tr>
151
  <tr>
152
  <td class="name"><a href="class-WPGMZA.Factory.html">Factory</a></td>
docs/php/source-class-WPGMZA.DOMDocument.html CHANGED
@@ -136,253 +136,252 @@
136
  </ul>
137
  </div>
138
 
139
- <pre class="numbers"><code><span class="l"><a href="#1"> 1: </a></span><span class="l"><a href="#2"> 2: </a></span><span class="l"><a href="#3"> 3: </a></span><span class="l"><a href="#4"> 4: </a></span><span class="l"><a href="#5"> 5: </a></span><span class="l"><a href="#6"> 6: </a></span><span class="l"><a href="#7"> 7: </a></span></span><span class="l"><a href="#8"> 8: </a></span></span><span class="l"><a href="#9"> 9: </a></span><span class="l"><a href="#10"> 10: </a></span><span class="l"><a href="#11"> 11: </a></span><span class="l"><a href="#12"> 12: </a></span><span class="l"><a href="#13"> 13: </a></span><span class="l"><a href="#14"> 14: </a></span></span><span class="l"><a href="#15"> 15: </a></span></span><span class="l"><a href="#16"> 16: </a></span></span><span class="l"><a href="#17"> 17: </a></span><span class="l"><a href="#18"> 18: </a></span><span class="l"><a href="#19"> 19: </a></span><span class="l"><a href="#20"> 20: </a></span><span class="l"><a href="#21"> 21: </a></span><span class="l"><a href="#22"> 22: </a></span><span class="l"><a href="#23"> 23: </a></span><span class="l"><a href="#24"> 24: </a></span><span class="l"><a href="#25"> 25: </a></span><span class="l"><a href="#26"> 26: </a></span><span class="l"><a href="#27"> 27: </a></span><span class="l"><a href="#28"> 28: </a></span><span class="l"><a href="#29"> 29: </a></span><span class="l"><a href="#30"> 30: </a></span><span class="l"><a href="#31"> 31: </a></span><span class="l"><a href="#32"> 32: </a></span><span class="l"><a href="#33"> 33: </a></span><span class="l"><a href="#34"> 34: </a></span><span class="l"><a href="#35"> 35: </a></span><span class="l"><a href="#36"> 36: </a></span><span class="l"><a href="#37"> 37: </a></span></span><span class="l"><a href="#38"> 38: </a></span></span><span class="l"><a href="#39"> 39: </a></span></span><span class="l"><a href="#40"> 40: </a></span><span class="l"><a href="#41"> 41: </a></span><span class="l"><a href="#42"> 42: </a></span><span class="l"><a href="#43"> 43: </a></span><span class="l"><a href="#44"> 44: </a></span><span class="l"><a href="#45"> 45: </a></span><span class="l"><a href="#46"> 46: </a></span></span><span class="l"><a href="#47"> 47: </a></span></span><span class="l"><a href="#48"> 48: </a></span></span><span class="l"><a href="#49"> 49: </a></span><span class="l"><a href="#50"> 50: </a></span><span class="l"><a href="#51"> 51: </a></span><span class="l"><a href="#52"> 52: </a></span><span class="l"><a href="#53"> 53: </a></span><span class="l"><a href="#54"> 54: </a></span><span class="l"><a href="#55"> 55: </a></span></span><span class="l"><a href="#56"> 56: </a></span></span><span class="l"><a href="#57"> 57: </a></span></span><span class="l"><a href="#58"> 58: </a></span></span><span class="l"><a href="#59"> 59: </a></span></span><span class="l"><a href="#60"> 60: </a></span></span><span class="l"><a href="#61"> 61: </a></span><span class="l"><a href="#62"> 62: </a></span><span class="l"><a href="#63"> 63: </a></span><span class="l"><a href="#64"> 64: </a></span><span class="l"><a href="#65"> 65: </a></span><span class="l"><a href="#66"> 66: </a></span><span class="l"><a href="#67"> 67: </a></span><span class="l"><a href="#68"> 68: </a></span><span class="l"><a href="#69"> 69: </a></span><span class="l"><a href="#70"> 70: </a></span><span class="l"><a href="#71"> 71: </a></span><span class="l"><a href="#72"> 72: </a></span><span class="l"><a href="#73"> 73: </a></span><span class="l"><a href="#74"> 74: </a></span><span class="l"><a href="#75"> 75: </a></span><span class="l"><a href="#76"> 76: </a></span></span><span class="l"><a href="#77"> 77: </a></span></span><span class="l"><a href="#78"> 78: </a></span></span><span class="l"><a href="#79"> 79: </a></span></span><span class="l"><a href="#80"> 80: </a></span></span><span class="l"><a href="#81"> 81: </a></span><span class="l"><a href="#82"> 82: </a></span><span class="l"><a href="#83"> 83: </a></span><span class="l"><a href="#84"> 84: </a></span><span class="l"><a href="#85"> 85: </a></span><span class="l"><a href="#86"> 86: </a></span><span class="l"><a href="#87"> 87: </a></span><span class="l"><a href="#88"> 88: </a></span><span class="l"><a href="#89"> 89: </a></span><span class="l"><a href="#90"> 90: </a></span><span class="l"><a href="#91"> 91: </a></span><span class="l"><a href="#92"> 92: </a></span><span class="l"><a href="#93"> 93: </a></span><span class="l"><a href="#94"> 94: </a></span><span class="l"><a href="#95"> 95: </a></span><span class="l"><a href="#96"> 96: </a></span><span class="l"><a href="#97"> 97: </a></span><span class="l"><a href="#98"> 98: </a></span><span class="l"><a href="#99"> 99: </a></span><span class="l"><a href="#100">100: </a></span><span class="l"><a href="#101">101: </a></span><span class="l"><a href="#102">102: </a></span><span class="l"><a href="#103">103: </a></span><span class="l"><a href="#104">104: </a></span><span class="l"><a href="#105">105: </a></span><span class="l"><a href="#106">106: </a></span><span class="l"><a href="#107">107: </a></span><span class="l"><a href="#108">108: </a></span><span class="l"><a href="#109">109: </a></span><span class="l"><a href="#110">110: </a></span><span class="l"><a href="#111">111: </a></span><span class="l"><a href="#112">112: </a></span><span class="l"><a href="#113">113: </a></span><span class="l"><a href="#114">114: </a></span><span class="l"><a href="#115">115: </a></span><span class="l"><a href="#116">116: </a></span><span class="l"><a href="#117">117: </a></span><span class="l"><a href="#118">118: </a></span><span class="l"><a href="#119">119: </a></span><span class="l"><a href="#120">120: </a></span></span><span class="l"><a href="#121">121: </a></span></span><span class="l"><a href="#122">122: </a></span></span><span class="l"><a href="#123">123: </a></span></span><span class="l"><a href="#124">124: </a></span></span><span class="l"><a href="#125">125: </a></span></span><span class="l"><a href="#126">126: </a></span></span><span class="l"><a href="#127">127: </a></span></span><span class="l"><a href="#128">128: </a></span><span class="l"><a href="#129">129: </a></span><span class="l"><a href="#130">130: </a></span><span class="l"><a href="#131">131: </a></span><span class="l"><a href="#132">132: </a></span><span class="l"><a href="#133">133: </a></span><span class="l"><a href="#134">134: </a></span><span class="l"><a href="#135">135: </a></span><span class="l"><a href="#136">136: </a></span><span class="l"><a href="#137">137: </a></span><span class="l"><a href="#138">138: </a></span><span class="l"><a href="#139">139: </a></span><span class="l"><a href="#140">140: </a></span><span class="l"><a href="#141">141: </a></span><span class="l"><a href="#142">142: </a></span><span class="l"><a href="#143">143: </a></span><span class="l"><a href="#144">144: </a></span><span class="l"><a href="#145">145: </a></span><span class="l"><a href="#146">146: </a></span><span class="l"><a href="#147">147: </a></span><span class="l"><a href="#148">148: </a></span><span class="l"><a href="#149">149: </a></span><span class="l"><a href="#150">150: </a></span><span class="l"><a href="#151">151: </a></span><span class="l"><a href="#152">152: </a></span><span class="l"><a href="#153">153: </a></span><span class="l"><a href="#154">154: </a></span><span class="l"><a href="#155">155: </a></span><span class="l"><a href="#156">156: </a></span><span class="l"><a href="#157">157: </a></span><span class="l"><a href="#158">158: </a></span><span class="l"><a href="#159">159: </a></span><span class="l"><a href="#160">160: </a></span><span class="l"><a href="#161">161: </a></span><span class="l"><a href="#162">162: </a></span><span class="l"><a href="#163">163: </a></span><span class="l"><a href="#164">164: </a></span><span class="l"><a href="#165">165: </a></span><span class="l"><a href="#166">166: </a></span><span class="l"><a href="#167">167: </a></span><span class="l"><a href="#168">168: </a></span><span class="l"><a href="#169">169: </a></span><span class="l"><a href="#170">170: </a></span><span class="l"><a href="#171">171: </a></span><span class="l"><a href="#172">172: </a></span><span class="l"><a href="#173">173: </a></span><span class="l"><a href="#174">174: </a></span><span class="l"><a href="#175">175: </a></span><span class="l"><a href="#176">176: </a></span><span class="l"><a href="#177">177: </a></span><span class="l"><a href="#178">178: </a></span><span class="l"><a href="#179">179: </a></span></span><span class="l"><a href="#180">180: </a></span></span><span class="l"><a href="#181">181: </a></span></span><span class="l"><a href="#182">182: </a></span></span><span class="l"><a href="#183">183: </a></span><span class="l"><a href="#184">184: </a></span><span class="l"><a href="#185">185: </a></span><span class="l"><a href="#186">186: </a></span><span class="l"><a href="#187">187: </a></span><span class="l"><a href="#188">188: </a></span><span class="l"><a href="#189">189: </a></span><span class="l"><a href="#190">190: </a></span><span class="l"><a href="#191">191: </a></span></span><span class="l"><a href="#192">192: </a></span></span><span class="l"><a href="#193">193: </a></span></span><span class="l"><a href="#194">194: </a></span><span class="l"><a href="#195">195: </a></span><span class="l"><a href="#196">196: </a></span><span class="l"><a href="#197">197: </a></span><span class="l"><a href="#198">198: </a></span><span class="l"><a href="#199">199: </a></span><span class="l"><a href="#200">200: </a></span><span class="l"><a href="#201">201: </a></span><span class="l"><a href="#202">202: </a></span></span><span class="l"><a href="#203">203: </a></span></span><span class="l"><a href="#204">204: </a></span></span><span class="l"><a href="#205">205: </a></span></span><span class="l"><a href="#206">206: </a></span><span class="l"><a href="#207">207: </a></span><span class="l"><a href="#208">208: </a></span><span class="l"><a href="#209">209: </a></span><span class="l"><a href="#210">210: </a></span><span class="l"><a href="#211">211: </a></span><span class="l"><a href="#212">212: </a></span><span class="l"><a href="#213">213: </a></span><span class="l"><a href="#214">214: </a></span></span><span class="l"><a href="#215">215: </a></span></span><span class="l"><a href="#216">216: </a></span></span><span class="l"><a href="#217">217: </a></span></span><span class="l"><a href="#218">218: </a></span><span class="l"><a href="#219">219: </a></span><span class="l"><a href="#220">220: </a></span><span class="l"><a href="#221">221: </a></span><span class="l"><a href="#222">222: </a></span><span class="l"><a href="#223">223: </a></span><span class="l"><a href="#224">224: </a></span><span class="l"><a href="#225">225: </a></span><span class="l"><a href="#226">226: </a></span><span class="l"><a href="#227">227: </a></span></span><span class="l"><a href="#228">228: </a></span></span><span class="l"><a href="#229">229: </a></span></span><span class="l"><a href="#230">230: </a></span><span class="l"><a href="#231">231: </a></span><span class="l"><a href="#232">232: </a></span><span class="l"><a href="#233">233: </a></span><span class="l"><a href="#234">234: </a></span><span class="l"><a href="#235">235: </a></span><span class="l"><a href="#236">236: </a></span><span class="l"><a href="#237">237: </a></span><span class="l"><a href="#238">238: </a></span><span class="l"><a href="#239">239: </a></span><span class="l"><a href="#240">240: </a></span><span class="l"><a href="#241">241: </a></span><span class="l"><a href="#242">242: </a></span><span class="l"><a href="#243">243: </a></span><span class="l"><a href="#244">244: </a></span><span class="l"><a href="#245">245: </a></span><span class="l"><a href="#246">246: </a></span></code></pre>
140
  <pre class="code"><code><span id="1" class="l"><span class="xlang">&lt;?php</span>
141
  </span><span id="2" class="l">
142
  </span><span id="3" class="l"><span class="php-keyword1">namespace</span> WPGMZA;
143
  </span><span id="4" class="l">
144
  </span><span id="5" class="l"><span class="php-keyword1">require_once</span>(plugin_dir_path(__FILE__) . <span class="php-quote">'class.dom-element.php'</span>);
145
  </span><span id="6" class="l">
146
- </span><span id="7" class="l"><span class="php-comment">/**
147
- </span></span><span id="8" class="l"><span class="php-comment"> * Extension of PHP's native \DOMDocument, providing helpful utility functions to carry out common tasks such as read HTML with inline PHP, populate named elements, import extenral content
148
- </span></span><span id="9" class="l"><span class="php-comment"> */</span>
149
- </span><span id="10" class="l"><span class="php-keyword1">class</span> DOMDocument <span class="php-keyword1">extends</span> \DOMDocument
150
- </span><span id="11" class="l">{
151
- </span><span id="12" class="l"> <span class="php-keyword1">private</span> <span class="php-var">$src_file</span>;
152
- </span><span id="13" class="l">
153
- </span><span id="14" class="l"> <span class="php-comment">/**
154
- </span></span><span id="15" class="l"><span class="php-comment"> * Constructor
155
- </span></span><span id="16" class="l"><span class="php-comment"> * @see http://php.net/manual/en/class.domdocument.php
156
- </span></span><span id="17" class="l"><span class="php-comment"> */</span>
157
- </span><span id="18" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> __construct(<span class="php-var">$version</span>=<span class="php-quote">'1.0'</span>, <span class="php-var">$encoding</span>=<span class="php-quote">'UTF-8'</span>)
158
- </span><span id="19" class="l"> {
159
- </span><span id="20" class="l"> \DOMDocument::__construct(<span class="php-var">$version</span>, <span class="php-var">$encoding</span>);
160
- </span><span id="21" class="l">
161
- </span><span id="22" class="l"> <span class="php-var">$this</span>-&gt;registerNodeClass(<span class="php-quote">'DOMElement'</span>, <span class="php-quote">'WPGMZA\DOMElement'</span>);
162
- </span><span id="23" class="l"> <span class="php-var">$this</span>-&gt;onReady();
163
- </span><span id="24" class="l"> }
164
- </span><span id="25" class="l">
165
- </span><span id="26" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> convertUTF8ToHTMLEntities(<span class="php-var">$html</span>)
166
- </span><span id="27" class="l"> {
167
- </span><span id="28" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">function_exists</span>(<span class="php-quote">'mb_convert_encoding'</span>))
168
- </span><span id="29" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">mb_convert_encoding</span>(<span class="php-var">$html</span>, <span class="php-quote">'HTML-ENTITIES'</span>, <span class="php-quote">'UTF-8'</span>);
169
- </span><span id="30" class="l"> <span class="php-keyword1">else</span>
170
- </span><span id="31" class="l"> {
171
- </span><span id="32" class="l"> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">'Using fallback UTF to HTML entity conversion'</span>, E_USER_NOTICE);
172
- </span><span id="33" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">htmlspecialchars_decode</span>(<span class="php-keyword2">utf8_decode</span>(<span class="php-keyword2">htmlentities</span>(<span class="php-var">$html</span>, ENT_COMPAT, <span class="php-quote">'utf-8'</span>, <span class="php-keyword1">false</span>)));
173
- </span><span id="34" class="l"> }
174
- </span><span id="35" class="l"> }
175
- </span><span id="36" class="l">
176
- </span><span id="37" class="l"> <span class="php-comment">/**
177
- </span></span><span id="38" class="l"><span class="php-comment"> * Fired after construction when the Document is initialized
178
- </span></span><span id="39" class="l"><span class="php-comment"> * @return void
179
- </span></span><span id="40" class="l"><span class="php-comment"> */</span>
180
- </span><span id="41" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> onReady()
181
- </span><span id="42" class="l"> {
182
- </span><span id="43" class="l">
183
- </span><span id="44" class="l"> }
184
- </span><span id="45" class="l">
185
- </span><span id="46" class="l"> <span class="php-comment">/**
186
- </span></span><span id="47" class="l"><span class="php-comment"> * Fired after content has been loaded
187
- </span></span><span id="48" class="l"><span class="php-comment"> * @return void
188
- </span></span><span id="49" class="l"><span class="php-comment"> */</span>
189
- </span><span id="50" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> onLoaded()
190
- </span><span id="51" class="l"> {
191
- </span><span id="52" class="l">
192
- </span><span id="53" class="l"> }
193
- </span><span id="54" class="l">
194
- </span><span id="55" class="l"> <span class="php-comment">/**
195
- </span></span><span id="56" class="l"><span class="php-comment"> * Loads the specified file and evaulates nodes
196
- </span></span><span id="57" class="l"><span class="php-comment"> * @see http://php.net/manual/en/domdocument.load.php
197
- </span></span><span id="58" class="l"><span class="php-comment"> * @param string $src The file you want to load
198
- </span></span><span id="59" class="l"><span class="php-comment"> * @param int $options See http://php.net/manual/en/domdocument.load.php
199
- </span></span><span id="60" class="l"><span class="php-comment"> * @return boolean TRUE on success, FALSE otherwise
200
- </span></span><span id="61" class="l"><span class="php-comment"> */</span>
201
- </span><span id="62" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> load(<span class="php-var">$src</span>, <span class="php-var">$options</span>=<span class="php-keyword1">null</span>)
202
- </span><span id="63" class="l"> {
203
- </span><span id="64" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">is_string</span>(<span class="php-var">$src</span>))
204
- </span><span id="65" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Input must be a string'</span>);
205
  </span><span id="66" class="l">
206
- </span><span id="67" class="l"> <span class="php-var">$result</span> = \DOMDocument::load(<span class="php-var">$src</span>, <span class="php-var">$options</span>);
207
- </span><span id="68" class="l"> <span class="php-var">$this</span>-&gt;src_file = <span class="php-var">$src</span>;
208
  </span><span id="69" class="l">
209
- </span><span id="70" class="l"> <span class="php-var">$this</span>-&gt;onEvaluateNodes();
210
- </span><span id="71" class="l"> <span class="php-var">$this</span>-&gt;onLoaded();
211
- </span><span id="72" class="l">
212
- </span><span id="73" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$result</span>;
213
- </span><span id="74" class="l"> }
214
- </span><span id="75" class="l">
215
- </span><span id="76" class="l"> <span class="php-comment">/**
216
- </span></span><span id="77" class="l"><span class="php-comment"> * Loads the specified file and parses any PHP
217
- </span></span><span id="78" class="l"><span class="php-comment"> * @param string $src The file you want to load
218
- </span></span><span id="79" class="l"><span class="php-comment"> * @param int $options See http://php.net/manual/en/domdocument.load.php
219
- </span></span><span id="80" class="l"><span class="php-comment"> * @return boolean TRUE on success, FALSE otherwise
220
- </span></span><span id="81" class="l"><span class="php-comment"> */</span>
221
- </span><span id="82" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> loadPHPFile(<span class="php-var">$src</span>, <span class="php-var">$options</span>=<span class="php-num">0</span>)
222
- </span><span id="83" class="l"> {
223
- </span><span id="84" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$src</span>))
224
- </span><span id="85" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;File does not exist: </span><span class="php-var">$src</span><span class="php-quote">&quot;</span>);
225
- </span><span id="86" class="l">
226
- </span><span id="87" class="l"> <span class="php-keyword2">ob_start</span>();
227
- </span><span id="88" class="l"> <span class="php-keyword1">include</span> <span class="php-var">$src</span>;
228
- </span><span id="89" class="l"> <span class="php-var">$html</span> = <span class="php-keyword2">ob_get_clean</span>();
229
  </span><span id="90" class="l">
230
- </span><span id="91" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$html</span>))
231
- </span><span id="92" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;</span><span class="php-var">$src</span><span class="php-quote"> is empty&quot;</span>);
232
  </span><span id="93" class="l">
233
- </span><span id="94" class="l"> <span class="php-var">$html</span> = DOMDocument::convertUTF8ToHTMLEntities(<span class="php-var">$html</span>);
234
- </span><span id="95" class="l"> <span class="php-var">$suppress_warnings</span> = !(<span class="php-keyword2">defined</span>(<span class="php-quote">'WP_DEBUG'</span>) &amp;&amp; WP_DEBUG);
235
- </span><span id="96" class="l">
236
- </span><span id="97" class="l"> <span class="php-comment">// From PHP 5.4.0 onwards, loadHTML takes 2 arguments</span>
237
- </span><span id="98" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">version_compare</span>(PHP_VERSION, <span class="php-quote">'5.4.0'</span>, <span class="php-quote">'&gt;='</span>))
238
- </span><span id="99" class="l"> {
239
- </span><span id="100" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$suppress_warnings</span>)
240
- </span><span id="101" class="l"> <span class="php-var">$result</span> = @<span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>, <span class="php-var">$options</span>);
241
- </span><span id="102" class="l"> <span class="php-keyword1">else</span>
242
- </span><span id="103" class="l"> <span class="php-var">$result</span> = <span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>, <span class="php-var">$options</span>);
243
- </span><span id="104" class="l"> }
244
- </span><span id="105" class="l"> <span class="php-keyword1">else</span>
245
- </span><span id="106" class="l"> {
246
- </span><span id="107" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$suppress_warnings</span>)
247
- </span><span id="108" class="l"> <span class="php-var">$result</span> = @<span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>);
248
- </span><span id="109" class="l"> <span class="php-keyword1">else</span>
249
- </span><span id="110" class="l"> <span class="php-var">$result</span> = <span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>);
250
- </span><span id="111" class="l"> }
251
- </span><span id="112" class="l">
252
- </span><span id="113" class="l"> <span class="php-var">$this</span>-&gt;src_file = <span class="php-var">$src</span>;
253
- </span><span id="114" class="l">
254
- </span><span id="115" class="l"> <span class="php-var">$this</span>-&gt;onLoaded();
255
- </span><span id="116" class="l">
256
- </span><span id="117" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$result</span>;
257
- </span><span id="118" class="l"> }
258
- </span><span id="119" class="l">
259
- </span><span id="120" class="l"> <span class="php-comment">/**
260
- </span></span><span id="121" class="l"><span class="php-comment"> * Handles importing the specified filename to the given node. Files with the extension .html or .html.php will be processed and imported. Files with the extension .php will be scanned for a class extending DOMDocument and imported if one is found.
261
- </span></span><span id="122" class="l"><span class="php-comment"> * @param string $subject The filename to import
262
- </span></span><span id="123" class="l"><span class="php-comment"> * @param DOMElement $node The target node
263
- </span></span><span id="124" class="l"><span class="php-comment"> * @param bool $forcePHP Forces inline PHP to be processed
264
- </span></span><span id="125" class="l"><span class="php-comment"> * @throws \Exception When the subject is a PHP file, but no classes are found
265
- </span></span><span id="126" class="l"><span class="php-comment"> * @throws \Exception When the subject is a PHP file, but the last class found in the file is not an instance of DOMDocument
266
- </span></span><span id="127" class="l"><span class="php-comment"> * @return void
267
- </span></span><span id="128" class="l"><span class="php-comment"> */</span>
268
- </span><span id="129" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> handleImport(<span class="php-var">$subject</span>, <span class="php-var">$node</span>, <span class="php-var">$forcePHP</span>=<span class="php-keyword1">false</span>)
269
- </span><span id="130" class="l"> {
270
- </span><span id="131" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\.html(\.php)?$/i'</span>, <span class="php-var">$subject</span>))
271
- </span><span id="132" class="l"> {
272
- </span><span id="133" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$subject</span>))
273
- </span><span id="134" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;File '</span><span class="php-var">$subject</span><span class="php-quote">' not found in </span><span class="php-var">{$this-&gt;src_file}</span><span class="php-quote"> line &quot;</span> . <span class="php-var">$node</span>-&gt;getLineNo());
274
- </span><span id="135" class="l">
275
- </span><span id="136" class="l"> <span class="php-var">$node</span>-&gt;import(<span class="php-var">$subject</span>, <span class="php-var">$forcePHP</span>);
276
- </span><span id="137" class="l">
277
- </span><span id="138" class="l"> <span class="php-keyword1">return</span>;
278
- </span><span id="139" class="l"> }
279
- </span><span id="140" class="l">
280
- </span><span id="141" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\.php$/i'</span>, <span class="php-var">$subject</span>))
281
- </span><span id="142" class="l"> {
282
- </span><span id="143" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$subject</span>))
283
- </span><span id="144" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;File '</span><span class="php-var">$subject</span><span class="php-quote">' not found&quot;</span>);
284
- </span><span id="145" class="l">
285
- </span><span id="146" class="l"> <span class="php-var">$before</span> = <span class="php-keyword2">get_declared_classes</span>();
286
- </span><span id="147" class="l"> <span class="php-keyword1">require_once</span>(<span class="php-var">$subject</span>);
287
- </span><span id="148" class="l"> <span class="php-var">$after</span> = <span class="php-keyword2">get_declared_classes</span>();
288
- </span><span id="149" class="l"> <span class="php-var">$diff</span> = <span class="php-keyword2">array_diff</span>(<span class="php-var">$after</span>, <span class="php-var">$before</span>);
289
- </span><span id="150" class="l">
290
- </span><span id="151" class="l"> <span class="php-var">$classes_in_file</span> = <span class="php-keyword1">array</span>();
291
- </span><span id="152" class="l">
292
- </span><span id="153" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$diff</span> <span class="php-keyword1">as</span> <span class="php-var">$class</span>) {
293
- </span><span id="154" class="l"> <span class="php-var">$reflection</span> = <span class="php-keyword1">new</span> \ReflectionClass(<span class="php-var">$class</span>);
294
- </span><span id="155" class="l"> <span class="php-var">$filename</span> = <span class="php-var">$reflection</span>-&gt;getFileName();
295
- </span><span id="156" class="l">
296
- </span><span id="157" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">realpath</span>(<span class="php-var">$filename</span>) == <span class="php-keyword2">realpath</span>(<span class="php-var">$subject</span>))
297
- </span><span id="158" class="l"> <span class="php-keyword2">array_push</span>(<span class="php-var">$classes_in_file</span>, <span class="php-var">$class</span>);
298
- </span><span id="159" class="l"> }
299
  </span><span id="160" class="l">
300
- </span><span id="161" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$classes_in_file</span>))
301
- </span><span id="162" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'No classes found in file'</span>);
302
- </span><span id="163" class="l">
303
- </span><span id="164" class="l"> <span class="php-var">$class_name</span> = <span class="php-var">$classes_in_file</span>[ <span class="php-keyword2">count</span>(<span class="php-var">$classes_in_file</span>) - <span class="php-num">1</span> ];
304
- </span><span id="165" class="l"> <span class="php-var">$instance</span> = <span class="php-keyword1">new</span> <span class="php-var">$class_name</span>();
305
- </span><span id="166" class="l">
306
- </span><span id="167" class="l"> <span class="php-keyword1">if</span>(!(<span class="php-var">$instance</span> <span class="php-keyword1">instanceof</span> DOMDocument))
307
- </span><span id="168" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Class must be an instance of WPGMZA\\DOMDocument'</span>);
308
- </span><span id="169" class="l">
309
- </span><span id="170" class="l"> <span class="php-var">$node</span>-&gt;import(<span class="php-var">$instance</span>);
310
- </span><span id="171" class="l">
311
- </span><span id="172" class="l"> <span class="php-keyword1">return</span>;
312
- </span><span id="173" class="l"> }
313
- </span><span id="174" class="l">
314
- </span><span id="175" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;Failed to import page \&quot;</span><span class="php-var">$subject</span><span class="php-quote">\&quot; in </span><span class="php-var">{$this-&gt;src_file}</span><span class="php-quote"> on line &quot;</span> . <span class="php-var">$node</span>-&gt;getLineNo());
315
- </span><span id="176" class="l"> }
316
- </span><span id="177" class="l">
317
- </span><span id="178" class="l">
318
- </span><span id="179" class="l"> <span class="php-comment">/**
319
- </span></span><span id="180" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelector
320
- </span></span><span id="181" class="l"><span class="php-comment"> * @param string $query a CSS selector
321
- </span></span><span id="182" class="l"><span class="php-comment"> * @return mixed The first descendant \Smart\Element that matches the selector, or NULL if there is no match
322
- </span></span><span id="183" class="l"><span class="php-comment"> */</span>
323
- </span><span id="184" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelector(<span class="php-var">$query</span>)
324
- </span><span id="185" class="l"> {
325
- </span><span id="186" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;documentElement)
326
- </span><span id="187" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
327
- </span><span id="188" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;documentElement-&gt;querySelector(<span class="php-var">$query</span>);
328
- </span><span id="189" class="l"> }
329
- </span><span id="190" class="l">
330
- </span><span id="191" class="l"> <span class="php-comment">/**
331
- </span></span><span id="192" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll
332
- </span></span><span id="193" class="l"><span class="php-comment"> * @return mixed Any descendant \Smart\Element's that match the selector, or NULL if there is no match
333
- </span></span><span id="194" class="l"><span class="php-comment"> */</span>
334
- </span><span id="195" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelectorAll(<span class="php-var">$query</span>)
335
- </span><span id="196" class="l"> {
336
- </span><span id="197" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;documentElement)
337
- </span><span id="198" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
338
- </span><span id="199" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;documentElement-&gt;querySelectorAll(<span class="php-var">$query</span>);
339
- </span><span id="200" class="l"> }
340
- </span><span id="201" class="l">
341
- </span><span id="202" class="l"> <span class="php-comment">/**
342
- </span></span><span id="203" class="l"><span class="php-comment"> * Takes an associative array or object, and populates this element with it
343
- </span></span><span id="204" class="l"><span class="php-comment"> * @param mixed $src Object or associative array
344
- </span></span><span id="205" class="l"><span class="php-comment"> * @return void
345
- </span></span><span id="206" class="l"><span class="php-comment"> */</span>
346
- </span><span id="207" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> populate(<span class="php-var">$src</span>, <span class="php-var">$formatters</span>=<span class="php-keyword1">null</span>)
347
- </span><span id="208" class="l"> {
348
- </span><span id="209" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;documentElement)
349
- </span><span id="210" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
350
- </span><span id="211" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;documentElement-&gt;populate(<span class="php-var">$src</span>, <span class="php-var">$formatters</span>);
351
- </span><span id="212" class="l"> }
352
- </span><span id="213" class="l">
353
- </span><span id="214" class="l"> <span class="php-comment">/**
354
- </span></span><span id="215" class="l"><span class="php-comment"> * Utility function to create an error element
355
- </span></span><span id="216" class="l"><span class="php-comment"> * @param string $message The error message
356
- </span></span><span id="217" class="l"><span class="php-comment"> * @return \Smart\Element
357
- </span></span><span id="218" class="l"><span class="php-comment"> */</span>
358
- </span><span id="219" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> createErrorElement(<span class="php-var">$message</span>)
359
- </span><span id="220" class="l"> {
360
- </span><span id="221" class="l"> <span class="php-var">$span</span> = <span class="php-var">$this</span>-&gt;createElement(<span class="php-quote">'span'</span>);
361
- </span><span id="222" class="l"> <span class="php-var">$span</span>-&gt;appendText(<span class="php-var">$message</span>);
362
- </span><span id="223" class="l"> <span class="php-var">$span</span>-&gt;addClass(<span class="php-quote">'notice notice-error'</span>);
363
- </span><span id="224" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$span</span>;
364
- </span><span id="225" class="l"> }
365
- </span><span id="226" class="l">
366
- </span><span id="227" class="l"> <span class="php-comment">/**
367
- </span></span><span id="228" class="l"><span class="php-comment"> * This function saves only the inside of the &lt;body&gt; element of this document. This is useful when you want to import a HTML document into another, but you don't want to end up with nested &lt;html&gt; elements
368
- </span></span><span id="229" class="l"><span class="php-comment"> * @return string The HTML string
369
- </span></span><span id="230" class="l"><span class="php-comment"> */</span>
370
- </span><span id="231" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> saveInnerBody()
371
- </span><span id="232" class="l"> {
372
- </span><span id="233" class="l"> <span class="php-var">$result</span> = <span class="php-quote">''</span>;
373
- </span><span id="234" class="l">
374
- </span><span id="235" class="l"> <span class="php-var">$body</span> = <span class="php-var">$this</span>-&gt;querySelector(<span class="php-quote">'body'</span>);
375
- </span><span id="236" class="l">
376
- </span><span id="237" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$body</span>)
377
- </span><span id="238" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
378
- </span><span id="239" class="l">
379
- </span><span id="240" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$node</span> = <span class="php-var">$body</span>-&gt;firstChild; <span class="php-var">$node</span> != <span class="php-keyword1">null</span>; <span class="php-var">$node</span> = <span class="php-var">$node</span>-&gt;nextSibling)
380
- </span><span id="241" class="l"> <span class="php-var">$result</span> .= <span class="php-var">$this</span>-&gt;saveHTML(<span class="php-var">$node</span>);
381
- </span><span id="242" class="l">
382
- </span><span id="243" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$result</span>;
383
- </span><span id="244" class="l"> }
384
- </span><span id="245" class="l">}
385
- </span><span id="246" class="l"></span></code></pre>
386
 
387
  <div id="footer">
388
  API documentation generated by <a href="http://apigen.org">ApiGen</a>
136
  </ul>
137
  </div>
138
 
139
+ <pre class="numbers"><code><span class="l"><a href="#1"> 1: </a></span><span class="l"><a href="#2"> 2: </a></span><span class="l"><a href="#3"> 3: </a></span><span class="l"><a href="#4"> 4: </a></span><span class="l"><a href="#5"> 5: </a></span><span class="l"><a href="#6"> 6: </a></span><span class="l"><a href="#7"> 7: </a></span><span class="l"><a href="#8"> 8: </a></span><span class="l"><a href="#9"> 9: </a></span><span class="l"><a href="#10"> 10: </a></span><span class="l"><a href="#11"> 11: </a></span></span><span class="l"><a href="#12"> 12: </a></span></span><span class="l"><a href="#13"> 13: </a></span></span><span class="l"><a href="#14"> 14: </a></span><span class="l"><a href="#15"> 15: </a></span><span class="l"><a href="#16"> 16: </a></span><span class="l"><a href="#17"> 17: </a></span><span class="l"><a href="#18"> 18: </a></span><span class="l"><a href="#19"> 19: </a></span><span class="l"><a href="#20"> 20: </a></span><span class="l"><a href="#21"> 21: </a></span><span class="l"><a href="#22"> 22: </a></span><span class="l"><a href="#23"> 23: </a></span><span class="l"><a href="#24"> 24: </a></span><span class="l"><a href="#25"> 25: </a></span><span class="l"><a href="#26"> 26: </a></span><span class="l"><a href="#27"> 27: </a></span><span class="l"><a href="#28"> 28: </a></span><span class="l"><a href="#29"> 29: </a></span><span class="l"><a href="#30"> 30: </a></span><span class="l"><a href="#31"> 31: </a></span><span class="l"><a href="#32"> 32: </a></span><span class="l"><a href="#33"> 33: </a></span><span class="l"><a href="#34"> 34: </a></span></span><span class="l"><a href="#35"> 35: </a></span></span><span class="l"><a href="#36"> 36: </a></span></span><span class="l"><a href="#37"> 37: </a></span><span class="l"><a href="#38"> 38: </a></span><span class="l"><a href="#39"> 39: </a></span><span class="l"><a href="#40"> 40: </a></span><span class="l"><a href="#41"> 41: </a></span><span class="l"><a href="#42"> 42: </a></span><span class="l"><a href="#43"> 43: </a></span></span><span class="l"><a href="#44"> 44: </a></span></span><span class="l"><a href="#45"> 45: </a></span></span><span class="l"><a href="#46"> 46: </a></span><span class="l"><a href="#47"> 47: </a></span><span class="l"><a href="#48"> 48: </a></span><span class="l"><a href="#49"> 49: </a></span><span class="l"><a href="#50"> 50: </a></span><span class="l"><a href="#51"> 51: </a></span><span class="l"><a href="#52"> 52: </a></span></span><span class="l"><a href="#53"> 53: </a></span></span><span class="l"><a href="#54"> 54: </a></span></span><span class="l"><a href="#55"> 55: </a></span></span><span class="l"><a href="#56"> 56: </a></span></span><span class="l"><a href="#57"> 57: </a></span></span><span class="l"><a href="#58"> 58: </a></span><span class="l"><a href="#59"> 59: </a></span><span class="l"><a href="#60"> 60: </a></span><span class="l"><a href="#61"> 61: </a></span><span class="l"><a href="#62"> 62: </a></span><span class="l"><a href="#63"> 63: </a></span><span class="l"><a href="#64"> 64: </a></span><span class="l"><a href="#65"> 65: </a></span><span class="l"><a href="#66"> 66: </a></span><span class="l"><a href="#67"> 67: </a></span><span class="l"><a href="#68"> 68: </a></span><span class="l"><a href="#69"> 69: </a></span><span class="l"><a href="#70"> 70: </a></span><span class="l"><a href="#71"> 71: </a></span><span class="l"><a href="#72"> 72: </a></span><span class="l"><a href="#73"> 73: </a></span></span><span class="l"><a href="#74"> 74: </a></span></span><span class="l"><a href="#75"> 75: </a></span></span><span class="l"><a href="#76"> 76: </a></span></span><span class="l"><a href="#77"> 77: </a></span></span><span class="l"><a href="#78"> 78: </a></span><span class="l"><a href="#79"> 79: </a></span><span class="l"><a href="#80"> 80: </a></span><span class="l"><a href="#81"> 81: </a></span><span class="l"><a href="#82"> 82: </a></span><span class="l"><a href="#83"> 83: </a></span><span class="l"><a href="#84"> 84: </a></span><span class="l"><a href="#85"> 85: </a></span><span class="l"><a href="#86"> 86: </a></span><span class="l"><a href="#87"> 87: </a></span><span class="l"><a href="#88"> 88: </a></span><span class="l"><a href="#89"> 89: </a></span><span class="l"><a href="#90"> 90: </a></span><span class="l"><a href="#91"> 91: </a></span><span class="l"><a href="#92"> 92: </a></span><span class="l"><a href="#93"> 93: </a></span><span class="l"><a href="#94"> 94: </a></span><span class="l"><a href="#95"> 95: </a></span><span class="l"><a href="#96"> 96: </a></span><span class="l"><a href="#97"> 97: </a></span><span class="l"><a href="#98"> 98: </a></span><span class="l"><a href="#99"> 99: </a></span><span class="l"><a href="#100">100: </a></span><span class="l"><a href="#101">101: </a></span><span class="l"><a href="#102">102: </a></span><span class="l"><a href="#103">103: </a></span><span class="l"><a href="#104">104: </a></span><span class="l"><a href="#105">105: </a></span><span class="l"><a href="#106">106: </a></span><span class="l"><a href="#107">107: </a></span><span class="l"><a href="#108">108: </a></span><span class="l"><a href="#109">109: </a></span><span class="l"><a href="#110">110: </a></span><span class="l"><a href="#111">111: </a></span><span class="l"><a href="#112">112: </a></span><span class="l"><a href="#113">113: </a></span><span class="l"><a href="#114">114: </a></span><span class="l"><a href="#115">115: </a></span><span class="l"><a href="#116">116: </a></span><span class="l"><a href="#117">117: </a></span></span><span class="l"><a href="#118">118: </a></span></span><span class="l"><a href="#119">119: </a></span><span class="l"><a href="#120">120: </a></span><span class="l"><a href="#121">121: </a></span><span class="l"><a href="#122">122: </a></span><span class="l"><a href="#123">123: </a></span><span class="l"><a href="#124">124: </a></span><span class="l"><a href="#125">125: </a></span><span class="l"><a href="#126">126: </a></span><span class="l"><a href="#127">127: </a></span><span class="l"><a href="#128">128: </a></span><span class="l"><a href="#129">129: </a></span><span class="l"><a href="#130">130: </a></span><span class="l"><a href="#131">131: </a></span><span class="l"><a href="#132">132: </a></span><span class="l"><a href="#133">133: </a></span><span class="l"><a href="#134">134: </a></span><span class="l"><a href="#135">135: </a></span><span class="l"><a href="#136">136: </a></span><span class="l"><a href="#137">137: </a></span><span class="l"><a href="#138">138: </a></span><span class="l"><a href="#139">139: </a></span><span class="l"><a href="#140">140: </a></span><span class="l"><a href="#141">141: </a></span><span class="l"><a href="#142">142: </a></span><span class="l"><a href="#143">143: </a></span><span class="l"><a href="#144">144: </a></span><span class="l"><a href="#145">145: </a></span><span class="l"><a href="#146">146: </a></span><span class="l"><a href="#147">147: </a></span><span class="l"><a href="#148">148: </a></span><span class="l"><a href="#149">149: </a></span><span class="l"><a href="#150">150: </a></span><span class="l"><a href="#151">151: </a></span><span class="l"><a href="#152">152: </a></span><span class="l"><a href="#153">153: </a></span><span class="l"><a href="#154">154: </a></span><span class="l"><a href="#155">155: </a></span><span class="l"><a href="#156">156: </a></span><span class="l"><a href="#157">157: </a></span><span class="l"><a href="#158">158: </a></span><span class="l"><a href="#159">159: </a></span><span class="l"><a href="#160">160: </a></span><span class="l"><a href="#161">161: </a></span><span class="l"><a href="#162">162: </a></span><span class="l"><a href="#163">163: </a></span><span class="l"><a href="#164">164: </a></span><span class="l"><a href="#165">165: </a></span><span class="l"><a href="#166">166: </a></span><span class="l"><a href="#167">167: </a></span><span class="l"><a href="#168">168: </a></span><span class="l"><a href="#169">169: </a></span><span class="l"><a href="#170">170: </a></span></span><span class="l"><a href="#171">171: </a></span></span><span class="l"><a href="#172">172: </a></span></span><span class="l"><a href="#173">173: </a></span></span><span class="l"><a href="#174">174: </a></span><span class="l"><a href="#175">175: </a></span><span class="l"><a href="#176">176: </a></span><span class="l"><a href="#177">177: </a></span><span class="l"><a href="#178">178: </a></span><span class="l"><a href="#179">179: </a></span><span class="l"><a href="#180">180: </a></span><span class="l"><a href="#181">181: </a></span><span class="l"><a href="#182">182: </a></span></span><span class="l"><a href="#183">183: </a></span></span><span class="l"><a href="#184">184: </a></span></span><span class="l"><a href="#185">185: </a></span><span class="l"><a href="#186">186: </a></span><span class="l"><a href="#187">187: </a></span><span class="l"><a href="#188">188: </a></span><span class="l"><a href="#189">189: </a></span><span class="l"><a href="#190">190: </a></span><span class="l"><a href="#191">191: </a></span><span class="l"><a href="#192">192: </a></span><span class="l"><a href="#193">193: </a></span></span><span class="l"><a href="#194">194: </a></span></span><span class="l"><a href="#195">195: </a></span></span><span class="l"><a href="#196">196: </a></span></span><span class="l"><a href="#197">197: </a></span><span class="l"><a href="#198">198: </a></span><span class="l"><a href="#199">199: </a></span><span class="l"><a href="#200">200: </a></span><span class="l"><a href="#201">201: </a></span><span class="l"><a href="#202">202: </a></span><span class="l"><a href="#203">203: </a></span><span class="l"><a href="#204">204: </a></span><span class="l"><a href="#205">205: </a></span></span><span class="l"><a href="#206">206: </a></span></span><span class="l"><a href="#207">207: </a></span></span><span class="l"><a href="#208">208: </a></span></span><span class="l"><a href="#209">209: </a></span><span class="l"><a href="#210">210: </a></span><span class="l"><a href="#211">211: </a></span><span class="l"><a href="#212">212: </a></span><span class="l"><a href="#213">213: </a></span><span class="l"><a href="#214">214: </a></span><span class="l"><a href="#215">215: </a></span><span class="l"><a href="#216">216: </a></span><span class="l"><a href="#217">217: </a></span><span class="l"><a href="#218">218: </a></span></span><span class="l"><a href="#219">219: </a></span></span><span class="l"><a href="#220">220: </a></span></span><span class="l"><a href="#221">221: </a></span><span class="l"><a href="#222">222: </a></span><span class="l"><a href="#223">223: </a></span><span class="l"><a href="#224">224: </a></span><span class="l"><a href="#225">225: </a></span><span class="l"><a href="#226">226: </a></span><span class="l"><a href="#227">227: </a></span><span class="l"><a href="#228">228: </a></span><span class="l"><a href="#229">229: </a></span><span class="l"><a href="#230">230: </a></span><span class="l"><a href="#231">231: </a></span><span class="l"><a href="#232">232: </a></span><span class="l"><a href="#233">233: </a></span><span class="l"><a href="#234">234: </a></span><span class="l"><a href="#235">235: </a></span><span class="l"><a href="#236">236: </a></span><span class="l"><a href="#237">237: </a></span><span class="l"><a href="#238">238: </a></span><span class="l"><a href="#239">239: </a></span><span class="l"><a href="#240">240: </a></span><span class="l"><a href="#241">241: </a></span><span class="l"><a href="#242">242: </a></span><span class="l"><a href="#243">243: </a></span><span class="l"><a href="#244">244: </a></span><span class="l"><a href="#245">245: </a></span></code></pre>
140
  <pre class="code"><code><span id="1" class="l"><span class="xlang">&lt;?php</span>
141
  </span><span id="2" class="l">
142
  </span><span id="3" class="l"><span class="php-keyword1">namespace</span> WPGMZA;
143
  </span><span id="4" class="l">
144
  </span><span id="5" class="l"><span class="php-keyword1">require_once</span>(plugin_dir_path(__FILE__) . <span class="php-quote">'class.dom-element.php'</span>);
145
  </span><span id="6" class="l">
146
+ </span><span id="7" class="l"><span class="php-keyword1">class</span> DOMDocument <span class="php-keyword1">extends</span> \DOMDocument
147
+ </span><span id="8" class="l">{
148
+ </span><span id="9" class="l"> <span class="php-keyword1">private</span> <span class="php-var">$src_file</span>;
149
+ </span><span id="10" class="l">
150
+ </span><span id="11" class="l"> <span class="php-comment">/**
151
+ </span></span><span id="12" class="l"><span class="php-comment"> * Constructor
152
+ </span></span><span id="13" class="l"><span class="php-comment"> * @see http://php.net/manual/en/class.domdocument.php
153
+ </span></span><span id="14" class="l"><span class="php-comment"> */</span>
154
+ </span><span id="15" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> __construct(<span class="php-var">$version</span>=<span class="php-quote">'1.0'</span>, <span class="php-var">$encoding</span>=<span class="php-quote">'UTF-8'</span>)
155
+ </span><span id="16" class="l"> {
156
+ </span><span id="17" class="l"> \DOMDocument::__construct(<span class="php-var">$version</span>, <span class="php-var">$encoding</span>);
157
+ </span><span id="18" class="l">
158
+ </span><span id="19" class="l"> <span class="php-var">$this</span>-&gt;registerNodeClass(<span class="php-quote">'DOMElement'</span>, <span class="php-quote">'WPGMZA\DOMElement'</span>);
159
+ </span><span id="20" class="l"> <span class="php-var">$this</span>-&gt;onReady();
160
+ </span><span id="21" class="l"> }
161
+ </span><span id="22" class="l">
162
+ </span><span id="23" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> convertUTF8ToHTMLEntities(<span class="php-var">$html</span>)
163
+ </span><span id="24" class="l"> {
164
+ </span><span id="25" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">function_exists</span>(<span class="php-quote">'mb_convert_encoding'</span>))
165
+ </span><span id="26" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">mb_convert_encoding</span>(<span class="php-var">$html</span>, <span class="php-quote">'HTML-ENTITIES'</span>, <span class="php-quote">'UTF-8'</span>);
166
+ </span><span id="27" class="l"> <span class="php-keyword1">else</span>
167
+ </span><span id="28" class="l"> {
168
+ </span><span id="29" class="l"> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">'Using fallback UTF to HTML entity conversion'</span>, E_USER_NOTICE);
169
+ </span><span id="30" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">htmlspecialchars_decode</span>(<span class="php-keyword2">utf8_decode</span>(<span class="php-keyword2">htmlentities</span>(<span class="php-var">$html</span>, ENT_COMPAT, <span class="php-quote">'utf-8'</span>, <span class="php-keyword1">false</span>)));
170
+ </span><span id="31" class="l"> }
171
+ </span><span id="32" class="l"> }
172
+ </span><span id="33" class="l">
173
+ </span><span id="34" class="l"> <span class="php-comment">/**
174
+ </span></span><span id="35" class="l"><span class="php-comment"> * Fired after construction when the Document is initialized
175
+ </span></span><span id="36" class="l"><span class="php-comment"> * @return void
176
+ </span></span><span id="37" class="l"><span class="php-comment"> */</span>
177
+ </span><span id="38" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> onReady()
178
+ </span><span id="39" class="l"> {
179
+ </span><span id="40" class="l">
180
+ </span><span id="41" class="l"> }
181
+ </span><span id="42" class="l">
182
+ </span><span id="43" class="l"> <span class="php-comment">/**
183
+ </span></span><span id="44" class="l"><span class="php-comment"> * Fired after content has been loaded
184
+ </span></span><span id="45" class="l"><span class="php-comment"> * @return void
185
+ </span></span><span id="46" class="l"><span class="php-comment"> */</span>
186
+ </span><span id="47" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> onLoaded()
187
+ </span><span id="48" class="l"> {
188
+ </span><span id="49" class="l">
189
+ </span><span id="50" class="l"> }
190
+ </span><span id="51" class="l">
191
+ </span><span id="52" class="l"> <span class="php-comment">/**
192
+ </span></span><span id="53" class="l"><span class="php-comment"> * Loads the specified file and evaulates nodes
193
+ </span></span><span id="54" class="l"><span class="php-comment"> * @see http://php.net/manual/en/domdocument.load.php
194
+ </span></span><span id="55" class="l"><span class="php-comment"> * @param string $src The file you want to load
195
+ </span></span><span id="56" class="l"><span class="php-comment"> * @param int $options See http://php.net/manual/en/domdocument.load.php
196
+ </span></span><span id="57" class="l"><span class="php-comment"> * @return boolean TRUE on success, FALSE otherwise
197
+ </span></span><span id="58" class="l"><span class="php-comment"> */</span>
198
+ </span><span id="59" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> load(<span class="php-var">$src</span>, <span class="php-var">$options</span>=<span class="php-keyword1">null</span>)
199
+ </span><span id="60" class="l"> {
200
+ </span><span id="61" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">is_string</span>(<span class="php-var">$src</span>))
201
+ </span><span id="62" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Input must be a string'</span>);
202
+ </span><span id="63" class="l">
203
+ </span><span id="64" class="l"> <span class="php-var">$result</span> = \DOMDocument::load(<span class="php-var">$src</span>, <span class="php-var">$options</span>);
204
+ </span><span id="65" class="l"> <span class="php-var">$this</span>-&gt;src_file = <span class="php-var">$src</span>;
205
  </span><span id="66" class="l">
206
+ </span><span id="67" class="l"> <span class="php-var">$this</span>-&gt;onEvaluateNodes();
207
+ </span><span id="68" class="l"> <span class="php-var">$this</span>-&gt;onLoaded();
208
  </span><span id="69" class="l">
209
+ </span><span id="70" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$result</span>;
210
+ </span><span id="71" class="l"> }
211
+ </span><span id="72" class="l">
212
+ </span><span id="73" class="l"> <span class="php-comment">/**
213
+ </span></span><span id="74" class="l"><span class="php-comment"> * Loads the specified file and parses any PHP
214
+ </span></span><span id="75" class="l"><span class="php-comment"> * @param string $src The file you want to load
215
+ </span></span><span id="76" class="l"><span class="php-comment"> * @param int $options See http://php.net/manual/en/domdocument.load.php
216
+ </span></span><span id="77" class="l"><span class="php-comment"> * @return boolean TRUE on success, FALSE otherwise
217
+ </span></span><span id="78" class="l"><span class="php-comment"> */</span>
218
+ </span><span id="79" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> loadPHPFile(<span class="php-var">$src</span>, <span class="php-var">$options</span>=<span class="php-num">0</span>)
219
+ </span><span id="80" class="l"> {
220
+ </span><span id="81" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$src</span>))
221
+ </span><span id="82" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;File does not exist: </span><span class="php-var">$src</span><span class="php-quote">&quot;</span>);
222
+ </span><span id="83" class="l">
223
+ </span><span id="84" class="l"> <span class="php-keyword2">ob_start</span>();
224
+ </span><span id="85" class="l"> <span class="php-keyword1">include</span> <span class="php-var">$src</span>;
225
+ </span><span id="86" class="l"> <span class="php-var">$html</span> = <span class="php-keyword2">ob_get_clean</span>();
226
+ </span><span id="87" class="l">
227
+ </span><span id="88" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$html</span>))
228
+ </span><span id="89" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;</span><span class="php-var">$src</span><span class="php-quote"> is empty&quot;</span>);
229
  </span><span id="90" class="l">
230
+ </span><span id="91" class="l"> <span class="php-var">$html</span> = DOMDocument::convertUTF8ToHTMLEntities(<span class="php-var">$html</span>);
231
+ </span><span id="92" class="l"> <span class="php-var">$suppress_warnings</span> = !(<span class="php-keyword2">defined</span>(<span class="php-quote">'WP_DEBUG'</span>) &amp;&amp; WP_DEBUG);
232
  </span><span id="93" class="l">
233
+ </span><span id="94" class="l"> <span class="php-comment">// From PHP 5.4.0 onwards, loadHTML takes 2 arguments</span>
234
+ </span><span id="95" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">version_compare</span>(PHP_VERSION, <span class="php-quote">'5.4.0'</span>, <span class="php-quote">'&gt;='</span>))
235
+ </span><span id="96" class="l"> {
236
+ </span><span id="97" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$suppress_warnings</span>)
237
+ </span><span id="98" class="l"> <span class="php-var">$result</span> = @<span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>, <span class="php-var">$options</span>);
238
+ </span><span id="99" class="l"> <span class="php-keyword1">else</span>
239
+ </span><span id="100" class="l"> <span class="php-var">$result</span> = <span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>, <span class="php-var">$options</span>);
240
+ </span><span id="101" class="l"> }
241
+ </span><span id="102" class="l"> <span class="php-keyword1">else</span>
242
+ </span><span id="103" class="l"> {
243
+ </span><span id="104" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$suppress_warnings</span>)
244
+ </span><span id="105" class="l"> <span class="php-var">$result</span> = @<span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>);
245
+ </span><span id="106" class="l"> <span class="php-keyword1">else</span>
246
+ </span><span id="107" class="l"> <span class="php-var">$result</span> = <span class="php-var">$this</span>-&gt;loadHTML(<span class="php-var">$html</span>);
247
+ </span><span id="108" class="l"> }
248
+ </span><span id="109" class="l">
249
+ </span><span id="110" class="l"> <span class="php-var">$this</span>-&gt;src_file = <span class="php-var">$src</span>;
250
+ </span><span id="111" class="l">
251
+ </span><span id="112" class="l"> <span class="php-var">$this</span>-&gt;onLoaded();
252
+ </span><span id="113" class="l">
253
+ </span><span id="114" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$result</span>;
254
+ </span><span id="115" class="l"> }
255
+ </span><span id="116" class="l">
256
+ </span><span id="117" class="l"> <span class="php-comment">/**
257
+ </span></span><span id="118" class="l"><span class="php-comment"> * @internal Handles imports based on the content
258
+ </span></span><span id="119" class="l"><span class="php-comment"> */</span>
259
+ </span><span id="120" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> handleImport(<span class="php-var">$subject</span>, <span class="php-var">$node</span>, <span class="php-var">$forcePHP</span>=<span class="php-keyword1">false</span>)
260
+ </span><span id="121" class="l"> {
261
+ </span><span id="122" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\.html(\.php)?$/i'</span>, <span class="php-var">$subject</span>))
262
+ </span><span id="123" class="l"> {
263
+ </span><span id="124" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$subject</span>))
264
+ </span><span id="125" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;File '</span><span class="php-var">$subject</span><span class="php-quote">' not found in </span><span class="php-var">{$this-&gt;src_file}</span><span class="php-quote"> line &quot;</span> . <span class="php-var">$node</span>-&gt;getLineNo());
265
+ </span><span id="126" class="l">
266
+ </span><span id="127" class="l"> <span class="php-var">$node</span>-&gt;import(<span class="php-var">$subject</span>, <span class="php-var">$forcePHP</span>);
267
+ </span><span id="128" class="l">
268
+ </span><span id="129" class="l"> <span class="php-keyword1">return</span>;
269
+ </span><span id="130" class="l"> }
270
+ </span><span id="131" class="l">
271
+ </span><span id="132" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\.php$/i'</span>, <span class="php-var">$subject</span>))
272
+ </span><span id="133" class="l"> {
273
+ </span><span id="134" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$subject</span>))
274
+ </span><span id="135" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;File '</span><span class="php-var">$subject</span><span class="php-quote">' not found&quot;</span>);
275
+ </span><span id="136" class="l">
276
+ </span><span id="137" class="l"> <span class="php-var">$before</span> = <span class="php-keyword2">get_declared_classes</span>();
277
+ </span><span id="138" class="l"> <span class="php-keyword1">require_once</span>(<span class="php-var">$subject</span>);
278
+ </span><span id="139" class="l"> <span class="php-var">$after</span> = <span class="php-keyword2">get_declared_classes</span>();
279
+ </span><span id="140" class="l"> <span class="php-var">$diff</span> = <span class="php-keyword2">array_diff</span>(<span class="php-var">$after</span>, <span class="php-var">$before</span>);
280
+ </span><span id="141" class="l">
281
+ </span><span id="142" class="l"> <span class="php-var">$classes_in_file</span> = <span class="php-keyword1">array</span>();
282
+ </span><span id="143" class="l">
283
+ </span><span id="144" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$diff</span> <span class="php-keyword1">as</span> <span class="php-var">$class</span>) {
284
+ </span><span id="145" class="l"> <span class="php-var">$reflection</span> = <span class="php-keyword1">new</span> \ReflectionClass(<span class="php-var">$class</span>);
285
+ </span><span id="146" class="l"> <span class="php-var">$filename</span> = <span class="php-var">$reflection</span>-&gt;getFileName();
286
+ </span><span id="147" class="l">
287
+ </span><span id="148" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">realpath</span>(<span class="php-var">$filename</span>) == <span class="php-keyword2">realpath</span>(<span class="php-var">$subject</span>))
288
+ </span><span id="149" class="l"> <span class="php-keyword2">array_push</span>(<span class="php-var">$classes_in_file</span>, <span class="php-var">$class</span>);
289
+ </span><span id="150" class="l"> }
290
+ </span><span id="151" class="l">
291
+ </span><span id="152" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$classes_in_file</span>))
292
+ </span><span id="153" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'No classes found in file'</span>);
293
+ </span><span id="154" class="l">
294
+ </span><span id="155" class="l"> <span class="php-var">$class_name</span> = <span class="php-var">$classes_in_file</span>[ <span class="php-keyword2">count</span>(<span class="php-var">$classes_in_file</span>) - <span class="php-num">1</span> ];
295
+ </span><span id="156" class="l"> <span class="php-var">$instance</span> = <span class="php-keyword1">new</span> <span class="php-var">$class_name</span>();
296
+ </span><span id="157" class="l">
297
+ </span><span id="158" class="l"> <span class="php-keyword1">if</span>(!(<span class="php-var">$instance</span> <span class="php-keyword1">instanceof</span> DOMDocument))
298
+ </span><span id="159" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Class must be an instance of WPGMZA\\DOMDocument'</span>);
299
  </span><span id="160" class="l">
300
+ </span><span id="161" class="l"> <span class="php-var">$node</span>-&gt;import(<span class="php-var">$instance</span>);
301
+ </span><span id="162" class="l">
302
+ </span><span id="163" class="l"> <span class="php-keyword1">return</span>;
303
+ </span><span id="164" class="l"> }
304
+ </span><span id="165" class="l">
305
+ </span><span id="166" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">&quot;Failed to import page \&quot;</span><span class="php-var">$subject</span><span class="php-quote">\&quot; in </span><span class="php-var">{$this-&gt;src_file}</span><span class="php-quote"> on line &quot;</span> . <span class="php-var">$node</span>-&gt;getLineNo());
306
+ </span><span id="167" class="l"> }
307
+ </span><span id="168" class="l">
308
+ </span><span id="169" class="l">
309
+ </span><span id="170" class="l"> <span class="php-comment">/**
310
+ </span></span><span id="171" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelector
311
+ </span></span><span id="172" class="l"><span class="php-comment"> * @param string $query a CSS selector
312
+ </span></span><span id="173" class="l"><span class="php-comment"> * @return mixed The first descendant \Smart\Element that matches the selector, or NULL if there is no match
313
+ </span></span><span id="174" class="l"><span class="php-comment"> */</span>
314
+ </span><span id="175" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelector(<span class="php-var">$query</span>)
315
+ </span><span id="176" class="l"> {
316
+ </span><span id="177" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;documentElement)
317
+ </span><span id="178" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
318
+ </span><span id="179" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;documentElement-&gt;querySelector(<span class="php-var">$query</span>);
319
+ </span><span id="180" class="l"> }
320
+ </span><span id="181" class="l">
321
+ </span><span id="182" class="l"> <span class="php-comment">/**
322
+ </span></span><span id="183" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll
323
+ </span></span><span id="184" class="l"><span class="php-comment"> * @return mixed Any descendant \Smart\Element's that match the selector, or NULL if there is no match
324
+ </span></span><span id="185" class="l"><span class="php-comment"> */</span>
325
+ </span><span id="186" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelectorAll(<span class="php-var">$query</span>)
326
+ </span><span id="187" class="l"> {
327
+ </span><span id="188" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;documentElement)
328
+ </span><span id="189" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
329
+ </span><span id="190" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;documentElement-&gt;querySelectorAll(<span class="php-var">$query</span>);
330
+ </span><span id="191" class="l"> }
331
+ </span><span id="192" class="l">
332
+ </span><span id="193" class="l"> <span class="php-comment">/**
333
+ </span></span><span id="194" class="l"><span class="php-comment"> * Takes an associative array or object, and populates this element with it
334
+ </span></span><span id="195" class="l"><span class="php-comment"> * @param mixed $src Object or associative array
335
+ </span></span><span id="196" class="l"><span class="php-comment"> * @return void
336
+ </span></span><span id="197" class="l"><span class="php-comment"> */</span>
337
+ </span><span id="198" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> populate(<span class="php-var">$src</span>, <span class="php-var">$formatters</span>=<span class="php-keyword1">null</span>)
338
+ </span><span id="199" class="l"> {
339
+ </span><span id="200" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;documentElement)
340
+ </span><span id="201" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
341
+ </span><span id="202" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;documentElement-&gt;populate(<span class="php-var">$src</span>, <span class="php-var">$formatters</span>);
342
+ </span><span id="203" class="l"> }
343
+ </span><span id="204" class="l">
344
+ </span><span id="205" class="l"> <span class="php-comment">/**
345
+ </span></span><span id="206" class="l"><span class="php-comment"> * Utility function to create an error element
346
+ </span></span><span id="207" class="l"><span class="php-comment"> * @param string $message The error message
347
+ </span></span><span id="208" class="l"><span class="php-comment"> * @return \Smart\Element
348
+ </span></span><span id="209" class="l"><span class="php-comment"> */</span>
349
+ </span><span id="210" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> createErrorElement(<span class="php-var">$message</span>)
350
+ </span><span id="211" class="l"> {
351
+ </span><span id="212" class="l"> <span class="php-var">$span</span> = <span class="php-var">$this</span>-&gt;createElement(<span class="php-quote">'span'</span>);
352
+ </span><span id="213" class="l"> <span class="php-var">$span</span>-&gt;appendText(<span class="php-var">$message</span>);
353
+ </span><span id="214" class="l"> <span class="php-var">$span</span>-&gt;addClass(<span class="php-quote">'notice notice-error'</span>);
354
+ </span><span id="215" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$span</span>;
355
+ </span><span id="216" class="l"> }
356
+ </span><span id="217" class="l">
357
+ </span><span id="218" class="l"> <span class="php-comment">/**
358
+ </span></span><span id="219" class="l"><span class="php-comment"> * This function saves only the inside of the &lt;body&gt; element of this document. This is useful when you want to import a HTML document into another, but you don't want to end up with nested &lt;html&gt; elements
359
+ </span></span><span id="220" class="l"><span class="php-comment"> * @return string The HTML string
360
+ </span></span><span id="221" class="l"><span class="php-comment"> */</span>
361
+ </span><span id="222" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> saveInnerBody()
362
+ </span><span id="223" class="l"> {
363
+ </span><span id="224" class="l"> <span class="php-var">$result</span> = <span class="php-quote">''</span>;
364
+ </span><span id="225" class="l">
365
+ </span><span id="226" class="l"> <span class="php-var">$body</span> = <span class="php-var">$this</span>-&gt;querySelector(<span class="php-quote">'body'</span>);
366
+ </span><span id="227" class="l">
367
+ </span><span id="228" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$body</span>)
368
+ </span><span id="229" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
369
+ </span><span id="230" class="l">
370
+ </span><span id="231" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$node</span> = <span class="php-var">$body</span>-&gt;firstChild; <span class="php-var">$node</span> != <span class="php-keyword1">null</span>; <span class="php-var">$node</span> = <span class="php-var">$node</span>-&gt;nextSibling)
371
+ </span><span id="232" class="l"> <span class="php-var">$result</span> .= <span class="php-var">$this</span>-&gt;saveHTML(<span class="php-var">$node</span>);
372
+ </span><span id="233" class="l">
373
+ </span><span id="234" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$result</span>;
374
+ </span><span id="235" class="l"> }
375
+ </span><span id="236" class="l">
376
+ </span><span id="237" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> __get(<span class="php-var">$name</span>)
377
+ </span><span id="238" class="l"> {
378
+ </span><span id="239" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$name</span> == <span class="php-quote">'html'</span>)
379
+ </span><span id="240" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;saveInnerBody();
380
+ </span><span id="241" class="l">
381
+ </span><span id="242" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
382
+ </span><span id="243" class="l"> }
383
+ </span><span id="244" class="l">}
384
+ </span><span id="245" class="l"></span></code></pre>
 
385
 
386
  <div id="footer">
387
  API documentation generated by <a href="http://apigen.org">ApiGen</a>
docs/php/source-class-WPGMZA.DOMElement.html CHANGED
@@ -136,681 +136,671 @@
136
  </ul>
137
  </div>
138
 
139
- <pre class="numbers"><code><span class="l"><a href="#1"> 1: </a></span><span class="l"><a href="#2"> 2: </a></span><span class="l"><a href="#3"> 3: </a></span><span class="l"><a href="#4"> 4: </a></span><span class="l"><a href="#5"> 5: </a></span><span class="l"><a href="#6"> 6: </a></span><span class="l"><a href="#7"> 7: </a></span></span><span class="l"><a href="#8"> 8: </a></span></span><span class="l"><a href="#9"> 9: </a></span><span class="l"><a href="#10"> 10: </a></span><span class="l"><a href="#11"> 11: </a></span><span class="l"><a href="#12"> 12: </a></span><span class="l"><a href="#13"> 13: </a></span><span class="l"><a href="#14"> 14: </a></span><span class="l"><a href="#15"> 15: </a></span><span class="l"><a href="#16"> 16: </a></span><span class="l"><a href="#17"> 17: </a></span><span class="l"><a href="#18"> 18: </a></span><span class="l"><a href="#19"> 19: </a></span></span><span class="l"><a href="#20"> 20: </a></span></span><span class="l"><a href="#21"> 21: </a></span></span><span class="l"><a href="#22"> 22: </a></span></span><span class="l"><a href="#23"> 23: </a></span><span class="l"><a href="#24"> 24: </a></span><span class="l"><a href="#25"> 25: </a></span><span class="l"><a href="#26"> 26: </a></span><span class="l"><a href="#27"> 27: </a></span><span class="l"><a href="#28"> 28: </a></span><span class="l"><a href="#29"> 29: </a></span><span class="l"><a href="#30"> 30: </a></span><span class="l"><a href="#31"> 31: </a></span><span class="l"><a href="#32"> 32: </a></span></span><span class="l"><a href="#33"> 33: </a></span></span><span class="l"><a href="#34"> 34: </a></span></span><span class="l"><a href="#35"> 35: </a></span><span class="l"><a href="#36"> 36: </a></span><span class="l"><a href="#37"> 37: </a></span><span class="l"><a href="#38"> 38: </a></span><span class="l"><a href="#39"> 39: </a></span><span class="l"><a href="#40"> 40: </a></span><span class="l"><a href="#41"> 41: </a></span><span class="l"><a href="#42"> 42: </a></span><span class="l"><a href="#43"> 43: </a></span><span class="l"><a href="#44"> 44: </a></span><span class="l"><a href="#45"> 45: </a></span><span class="l"><a href="#46"> 46: </a></span><span class="l"><a href="#47"> 47: </a></span><span class="l"><a href="#48"> 48: </a></span><span class="l"><a href="#49"> 49: </a></span><span class="l"><a href="#50"> 50: </a></span><span class="l"><a href="#51"> 51: </a></span><span class="l"><a href="#52"> 52: </a></span><span class="l"><a href="#53"> 53: </a></span><span class="l"><a href="#54"> 54: </a></span><span class="l"><a href="#55"> 55: </a></span><span class="l"><a href="#56"> 56: </a></span><span class="l"><a href="#57"> 57: </a></span><span class="l"><a href="#58"> 58: </a></span></span><span class="l"><a href="#59"> 59: </a></span></span><span class="l"><a href="#60"> 60: </a></span></span><span class="l"><a href="#61"> 61: </a></span></span><span class="l"><a href="#62"> 62: </a></span><span class="l"><a href="#63"> 63: </a></span><span class="l"><a href="#64"> 64: </a></span><span class="l"><a href="#65"> 65: </a></span><span class="l"><a href="#66"> 66: </a></span><span class="l"><a href="#67"> 67: </a></span><span class="l"><a href="#68"> 68: </a></span><span class="l"><a href="#69"> 69: </a></span><span class="l"><a href="#70"> 70: </a></span><span class="l"><a href="#71"> 71: </a></span><span class="l"><a href="#72"> 72: </a></span><span class="l"><a href="#73"> 73: </a></span><span class="l"><a href="#74"> 74: </a></span><span class="l"><a href="#75"> 75: </a></span><span class="l"><a href="#76"> 76: </a></span><span class="l"><a href="#77"> 77: </a></span><span class="l"><a href="#78"> 78: </a></span></span><span class="l"><a href="#79"> 79: </a></span></span><span class="l"><a href="#80"> 80: </a></span></span><span class="l"><a href="#81"> 81: </a></span></span><span class="l"><a href="#82"> 82: </a></span><span class="l"><a href="#83"> 83: </a></span><span class="l"><a href="#84"> 84: </a></span><span class="l"><a href="#85"> 85: </a></span><span class="l"><a href="#86"> 86: </a></span><span class="l"><a href="#87"> 87: </a></span><span class="l"><a href="#88"> 88: </a></span><span class="l"><a href="#89"> 89: </a></span><span class="l"><a href="#90"> 90: </a></span><span class="l"><a href="#91"> 91: </a></span><span class="l"><a href="#92"> 92: </a></span><span class="l"><a href="#93"> 93: </a></span><span class="l"><a href="#94"> 94: </a></span><span class="l"><a href="#95"> 95: </a></span><span class="l"><a href="#96"> 96: </a></span></span><span class="l"><a href="#97"> 97: </a></span></span><span class="l"><a href="#98"> 98: </a></span></span><span class="l"><a href="#99"> 99: </a></span></span><span class="l"><a href="#100">100: </a></span><span class="l"><a href="#101">101: </a></span><span class="l"><a href="#102">102: </a></span><span class="l"><a href="#103">103: </a></span><span class="l"><a href="#104">104: </a></span><span class="l"><a href="#105">105: </a></span><span class="l"><a href="#106">106: </a></span><span class="l"><a href="#107">107: </a></span><span class="l"><a href="#108">108: </a></span><span class="l"><a href="#109">109: </a></span><span class="l"><a href="#110">110: </a></span><span class="l"><a href="#111">111: </a></span><span class="l"><a href="#112">112: </a></span><span class="l"><a href="#113">113: </a></span><span class="l"><a href="#114">114: </a></span><span class="l"><a href="#115">115: </a></span><span class="l"><a href="#116">116: </a></span></span><span class="l"><a href="#117">117: </a></span></span><span class="l"><a href="#118">118: </a></span></span><span class="l"><a href="#119">119: </a></span><span class="l"><a href="#120">120: </a></span><span class="l"><a href="#121">121: </a></span><span class="l"><a href="#122">122: </a></span><span class="l"><a href="#123">123: </a></span><span class="l"><a href="#124">124: </a></span><span class="l"><a href="#125">125: </a></span><span class="l"><a href="#126">126: </a></span><span class="l"><a href="#127">127: </a></span><span class="l"><a href="#128">128: </a></span><span class="l"><a href="#129">129: </a></span><span class="l"><a href="#130">130: </a></span><span class="l"><a href="#131">131: </a></span><span class="l"><a href="#132">132: </a></span><span class="l"><a href="#133">133: </a></span><span class="l"><a href="#134">134: </a></span><span class="l"><a href="#135">135: </a></span><span class="l"><a href="#136">136: </a></span><span class="l"><a href="#137">137: </a></span><span class="l"><a href="#138">138: </a></span><span class="l"><a href="#139">139: </a></span><span class="l"><a href="#140">140: </a></span><span class="l"><a href="#141">141: </a></span><span class="l"><a href="#142">142: </a></span><span class="l"><a href="#143">143: </a></span><span class="l"><a href="#144">144: </a></span><span class="l"><a href="#145">145: </a></span><span class="l"><a href="#146">146: </a></span><span class="l"><a href="#147">147: </a></span><span class="l"><a href="#148">148: </a></span><span class="l"><a href="#149">149: </a></span><span class="l"><a href="#150">150: </a></span><span class="l"><a href="#151">151: </a></span><span class="l"><a href="#152">152: </a></span><span class="l"><a href="#153">153: </a></span><span class="l"><a href="#154">154: </a></span><span class="l"><a href="#155">155: </a></span><span class="l"><a href="#156">156: </a></span><span class="l"><a href="#157">157: </a></span><span class="l"><a href="#158">158: </a></span><span class="l"><a href="#159">159: </a></span><span class="l"><a href="#160">160: </a></span></span><span class="l"><a href="#161">161: </a></span></span><span class="l"><a href="#162">162: </a></span></span><span class="l"><a href="#163">163: </a></span><span class="l"><a href="#164">164: </a></span><span class="l"><a href="#165">165: </a></span><span class="l"><a href="#166">166: </a></span><span class="l"><a href="#167">167: </a></span><span class="l"><a href="#168">168: </a></span><span class="l"><a href="#169">169: </a></span><span class="l"><a href="#170">170: </a></span><span class="l"><a href="#171">171: </a></span><span class="l"><a href="#172">172: </a></span></span><span class="l"><a href="#173">173: </a></span></span><span class="l"><a href="#174">174: </a></span></span><span class="l"><a href="#175">175: </a></span><span class="l"><a href="#176">176: </a></span><span class="l"><a href="#177">177: </a></span><span class="l"><a href="#178">178: </a></span><span class="l"><a href="#179">179: </a></span><span class="l"><a href="#180">180: </a></span><span class="l"><a href="#181">181: </a></span><span class="l"><a href="#182">182: </a></span><span class="l"><a href="#183">183: </a></span><span class="l"><a href="#184">184: </a></span></span><span class="l"><a href="#185">185: </a></span></span><span class="l"><a href="#186">186: </a></span></span><span class="l"><a href="#187">187: </a></span><span class="l"><a href="#188">188: </a></span><span class="l"><a href="#189">189: </a></span><span class="l"><a href="#190">190: </a></span><span class="l"><a href="#191">191: </a></span><span class="l"><a href="#192">192: </a></span><span class="l"><a href="#193">193: </a></span></span><span class="l"><a href="#194">194: </a></span></span><span class="l"><a href="#195">195: </a></span></span><span class="l"><a href="#196">196: </a></span></span><span class="l"><a href="#197">197: </a></span></span><span class="l"><a href="#198">198: </a></span><span class="l"><a href="#199">199: </a></span><span class="l"><a href="#200">200: </a></span><span class="l"><a href="#201">201: </a></span><span class="l"><a href="#202">202: </a></span><span class="l"><a href="#203">203: </a></span><span class="l"><a href="#204">204: </a></span><span class="l"><a href="#205">205: </a></span><span class="l"><a href="#206">206: </a></span><span class="l"><a href="#207">207: </a></span><span class="l"><a href="#208">208: </a></span><span class="l"><a href="#209">209: </a></span></span><span class="l"><a href="#210">210: </a></span></span><span class="l"><a href="#211">211: </a></span></span><span class="l"><a href="#212">212: </a></span></span><span class="l"><a href="#213">213: </a></span></span><span class="l"><a href="#214">214: </a></span><span class="l"><a href="#215">215: </a></span><span class="l"><a href="#216">216: </a></span><span class="l"><a href="#217">217: </a></span><span class="l"><a href="#218">218: </a></span><span class="l"><a href="#219">219: </a></span><span class="l"><a href="#220">220: </a></span><span class="l"><a href="#221">221: </a></span><span class="l"><a href="#222">222: </a></span><span class="l"><a href="#223">223: </a></span><span class="l"><a href="#224">224: </a></span><span class="l"><a href="#225">225: </a></span><span class="l"><a href="#226">226: </a></span><span class="l"><a href="#227">227: </a></span><span class="l"><a href="#228">228: </a></span><span class="l"><a href="#229">229: </a></span><span class="l"><a href="#230">230: </a></span><span class="l"><a href="#231">231: </a></span><span class="l"><a href="#232">232: </a></span><span class="l"><a href="#233">233: </a></span><span class="l"><a href="#234">234: </a></span><span class="l"><a href="#235">235: </a></span><span class="l"><a href="#236">236: </a></span><span class="l"><a href="#237">237: </a></span><span class="l"><a href="#238">238: </a></span><span class="l"><a href="#239">239: </a></span><span class="l"><a href="#240">240: </a></span><span class="l"><a href="#241">241: </a></span><span class="l"><a href="#242">242: </a></span><span class="l"><a href="#243">243: </a></span><span class="l"><a href="#244">244: </a></span><span class="l"><a href="#245">245: </a></span><span class="l"><a href="#246">246: </a></span><span class="l"><a href="#247">247: </a></span><span class="l"><a href="#248">248: </a></span><span class="l"><a href="#249">249: </a></span><span class="l"><a href="#250">250: </a></span><span class="l"><a href="#251">251: </a></span><span class="l"><a href="#252">252: </a></span><span class="l"><a href="#253">253: </a></span><span class="l"><a href="#254">254: </a></span><span class="l"><a href="#255">255: </a></span><span class="l"><a href="#256">256: </a></span><span class="l"><a href="#257">257: </a></span><span class="l"><a href="#258">258: </a></span><span class="l"><a href="#259">259: </a></span><span class="l"><a href="#260">260: </a></span><span class="l"><a href="#261">261: </a></span><span class="l"><a href="#262">262: </a></span><span class="l"><a href="#263">263: </a></span><span class="l"><a href="#264">264: </a></span><span class="l"><a href="#265">265: </a></span><span class="l"><a href="#266">266: </a></span><span class="l"><a href="#267">267: </a></span><span class="l"><a href="#268">268: </a></span><span class="l"><a href="#269">269: </a></span><span class="l"><a href="#270">270: </a></span><span class="l"><a href="#271">271: </a></span><span class="l"><a href="#272">272: </a></span><span class="l"><a href="#273">273: </a></span><span class="l"><a href="#274">274: </a></span><span class="l"><a href="#275">275: </a></span><span class="l"><a href="#276">276: </a></span><span class="l"><a href="#277">277: </a></span><span class="l"><a href="#278">278: </a></span><span class="l"><a href="#279">279: </a></span><span class="l"><a href="#280">280: </a></span><span class="l"><a href="#281">281: </a></span><span class="l"><a href="#282">282: </a></span><span class="l"><a href="#283">283: </a></span><span class="l"><a href="#284">284: </a></span><span class="l"><a href="#285">285: </a></span><span class="l"><a href="#286">286: </a></span><span class="l"><a href="#287">287: </a></span><span class="l"><a href="#288">288: </a></span><span class="l"><a href="#289">289: </a></span><span class="l"><a href="#290">290: </a></span><span class="l"><a href="#291">291: </a></span><span class="l"><a href="#292">292: </a></span><span class="l"><a href="#293">293: </a></span><span class="l"><a href="#294">294: </a></span><span class="l"><a href="#295">295: </a></span><span class="l"><a href="#296">296: </a></span><span class="l"><a href="#297">297: </a></span></span><span class="l"><a href="#298">298: </a></span></span><span class="l"><a href="#299">299: </a></span></span><span class="l"><a href="#300">300: </a></span></span><span class="l"><a href="#301">301: </a></span></span><span class="l"><a href="#302">302: </a></span><span class="l"><a href="#303">303: </a></span><span class="l"><a href="#304">304: </a></span><span class="l"><a href="#305">305: </a></span><span class="l"><a href="#306">306: </a></span><span class="l"><a href="#307">307: </a></span><span class="l"><a href="#308">308: </a></span><span class="l"><a href="#309">309: </a></span><span class="l"><a href="#310">310: </a></span><span class="l"><a href="#311">311: </a></span></span><span class="l"><a href="#312">312: </a></span></span><span class="l"><a href="#313">313: </a></span></span><span class="l"><a href="#314">314: </a></span></span><span class="l"><a href="#315">315: </a></span><span class="l"><a href="#316">316: </a></span><span class="l"><a href="#317">317: </a></span><span class="l"><a href="#318">318: </a></span><span class="l"><a href="#319">319: </a></span><span class="l"><a href="#320">320: </a></span><span class="l"><a href="#321">321: </a></span><span class="l"><a href="#322">322: </a></span><span class="l"><a href="#323">323: </a></span><span class="l"><a href="#324">324: </a></span><span class="l"><a href="#325">325: </a></span><span class="l"><a href="#326">326: </a></span><span class="l"><a href="#327">327: </a></span><span class="l"><a href="#328">328: </a></span><span class="l"><a href="#329">329: </a></span><span class="l"><a href="#330">330: </a></span><span class="l"><a href="#331">331: </a></span><span class="l"><a href="#332">332: </a></span><span class="l"><a href="#333">333: </a></span><span class="l"><a href="#334">334: </a></span><span class="l"><a href="#335">335: </a></span><span class="l"><a href="#336">336: </a></span></span><span class="l"><a href="#337">337: </a></span></span><span class="l"><a href="#338">338: </a></span></span><span class="l"><a href="#339">339: </a></span><span class="l"><a href="#340">340: </a></span><span class="l"><a href="#341">341: </a></span><span class="l"><a href="#342">342: </a></span><span class="l"><a href="#343">343: </a></span><span class="l"><a href="#344">344: </a></span><span class="l"><a href="#345">345: </a></span><span class="l"><a href="#346">346: </a></span><span class="l"><a href="#347">347: </a></span></span><span class="l"><a href="#348">348: </a></span></span><span class="l"><a href="#349">349: </a></span></span><span class="l"><a href="#350">350: </a></span></span><span class="l"><a href="#351">351: </a></span><span class="l"><a href="#352">352: </a></span><span class="l"><a href="#353">353: </a></span><span class="l"><a href="#354">354: </a></span><span class="l"><a href="#355">355: </a></span><span class="l"><a href="#356">356: </a></span><span class="l"><a href="#357">357: </a></span><span class="l"><a href="#358">358: </a></span><span class="l"><a href="#359">359: </a></span><span class="l"><a href="#360">360: </a></span><span class="l"><a href="#361">361: </a></span><span class="l"><a href="#362">362: </a></span><span class="l"><a href="#363">363: </a></span><span class="l"><a href="#364">364: </a></span></span><span class="l"><a href="#365">365: </a></span></span><span class="l"><a href="#366">366: </a></span></span><span class="l"><a href="#367">367: </a></span></span><span class="l"><a href="#368">368: </a></span><span class="l"><a href="#369">369: </a></span><span class="l"><a href="#370">370: </a></span><span class="l"><a href="#371">371: </a></span><span class="l"><a href="#372">372: </a></span><span class="l"><a href="#373">373: </a></span><span class="l"><a href="#374">374: </a></span><span class="l"><a href="#375">375: </a></span><span class="l"><a href="#376">376: </a></span><span class="l"><a href="#377">377: </a></span><span class="l"><a href="#378">378: </a></span><span class="l"><a href="#379">379: </a></span><span class="l"><a href="#380">380: </a></span></span><span class="l"><a href="#381">381: </a></span></span><span class="l"><a href="#382">382: </a></span></span><span class="l"><a href="#383">383: </a></span></span><span class="l"><a href="#384">384: </a></span><span class="l"><a href="#385">385: </a></span><span class="l"><a href="#386">386: </a></span><span class="l"><a href="#387">387: </a></span><span class="l"><a href="#388">388: </a></span><span class="l"><a href="#389">389: </a></span><span class="l"><a href="#390">390: </a></span><span class="l"><a href="#391">391: </a></span><span class="l"><a href="#392">392: </a></span><span class="l"><a href="#393">393: </a></span><span class="l"><a href="#394">394: </a></span><span class="l"><a href="#395">395: </a></span><span class="l"><a href="#396">396: </a></span><span class="l"><a href="#397">397: </a></span><span class="l"><a href="#398">398: </a></span><span class="l"><a href="#399">399: </a></span><span class="l"><a href="#400">400: </a></span><span class="l"><a href="#401">401: </a></span></span><span class="l"><a href="#402">402: </a></span></span><span class="l"><a href="#403">403: </a></span></span><span class="l"><a href="#404">404: </a></span></span><span class="l"><a href="#405">405: </a></span><span class="l"><a href="#406">406: </a></span><span class="l"><a href="#407">407: </a></span><span class="l"><a href="#408">408: </a></span><span class="l"><a href="#409">409: </a></span><span class="l"><a href="#410">410: </a></span><span class="l"><a href="#411">411: </a></span><span class="l"><a href="#412">412: </a></span><span class="l"><a href="#413">413: </a></span><span class="l"><a href="#414">414: </a></span></span><span class="l"><a href="#415">415: </a></span></span><span class="l"><a href="#416">416: </a></span></span><span class="l"><a href="#417">417: </a></span></span><span class="l"><a href="#418">418: </a></span></span><span class="l"><a href="#419">419: </a></span></span><span class="l"><a href="#420">420: </a></span></span><span class="l"><a href="#421">421: </a></span><span class="l"><a href="#422">422: </a></span><span class="l"><a href="#423">423: </a></span><span class="l"><a href="#424">424: </a></span><span class="l"><a href="#425">425: </a></span><span class="l"><a href="#426">426: </a></span><span class="l"><a href="#427">427: </a></span><span class="l"><a href="#428">428: </a></span><span class="l"><a href="#429">429: </a></span><span class="l"><a href="#430">430: </a></span><span class="l"><a href="#431">431: </a></span><span class="l"><a href="#432">432: </a></span><span class="l"><a href="#433">433: </a></span><span class="l"><a href="#434">434: </a></span><span class="l"><a href="#435">435: </a></span><span class="l"><a href="#436">436: </a></span><span class="l"><a href="#437">437: </a></span><span class="l"><a href="#438">438: </a></span><span class="l"><a href="#439">439: </a></span><span class="l"><a href="#440">440: </a></span><span class="l"><a href="#441">441: </a></span><span class="l"><a href="#442">442: </a></span><span class="l"><a href="#443">443: </a></span><span class="l"><a href="#444">444: </a></span><span class="l"><a href="#445">445: </a></span><span class="l"><a href="#446">446: </a></span><span class="l"><a href="#447">447: </a></span><span class="l"><a href="#448">448: </a></span><span class="l"><a href="#449">449: </a></span><span class="l"><a href="#450">450: </a></span><span class="l"><a href="#451">451: </a></span><span class="l"><a href="#452">452: </a></span><span class="l"><a href="#453">453: </a></span><span class="l"><a href="#454">454: </a></span><span class="l"><a href="#455">455: </a></span><span class="l"><a href="#456">456: </a></span><span class="l"><a href="#457">457: </a></span><span class="l"><a href="#458">458: </a></span></span><span class="l"><a href="#459">459: </a></span></span><span class="l"><a href="#460">460: </a></span></span><span class="l"><a href="#461">461: </a></span></span><span class="l"><a href="#462">462: </a></span></span><span class="l"><a href="#463">463: </a></span><span class="l"><a href="#464">464: </a></span><span class="l"><a href="#465">465: </a></span><span class="l"><a href="#466">466: </a></span><span class="l"><a href="#467">467: </a></span><span class="l"><a href="#468">468: </a></span><span class="l"><a href="#469">469: </a></span><span class="l"><a href="#470">470: </a></span><span class="l"><a href="#471">471: </a></span><span class="l"><a href="#472">472: </a></span><span class="l"><a href="#473">473: </a></span><span class="l"><a href="#474">474: </a></span><span class="l"><a href="#475">475: </a></span><span class="l"><a href="#476">476: </a></span><span class="l"><a href="#477">477: </a></span><span class="l"><a href="#478">478: </a></span><span class="l"><a href="#479">479: </a></span><span class="l"><a href="#480">480: </a></span><span class="l"><a href="#481">481: </a></span><span class="l"><a href="#482">482: </a></span><span class="l"><a href="#483">483: </a></span><span class="l"><a href="#484">484: </a></span><span class="l"><a href="#485">485: </a></span><span class="l"><a href="#486">486: </a></span><span class="l"><a href="#487">487: </a></span><span class="l"><a href="#488">488: </a></span><span class="l"><a href="#489">489: </a></span><span class="l"><a href="#490">490: </a></span><span class="l"><a href="#491">491: </a></span><span class="l"><a href="#492">492: </a></span><span class="l"><a href="#493">493: </a></span><span class="l"><a href="#494">494: </a></span><span class="l"><a href="#495">495: </a></span><span class="l"><a href="#496">496: </a></span><span class="l"><a href="#497">497: </a></span><span class="l"><a href="#498">498: </a></span><span class="l"><a href="#499">499: </a></span><span class="l"><a href="#500">500: </a></span><span class="l"><a href="#501">501: </a></span><span class="l"><a href="#502">502: </a></span><span class="l"><a href="#503">503: </a></span><span class="l"><a href="#504">504: </a></span><span class="l"><a href="#505">505: </a></span><span class="l"><a href="#506">506: </a></span><span class="l"><a href="#507">507: </a></span><span class="l"><a href="#508">508: </a></span><span class="l"><a href="#509">509: </a></span><span class="l"><a href="#510">510: </a></span><span class="l"><a href="#511">511: </a></span><span class="l"><a href="#512">512: </a></span><span class="l"><a href="#513">513: </a></span></span><span class="l"><a href="#514">514: </a></span></span><span class="l"><a href="#515">515: </a></span></span><span class="l"><a href="#516">516: </a></span><span class="l"><a href="#517">517: </a></span><span class="l"><a href="#518">518: </a></span><span class="l"><a href="#519">519: </a></span><span class="l"><a href="#520">520: </a></span><span class="l"><a href="#521">521: </a></span><span class="l"><a href="#522">522: </a></span><span class="l"><a href="#523">523: </a></span><span class="l"><a href="#524">524: </a></span><span class="l"><a href="#525">525: </a></span><span class="l"><a href="#526">526: </a></span><span class="l"><a href="#527">527: </a></span><span class="l"><a href="#528">528: </a></span><span class="l"><a href="#529">529: </a></span><span class="l"><a href="#530">530: </a></span><span class="l"><a href="#531">531: </a></span><span class="l"><a href="#532">532: </a></span><span class="l"><a href="#533">533: </a></span><span class="l"><a href="#534">534: </a></span><span class="l"><a href="#535">535: </a></span><span class="l"><a href="#536">536: </a></span><span class="l"><a href="#537">537: </a></span><span class="l"><a href="#538">538: </a></span><span class="l"><a href="#539">539: </a></span><span class="l"><a href="#540">540: </a></span><span class="l"><a href="#541">541: </a></span><span class="l"><a href="#542">542: </a></span><span class="l"><a href="#543">543: </a></span><span class="l"><a href="#544">544: </a></span><span class="l"><a href="#545">545: </a></span><span class="l"><a href="#546">546: </a></span><span class="l"><a href="#547">547: </a></span><span class="l"><a href="#548">548: </a></span><span class="l"><a href="#549">549: </a></span><span class="l"><a href="#550">550: </a></span></span><span class="l"><a href="#551">551: </a></span></span><span class="l"><a href="#552">552: </a></span></span><span class="l"><a href="#553">553: </a></span></span><span class="l"><a href="#554">554: </a></span></span><span class="l"><a href="#555">555: </a></span></span><span class="l"><a href="#556">556: </a></span><span class="l"><a href="#557">557: </a></span><span class="l"><a href="#558">558: </a></span><span class="l"><a href="#559">559: </a></span><span class="l"><a href="#560">560: </a></span><span class="l"><a href="#561">561: </a></span><span class="l"><a href="#562">562: </a></span><span class="l"><a href="#563">563: </a></span><span class="l"><a href="#564">564: </a></span><span class="l"><a href="#565">565: </a></span><span class="l"><a href="#566">566: </a></span><span class="l"><a href="#567">567: </a></span><span class="l"><a href="#568">568: </a></span><span class="l"><a href="#569">569: </a></span><span class="l"><a href="#570">570: </a></span><span class="l"><a href="#571">571: </a></span><span class="l"><a href="#572">572: </a></span><span class="l"><a href="#573">573: </a></span><span class="l"><a href="#574">574: </a></span><span class="l"><a href="#575">575: </a></span><span class="l"><a href="#576">576: </a></span><span class="l"><a href="#577">577: </a></span><span class="l"><a href="#578">578: </a></span><span class="l"><a href="#579">579: </a></span><span class="l"><a href="#580">580: </a></span><span class="l"><a href="#581">581: </a></span><span class="l"><a href="#582">582: </a></span><span class="l"><a href="#583">583: </a></span><span class="l"><a href="#584">584: </a></span><span class="l"><a href="#585">585: </a></span><span class="l"><a href="#586">586: </a></span><span class="l"><a href="#587">587: </a></span><span class="l"><a href="#588">588: </a></span><span class="l"><a href="#589">589: </a></span><span class="l"><a href="#590">590: </a></span><span class="l"><a href="#591">591: </a></span><span class="l"><a href="#592">592: </a></span><span class="l"><a href="#593">593: </a></span><span class="l"><a href="#594">594: </a></span><span class="l"><a href="#595">595: </a></span><span class="l"><a href="#596">596: </a></span><span class="l"><a href="#597">597: </a></span><span class="l"><a href="#598">598: </a></span><span class="l"><a href="#599">599: </a></span><span class="l"><a href="#600">600: </a></span><span class="l"><a href="#601">601: </a></span><span class="l"><a href="#602">602: </a></span><span class="l"><a href="#603">603: </a></span><span class="l"><a href="#604">604: </a></span><span class="l"><a href="#605">605: </a></span><span class="l"><a href="#606">606: </a></span><span class="l"><a href="#607">607: </a></span><span class="l"><a href="#608">608: </a></span><span class="l"><a href="#609">609: </a></span><span class="l"><a href="#610">610: </a></span><span class="l"><a href="#611">611: </a></span><span class="l"><a href="#612">612: </a></span><span class="l"><a href="#613">613: </a></span><span class="l"><a href="#614">614: </a></span><span class="l"><a href="#615">615: </a></span><span class="l"><a href="#616">616: </a></span><span class="l"><a href="#617">617: </a></span><span class="l"><a href="#618">618: </a></span><span class="l"><a href="#619">619: </a></span><span class="l"><a href="#620">620: </a></span><span class="l"><a href="#621">621: </a></span></span><span class="l"><a href="#622">622: </a></span></span><span class="l"><a href="#623">623: </a></span></span><span class="l"><a href="#624">624: </a></span></span><span class="l"><a href="#625">625: </a></span><span class="l"><a href="#626">626: </a></span><span class="l"><a href="#627">627: </a></span><span class="l"><a href="#628">628: </a></span><span class="l"><a href="#629">629: </a></span><span class="l"><a href="#630">630: </a></span><span class="l"><a href="#631">631: </a></span><span class="l"><a href="#632">632: </a></span></span><span class="l"><a href="#633">633: </a></span></span><span class="l"><a href="#634">634: </a></span></span><span class="l"><a href="#635">635: </a></span></span><span class="l"><a href="#636">636: </a></span></span><span class="l"><a href="#637">637: </a></span><span class="l"><a href="#638">638: </a></span><span class="l"><a href="#639">639: </a></span><span class="l"><a href="#640">640: </a></span><span class="l"><a href="#641">641: </a></span><span class="l"><a href="#642">642: </a></span><span class="l"><a href="#643">643: </a></span><span class="l"><a href="#644">644: </a></span><span class="l"><a href="#645">645: </a></span><span class="l"><a href="#646">646: </a></span><span class="l"><a href="#647">647: </a></span><span class="l"><a href="#648">648: </a></span><span class="l"><a href="#649">649: </a></span><span class="l"><a href="#650">650: </a></span><span class="l"><a href="#651">651: </a></span></span><span class="l"><a href="#652">652: </a></span></span><span class="l"><a href="#653">653: </a></span></span><span class="l"><a href="#654">654: </a></span><span class="l"><a href="#655">655: </a></span><span class="l"><a href="#656">656: </a></span><span class="l"><a href="#657">657: </a></span><span class="l"><a href="#658">658: </a></span><span class="l"><a href="#659">659: </a></span><span class="l"><a href="#660">660: </a></span><span class="l"><a href="#661">661: </a></span><span class="l"><a href="#662">662: </a></span></span><span class="l"><a href="#663">663: </a></span></span><span class="l"><a href="#664">664: </a></span></span><span class="l"><a href="#665">665: </a></span><span class="l"><a href="#666">666: </a></span><span class="l"><a href="#667">667: </a></span><span class="l"><a href="#668">668: </a></span><span class="l"><a href="#669">669: </a></span><span class="l"><a href="#670">670: </a></span><span class="l"><a href="#671">671: </a></span><span class="l"><a href="#672">672: </a></span><span class="l"><a href="#673">673: </a></span><span class="l"><a href="#674">674: </a></span></code></pre>
140
  <pre class="code"><code><span id="1" class="l"><span class="xlang">&lt;?php</span>
141
  </span><span id="2" class="l">
142
  </span><span id="3" class="l"><span class="php-keyword1">namespace</span> WPGMZA;
143
  </span><span id="4" class="l">
144
  </span><span id="5" class="l"><span class="php-keyword1">require_once</span>(plugin_dir_path(__FILE__) . <span class="php-quote">'class.selector-to-xpath.php'</span>);
145
  </span><span id="6" class="l">
146
- </span><span id="7" class="l"><span class="php-comment">/**
147
- </span></span><span id="8" class="l"><span class="php-comment"> * An extension of PHPs native \DOMElement, adds JavaScript / jQuery style utilities such as querySelector, prepent, closest
148
- </span></span><span id="9" class="l"><span class="php-comment"> */</span>
149
- </span><span id="10" class="l"><span class="php-keyword1">class</span> DOMElement <span class="php-keyword1">extends</span> \DOMElement
150
- </span><span id="11" class="l">{
151
- </span><span id="12" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">static</span> <span class="php-var">$xpathConverter</span>;
152
- </span><span id="13" class="l">
153
- </span><span id="14" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> __construct()
154
- </span><span id="15" class="l"> {
155
- </span><span id="16" class="l"> \DOMElement::__construct();
156
- </span><span id="17" class="l"> }
157
- </span><span id="18" class="l">
158
- </span><span id="19" class="l"> <span class="php-comment">/**
159
- </span></span><span id="20" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelector
160
- </span></span><span id="21" class="l"><span class="php-comment"> * @param string $query a CSS selector
161
- </span></span><span id="22" class="l"><span class="php-comment"> * @return mixed The first descendant element that matches the selector, or NULL if there is no match
162
- </span></span><span id="23" class="l"><span class="php-comment"> */</span>
163
- </span><span id="24" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelector(<span class="php-var">$query</span>)
164
- </span><span id="25" class="l"> {
165
- </span><span id="26" class="l"> <span class="php-var">$results</span> = <span class="php-var">$this</span>-&gt;querySelectorAll(<span class="php-var">$query</span>);
166
- </span><span id="27" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$results</span>))
167
- </span><span id="28" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
168
- </span><span id="29" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$results</span>[<span class="php-num">0</span>];
169
- </span><span id="30" class="l"> }
170
- </span><span id="31" class="l">
171
- </span><span id="32" class="l"> <span class="php-comment">/**
172
- </span></span><span id="33" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll
173
- </span></span><span id="34" class="l"><span class="php-comment"> * @return mixed Any descendant element's that match the selector, or NULL if there is no match
174
- </span></span><span id="35" class="l"><span class="php-comment"> */</span>
175
- </span><span id="36" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelectorAll(<span class="php-var">$query</span>, <span class="php-var">$sort</span>=<span class="php-keyword1">true</span>)
176
- </span><span id="37" class="l"> {
177
- </span><span id="38" class="l"> <span class="php-var">$xpath</span> = <span class="php-keyword1">new</span> \DOMXPath(<span class="php-var">$this</span>-&gt;ownerDocument);
178
- </span><span id="39" class="l">
179
- </span><span id="40" class="l"> <span class="php-keyword1">try</span>{
180
- </span><span id="41" class="l"> <span class="php-var">$expr</span> = DOMElement::selectorToXPath(<span class="php-var">$query</span>);
181
- </span><span id="42" class="l"> }<span class="php-keyword1">catch</span>(Exception <span class="php-var">$e</span>) {
182
- </span><span id="43" class="l"> <span class="php-keyword1">echo</span> <span class="php-quote">&quot;&lt;p class='notice notice-warning'&gt;Failed to convert CSS selector to XPath (&quot;</span> . <span class="php-var">$e</span>-&gt;getMessage() . <span class="php-quote">&quot;)&lt;/p&gt;&quot;</span>;
183
- </span><span id="44" class="l"> }
184
  </span><span id="45" class="l">
185
- </span><span id="46" class="l"> <span class="php-var">$list</span> = <span class="php-var">$xpath</span>-&gt;query(<span class="php-var">$expr</span>, <span class="php-var">$this</span>);
186
- </span><span id="47" class="l"> <span class="php-var">$results</span> = <span class="php-keyword1">array</span>();
187
  </span><span id="48" class="l">
188
- </span><span id="49" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-num">0</span>; <span class="php-var">$i</span> &lt; <span class="php-var">$list</span>-&gt;length; <span class="php-var">$i</span>++)
189
- </span><span id="50" class="l"> <span class="php-keyword2">array_push</span>(<span class="php-var">$results</span>, <span class="php-var">$list</span>-&gt;item(<span class="php-var">$i</span>));
190
  </span><span id="51" class="l">
191
- </span><span id="52" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$sort</span>)
192
- </span><span id="53" class="l"> <span class="php-keyword2">usort</span>(<span class="php-var">$results</span>, <span class="php-keyword1">array</span>(<span class="php-quote">'WPGMZA\DOMElement'</span>, <span class="php-quote">'sortByDOMPosition'</span>));
193
- </span><span id="54" class="l">
194
- </span><span id="55" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$results</span>;
195
- </span><span id="56" class="l"> }
196
- </span><span id="57" class="l">
197
- </span><span id="58" class="l"> <span class="php-comment">/**
198
- </span></span><span id="59" class="l"><span class="php-comment"> * Prepends the subject to this element.
199
- </span></span><span id="60" class="l"><span class="php-comment"> * @param $subject element or array of elements
200
- </span></span><span id="61" class="l"><span class="php-comment"> * @return \DOMElement This element
201
- </span></span><span id="62" class="l"><span class="php-comment"> */</span>
202
- </span><span id="63" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> prepend(<span class="php-var">$subject</span>)
203
- </span><span id="64" class="l"> {
204
- </span><span id="65" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_array</span>(<span class="php-var">$subject</span>))
205
- </span><span id="66" class="l"> {
206
- </span><span id="67" class="l"> <span class="php-var">$originalFirst</span> = <span class="php-var">$this</span>-&gt;firstChild;
207
- </span><span id="68" class="l">
208
- </span><span id="69" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$subject</span> <span class="php-keyword1">as</span> <span class="php-var">$el</span>)
209
- </span><span id="70" class="l"> <span class="php-var">$this</span>-&gt;insertBefore(<span class="php-var">$el</span>, <span class="php-var">$originalFirst</span>);
210
- </span><span id="71" class="l"> }
211
- </span><span id="72" class="l"> <span class="php-keyword1">else</span>
212
- </span><span id="73" class="l"> <span class="php-var">$this</span>-&gt;insertBefore(<span class="php-var">$subject</span>, <span class="php-var">$this</span>-&gt;firstChild);
213
- </span><span id="74" class="l">
214
- </span><span id="75" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
215
- </span><span id="76" class="l"> }
216
- </span><span id="77" class="l">
217
- </span><span id="78" class="l"> <span class="php-comment">/**
218
- </span></span><span id="79" class="l"><span class="php-comment"> * Appends the subject to this element.
219
- </span></span><span id="80" class="l"><span class="php-comment"> * @param mixed $subject Either a \DOMNode, DOMElement, or an arroy of either
220
- </span></span><span id="81" class="l"><span class="php-comment"> * @return \DOMElement This element
221
- </span></span><span id="82" class="l"><span class="php-comment"> */</span>
222
- </span><span id="83" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> append(<span class="php-var">$subject</span>)
223
- </span><span id="84" class="l"> {
224
- </span><span id="85" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_array</span>(<span class="php-var">$subject</span>))
225
- </span><span id="86" class="l"> {
226
- </span><span id="87" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$subject</span> <span class="php-keyword1">as</span> <span class="php-var">$el</span>)
227
- </span><span id="88" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$subject</span>);
228
- </span><span id="89" class="l"> }
229
- </span><span id="90" class="l"> <span class="php-keyword1">else</span>
230
- </span><span id="91" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$subject</span>);
231
- </span><span id="92" class="l">
232
- </span><span id="93" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
233
- </span><span id="94" class="l"> }
234
- </span><span id="95" class="l">
235
- </span><span id="96" class="l"> <span class="php-comment">/**
236
- </span></span><span id="97" class="l"><span class="php-comment"> * Traverses from this node up it's ancestors and returns the first node that matches the given selector
237
- </span></span><span id="98" class="l"><span class="php-comment"> * @param mixed $selector Either this node the first ancestor that matches this selector, or NULL if no match is found
238
- </span></span><span id="99" class="l"><span class="php-comment"> * @return mixed The closest matching elmeent, or null if none is found.
239
- </span></span><span id="100" class="l"><span class="php-comment"> */</span>
240
- </span><span id="101" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> closest(<span class="php-var">$selector</span>)
241
- </span><span id="102" class="l"> {
242
- </span><span id="103" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span> === <span class="php-var">$this</span>-&gt;ownerDocument-&gt;documentElement)
243
- </span><span id="104" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Method not valid on document element'</span>);
244
- </span><span id="105" class="l">
245
- </span><span id="106" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$el</span> = <span class="php-var">$this</span>; <span class="php-var">$el</span>-&gt;parentNode != <span class="php-keyword1">null</span>; <span class="php-var">$el</span> = <span class="php-var">$el</span>-&gt;parentNode)
246
- </span><span id="107" class="l"> {
247
- </span><span id="108" class="l"> <span class="php-var">$m</span> = <span class="php-var">$el</span>-&gt;parentNode-&gt;querySelectorAll(<span class="php-var">$selector</span>);
248
- </span><span id="109" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">array_search</span>(<span class="php-var">$el</span>, <span class="php-var">$m</span>, <span class="php-keyword1">true</span>) !== <span class="php-keyword1">false</span>)
249
- </span><span id="110" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$el</span>;
250
- </span><span id="111" class="l"> }
251
- </span><span id="112" class="l">
252
- </span><span id="113" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
253
- </span><span id="114" class="l"> }
254
- </span><span id="115" class="l">
255
- </span><span id="116" class="l"> <span class="php-comment">/**
256
- </span></span><span id="117" class="l"><span class="php-comment"> * Test if this element comes before the other element in the DOM tree
257
- </span></span><span id="118" class="l"><span class="php-comment"> * @return boolean TRUE if this element comes before the other, FALSE if not
258
- </span></span><span id="119" class="l"><span class="php-comment"> */</span>
259
- </span><span id="120" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> isBefore(<span class="php-var">$other</span>)
260
- </span><span id="121" class="l"> {
261
- </span><span id="122" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;parentNode === <span class="php-var">$other</span>-&gt;parentNode)
262
- </span><span id="123" class="l"> <span class="php-keyword1">return</span> (<span class="php-var">$this</span>-&gt;getBreadth() &lt; <span class="php-var">$other</span>-&gt;getBreadth());
263
  </span><span id="124" class="l">
264
- </span><span id="125" class="l"> <span class="php-var">$this_depth</span> = <span class="php-var">$this</span>-&gt;getDepth();
265
- </span><span id="126" class="l"> <span class="php-var">$other_depth</span> = <span class="php-var">$other</span>-&gt;getDepth();
266
- </span><span id="127" class="l">
267
- </span><span id="128" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this_depth</span> == <span class="php-var">$other_depth</span>)
268
- </span><span id="129" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;parentNode-&gt;isBefore(<span class="php-var">$other</span>-&gt;parentNode);
269
- </span><span id="130" class="l">
270
- </span><span id="131" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this_depth</span> &gt; <span class="php-var">$other_depth</span>)
271
- </span><span id="132" class="l"> {
272
- </span><span id="133" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$this</span>;
273
- </span><span id="134" class="l"> <span class="php-var">$ancestor_depth</span> = <span class="php-var">$this_depth</span>;
274
  </span><span id="135" class="l">
275
- </span><span id="136" class="l"> <span class="php-keyword1">while</span>(<span class="php-var">$ancestor_depth</span> &gt; <span class="php-var">$other_depth</span>)
276
- </span><span id="137" class="l"> {
277
- </span><span id="138" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$ancestor</span>-&gt;parentNode;
278
- </span><span id="139" class="l"> <span class="php-var">$ancestor_depth</span>--;
279
- </span><span id="140" class="l"> }
280
- </span><span id="141" class="l">
281
- </span><span id="142" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$ancestor</span>-&gt;isBefore(<span class="php-var">$other</span>);
282
- </span><span id="143" class="l"> }
283
- </span><span id="144" class="l">
284
- </span><span id="145" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this_depth</span> &lt; <span class="php-var">$other_depth</span>)
285
- </span><span id="146" class="l"> {
286
- </span><span id="147" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$other</span>;
287
- </span><span id="148" class="l"> <span class="php-var">$ancestor_depth</span> = <span class="php-var">$other_depth</span>;
288
  </span><span id="149" class="l">
289
- </span><span id="150" class="l"> <span class="php-keyword1">while</span>(<span class="php-var">$ancestor_depth</span> &gt; <span class="php-var">$this_depth</span>)
290
- </span><span id="151" class="l"> {
291
- </span><span id="152" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$ancestor</span>-&gt;parentNode;
292
- </span><span id="153" class="l"> <span class="php-var">$ancestor_depth</span>--;
293
- </span><span id="154" class="l"> }
294
- </span><span id="155" class="l">
295
- </span><span id="156" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;isBefore(<span class="php-var">$ancestor</span>);
296
- </span><span id="157" class="l"> }
297
- </span><span id="158" class="l"> }
298
- </span><span id="159" class="l">
299
- </span><span id="160" class="l"> <span class="php-comment">/**
300
- </span></span><span id="161" class="l"><span class="php-comment"> * Returns the breadth (sometimes called child index) of this node in regards to it's siblings
301
- </span></span><span id="162" class="l"><span class="php-comment"> * @return int The index of this node
302
- </span></span><span id="163" class="l"><span class="php-comment"> */</span>
303
- </span><span id="164" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getBreadth()
304
- </span><span id="165" class="l"> {
305
- </span><span id="166" class="l"> <span class="php-var">$breadth</span> = <span class="php-num">0</span>;
306
- </span><span id="167" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;previousSibling; <span class="php-var">$node</span> != <span class="php-keyword1">null</span>; <span class="php-var">$node</span> = <span class="php-var">$node</span>-&gt;previousSibling)
307
- </span><span id="168" class="l"> <span class="php-var">$breadth</span>++;
308
- </span><span id="169" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$breadth</span>;
309
- </span><span id="170" class="l"> }
310
- </span><span id="171" class="l">
311
- </span><span id="172" class="l"> <span class="php-comment">/**
312
- </span></span><span id="173" class="l"><span class="php-comment"> * Returns the depth of this node in regards to it's ancestors
313
- </span></span><span id="174" class="l"><span class="php-comment"> * @return int The depth of this node
314
- </span></span><span id="175" class="l"><span class="php-comment"> */</span>
315
- </span><span id="176" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getDepth()
316
- </span><span id="177" class="l"> {
317
- </span><span id="178" class="l"> <span class="php-var">$depth</span> = <span class="php-num">0</span>;
318
- </span><span id="179" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;parentNode; <span class="php-var">$node</span> != <span class="php-keyword1">null</span>; <span class="php-var">$node</span> = <span class="php-var">$node</span>-&gt;parentNode)
319
- </span><span id="180" class="l"> <span class="php-var">$depth</span>++;
320
- </span><span id="181" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$depth</span>;
321
- </span><span id="182" class="l"> }
322
- </span><span id="183" class="l">
323
- </span><span id="184" class="l"> <span class="php-comment">/**
324
- </span></span><span id="185" class="l"><span class="php-comment"> * Returns -1 if $b is before $a in the DOM tree
325
- </span></span><span id="186" class="l"><span class="php-comment"> * @internal sort function for DOM position sort
326
- </span></span><span id="187" class="l"><span class="php-comment"> */</span>
327
- </span><span id="188" class="l"> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> sortByDOMPosition(<span class="php-var">$a</span>, <span class="php-var">$b</span>)
328
- </span><span id="189" class="l"> {
329
- </span><span id="190" class="l"> <span class="php-keyword1">return</span> (<span class="php-var">$a</span>-&gt;isBefore(<span class="php-var">$b</span>) ? -<span class="php-num">1</span> : <span class="php-num">1</span>);
330
- </span><span id="191" class="l"> }
331
- </span><span id="192" class="l">
332
- </span><span id="193" class="l"> <span class="php-comment">/**
333
- </span></span><span id="194" class="l"><span class="php-comment"> * Converts a selector to an XPath
334
- </span></span><span id="195" class="l"><span class="php-comment"> * @internal Calls the CSS to XPath converter on the specified selector
335
- </span></span><span id="196" class="l"><span class="php-comment"> * @param string $selector The CSS selector
336
- </span></span><span id="197" class="l"><span class="php-comment"> * @return string The resulting XPath expression
337
- </span></span><span id="198" class="l"><span class="php-comment"> */</span>
338
- </span><span id="199" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> selectorToXPath(<span class="php-var">$selector</span>)
339
- </span><span id="200" class="l"> {
340
- </span><span id="201" class="l"> <span class="php-keyword1">if</span>(!DOMElement::<span class="php-var">$xpathConverter</span>)
341
- </span><span id="202" class="l"> DOMElement::<span class="php-var">$xpathConverter</span> = <span class="php-keyword1">new</span> Selector\XPathConverter();
342
- </span><span id="203" class="l">
343
- </span><span id="204" class="l"> <span class="php-var">$xpath</span> = DOMElement::<span class="php-var">$xpathConverter</span>-&gt;convert(<span class="php-var">$selector</span>);
344
- </span><span id="205" class="l">
345
- </span><span id="206" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$xpath</span>;
346
- </span><span id="207" class="l"> }
347
- </span><span id="208" class="l">
348
- </span><span id="209" class="l"> <span class="php-comment">/**
349
- </span></span><span id="210" class="l"><span class="php-comment"> * Imports the supplied subject into this node.
350
- </span></span><span id="211" class="l"><span class="php-comment"> * @param mixed $subject. Either a \DOMDocument, \DOMNode, .html filename, or string containing HTML/text. The function will attempt to detect which. If you import HTML that contains a &lt;body&gt; element, it will only import the inner body
351
- </span></span><span id="212" class="l"><span class="php-comment"> * @throws \Exception the subject was not recognised as any of the types above
352
- </span></span><span id="213" class="l"><span class="php-comment"> * @return $this element
353
- </span></span><span id="214" class="l"><span class="php-comment"> */</span>
354
- </span><span id="215" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> import(<span class="php-var">$subject</span>, <span class="php-var">$forcePHP</span>=<span class="php-keyword1">false</span>)
355
- </span><span id="216" class="l"> {
356
- </span><span id="217" class="l"> <span class="php-keyword1">global</span> <span class="php-var">$wpgmza</span>;
357
- </span><span id="218" class="l">
358
- </span><span id="219" class="l"> <span class="php-var">$node</span> = <span class="php-keyword1">null</span>;
359
- </span><span id="220" class="l">
360
- </span><span id="221" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$subject</span> <span class="php-keyword1">instanceof</span> \DOMDocument)
361
  </span><span id="222" class="l"> {
362
- </span><span id="223" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$subject</span>-&gt;documentElement)
363
- </span><span id="224" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
364
- </span><span id="225" class="l">
365
- </span><span id="226" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$subject</span>-&gt;documentElement, <span class="php-keyword1">true</span>);
366
- </span><span id="227" class="l">
367
- </span><span id="228" class="l"> }
368
- </span><span id="229" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-var">$subject</span> <span class="php-keyword1">instanceof</span> \DOMNode)
369
- </span><span id="230" class="l"> {
370
- </span><span id="231" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$subject</span>, <span class="php-keyword1">true</span>);
371
- </span><span id="232" class="l"> }
372
- </span><span id="233" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/(\.html|\.php)$/i'</span>, <span class="php-var">$subject</span>, <span class="php-var">$m</span>))
373
- </span><span id="234" class="l"> {
374
- </span><span id="235" class="l"> <span class="php-comment">// Subject is a filename</span>
375
- </span><span id="236" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$subject</span>))
376
- </span><span id="237" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'HTML file not found'</span>);
377
- </span><span id="238" class="l">
378
- </span><span id="239" class="l"> <span class="php-var">$temp</span> = <span class="php-keyword1">new</span> DOMDocument(<span class="php-quote">'1.0'</span>, <span class="php-quote">'UTF-8'</span>);
379
- </span><span id="240" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$forcePHP</span> || <span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\.php$/i'</span>, <span class="php-var">$m</span>[<span class="php-num">1</span>]))
380
- </span><span id="241" class="l"> <span class="php-var">$temp</span>-&gt;loadPHPFile(<span class="php-var">$subject</span>);
381
- </span><span id="242" class="l"> <span class="php-keyword1">else</span>
382
- </span><span id="243" class="l"> <span class="php-var">$temp</span>-&gt;load(<span class="php-var">$subject</span>);
383
- </span><span id="244" class="l">
384
- </span><span id="245" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$temp</span>-&gt;documentElement, <span class="php-keyword1">true</span>);
385
- </span><span id="246" class="l"> }
386
- </span><span id="247" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_string</span>(<span class="php-var">$subject</span>))
387
- </span><span id="248" class="l"> {
388
- </span><span id="249" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$subject</span>))
389
- </span><span id="250" class="l"> <span class="php-keyword1">return</span>;
390
- </span><span id="251" class="l">
391
- </span><span id="252" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$subject</span> != <span class="php-keyword2">strip_tags</span>(<span class="php-var">$subject</span>))
392
- </span><span id="253" class="l"> {
393
- </span><span id="254" class="l"> <span class="php-comment">// Subject is a HTML string</span>
394
- </span><span id="255" class="l"> <span class="php-var">$html</span> = DOMDocument::convertUTF8ToHTMLEntities(<span class="php-var">$subject</span>);
395
  </span><span id="256" class="l">
396
- </span><span id="257" class="l"> <span class="php-var">$temp</span> = <span class="php-keyword1">new</span> DOMDocument(<span class="php-quote">'1.0'</span>, <span class="php-quote">'UTF-8'</span>);
397
- </span><span id="258" class="l"> <span class="php-var">$str</span> = <span class="php-quote">&quot;&lt;div id='domdocument-import-payload___'&gt;&quot;</span> . <span class="php-var">$subject</span> . <span class="php-quote">&quot;&lt;/div&gt;&quot;</span>;
398
- </span><span id="259" class="l">
399
- </span><span id="260" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword1">empty</span>(<span class="php-var">$wpgmza</span>-&gt;settings-&gt;developer_mode))
400
- </span><span id="261" class="l"> <span class="php-var">$temp</span>-&gt;loadHTML(<span class="php-var">$str</span>);
401
- </span><span id="262" class="l"> <span class="php-keyword1">else</span>
402
- </span><span id="263" class="l"> @<span class="php-var">$temp</span>-&gt;loadHTML(<span class="php-var">$str</span>);
403
- </span><span id="264" class="l">
404
- </span><span id="265" class="l"> <span class="php-var">$body</span> = <span class="php-var">$temp</span>-&gt;querySelector(<span class="php-quote">'#domdocument-import-payload___'</span>);
405
- </span><span id="266" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$child</span> = <span class="php-var">$body</span>-&gt;firstChild; <span class="php-var">$child</span> != <span class="php-keyword1">null</span>; <span class="php-var">$child</span> = <span class="php-var">$child</span>-&gt;nextSibling)
406
- </span><span id="267" class="l"> {
407
- </span><span id="268" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$child</span>, <span class="php-keyword1">true</span>);
408
- </span><span id="269" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$node</span>);
409
- </span><span id="270" class="l"> }
410
- </span><span id="271" class="l"> }
411
- </span><span id="272" class="l"> <span class="php-keyword1">else</span>
412
- </span><span id="273" class="l"> <span class="php-comment">// Subject is a plain string</span>
413
- </span><span id="274" class="l"> <span class="php-var">$this</span>-&gt;appendText(<span class="php-var">$subject</span>);
414
- </span><span id="275" class="l">
415
- </span><span id="276" class="l"> <span class="php-keyword1">return</span>;
416
- </span><span id="277" class="l"> }
417
- </span><span id="278" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$subject</span>))
418
- </span><span id="279" class="l"> {
419
- </span><span id="280" class="l"> <span class="php-keyword1">return</span>;
420
- </span><span id="281" class="l"> }
421
- </span><span id="282" class="l"> <span class="php-keyword1">else</span>
422
- </span><span id="283" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Don\'t know how to import &quot;'</span> . <span class="php-keyword2">print_r</span>(<span class="php-var">$subject</span>, <span class="php-keyword1">true</span>) . <span class="php-quote">'&quot; in '</span> . <span class="php-var">$this</span>-&gt;ownerDocument-&gt;documentURI . <span class="php-quote">' on line '</span> . <span class="php-var">$this</span>-&gt;getLineNo());
423
- </span><span id="284" class="l">
424
- </span><span id="285" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$body</span> = <span class="php-var">$node</span>-&gt;querySelector(<span class="php-quote">&quot;body&quot;</span>))
425
- </span><span id="286" class="l"> {
426
- </span><span id="287" class="l"> <span class="php-comment">// TODO: I don't think a query selector is necessary here. Iterating over the bodies children should be more optimal.</span>
427
- </span><span id="288" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$node</span>-&gt;querySelectorAll(<span class="php-quote">&quot;body&gt;*&quot;</span>) <span class="php-keyword1">as</span> <span class="php-var">$child</span>)
428
- </span><span id="289" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$child</span>);
429
- </span><span id="290" class="l"> }
430
- </span><span id="291" class="l"> <span class="php-keyword1">else</span>
431
- </span><span id="292" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$node</span>);
432
- </span><span id="293" class="l">
433
- </span><span id="294" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
434
- </span><span id="295" class="l"> }
435
- </span><span id="296" class="l">
436
- </span><span id="297" class="l"> <span class="php-comment">/**
437
- </span></span><span id="298" class="l"><span class="php-comment"> * Sets an inline CSS style on this element. If it's already set, the old value will be removed first
438
- </span></span><span id="299" class="l"><span class="php-comment"> * @param string $name the CSS property name eg 'background-color'
439
- </span></span><span id="300" class="l"><span class="php-comment"> * @param string $value the value of the property eg '#ff4400'
440
- </span></span><span id="301" class="l"><span class="php-comment"> * @return DOMElement $this
441
- </span></span><span id="302" class="l"><span class="php-comment"> */</span>
442
- </span><span id="303" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> setInlineStyle(<span class="php-var">$name</span>, <span class="php-var">$value</span>)
443
- </span><span id="304" class="l"> {
444
- </span><span id="305" class="l"> <span class="php-var">$this</span>-&gt;removeInlineStyle(<span class="php-var">$name</span>);
445
- </span><span id="306" class="l"> <span class="php-var">$style</span> = <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>);
446
- </span><span id="307" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'style'</span>, <span class="php-var">$style</span> . <span class="php-var">$name</span> . <span class="php-quote">':'</span> . <span class="php-var">$value</span> . <span class="php-quote">';'</span>);
447
- </span><span id="308" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
448
- </span><span id="309" class="l"> }
449
- </span><span id="310" class="l">
450
- </span><span id="311" class="l"> <span class="php-comment">/**
451
- </span></span><span id="312" class="l"><span class="php-comment"> * Removes the inline CSS style specified by name
452
- </span></span><span id="313" class="l"><span class="php-comment"> * @param string $name the name of the CSS property eg 'background-color'
453
- </span></span><span id="314" class="l"><span class="php-comment"> * @return DOMElement $this
454
- </span></span><span id="315" class="l"><span class="php-comment"> */</span>
455
- </span><span id="316" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> removeInlineStyle(<span class="php-var">$name</span>)
456
- </span><span id="317" class="l"> {
457
- </span><span id="318" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'style'</span>))
458
- </span><span id="319" class="l"> <span class="php-keyword1">return</span>;
459
- </span><span id="320" class="l"> <span class="php-var">$style</span> = <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>);
460
- </span><span id="321" class="l">
461
- </span><span id="322" class="l"> <span class="php-var">$rules</span> = <span class="php-keyword2">preg_split</span>(<span class="php-quote">'/\s*;\s*/'</span>, <span class="php-var">$style</span>);
462
  </span><span id="323" class="l">
463
- </span><span id="324" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-keyword2">count</span>(<span class="php-var">$rules</span>) - <span class="php-num">1</span>; <span class="php-var">$i</span> &gt;= <span class="php-num">0</span>; <span class="php-var">$i</span>--)
464
- </span><span id="325" class="l"> {
465
- </span><span id="326" class="l"> <span class="php-var">$param</span> = <span class="php-keyword2">preg_quote</span>(<span class="php-var">$name</span>);
466
- </span><span id="327" class="l">
467
- </span><span id="328" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">&quot;/^</span><span class="php-var">$param</span><span class="php-quote">\s*:/&quot;</span>, <span class="php-keyword2">trim</span>(<span class="php-var">$rules</span>[<span class="php-var">$i</span>])))
468
- </span><span id="329" class="l"> <span class="php-keyword1">unset</span>(<span class="php-var">$rules</span>[<span class="php-var">$i</span>]);
469
- </span><span id="330" class="l"> }
470
- </span><span id="331" class="l">
471
- </span><span id="332" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'style'</span>, <span class="php-keyword2">implode</span>(<span class="php-quote">';'</span>, <span class="php-var">$rules</span>));
472
- </span><span id="333" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
473
- </span><span id="334" class="l"> }
474
- </span><span id="335" class="l">
475
- </span><span id="336" class="l"> <span class="php-comment">/**
476
- </span></span><span id="337" class="l"><span class="php-comment"> * Check if this element has an inline style by name
477
- </span></span><span id="338" class="l"><span class="php-comment"> * @param string $name the name of the CSS property to test for
478
- </span></span><span id="339" class="l"><span class="php-comment"> */</span>
479
- </span><span id="340" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> hasInlineStyle(<span class="php-var">$name</span>)
480
- </span><span id="341" class="l"> {
481
- </span><span id="342" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'style'</span>))
482
- </span><span id="343" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
483
- </span><span id="344" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">preg_match</span>(<span class="php-quote">&quot;/\s*</span><span class="php-var">$name</span><span class="php-quote">:.*?((;\s*)|</span><span class="php-var">$</span><span class="php-quote">)/&quot;</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>));
484
- </span><span id="345" class="l"> }
485
- </span><span id="346" class="l">
486
- </span><span id="347" class="l"> <span class="php-comment">/**
487
- </span></span><span id="348" class="l"><span class="php-comment"> * Gets the value of the inline style by name
488
- </span></span><span id="349" class="l"><span class="php-comment"> * @param string $name the name of the CSS property you want the value for
489
- </span></span><span id="350" class="l"><span class="php-comment"> * @return mixed FALSE if there is no style property or no style with that name exists, or a string containing the property value if it does
490
- </span></span><span id="351" class="l"><span class="php-comment"> */</span>
491
- </span><span id="352" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getInlineStyle(<span class="php-var">$name</span>)
492
- </span><span id="353" class="l"> {
493
- </span><span id="354" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'style'</span>))
494
- </span><span id="355" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
495
- </span><span id="356" class="l">
496
- </span><span id="357" class="l"> <span class="php-var">$m</span> = <span class="php-keyword1">null</span>;
497
- </span><span id="358" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">preg_match</span>(<span class="php-quote">&quot;/\s*</span><span class="php-var">$name</span><span class="php-quote">:(.*?)((;\s*)|</span><span class="php-var">$</span><span class="php-quote">)/&quot;</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>)))
498
- </span><span id="359" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
499
- </span><span id="360" class="l">
500
- </span><span id="361" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$m</span>[<span class="php-num">1</span>];
501
- </span><span id="362" class="l"> }
502
- </span><span id="363" class="l">
503
- </span><span id="364" class="l"> <span class="php-comment">/**
504
- </span></span><span id="365" class="l"><span class="php-comment"> * Adds a class to this elements class attribute. It will be ignored if the class already exists
505
- </span></span><span id="366" class="l"><span class="php-comment"> * @param string $name The classname
506
- </span></span><span id="367" class="l"><span class="php-comment"> * @return $this
507
- </span></span><span id="368" class="l"><span class="php-comment"> */</span>
508
- </span><span id="369" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> addClass(<span class="php-var">$name</span>)
509
- </span><span id="370" class="l"> {
510
- </span><span id="371" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;hasClass(<span class="php-var">$name</span>))
511
- </span><span id="372" class="l"> <span class="php-keyword1">return</span>;
512
- </span><span id="373" class="l">
513
- </span><span id="374" class="l"> <span class="php-var">$class</span> = (<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'class'</span>) ? <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'class'</span>) : <span class="php-quote">''</span>);
514
- </span><span id="375" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'class'</span>, <span class="php-var">$class</span> . (<span class="php-keyword2">strlen</span>(<span class="php-var">$class</span>) &gt; <span class="php-num">0</span> ? <span class="php-quote">' '</span> : <span class="php-quote">''</span>) . <span class="php-var">$name</span>);
515
- </span><span id="376" class="l">
516
- </span><span id="377" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
517
- </span><span id="378" class="l"> }
518
- </span><span id="379" class="l">
519
- </span><span id="380" class="l"> <span class="php-comment">/**
520
- </span></span><span id="381" class="l"><span class="php-comment"> * Removes the specified class from this nodes class attribute
521
- </span></span><span id="382" class="l"><span class="php-comment"> * @param string $name The classname
522
- </span></span><span id="383" class="l"><span class="php-comment"> * @return $this
523
- </span></span><span id="384" class="l"><span class="php-comment"> */</span>
524
- </span><span id="385" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> removeClass(<span class="php-var">$name</span>)
525
- </span><span id="386" class="l"> {
526
- </span><span id="387" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'class'</span>))
527
- </span><span id="388" class="l"> <span class="php-keyword1">return</span>;
528
- </span><span id="389" class="l">
529
- </span><span id="390" class="l"> <span class="php-var">$class</span> = <span class="php-keyword2">trim</span>(
530
- </span><span id="391" class="l"> <span class="php-keyword2">preg_replace</span>(<span class="php-quote">'/\s{2,}/'</span>, <span class="php-quote">' '</span>,
531
- </span><span id="392" class="l"> <span class="php-keyword2">preg_replace</span>(<span class="php-quote">'/\\b'</span> . <span class="php-var">$name</span> . <span class="php-quote">'\\b/'</span>, <span class="php-quote">' '</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'class'</span>))
532
- </span><span id="393" class="l"> )
533
- </span><span id="394" class="l"> );
534
- </span><span id="395" class="l">
535
- </span><span id="396" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'class'</span>, <span class="php-var">$class</span>);
536
- </span><span id="397" class="l">
537
- </span><span id="398" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
538
- </span><span id="399" class="l"> }
539
- </span><span id="400" class="l">
540
- </span><span id="401" class="l"> <span class="php-comment">/**
541
- </span></span><span id="402" class="l"><span class="php-comment"> * Tests if the specified class exists on this elements class attribute
542
- </span></span><span id="403" class="l"><span class="php-comment"> * @param string $name The classname
543
- </span></span><span id="404" class="l"><span class="php-comment"> * @return boolean FALSE if no such class existst, TRUE if it does
544
- </span></span><span id="405" class="l"><span class="php-comment"> */</span>
545
- </span><span id="406" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> hasClass(<span class="php-var">$name</span>)
546
- </span><span id="407" class="l"> {
547
- </span><span id="408" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'class'</span>))
548
- </span><span id="409" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
549
- </span><span id="410" class="l">
550
- </span><span id="411" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\\b'</span> . <span class="php-var">$name</span> . <span class="php-quote">'\\b/'</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'class'</span>));
551
- </span><span id="412" class="l"> }
552
- </span><span id="413" class="l">
553
- </span><span id="414" class="l"> <span class="php-comment">/**
554
- </span></span><span id="415" class="l"><span class="php-comment"> * Populates the target element. If it is a form element, the value will be set according to the elements type/nodeName. If not, the value will be imported instead.
555
- </span></span><span id="416" class="l"><span class="php-comment"> * @param The target element. Usually a descendant of this element
556
- </span></span><span id="417" class="l"><span class="php-comment"> * @param string $key the key of the value we're populating with, used for formatting
557
- </span></span><span id="418" class="l"><span class="php-comment"> * @param string $value the value to populate with
558
- </span></span><span id="419" class="l"><span class="php-comment"> * @param array $formatters an array associative of functions to format certain values with, functions should be specified by key
559
- </span></span><span id="420" class="l"><span class="php-comment"> * @return void
560
- </span></span><span id="421" class="l"><span class="php-comment"> */</span>
561
- </span><span id="422" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> populateElement(<span class="php-var">$target</span>, <span class="php-var">$key</span>, <span class="php-var">$value</span>, <span class="php-var">$formatters</span>)
562
- </span><span id="423" class="l"> {
563
- </span><span id="424" class="l"> <span class="php-keyword1">if</span>(!(<span class="php-var">$target</span> <span class="php-keyword1">instanceof</span> \DOMElement))
564
- </span><span id="425" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Argument must be a DOMElement'</span>);
565
- </span><span id="426" class="l">
566
- </span><span id="427" class="l"> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$target</span>-&gt;nodeName))
567
- </span><span id="428" class="l"> {
568
- </span><span id="429" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'textarea'</span>:
569
- </span><span id="430" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'select'</span>:
570
- </span><span id="431" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'input'</span>:
571
- </span><span id="432" class="l"> <span class="php-var">$target</span>-&gt;setValue(<span class="php-var">$value</span>);
572
- </span><span id="433" class="l"> <span class="php-keyword1">break</span>;
573
- </span><span id="434" class="l">
574
- </span><span id="435" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'img'</span>:
575
- </span><span id="436" class="l"> <span class="php-var">$target</span>-&gt;setAttribute(<span class="php-quote">'src'</span>, <span class="php-var">$value</span>);
576
- </span><span id="437" class="l"> <span class="php-keyword1">break</span>;
577
- </span><span id="438" class="l">
578
- </span><span id="439" class="l"> <span class="php-keyword1">default</span>:
579
- </span><span id="440" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">is_null</span>(<span class="php-var">$formatters</span>) &amp;&amp; <span class="php-keyword1">isset</span>(<span class="php-var">$formatters</span>[<span class="php-var">$key</span>]))
580
- </span><span id="441" class="l"> <span class="php-var">$value</span> = <span class="php-var">$formatters</span>[<span class="php-var">$key</span>](<span class="php-var">$value</span>);
581
- </span><span id="442" class="l">
582
- </span><span id="443" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$value</span> <span class="php-keyword1">instanceof</span> \DateTime)
583
- </span><span id="444" class="l"> <span class="php-var">$value</span> = <span class="php-var">$value</span>-&gt;format(<span class="php-quote">'D jS M \'y g:ia'</span>);
584
- </span><span id="445" class="l">
585
- </span><span id="446" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$key</span> == <span class="php-quote">'price'</span>)
586
- </span><span id="447" class="l"> <span class="php-var">$value</span> = <span class="php-keyword2">number_format</span>(<span class="php-var">$value</span>, <span class="php-num">2</span>, <span class="php-quote">'.'</span>, <span class="php-quote">''</span>);
587
- </span><span id="448" class="l">
588
- </span><span id="449" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_object</span>(<span class="php-var">$value</span>))
589
- </span><span id="450" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Expected simple type in &quot;'</span>.<span class="php-var">$key</span>.<span class="php-quote">'&quot; =&gt; &quot;'</span>.<span class="php-keyword2">print_r</span>(<span class="php-var">$value</span>,<span class="php-keyword1">true</span>).<span class="php-quote">'&quot;'</span>);
590
- </span><span id="451" class="l">
591
- </span><span id="452" class="l"> <span class="php-var">$target</span>-&gt;import( <span class="php-var">$value</span> );
592
- </span><span id="453" class="l">
593
- </span><span id="454" class="l"> <span class="php-keyword1">break</span>;
594
- </span><span id="455" class="l"> }
595
- </span><span id="456" class="l"> }
596
- </span><span id="457" class="l">
597
- </span><span id="458" class="l"> <span class="php-comment">/**
598
- </span></span><span id="459" class="l"><span class="php-comment"> * Takes a source object or associative array and optional array of formatting functions, and populates descendant named elements with the values from that source.
599
- </span></span><span id="460" class="l"><span class="php-comment"> * @param mixed $src Associative array or object with the keys and values
600
- </span></span><span id="461" class="l"><span class="php-comment"> * @param array $formatters Optional associative array of functions to format values with. The keys on this array correspond with the keys on $src
601
- </span></span><span id="462" class="l"><span class="php-comment"> * @return DOMElement This element
602
- </span></span><span id="463" class="l"><span class="php-comment"> */</span>
603
- </span><span id="464" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> populate(<span class="php-var">$src</span>=<span class="php-keyword1">null</span>, <span class="php-var">$formatters</span>=<span class="php-keyword1">null</span>)
604
- </span><span id="465" class="l"> {
605
- </span><span id="466" class="l"> <span class="php-var">$x</span> = <span class="php-keyword1">new</span> \DOMXPath(<span class="php-var">$this</span>-&gt;ownerDocument);
606
- </span><span id="467" class="l">
607
- </span><span id="468" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$src</span>)
608
- </span><span id="469" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
609
- </span><span id="470" class="l">
610
- </span><span id="471" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_scalar</span>(<span class="php-var">$src</span>))
611
- </span><span id="472" class="l"> {
612
- </span><span id="473" class="l"> <span class="php-var">$this</span>-&gt;appendText(<span class="php-var">$src</span>);
613
- </span><span id="474" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
614
- </span><span id="475" class="l"> }
615
- </span><span id="476" class="l">
616
- </span><span id="477" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$src</span> <span class="php-keyword1">as</span> <span class="php-var">$key</span> =&gt; <span class="php-var">$value</span>)
617
- </span><span id="478" class="l"> {
618
- </span><span id="479" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_array</span>(<span class="php-var">$value</span>))
619
- </span><span id="480" class="l"> {
620
- </span><span id="481" class="l"> <span class="php-var">$m</span> = <span class="php-var">$x</span>-&gt;query(<span class="php-quote">'descendant-or-self::*[@name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'[]&quot;]'</span>, <span class="php-var">$this</span>);
621
- </span><span id="482" class="l">
622
- </span><span id="483" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$m</span>-&gt;length &gt; <span class="php-num">0</span> &amp;&amp; <span class="php-keyword2">count</span>(<span class="php-var">$value</span>) != <span class="php-var">$m</span>-&gt;length)
623
- </span><span id="484" class="l"> {
624
- </span><span id="485" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$src</span> = <span class="php-var">$m</span>-&gt;item(<span class="php-num">0</span>)-&gt;closest(<span class="php-quote">'li,tr'</span>))
625
- </span><span id="486" class="l"> {
626
- </span><span id="487" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-var">$m</span>-&gt;length; <span class="php-var">$i</span> &lt; <span class="php-keyword2">count</span>(<span class="php-var">$value</span>); <span class="php-var">$i</span>++)
627
- </span><span id="488" class="l"> {
628
- </span><span id="489" class="l"> <span class="php-var">$item</span> = <span class="php-var">$src</span>-&gt;cloneNode(<span class="php-keyword1">true</span>);
629
- </span><span id="490" class="l"> <span class="php-var">$src</span>-&gt;parentNode-&gt;appendChild(<span class="php-var">$item</span>);
630
- </span><span id="491" class="l"> }
631
- </span><span id="492" class="l"> <span class="php-var">$m</span> = <span class="php-var">$x</span>-&gt;query(<span class="php-quote">'descendant-or-self::*[@name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'[]&quot;]'</span>, <span class="php-var">$this</span>);
632
- </span><span id="493" class="l"> }
633
- </span><span id="494" class="l"> <span class="php-keyword1">else</span>
634
- </span><span id="495" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Number of elements must match ('</span> . <span class="php-keyword2">count</span>(<span class="php-var">$value</span>) . <span class="php-quote">' != '</span> . <span class="php-var">$m</span>-&gt;length . <span class="php-quote">')'</span>);
635
- </span><span id="496" class="l"> }
636
- </span><span id="497" class="l">
637
- </span><span id="498" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-num">0</span>; <span class="php-var">$i</span> &lt; <span class="php-var">$m</span>-&gt;length; <span class="php-var">$i</span>++)
638
- </span><span id="499" class="l"> <span class="php-var">$this</span>-&gt;populateElement(<span class="php-var">$m</span>-&gt;item(<span class="php-var">$i</span>), <span class="php-var">$key</span>, <span class="php-var">$value</span>[<span class="php-var">$i</span>], <span class="php-var">$formatters</span>);
639
- </span><span id="500" class="l"> }
640
- </span><span id="501" class="l"> <span class="php-keyword1">else</span>
641
- </span><span id="502" class="l"> {
642
- </span><span id="503" class="l"> <span class="php-var">$m</span> = <span class="php-var">$x</span>-&gt;query(<span class="php-quote">'descendant-or-self::*[@name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'&quot; or @data-name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'&quot;]'</span>, <span class="php-var">$this</span>);
643
- </span><span id="504" class="l">
644
- </span><span id="505" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-num">0</span>; <span class="php-var">$i</span> &lt; <span class="php-var">$m</span>-&gt;length; <span class="php-var">$i</span>++)
645
- </span><span id="506" class="l"> <span class="php-var">$this</span>-&gt;populateElement(<span class="php-var">$m</span>-&gt;item(<span class="php-var">$i</span>), <span class="php-var">$key</span>, <span class="php-var">$value</span>, <span class="php-var">$formatters</span>);
646
- </span><span id="507" class="l"> }
647
- </span><span id="508" class="l"> }
648
- </span><span id="509" class="l">
649
- </span><span id="510" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
650
- </span><span id="511" class="l"> }
651
- </span><span id="512" class="l">
652
- </span><span id="513" class="l"> <span class="php-comment">/**
653
- </span></span><span id="514" class="l"><span class="php-comment"> * Gets the value of this element
654
- </span></span><span id="515" class="l"><span class="php-comment"> * @return mixed A string if the element a text input, textarea or plain node, a boolean if the element is a checkbox or radio, or the value of the selected option if this element is a select
655
- </span></span><span id="516" class="l"><span class="php-comment"> */</span>
656
- </span><span id="517" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getValue()
657
- </span><span id="518" class="l"> {
658
- </span><span id="519" class="l"> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;nodeName))
659
- </span><span id="520" class="l"> {
660
- </span><span id="521" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'input'</span>:
661
- </span><span id="522" class="l"> <span class="php-var">$type</span> = (<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'type'</span>) ? <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'type'</span>) : <span class="php-quote">'text'</span>);
662
- </span><span id="523" class="l"> <span class="php-keyword1">switch</span>(<span class="php-var">$type</span>)
663
- </span><span id="524" class="l"> {
664
- </span><span id="525" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'radio'</span>:
665
- </span><span id="526" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'checkbox'</span>:
666
- </span><span id="527" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'checked'</span>);
667
- </span><span id="528" class="l"> <span class="php-keyword1">break</span>;
668
- </span><span id="529" class="l">
669
- </span><span id="530" class="l"> <span class="php-keyword1">default</span>:
670
- </span><span id="531" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'value'</span>);
671
- </span><span id="532" class="l"> <span class="php-keyword1">break</span>;
672
- </span><span id="533" class="l"> }
673
- </span><span id="534" class="l"> <span class="php-keyword1">break</span>;
674
  </span><span id="535" class="l">
675
- </span><span id="536" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'select'</span>:
676
- </span><span id="537" class="l"> <span class="php-var">$option</span> = <span class="php-var">$this</span>-&gt;querySelector(<span class="php-quote">'option[selected]'</span>);
677
- </span><span id="538" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$option</span>)
678
- </span><span id="539" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
679
- </span><span id="540" class="l">
680
- </span><span id="541" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$option</span>-&gt;hasAttribute(<span class="php-quote">'value'</span>))
681
- </span><span id="542" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$option</span>-&gt;getAttribute(<span class="php-quote">'value'</span>);
682
- </span><span id="543" class="l">
683
- </span><span id="544" class="l"> <span class="php-keyword1">default</span>:
684
- </span><span id="545" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;nodeValue;
685
- </span><span id="546" class="l"> <span class="php-keyword1">break</span>;
686
- </span><span id="547" class="l"> }
687
- </span><span id="548" class="l"> }
688
- </span><span id="549" class="l">
689
- </span><span id="550" class="l"> <span class="php-comment">/**
690
- </span></span><span id="551" class="l"><span class="php-comment"> * Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute
691
- </span></span><span id="552" class="l"><span class="php-comment"> * @param mixed The value to set
692
- </span></span><span id="553" class="l"><span class="php-comment"> * @throws \Exception If this element is a select, SMART_STRICT_MODE is declared and no option with that value exists
693
- </span></span><span id="554" class="l"><span class="php-comment"> * @throws \Exception If you call this method on a non-form element
694
- </span></span><span id="555" class="l"><span class="php-comment"> * @return This element
695
- </span></span><span id="556" class="l"><span class="php-comment"> */</span>
696
- </span><span id="557" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> setValue(<span class="php-var">$value</span>)
697
- </span><span id="558" class="l"> {
698
- </span><span id="559" class="l"> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;nodeName))
699
- </span><span id="560" class="l"> {
700
- </span><span id="561" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'textarea'</span>:
701
- </span><span id="562" class="l"> <span class="php-var">$this</span>-&gt;clear();
702
- </span><span id="563" class="l"> <span class="php-var">$this</span>-&gt;appendText( <span class="php-var">$value</span> );
703
- </span><span id="564" class="l"> <span class="php-keyword1">break</span>;
704
- </span><span id="565" class="l">
705
- </span><span id="566" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'select'</span>:
706
- </span><span id="567" class="l"> <span class="php-var">$deselect</span> = <span class="php-var">$this</span>-&gt;querySelectorAll(<span class="php-quote">'option[selected]'</span>);
707
- </span><span id="568" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$deselect</span> <span class="php-keyword1">as</span> <span class="php-var">$d</span>)
708
- </span><span id="569" class="l"> <span class="php-var">$d</span>-&gt;removeAttribute(<span class="php-quote">'selected'</span>);
709
- </span><span id="570" class="l">
710
- </span><span id="571" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$value</span> === <span class="php-keyword1">null</span>)
711
- </span><span id="572" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
712
  </span><span id="573" class="l">
713
- </span><span id="574" class="l"> <span class="php-var">$option</span> = <span class="php-var">$this</span>-&gt;querySelector(<span class="php-quote">'option[value=&quot;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&quot;]'</span>);
714
- </span><span id="575" class="l">
715
- </span><span id="576" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$option</span>)
716
- </span><span id="577" class="l"> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">'Option with value &quot;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&quot; not found in &quot;'</span> . (<span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'name'</span>)) . <span class="php-quote">'&quot;'</span>, E_USER_WARNING);
717
- </span><span id="578" class="l"> <span class="php-keyword1">else</span>
718
- </span><span id="579" class="l"> <span class="php-var">$option</span>-&gt;setAttribute(<span class="php-quote">'selected'</span>, <span class="php-quote">'selected'</span>);
719
- </span><span id="580" class="l">
720
- </span><span id="581" class="l"> <span class="php-keyword1">break</span>;
721
- </span><span id="582" class="l">
722
- </span><span id="583" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'input'</span>:
723
- </span><span id="584" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'type'</span>) || <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'type'</span>) == <span class="php-quote">'text'</span>)
724
- </span><span id="585" class="l"> {
725
- </span><span id="586" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_string</span>(<span class="php-var">$value</span>))
726
- </span><span id="587" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'value'</span>, <span class="php-var">$value</span>);
727
- </span><span id="588" class="l"> }
728
- </span><span id="589" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'type'</span>)))
729
- </span><span id="590" class="l"> {
730
- </span><span id="591" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'radio'</span>:
731
- </span><span id="592" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'value'</span>) &amp;&amp; <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'value'</span>) == <span class="php-var">$value</span>)
732
- </span><span id="593" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'checked'</span>, <span class="php-quote">'checked'</span>);
733
- </span><span id="594" class="l"> <span class="php-keyword1">else</span>
734
- </span><span id="595" class="l"> <span class="php-var">$this</span>-&gt;removeAttribute(<span class="php-quote">'checked'</span>);
735
- </span><span id="596" class="l"> <span class="php-keyword1">break</span>;
736
- </span><span id="597" class="l">
737
- </span><span id="598" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'checkbox'</span>:
738
- </span><span id="599" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword1">empty</span>(<span class="php-var">$value</span>) &amp;&amp; <span class="php-var">$value</span> != <span class="php-keyword1">false</span>)
739
- </span><span id="600" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'checked'</span>, <span class="php-quote">'checked'</span>);
740
- </span><span id="601" class="l"> <span class="php-keyword1">else</span>
741
- </span><span id="602" class="l"> <span class="php-var">$this</span>-&gt;removeAttribute(<span class="php-quote">'checked'</span>);
742
- </span><span id="603" class="l"> <span class="php-keyword1">break</span>;
743
- </span><span id="604" class="l">
744
- </span><span id="605" class="l"> <span class="php-keyword1">default</span>:
745
- </span><span id="606" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'value'</span>, <span class="php-var">$value</span>);
746
- </span><span id="607" class="l"> <span class="php-keyword1">break</span>;
747
- </span><span id="608" class="l"> }
748
- </span><span id="609" class="l"> <span class="php-keyword1">break</span>;
749
- </span><span id="610" class="l">
750
- </span><span id="611" class="l"> <span class="php-keyword1">default</span>:
751
- </span><span id="612" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Not yet implemented'</span>);
752
- </span><span id="613" class="l">
753
- </span><span id="614" class="l"> <span class="php-var">$this</span>-&gt;nodeValue = <span class="php-var">$value</span>;
754
- </span><span id="615" class="l"> <span class="php-keyword1">break</span>;
755
- </span><span id="616" class="l"> }
756
- </span><span id="617" class="l">
757
- </span><span id="618" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
758
- </span><span id="619" class="l"> }
759
- </span><span id="620" class="l">
760
- </span><span id="621" class="l"> <span class="php-comment">/**
761
- </span></span><span id="622" class="l"><span class="php-comment"> * Appends the specified text to this element, shorthand utility function
762
- </span></span><span id="623" class="l"><span class="php-comment"> * @param string $text The text to append
763
- </span></span><span id="624" class="l"><span class="php-comment"> * @return DOMElement This element
764
- </span></span><span id="625" class="l"><span class="php-comment"> */</span>
765
- </span><span id="626" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> appendText(<span class="php-var">$text</span>)
766
- </span><span id="627" class="l"> {
767
- </span><span id="628" class="l"> <span class="php-var">$this</span>-&gt;appendChild( <span class="php-var">$this</span>-&gt;ownerDocument-&gt;createTextNode( <span class="php-var">$text</span> ) );
768
- </span><span id="629" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
769
- </span><span id="630" class="l"> }
770
- </span><span id="631" class="l">
771
- </span><span id="632" class="l"> <span class="php-comment">/**
772
- </span></span><span id="633" class="l"><span class="php-comment"> * Utility function to append the specified element after one of this elements children. Will append at the end if after is null
773
- </span></span><span id="634" class="l"><span class="php-comment"> * @param DOMElement $elem the element to insert
774
- </span></span><span id="635" class="l"><span class="php-comment"> * @param DOMElement $after one of this elements children, or null
775
- </span></span><span id="636" class="l"><span class="php-comment"> * @return DOMElement this element
776
- </span></span><span id="637" class="l"><span class="php-comment"> */</span>
777
- </span><span id="638" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> insertAfter(<span class="php-var">$elem</span>, <span class="php-var">$after</span>=<span class="php-keyword1">null</span>)
778
- </span><span id="639" class="l"> {
779
- </span><span id="640" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$after</span>-&gt;parentNode &amp;&amp; <span class="php-var">$after</span>-&gt;parentNode !== <span class="php-var">$this</span>)
780
- </span><span id="641" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Hierarchy error'</span>);
781
- </span><span id="642" class="l">
782
- </span><span id="643" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$after</span>-&gt;nextSibling)
783
- </span><span id="644" class="l"> <span class="php-var">$this</span>-&gt;insertBefore(<span class="php-var">$elem</span>, <span class="php-var">$after</span>-&gt;nextSibling);
784
- </span><span id="645" class="l"> <span class="php-keyword1">else</span>
785
- </span><span id="646" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$elem</span>);
786
- </span><span id="647" class="l">
787
- </span><span id="648" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
788
- </span><span id="649" class="l"> }
789
- </span><span id="650" class="l">
790
- </span><span id="651" class="l"> <span class="php-comment">/**
791
- </span></span><span id="652" class="l"><span class="php-comment"> * Clears this element, completely removing all it's contents
792
- </span></span><span id="653" class="l"><span class="php-comment"> * @return DOMElement This element
793
- </span></span><span id="654" class="l"><span class="php-comment"> */</span>
794
- </span><span id="655" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> clear()
795
- </span><span id="656" class="l"> {
796
- </span><span id="657" class="l"> <span class="php-keyword1">while</span>(<span class="php-var">$this</span>-&gt;childNodes-&gt;length)
797
- </span><span id="658" class="l"> <span class="php-var">$this</span>-&gt;removeChild(<span class="php-var">$this</span>-&gt;firstChild);
798
- </span><span id="659" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
799
- </span><span id="660" class="l"> }
800
- </span><span id="661" class="l">
801
- </span><span id="662" class="l"> <span class="php-comment">/**
802
- </span></span><span id="663" class="l"><span class="php-comment"> * Removes this element from it's parent
803
- </span></span><span id="664" class="l"><span class="php-comment"> * @return DOMElement This element
804
- </span></span><span id="665" class="l"><span class="php-comment"> */</span>
805
- </span><span id="666" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> remove()
806
- </span><span id="667" class="l"> {
807
- </span><span id="668" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;parentNode)
808
- </span><span id="669" class="l"> <span class="php-var">$this</span>-&gt;parentNode-&gt;removeChild(<span class="php-var">$this</span>);
809
- </span><span id="670" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
810
- </span><span id="671" class="l"> }
811
- </span><span id="672" class="l">}
812
- </span><span id="673" class="l">
813
- </span><span id="674" class="l"></span></code></pre>
814
 
815
  <div id="footer">
816
  API documentation generated by <a href="http://apigen.org">ApiGen</a>
136
  </ul>
137
  </div>
138
 
139
+ <pre class="numbers"><code><span class="l"><a href="#1"> 1: </a></span><span class="l"><a href="#2"> 2: </a></span><span class="l"><a href="#3"> 3: </a></span><span class="l"><a href="#4"> 4: </a></span><span class="l"><a href="#5"> 5: </a></span><span class="l"><a href="#6"> 6: </a></span><span class="l"><a href="#7"> 7: </a></span><span class="l"><a href="#8"> 8: </a></span><span class="l"><a href="#9"> 9: </a></span><span class="l"><a href="#10"> 10: </a></span><span class="l"><a href="#11"> 11: </a></span><span class="l"><a href="#12"> 12: </a></span><span class="l"><a href="#13"> 13: </a></span><span class="l"><a href="#14"> 14: </a></span><span class="l"><a href="#15"> 15: </a></span><span class="l"><a href="#16"> 16: </a></span></span><span class="l"><a href="#17"> 17: </a></span></span><span class="l"><a href="#18"> 18: </a></span></span><span class="l"><a href="#19"> 19: </a></span></span><span class="l"><a href="#20"> 20: </a></span><span class="l"><a href="#21"> 21: </a></span><span class="l"><a href="#22"> 22: </a></span><span class="l"><a href="#23"> 23: </a></span><span class="l"><a href="#24"> 24: </a></span><span class="l"><a href="#25"> 25: </a></span><span class="l"><a href="#26"> 26: </a></span><span class="l"><a href="#27"> 27: </a></span><span class="l"><a href="#28"> 28: </a></span><span class="l"><a href="#29"> 29: </a></span></span><span class="l"><a href="#30"> 30: </a></span></span><span class="l"><a href="#31"> 31: </a></span></span><span class="l"><a href="#32"> 32: </a></span><span class="l"><a href="#33"> 33: </a></span><span class="l"><a href="#34"> 34: </a></span><span class="l"><a href="#35"> 35: </a></span><span class="l"><a href="#36"> 36: </a></span><span class="l"><a href="#37"> 37: </a></span><span class="l"><a href="#38"> 38: </a></span><span class="l"><a href="#39"> 39: </a></span><span class="l"><a href="#40"> 40: </a></span><span class="l"><a href="#41"> 41: </a></span><span class="l"><a href="#42"> 42: </a></span><span class="l"><a href="#43"> 43: </a></span><span class="l"><a href="#44"> 44: </a></span><span class="l"><a href="#45"> 45: </a></span><span class="l"><a href="#46"> 46: </a></span><span class="l"><a href="#47"> 47: </a></span><span class="l"><a href="#48"> 48: </a></span><span class="l"><a href="#49"> 49: </a></span><span class="l"><a href="#50"> 50: </a></span><span class="l"><a href="#51"> 51: </a></span><span class="l"><a href="#52"> 52: </a></span><span class="l"><a href="#53"> 53: </a></span><span class="l"><a href="#54"> 54: </a></span><span class="l"><a href="#55"> 55: </a></span></span><span class="l"><a href="#56"> 56: </a></span></span><span class="l"><a href="#57"> 57: </a></span></span><span class="l"><a href="#58"> 58: </a></span></span><span class="l"><a href="#59"> 59: </a></span><span class="l"><a href="#60"> 60: </a></span><span class="l"><a href="#61"> 61: </a></span><span class="l"><a href="#62"> 62: </a></span><span class="l"><a href="#63"> 63: </a></span><span class="l"><a href="#64"> 64: </a></span><span class="l"><a href="#65"> 65: </a></span><span class="l"><a href="#66"> 66: </a></span><span class="l"><a href="#67"> 67: </a></span><span class="l"><a href="#68"> 68: </a></span><span class="l"><a href="#69"> 69: </a></span><span class="l"><a href="#70"> 70: </a></span><span class="l"><a href="#71"> 71: </a></span><span class="l"><a href="#72"> 72: </a></span><span class="l"><a href="#73"> 73: </a></span><span class="l"><a href="#74"> 74: </a></span><span class="l"><a href="#75"> 75: </a></span></span><span class="l"><a href="#76"> 76: </a></span></span><span class="l"><a href="#77"> 77: </a></span><span class="l"><a href="#78"> 78: </a></span><span class="l"><a href="#79"> 79: </a></span><span class="l"><a href="#80"> 80: </a></span><span class="l"><a href="#81"> 81: </a></span><span class="l"><a href="#82"> 82: </a></span><span class="l"><a href="#83"> 83: </a></span><span class="l"><a href="#84"> 84: </a></span><span class="l"><a href="#85"> 85: </a></span><span class="l"><a href="#86"> 86: </a></span><span class="l"><a href="#87"> 87: </a></span><span class="l"><a href="#88"> 88: </a></span><span class="l"><a href="#89"> 89: </a></span><span class="l"><a href="#90"> 90: </a></span><span class="l"><a href="#91"> 91: </a></span></span><span class="l"><a href="#92"> 92: </a></span></span><span class="l"><a href="#93"> 93: </a></span></span><span class="l"><a href="#94"> 94: </a></span><span class="l"><a href="#95"> 95: </a></span><span class="l"><a href="#96"> 96: </a></span><span class="l"><a href="#97"> 97: </a></span><span class="l"><a href="#98"> 98: </a></span><span class="l"><a href="#99"> 99: </a></span><span class="l"><a href="#100">100: </a></span><span class="l"><a href="#101">101: </a></span><span class="l"><a href="#102">102: </a></span><span class="l"><a href="#103">103: </a></span><span class="l"><a href="#104">104: </a></span><span class="l"><a href="#105">105: </a></span><span class="l"><a href="#106">106: </a></span><span class="l"><a href="#107">107: </a></span><span class="l"><a href="#108">108: </a></span><span class="l"><a href="#109">109: </a></span><span class="l"><a href="#110">110: </a></span></span><span class="l"><a href="#111">111: </a></span></span><span class="l"><a href="#112">112: </a></span></span><span class="l"><a href="#113">113: </a></span><span class="l"><a href="#114">114: </a></span><span class="l"><a href="#115">115: </a></span><span class="l"><a href="#116">116: </a></span><span class="l"><a href="#117">117: </a></span><span class="l"><a href="#118">118: </a></span><span class="l"><a href="#119">119: </a></span><span class="l"><a href="#120">120: </a></span><span class="l"><a href="#121">121: </a></span><span class="l"><a href="#122">122: </a></span><span class="l"><a href="#123">123: </a></span><span class="l"><a href="#124">124: </a></span><span class="l"><a href="#125">125: </a></span><span class="l"><a href="#126">126: </a></span><span class="l"><a href="#127">127: </a></span><span class="l"><a href="#128">128: </a></span><span class="l"><a href="#129">129: </a></span><span class="l"><a href="#130">130: </a></span><span class="l"><a href="#131">131: </a></span><span class="l"><a href="#132">132: </a></span><span class="l"><a href="#133">133: </a></span><span class="l"><a href="#134">134: </a></span><span class="l"><a href="#135">135: </a></span><span class="l"><a href="#136">136: </a></span><span class="l"><a href="#137">137: </a></span><span class="l"><a href="#138">138: </a></span><span class="l"><a href="#139">139: </a></span><span class="l"><a href="#140">140: </a></span><span class="l"><a href="#141">141: </a></span><span class="l"><a href="#142">142: </a></span><span class="l"><a href="#143">143: </a></span><span class="l"><a href="#144">144: </a></span><span class="l"><a href="#145">145: </a></span><span class="l"><a href="#146">146: </a></span><span class="l"><a href="#147">147: </a></span><span class="l"><a href="#148">148: </a></span><span class="l"><a href="#149">149: </a></span><span class="l"><a href="#150">150: </a></span><span class="l"><a href="#151">151: </a></span><span class="l"><a href="#152">152: </a></span><span class="l"><a href="#153">153: </a></span><span class="l"><a href="#154">154: </a></span></span><span class="l"><a href="#155">155: </a></span></span><span class="l"><a href="#156">156: </a></span></span><span class="l"><a href="#157">157: </a></span><span class="l"><a href="#158">158: </a></span><span class="l"><a href="#159">159: </a></span><span class="l"><a href="#160">160: </a></span><span class="l"><a href="#161">161: </a></span><span class="l"><a href="#162">162: </a></span><span class="l"><a href="#163">163: </a></span><span class="l"><a href="#164">164: </a></span><span class="l"><a href="#165">165: </a></span><span class="l"><a href="#166">166: </a></span></span><span class="l"><a href="#167">167: </a></span></span><span class="l"><a href="#168">168: </a></span></span><span class="l"><a href="#169">169: </a></span><span class="l"><a href="#170">170: </a></span><span class="l"><a href="#171">171: </a></span><span class="l"><a href="#172">172: </a></span><span class="l"><a href="#173">173: </a></span><span class="l"><a href="#174">174: </a></span><span class="l"><a href="#175">175: </a></span><span class="l"><a href="#176">176: </a></span><span class="l"><a href="#177">177: </a></span><span class="l"><a href="#178">178: </a></span></span><span class="l"><a href="#179">179: </a></span></span><span class="l"><a href="#180">180: </a></span><span class="l"><a href="#181">181: </a></span><span class="l"><a href="#182">182: </a></span><span class="l"><a href="#183">183: </a></span><span class="l"><a href="#184">184: </a></span><span class="l"><a href="#185">185: </a></span><span class="l"><a href="#186">186: </a></span></span><span class="l"><a href="#187">187: </a></span></span><span class="l"><a href="#188">188: </a></span></span><span class="l"><a href="#189">189: </a></span></span><span class="l"><a href="#190">190: </a></span><span class="l"><a href="#191">191: </a></span><span class="l"><a href="#192">192: </a></span><span class="l"><a href="#193">193: </a></span><span class="l"><a href="#194">194: </a></span><span class="l"><a href="#195">195: </a></span><span class="l"><a href="#196">196: </a></span><span class="l"><a href="#197">197: </a></span><span class="l"><a href="#198">198: </a></span><span class="l"><a href="#199">199: </a></span><span class="l"><a href="#200">200: </a></span><span class="l"><a href="#201">201: </a></span></span><span class="l"><a href="#202">202: </a></span></span><span class="l"><a href="#203">203: </a></span></span><span class="l"><a href="#204">204: </a></span></span><span class="l"><a href="#205">205: </a></span></span><span class="l"><a href="#206">206: </a></span><span class="l"><a href="#207">207: </a></span><span class="l"><a href="#208">208: </a></span><span class="l"><a href="#209">209: </a></span><span class="l"><a href="#210">210: </a></span><span class="l"><a href="#211">211: </a></span><span class="l"><a href="#212">212: </a></span><span class="l"><a href="#213">213: </a></span><span class="l"><a href="#214">214: </a></span><span class="l"><a href="#215">215: </a></span><span class="l"><a href="#216">216: </a></span><span class="l"><a href="#217">217: </a></span><span class="l"><a href="#218">218: </a></span><span class="l"><a href="#219">219: </a></span><span class="l"><a href="#220">220: </a></span><span class="l"><a href="#221">221: </a></span><span class="l"><a href="#222">222: </a></span><span class="l"><a href="#223">223: </a></span><span class="l"><a href="#224">224: </a></span><span class="l"><a href="#225">225: </a></span><span class="l"><a href="#226">226: </a></span><span class="l"><a href="#227">227: </a></span><span class="l"><a href="#228">228: </a></span><span class="l"><a href="#229">229: </a></span><span class="l"><a href="#230">230: </a></span><span class="l"><a href="#231">231: </a></span><span class="l"><a href="#232">232: </a></span><span class="l"><a href="#233">233: </a></span><span class="l"><a href="#234">234: </a></span><span class="l"><a href="#235">235: </a></span><span class="l"><a href="#236">236: </a></span><span class="l"><a href="#237">237: </a></span><span class="l"><a href="#238">238: </a></span><span class="l"><a href="#239">239: </a></span><span class="l"><a href="#240">240: </a></span><span class="l"><a href="#241">241: </a></span><span class="l"><a href="#242">242: </a></span><span class="l"><a href="#243">243: </a></span><span class="l"><a href="#244">244: </a></span><span class="l"><a href="#245">245: </a></span><span class="l"><a href="#246">246: </a></span><span class="l"><a href="#247">247: </a></span><span class="l"><a href="#248">248: </a></span><span class="l"><a href="#249">249: </a></span><span class="l"><a href="#250">250: </a></span><span class="l"><a href="#251">251: </a></span><span class="l"><a href="#252">252: </a></span><span class="l"><a href="#253">253: </a></span><span class="l"><a href="#254">254: </a></span><span class="l"><a href="#255">255: </a></span><span class="l"><a href="#256">256: </a></span><span class="l"><a href="#257">257: </a></span><span class="l"><a href="#258">258: </a></span><span class="l"><a href="#259">259: </a></span><span class="l"><a href="#260">260: </a></span><span class="l"><a href="#261">261: </a></span><span class="l"><a href="#262">262: </a></span><span class="l"><a href="#263">263: </a></span><span class="l"><a href="#264">264: </a></span><span class="l"><a href="#265">265: </a></span><span class="l"><a href="#266">266: </a></span><span class="l"><a href="#267">267: </a></span><span class="l"><a href="#268">268: </a></span><span class="l"><a href="#269">269: </a></span><span class="l"><a href="#270">270: </a></span><span class="l"><a href="#271">271: </a></span><span class="l"><a href="#272">272: </a></span><span class="l"><a href="#273">273: </a></span><span class="l"><a href="#274">274: </a></span><span class="l"><a href="#275">275: </a></span><span class="l"><a href="#276">276: </a></span><span class="l"><a href="#277">277: </a></span><span class="l"><a href="#278">278: </a></span><span class="l"><a href="#279">279: </a></span><span class="l"><a href="#280">280: </a></span><span class="l"><a href="#281">281: </a></span><span class="l"><a href="#282">282: </a></span><span class="l"><a href="#283">283: </a></span><span class="l"><a href="#284">284: </a></span><span class="l"><a href="#285">285: </a></span><span class="l"><a href="#286">286: </a></span><span class="l"><a href="#287">287: </a></span><span class="l"><a href="#288">288: </a></span><span class="l"><a href="#289">289: </a></span></span><span class="l"><a href="#290">290: </a></span></span><span class="l"><a href="#291">291: </a></span></span><span class="l"><a href="#292">292: </a></span></span><span class="l"><a href="#293">293: </a></span></span><span class="l"><a href="#294">294: </a></span><span class="l"><a href="#295">295: </a></span><span class="l"><a href="#296">296: </a></span><span class="l"><a href="#297">297: </a></span><span class="l"><a href="#298">298: </a></span><span class="l"><a href="#299">299: </a></span><span class="l"><a href="#300">300: </a></span><span class="l"><a href="#301">301: </a></span><span class="l"><a href="#302">302: </a></span><span class="l"><a href="#303">303: </a></span></span><span class="l"><a href="#304">304: </a></span></span><span class="l"><a href="#305">305: </a></span></span><span class="l"><a href="#306">306: </a></span></span><span class="l"><a href="#307">307: </a></span><span class="l"><a href="#308">308: </a></span><span class="l"><a href="#309">309: </a></span><span class="l"><a href="#310">310: </a></span><span class="l"><a href="#311">311: </a></span><span class="l"><a href="#312">312: </a></span><span class="l"><a href="#313">313: </a></span><span class="l"><a href="#314">314: </a></span><span class="l"><a href="#315">315: </a></span><span class="l"><a href="#316">316: </a></span><span class="l"><a href="#317">317: </a></span><span class="l"><a href="#318">318: </a></span><span class="l"><a href="#319">319: </a></span><span class="l"><a href="#320">320: </a></span><span class="l"><a href="#321">321: </a></span><span class="l"><a href="#322">322: </a></span><span class="l"><a href="#323">323: </a></span><span class="l"><a href="#324">324: </a></span><span class="l"><a href="#325">325: </a></span><span class="l"><a href="#326">326: </a></span><span class="l"><a href="#327">327: </a></span><span class="l"><a href="#328">328: </a></span></span><span class="l"><a href="#329">329: </a></span></span><span class="l"><a href="#330">330: </a></span></span><span class="l"><a href="#331">331: </a></span><span class="l"><a href="#332">332: </a></span><span class="l"><a href="#333">333: </a></span><span class="l"><a href="#334">334: </a></span><span class="l"><a href="#335">335: </a></span><span class="l"><a href="#336">336: </a></span><span class="l"><a href="#337">337: </a></span><span class="l"><a href="#338">338: </a></span><span class="l"><a href="#339">339: </a></span></span><span class="l"><a href="#340">340: </a></span></span><span class="l"><a href="#341">341: </a></span></span><span class="l"><a href="#342">342: </a></span></span><span class="l"><a href="#343">343: </a></span><span class="l"><a href="#344">344: </a></span><span class="l"><a href="#345">345: </a></span><span class="l"><a href="#346">346: </a></span><span class="l"><a href="#347">347: </a></span><span class="l"><a href="#348">348: </a></span><span class="l"><a href="#349">349: </a></span><span class="l"><a href="#350">350: </a></span><span class="l"><a href="#351">351: </a></span><span class="l"><a href="#352">352: </a></span><span class="l"><a href="#353">353: </a></span><span class="l"><a href="#354">354: </a></span><span class="l"><a href="#355">355: </a></span><span class="l"><a href="#356">356: </a></span></span><span class="l"><a href="#357">357: </a></span></span><span class="l"><a href="#358">358: </a></span></span><span class="l"><a href="#359">359: </a></span></span><span class="l"><a href="#360">360: </a></span><span class="l"><a href="#361">361: </a></span><span class="l"><a href="#362">362: </a></span><span class="l"><a href="#363">363: </a></span><span class="l"><a href="#364">364: </a></span><span class="l"><a href="#365">365: </a></span><span class="l"><a href="#366">366: </a></span><span class="l"><a href="#367">367: </a></span><span class="l"><a href="#368">368: </a></span><span class="l"><a href="#369">369: </a></span><span class="l"><a href="#370">370: </a></span><span class="l"><a href="#371">371: </a></span><span class="l"><a href="#372">372: </a></span></span><span class="l"><a href="#373">373: </a></span></span><span class="l"><a href="#374">374: </a></span></span><span class="l"><a href="#375">375: </a></span></span><span class="l"><a href="#376">376: </a></span><span class="l"><a href="#377">377: </a></span><span class="l"><a href="#378">378: </a></span><span class="l"><a href="#379">379: </a></span><span class="l"><a href="#380">380: </a></span><span class="l"><a href="#381">381: </a></span><span class="l"><a href="#382">382: </a></span><span class="l"><a href="#383">383: </a></span><span class="l"><a href="#384">384: </a></span><span class="l"><a href="#385">385: </a></span><span class="l"><a href="#386">386: </a></span><span class="l"><a href="#387">387: </a></span><span class="l"><a href="#388">388: </a></span><span class="l"><a href="#389">389: </a></span><span class="l"><a href="#390">390: </a></span><span class="l"><a href="#391">391: </a></span><span class="l"><a href="#392">392: </a></span><span class="l"><a href="#393">393: </a></span></span><span class="l"><a href="#394">394: </a></span></span><span class="l"><a href="#395">395: </a></span></span><span class="l"><a href="#396">396: </a></span></span><span class="l"><a href="#397">397: </a></span><span class="l"><a href="#398">398: </a></span><span class="l"><a href="#399">399: </a></span><span class="l"><a href="#400">400: </a></span><span class="l"><a href="#401">401: </a></span><span class="l"><a href="#402">402: </a></span><span class="l"><a href="#403">403: </a></span><span class="l"><a href="#404">404: </a></span><span class="l"><a href="#405">405: </a></span><span class="l"><a href="#406">406: </a></span></span><span class="l"><a href="#407">407: </a></span></span><span class="l"><a href="#408">408: </a></span></span><span class="l"><a href="#409">409: </a></span></span><span class="l"><a href="#410">410: </a></span></span><span class="l"><a href="#411">411: </a></span></span><span class="l"><a href="#412">412: </a></span></span><span class="l"><a href="#413">413: </a></span><span class="l"><a href="#414">414: </a></span><span class="l"><a href="#415">415: </a></span><span class="l"><a href="#416">416: </a></span><span class="l"><a href="#417">417: </a></span><span class="l"><a href="#418">418: </a></span><span class="l"><a href="#419">419: </a></span><span class="l"><a href="#420">420: </a></span><span class="l"><a href="#421">421: </a></span><span class="l"><a href="#422">422: </a></span><span class="l"><a href="#423">423: </a></span><span class="l"><a href="#424">424: </a></span><span class="l"><a href="#425">425: </a></span><span class="l"><a href="#426">426: </a></span><span class="l"><a href="#427">427: </a></span><span class="l"><a href="#428">428: </a></span><span class="l"><a href="#429">429: </a></span><span class="l"><a href="#430">430: </a></span><span class="l"><a href="#431">431: </a></span><span class="l"><a href="#432">432: </a></span><span class="l"><a href="#433">433: </a></span><span class="l"><a href="#434">434: </a></span><span class="l"><a href="#435">435: </a></span><span class="l"><a href="#436">436: </a></span><span class="l"><a href="#437">437: </a></span><span class="l"><a href="#438">438: </a></span><span class="l"><a href="#439">439: </a></span><span class="l"><a href="#440">440: </a></span><span class="l"><a href="#441">441: </a></span><span class="l"><a href="#442">442: </a></span><span class="l"><a href="#443">443: </a></span><span class="l"><a href="#444">444: </a></span><span class="l"><a href="#445">445: </a></span><span class="l"><a href="#446">446: </a></span><span class="l"><a href="#447">447: </a></span><span class="l"><a href="#448">448: </a></span><span class="l"><a href="#449">449: </a></span><span class="l"><a href="#450">450: </a></span></span><span class="l"><a href="#451">451: </a></span></span><span class="l"><a href="#452">452: </a></span></span><span class="l"><a href="#453">453: </a></span></span><span class="l"><a href="#454">454: </a></span></span><span class="l"><a href="#455">455: </a></span><span class="l"><a href="#456">456: </a></span><span class="l"><a href="#457">457: </a></span><span class="l"><a href="#458">458: </a></span><span class="l"><a href="#459">459: </a></span><span class="l"><a href="#460">460: </a></span><span class="l"><a href="#461">461: </a></span><span class="l"><a href="#462">462: </a></span><span class="l"><a href="#463">463: </a></span><span class="l"><a href="#464">464: </a></span><span class="l"><a href="#465">465: </a></span><span class="l"><a href="#466">466: </a></span><span class="l"><a href="#467">467: </a></span><span class="l"><a href="#468">468: </a></span><span class="l"><a href="#469">469: </a></span><span class="l"><a href="#470">470: </a></span><span class="l"><a href="#471">471: </a></span><span class="l"><a href="#472">472: </a></span><span class="l"><a href="#473">473: </a></span><span class="l"><a href="#474">474: </a></span><span class="l"><a href="#475">475: </a></span><span class="l"><a href="#476">476: </a></span><span class="l"><a href="#477">477: </a></span><span class="l"><a href="#478">478: </a></span><span class="l"><a href="#479">479: </a></span><span class="l"><a href="#480">480: </a></span><span class="l"><a href="#481">481: </a></span><span class="l"><a href="#482">482: </a></span><span class="l"><a href="#483">483: </a></span><span class="l"><a href="#484">484: </a></span><span class="l"><a href="#485">485: </a></span><span class="l"><a href="#486">486: </a></span><span class="l"><a href="#487">487: </a></span><span class="l"><a href="#488">488: </a></span><span class="l"><a href="#489">489: </a></span><span class="l"><a href="#490">490: </a></span><span class="l"><a href="#491">491: </a></span><span class="l"><a href="#492">492: </a></span><span class="l"><a href="#493">493: </a></span><span class="l"><a href="#494">494: </a></span><span class="l"><a href="#495">495: </a></span><span class="l"><a href="#496">496: </a></span><span class="l"><a href="#497">497: </a></span><span class="l"><a href="#498">498: </a></span><span class="l"><a href="#499">499: </a></span><span class="l"><a href="#500">500: </a></span><span class="l"><a href="#501">501: </a></span><span class="l"><a href="#502">502: </a></span><span class="l"><a href="#503">503: </a></span><span class="l"><a href="#504">504: </a></span><span class="l"><a href="#505">505: </a></span></span><span class="l"><a href="#506">506: </a></span></span><span class="l"><a href="#507">507: </a></span></span><span class="l"><a href="#508">508: </a></span><span class="l"><a href="#509">509: </a></span><span class="l"><a href="#510">510: </a></span><span class="l"><a href="#511">511: </a></span><span class="l"><a href="#512">512: </a></span><span class="l"><a href="#513">513: </a></span><span class="l"><a href="#514">514: </a></span><span class="l"><a href="#515">515: </a></span><span class="l"><a href="#516">516: </a></span><span class="l"><a href="#517">517: </a></span><span class="l"><a href="#518">518: </a></span><span class="l"><a href="#519">519: </a></span><span class="l"><a href="#520">520: </a></span><span class="l"><a href="#521">521: </a></span><span class="l"><a href="#522">522: </a></span><span class="l"><a href="#523">523: </a></span><span class="l"><a href="#524">524: </a></span><span class="l"><a href="#525">525: </a></span><span class="l"><a href="#526">526: </a></span><span class="l"><a href="#527">527: </a></span><span class="l"><a href="#528">528: </a></span><span class="l"><a href="#529">529: </a></span><span class="l"><a href="#530">530: </a></span><span class="l"><a href="#531">531: </a></span><span class="l"><a href="#532">532: </a></span><span class="l"><a href="#533">533: </a></span><span class="l"><a href="#534">534: </a></span><span class="l"><a href="#535">535: </a></span><span class="l"><a href="#536">536: </a></span><span class="l"><a href="#537">537: </a></span><span class="l"><a href="#538">538: </a></span><span class="l"><a href="#539">539: </a></span><span class="l"><a href="#540">540: </a></span><span class="l"><a href="#541">541: </a></span><span class="l"><a href="#542">542: </a></span></span><span class="l"><a href="#543">543: </a></span></span><span class="l"><a href="#544">544: </a></span></span><span class="l"><a href="#545">545: </a></span></span><span class="l"><a href="#546">546: </a></span></span><span class="l"><a href="#547">547: </a></span><span class="l"><a href="#548">548: </a></span><span class="l"><a href="#549">549: </a></span><span class="l"><a href="#550">550: </a></span><span class="l"><a href="#551">551: </a></span><span class="l"><a href="#552">552: </a></span><span class="l"><a href="#553">553: </a></span><span class="l"><a href="#554">554: </a></span><span class="l"><a href="#555">555: </a></span><span class="l"><a href="#556">556: </a></span><span class="l"><a href="#557">557: </a></span><span class="l"><a href="#558">558: </a></span><span class="l"><a href="#559">559: </a></span><span class="l"><a href="#560">560: </a></span><span class="l"><a href="#561">561: </a></span><span class="l"><a href="#562">562: </a></span><span class="l"><a href="#563">563: </a></span><span class="l"><a href="#564">564: </a></span><span class="l"><a href="#565">565: </a></span><span class="l"><a href="#566">566: </a></span><span class="l"><a href="#567">567: </a></span><span class="l"><a href="#568">568: </a></span><span class="l"><a href="#569">569: </a></span><span class="l"><a href="#570">570: </a></span><span class="l"><a href="#571">571: </a></span><span class="l"><a href="#572">572: </a></span><span class="l"><a href="#573">573: </a></span><span class="l"><a href="#574">574: </a></span><span class="l"><a href="#575">575: </a></span><span class="l"><a href="#576">576: </a></span><span class="l"><a href="#577">577: </a></span><span class="l"><a href="#578">578: </a></span><span class="l"><a href="#579">579: </a></span><span class="l"><a href="#580">580: </a></span><span class="l"><a href="#581">581: </a></span><span class="l"><a href="#582">582: </a></span><span class="l"><a href="#583">583: </a></span><span class="l"><a href="#584">584: </a></span><span class="l"><a href="#585">585: </a></span><span class="l"><a href="#586">586: </a></span><span class="l"><a href="#587">587: </a></span><span class="l"><a href="#588">588: </a></span><span class="l"><a href="#589">589: </a></span><span class="l"><a href="#590">590: </a></span><span class="l"><a href="#591">591: </a></span><span class="l"><a href="#592">592: </a></span><span class="l"><a href="#593">593: </a></span><span class="l"><a href="#594">594: </a></span><span class="l"><a href="#595">595: </a></span><span class="l"><a href="#596">596: </a></span><span class="l"><a href="#597">597: </a></span><span class="l"><a href="#598">598: </a></span><span class="l"><a href="#599">599: </a></span><span class="l"><a href="#600">600: </a></span><span class="l"><a href="#601">601: </a></span><span class="l"><a href="#602">602: </a></span><span class="l"><a href="#603">603: </a></span><span class="l"><a href="#604">604: </a></span><span class="l"><a href="#605">605: </a></span><span class="l"><a href="#606">606: </a></span><span class="l"><a href="#607">607: </a></span><span class="l"><a href="#608">608: </a></span><span class="l"><a href="#609">609: </a></span><span class="l"><a href="#610">610: </a></span><span class="l"><a href="#611">611: </a></span><span class="l"><a href="#612">612: </a></span></span><span class="l"><a href="#613">613: </a></span></span><span class="l"><a href="#614">614: </a></span></span><span class="l"><a href="#615">615: </a></span><span class="l"><a href="#616">616: </a></span><span class="l"><a href="#617">617: </a></span><span class="l"><a href="#618">618: </a></span><span class="l"><a href="#619">619: </a></span><span class="l"><a href="#620">620: </a></span><span class="l"><a href="#621">621: </a></span><span class="l"><a href="#622">622: </a></span></span><span class="l"><a href="#623">623: </a></span></span><span class="l"><a href="#624">624: </a></span></span><span class="l"><a href="#625">625: </a></span></span><span class="l"><a href="#626">626: </a></span></span><span class="l"><a href="#627">627: </a></span><span class="l"><a href="#628">628: </a></span><span class="l"><a href="#629">629: </a></span><span class="l"><a href="#630">630: </a></span><span class="l"><a href="#631">631: </a></span><span class="l"><a href="#632">632: </a></span><span class="l"><a href="#633">633: </a></span><span class="l"><a href="#634">634: </a></span><span class="l"><a href="#635">635: </a></span><span class="l"><a href="#636">636: </a></span><span class="l"><a href="#637">637: </a></span><span class="l"><a href="#638">638: </a></span><span class="l"><a href="#639">639: </a></span><span class="l"><a href="#640">640: </a></span><span class="l"><a href="#641">641: </a></span></span><span class="l"><a href="#642">642: </a></span></span><span class="l"><a href="#643">643: </a></span></span><span class="l"><a href="#644">644: </a></span><span class="l"><a href="#645">645: </a></span><span class="l"><a href="#646">646: </a></span><span class="l"><a href="#647">647: </a></span><span class="l"><a href="#648">648: </a></span><span class="l"><a href="#649">649: </a></span><span class="l"><a href="#650">650: </a></span><span class="l"><a href="#651">651: </a></span><span class="l"><a href="#652">652: </a></span></span><span class="l"><a href="#653">653: </a></span></span><span class="l"><a href="#654">654: </a></span></span><span class="l"><a href="#655">655: </a></span><span class="l"><a href="#656">656: </a></span><span class="l"><a href="#657">657: </a></span><span class="l"><a href="#658">658: </a></span><span class="l"><a href="#659">659: </a></span><span class="l"><a href="#660">660: </a></span><span class="l"><a href="#661">661: </a></span><span class="l"><a href="#662">662: </a></span><span class="l"><a href="#663">663: </a></span><span class="l"><a href="#664">664: </a></span></code></pre>
140
  <pre class="code"><code><span id="1" class="l"><span class="xlang">&lt;?php</span>
141
  </span><span id="2" class="l">
142
  </span><span id="3" class="l"><span class="php-keyword1">namespace</span> WPGMZA;
143
  </span><span id="4" class="l">
144
  </span><span id="5" class="l"><span class="php-keyword1">require_once</span>(plugin_dir_path(__FILE__) . <span class="php-quote">'class.selector-to-xpath.php'</span>);
145
  </span><span id="6" class="l">
146
+ </span><span id="7" class="l"><span class="php-keyword1">class</span> DOMElement <span class="php-keyword1">extends</span> \DOMElement
147
+ </span><span id="8" class="l">{
148
+ </span><span id="9" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">static</span> <span class="php-var">$xpathConverter</span>;
149
+ </span><span id="10" class="l">
150
+ </span><span id="11" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> __construct()
151
+ </span><span id="12" class="l"> {
152
+ </span><span id="13" class="l"> \DOMElement::__construct();
153
+ </span><span id="14" class="l"> }
154
+ </span><span id="15" class="l">
155
+ </span><span id="16" class="l"> <span class="php-comment">/**
156
+ </span></span><span id="17" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelector
157
+ </span></span><span id="18" class="l"><span class="php-comment"> * @param string $query a CSS selector
158
+ </span></span><span id="19" class="l"><span class="php-comment"> * @return mixed The first descendant element that matches the selector, or NULL if there is no match
159
+ </span></span><span id="20" class="l"><span class="php-comment"> */</span>
160
+ </span><span id="21" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelector(<span class="php-var">$query</span>)
161
+ </span><span id="22" class="l"> {
162
+ </span><span id="23" class="l"> <span class="php-var">$results</span> = <span class="php-var">$this</span>-&gt;querySelectorAll(<span class="php-var">$query</span>);
163
+ </span><span id="24" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$results</span>))
164
+ </span><span id="25" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
165
+ </span><span id="26" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$results</span>[<span class="php-num">0</span>];
166
+ </span><span id="27" class="l"> }
167
+ </span><span id="28" class="l">
168
+ </span><span id="29" class="l"> <span class="php-comment">/**
169
+ </span></span><span id="30" class="l"><span class="php-comment"> * Runs a CSS selector on the element. This is equivilant to Javascripts querySelectorAll
170
+ </span></span><span id="31" class="l"><span class="php-comment"> * @return mixed Any descendant element's that match the selector, or NULL if there is no match
171
+ </span></span><span id="32" class="l"><span class="php-comment"> */</span>
172
+ </span><span id="33" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> querySelectorAll(<span class="php-var">$query</span>, <span class="php-var">$sort</span>=<span class="php-keyword1">true</span>)
173
+ </span><span id="34" class="l"> {
174
+ </span><span id="35" class="l"> <span class="php-var">$xpath</span> = <span class="php-keyword1">new</span> \DOMXPath(<span class="php-var">$this</span>-&gt;ownerDocument);
175
+ </span><span id="36" class="l">
176
+ </span><span id="37" class="l"> <span class="php-keyword1">try</span>{
177
+ </span><span id="38" class="l"> <span class="php-var">$expr</span> = DOMElement::selectorToXPath(<span class="php-var">$query</span>);
178
+ </span><span id="39" class="l"> }<span class="php-keyword1">catch</span>(Exception <span class="php-var">$e</span>) {
179
+ </span><span id="40" class="l"> <span class="php-keyword1">echo</span> <span class="php-quote">&quot;&lt;p class='notice notice-warning'&gt;Failed to convert CSS selector to XPath (&quot;</span> . <span class="php-var">$e</span>-&gt;getMessage() . <span class="php-quote">&quot;)&lt;/p&gt;&quot;</span>;
180
+ </span><span id="41" class="l"> }
181
+ </span><span id="42" class="l">
182
+ </span><span id="43" class="l"> <span class="php-var">$list</span> = <span class="php-var">$xpath</span>-&gt;query(<span class="php-var">$expr</span>, <span class="php-var">$this</span>);
183
+ </span><span id="44" class="l"> <span class="php-var">$results</span> = <span class="php-keyword1">array</span>();
184
  </span><span id="45" class="l">
185
+ </span><span id="46" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-num">0</span>; <span class="php-var">$i</span> &lt; <span class="php-var">$list</span>-&gt;length; <span class="php-var">$i</span>++)
186
+ </span><span id="47" class="l"> <span class="php-keyword2">array_push</span>(<span class="php-var">$results</span>, <span class="php-var">$list</span>-&gt;item(<span class="php-var">$i</span>));
187
  </span><span id="48" class="l">
188
+ </span><span id="49" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$sort</span>)
189
+ </span><span id="50" class="l"> <span class="php-keyword2">usort</span>(<span class="php-var">$results</span>, <span class="php-keyword1">array</span>(<span class="php-quote">'WPGMZA\DOMElement'</span>, <span class="php-quote">'sortByDOMPosition'</span>));
190
  </span><span id="51" class="l">
191
+ </span><span id="52" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$results</span>;
192
+ </span><span id="53" class="l"> }
193
+ </span><span id="54" class="l">
194
+ </span><span id="55" class="l"> <span class="php-comment">/**
195
+ </span></span><span id="56" class="l"><span class="php-comment"> * Prepends the subject to this element.
196
+ </span></span><span id="57" class="l"><span class="php-comment"> * @param $subject element or array of elements
197
+ </span></span><span id="58" class="l"><span class="php-comment"> * @return $this element
198
+ </span></span><span id="59" class="l"><span class="php-comment"> */</span>
199
+ </span><span id="60" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> prepend(<span class="php-var">$subject</span>)
200
+ </span><span id="61" class="l"> {
201
+ </span><span id="62" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_array</span>(<span class="php-var">$subject</span>))
202
+ </span><span id="63" class="l"> {
203
+ </span><span id="64" class="l"> <span class="php-var">$originalFirst</span> = <span class="php-var">$this</span>-&gt;firstChild;
204
+ </span><span id="65" class="l">
205
+ </span><span id="66" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$subject</span> <span class="php-keyword1">as</span> <span class="php-var">$el</span>)
206
+ </span><span id="67" class="l"> <span class="php-var">$this</span>-&gt;insertBefore(<span class="php-var">$el</span>, <span class="php-var">$originalFirst</span>);
207
+ </span><span id="68" class="l"> }
208
+ </span><span id="69" class="l"> <span class="php-keyword1">else</span>
209
+ </span><span id="70" class="l"> <span class="php-var">$this</span>-&gt;insertBefore(<span class="php-var">$subject</span>, <span class="php-var">$this</span>-&gt;firstChild);
210
+ </span><span id="71" class="l">
211
+ </span><span id="72" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
212
+ </span><span id="73" class="l"> }
213
+ </span><span id="74" class="l">
214
+ </span><span id="75" class="l"> <span class="php-comment">/**
215
+ </span></span><span id="76" class="l"><span class="php-comment"> * Appends the subject to this element.
216
+ </span></span><span id="77" class="l"><span class="php-comment"> */</span>
217
+ </span><span id="78" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> append(<span class="php-var">$subject</span>)
218
+ </span><span id="79" class="l"> {
219
+ </span><span id="80" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_array</span>(<span class="php-var">$subject</span>))
220
+ </span><span id="81" class="l"> {
221
+ </span><span id="82" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$subject</span> <span class="php-keyword1">as</span> <span class="php-var">$el</span>)
222
+ </span><span id="83" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$subject</span>);
223
+ </span><span id="84" class="l"> }
224
+ </span><span id="85" class="l"> <span class="php-keyword1">else</span>
225
+ </span><span id="86" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$subject</span>);
226
+ </span><span id="87" class="l">
227
+ </span><span id="88" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
228
+ </span><span id="89" class="l"> }
229
+ </span><span id="90" class="l">
230
+ </span><span id="91" class="l"> <span class="php-comment">/**
231
+ </span></span><span id="92" class="l"><span class="php-comment"> * Traverses from this node up it's ancestors and returns the first node that matches the given selector
232
+ </span></span><span id="93" class="l"><span class="php-comment"> * @param mixed $selector Either this node the first ancestor that matches this selector, or NULL if no match is found
233
+ </span></span><span id="94" class="l"><span class="php-comment"> */</span>
234
+ </span><span id="95" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> closest(<span class="php-var">$selector</span>)
235
+ </span><span id="96" class="l"> {
236
+ </span><span id="97" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span> === <span class="php-var">$this</span>-&gt;ownerDocument-&gt;documentElement)
237
+ </span><span id="98" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Method not valid on document element'</span>);
238
+ </span><span id="99" class="l">
239
+ </span><span id="100" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$el</span> = <span class="php-var">$this</span>; <span class="php-var">$el</span>-&gt;parentNode != <span class="php-keyword1">null</span>; <span class="php-var">$el</span> = <span class="php-var">$el</span>-&gt;parentNode)
240
+ </span><span id="101" class="l"> {
241
+ </span><span id="102" class="l"> <span class="php-var">$m</span> = <span class="php-var">$el</span>-&gt;parentNode-&gt;querySelectorAll(<span class="php-var">$selector</span>);
242
+ </span><span id="103" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">array_search</span>(<span class="php-var">$el</span>, <span class="php-var">$m</span>, <span class="php-keyword1">true</span>) !== <span class="php-keyword1">false</span>)
243
+ </span><span id="104" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$el</span>;
244
+ </span><span id="105" class="l"> }
245
+ </span><span id="106" class="l">
246
+ </span><span id="107" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
247
+ </span><span id="108" class="l"> }
248
+ </span><span id="109" class="l">
249
+ </span><span id="110" class="l"> <span class="php-comment">/**
250
+ </span></span><span id="111" class="l"><span class="php-comment"> * Test if this element comes before the other element in the DOM tree
251
+ </span></span><span id="112" class="l"><span class="php-comment"> * @return boolean TRUE if this element comes before the other, FALSE if not
252
+ </span></span><span id="113" class="l"><span class="php-comment"> */</span>
253
+ </span><span id="114" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> isBefore(<span class="php-var">$other</span>)
254
+ </span><span id="115" class="l"> {
255
+ </span><span id="116" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;parentNode === <span class="php-var">$other</span>-&gt;parentNode)
256
+ </span><span id="117" class="l"> <span class="php-keyword1">return</span> (<span class="php-var">$this</span>-&gt;getBreadth() &lt; <span class="php-var">$other</span>-&gt;getBreadth());
257
+ </span><span id="118" class="l">
258
+ </span><span id="119" class="l"> <span class="php-var">$this_depth</span> = <span class="php-var">$this</span>-&gt;getDepth();
259
+ </span><span id="120" class="l"> <span class="php-var">$other_depth</span> = <span class="php-var">$other</span>-&gt;getDepth();
260
+ </span><span id="121" class="l">
261
+ </span><span id="122" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this_depth</span> == <span class="php-var">$other_depth</span>)
262
+ </span><span id="123" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;parentNode-&gt;isBefore(<span class="php-var">$other</span>-&gt;parentNode);
263
  </span><span id="124" class="l">
264
+ </span><span id="125" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this_depth</span> &gt; <span class="php-var">$other_depth</span>)
265
+ </span><span id="126" class="l"> {
266
+ </span><span id="127" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$this</span>;
267
+ </span><span id="128" class="l"> <span class="php-var">$ancestor_depth</span> = <span class="php-var">$this_depth</span>;
268
+ </span><span id="129" class="l">
269
+ </span><span id="130" class="l"> <span class="php-keyword1">while</span>(<span class="php-var">$ancestor_depth</span> &gt; <span class="php-var">$other_depth</span>)
270
+ </span><span id="131" class="l"> {
271
+ </span><span id="132" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$ancestor</span>-&gt;parentNode;
272
+ </span><span id="133" class="l"> <span class="php-var">$ancestor_depth</span>--;
273
+ </span><span id="134" class="l"> }
274
  </span><span id="135" class="l">
275
+ </span><span id="136" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$ancestor</span>-&gt;isBefore(<span class="php-var">$other</span>);
276
+ </span><span id="137" class="l"> }
277
+ </span><span id="138" class="l">
278
+ </span><span id="139" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this_depth</span> &lt; <span class="php-var">$other_depth</span>)
279
+ </span><span id="140" class="l"> {
280
+ </span><span id="141" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$other</span>;
281
+ </span><span id="142" class="l"> <span class="php-var">$ancestor_depth</span> = <span class="php-var">$other_depth</span>;
282
+ </span><span id="143" class="l">
283
+ </span><span id="144" class="l"> <span class="php-keyword1">while</span>(<span class="php-var">$ancestor_depth</span> &gt; <span class="php-var">$this_depth</span>)
284
+ </span><span id="145" class="l"> {
285
+ </span><span id="146" class="l"> <span class="php-var">$ancestor</span> = <span class="php-var">$ancestor</span>-&gt;parentNode;
286
+ </span><span id="147" class="l"> <span class="php-var">$ancestor_depth</span>--;
287
+ </span><span id="148" class="l"> }
288
  </span><span id="149" class="l">
289
+ </span><span id="150" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;isBefore(<span class="php-var">$ancestor</span>);
290
+ </span><span id="151" class="l"> }
291
+ </span><span id="152" class="l"> }
292
+ </span><span id="153" class="l">
293
+ </span><span id="154" class="l"> <span class="php-comment">/**
294
+ </span></span><span id="155" class="l"><span class="php-comment"> * Returns the breadth (sometimes called child index) of this node in regards to it's siblings
295
+ </span></span><span id="156" class="l"><span class="php-comment"> * @return int The index of this node
296
+ </span></span><span id="157" class="l"><span class="php-comment"> */</span>
297
+ </span><span id="158" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getBreadth()
298
+ </span><span id="159" class="l"> {
299
+ </span><span id="160" class="l"> <span class="php-var">$breadth</span> = <span class="php-num">0</span>;
300
+ </span><span id="161" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;previousSibling; <span class="php-var">$node</span> != <span class="php-keyword1">null</span>; <span class="php-var">$node</span> = <span class="php-var">$node</span>-&gt;previousSibling)
301
+ </span><span id="162" class="l"> <span class="php-var">$breadth</span>++;
302
+ </span><span id="163" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$breadth</span>;
303
+ </span><span id="164" class="l"> }
304
+ </span><span id="165" class="l">
305
+ </span><span id="166" class="l"> <span class="php-comment">/**
306
+ </span></span><span id="167" class="l"><span class="php-comment"> * Returns the depth of this node in regards to it's ancestors
307
+ </span></span><span id="168" class="l"><span class="php-comment"> * @return int The depth of this node
308
+ </span></span><span id="169" class="l"><span class="php-comment"> */</span>
309
+ </span><span id="170" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getDepth()
310
+ </span><span id="171" class="l"> {
311
+ </span><span id="172" class="l"> <span class="php-var">$depth</span> = <span class="php-num">0</span>;
312
+ </span><span id="173" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;parentNode; <span class="php-var">$node</span> != <span class="php-keyword1">null</span>; <span class="php-var">$node</span> = <span class="php-var">$node</span>-&gt;parentNode)
313
+ </span><span id="174" class="l"> <span class="php-var">$depth</span>++;
314
+ </span><span id="175" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$depth</span>;
315
+ </span><span id="176" class="l"> }
316
+ </span><span id="177" class="l">
317
+ </span><span id="178" class="l"> <span class="php-comment">/**
318
+ </span></span><span id="179" class="l"><span class="php-comment"> * @internal sort function for DOM position sort
319
+ </span></span><span id="180" class="l"><span class="php-comment"> */</span>
320
+ </span><span id="181" class="l"> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> sortByDOMPosition(<span class="php-var">$a</span>, <span class="php-var">$b</span>)
321
+ </span><span id="182" class="l"> {
322
+ </span><span id="183" class="l"> <span class="php-keyword1">return</span> (<span class="php-var">$a</span>-&gt;isBefore(<span class="php-var">$b</span>) ? -<span class="php-num">1</span> : <span class="php-num">1</span>);
323
+ </span><span id="184" class="l"> }
324
+ </span><span id="185" class="l">
325
+ </span><span id="186" class="l"> <span class="php-comment">/**
326
+ </span></span><span id="187" class="l"><span class="php-comment"> * @internal Calls the CSS to XPath converter on the specified selector
327
+ </span></span><span id="188" class="l"><span class="php-comment"> * @param string $selector The CSS selector
328
+ </span></span><span id="189" class="l"><span class="php-comment"> * @return string The resulting XPath expression
329
+ </span></span><span id="190" class="l"><span class="php-comment"> */</span>
330
+ </span><span id="191" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> selectorToXPath(<span class="php-var">$selector</span>)
331
+ </span><span id="192" class="l"> {
332
+ </span><span id="193" class="l"> <span class="php-keyword1">if</span>(!DOMElement::<span class="php-var">$xpathConverter</span>)
333
+ </span><span id="194" class="l"> DOMElement::<span class="php-var">$xpathConverter</span> = <span class="php-keyword1">new</span> Selector\XPathConverter();
334
+ </span><span id="195" class="l">
335
+ </span><span id="196" class="l"> <span class="php-var">$xpath</span> = DOMElement::<span class="php-var">$xpathConverter</span>-&gt;convert(<span class="php-var">$selector</span>);
336
+ </span><span id="197" class="l">
337
+ </span><span id="198" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$xpath</span>;
338
+ </span><span id="199" class="l"> }
339
+ </span><span id="200" class="l">
340
+ </span><span id="201" class="l"> <span class="php-comment">/**
341
+ </span></span><span id="202" class="l"><span class="php-comment"> * Imports the supplied subject into this node.
342
+ </span></span><span id="203" class="l"><span class="php-comment"> * @param mixed $subject. Either a \DOMDocument, \DOMNode, .html filename, or string containing HTML/text. The function will attempt to detect which. If you import HTML that contains a &lt;body&gt; element, it will only import the inner body
343
+ </span></span><span id="204" class="l"><span class="php-comment"> * @throws \Exception the subject was not recognised as any of the types above
344
+ </span></span><span id="205" class="l"><span class="php-comment"> * @return $this element
345
+ </span></span><span id="206" class="l"><span class="php-comment"> */</span>
346
+ </span><span id="207" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> import(<span class="php-var">$subject</span>, <span class="php-var">$forcePHP</span>=<span class="php-keyword1">false</span>)
347
+ </span><span id="208" class="l"> {
348
+ </span><span id="209" class="l"> <span class="php-keyword1">global</span> <span class="php-var">$wpgmza</span>;
349
+ </span><span id="210" class="l">
350
+ </span><span id="211" class="l"> <span class="php-var">$node</span> = <span class="php-keyword1">null</span>;
351
+ </span><span id="212" class="l">
352
+ </span><span id="213" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$subject</span> <span class="php-keyword1">instanceof</span> \DOMDocument)
353
+ </span><span id="214" class="l"> {
354
+ </span><span id="215" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$subject</span>-&gt;documentElement)
355
+ </span><span id="216" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Document is empty'</span>);
356
+ </span><span id="217" class="l">
357
+ </span><span id="218" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$subject</span>-&gt;documentElement, <span class="php-keyword1">true</span>);
358
+ </span><span id="219" class="l">
359
+ </span><span id="220" class="l"> }
360
+ </span><span id="221" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-var">$subject</span> <span class="php-keyword1">instanceof</span> \DOMNode)
361
  </span><span id="222" class="l"> {
362
+ </span><span id="223" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$subject</span>, <span class="php-keyword1">true</span>);
363
+ </span><span id="224" class="l"> }
364
+ </span><span id="225" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/(\.html|\.php)$/i'</span>, <span class="php-var">$subject</span>, <span class="php-var">$m</span>))
365
+ </span><span id="226" class="l"> {
366
+ </span><span id="227" class="l"> <span class="php-comment">// Subject is a filename</span>
367
+ </span><span id="228" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$subject</span>))
368
+ </span><span id="229" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'HTML file not found'</span>);
369
+ </span><span id="230" class="l">
370
+ </span><span id="231" class="l"> <span class="php-var">$temp</span> = <span class="php-keyword1">new</span> DOMDocument(<span class="php-quote">'1.0'</span>, <span class="php-quote">'UTF-8'</span>);
371
+ </span><span id="232" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$forcePHP</span> || <span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\.php$/i'</span>, <span class="php-var">$m</span>[<span class="php-num">1</span>]))
372
+ </span><span id="233" class="l"> <span class="php-var">$temp</span>-&gt;loadPHPFile(<span class="php-var">$subject</span>);
373
+ </span><span id="234" class="l"> <span class="php-keyword1">else</span>
374
+ </span><span id="235" class="l"> <span class="php-var">$temp</span>-&gt;load(<span class="php-var">$subject</span>);
375
+ </span><span id="236" class="l">
376
+ </span><span id="237" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$temp</span>-&gt;documentElement, <span class="php-keyword1">true</span>);
377
+ </span><span id="238" class="l"> }
378
+ </span><span id="239" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_string</span>(<span class="php-var">$subject</span>))
379
+ </span><span id="240" class="l"> {
380
+ </span><span id="241" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$subject</span>))
381
+ </span><span id="242" class="l"> <span class="php-keyword1">return</span>;
382
+ </span><span id="243" class="l">
383
+ </span><span id="244" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$subject</span> != <span class="php-keyword2">strip_tags</span>(<span class="php-var">$subject</span>))
384
+ </span><span id="245" class="l"> {
385
+ </span><span id="246" class="l"> <span class="php-comment">// Subject is a HTML string</span>
386
+ </span><span id="247" class="l"> <span class="php-var">$html</span> = DOMDocument::convertUTF8ToHTMLEntities(<span class="php-var">$subject</span>);
387
+ </span><span id="248" class="l">
388
+ </span><span id="249" class="l"> <span class="php-var">$temp</span> = <span class="php-keyword1">new</span> DOMDocument(<span class="php-quote">'1.0'</span>, <span class="php-quote">'UTF-8'</span>);
389
+ </span><span id="250" class="l"> <span class="php-var">$str</span> = <span class="php-quote">&quot;&lt;div id='domdocument-import-payload___'&gt;&quot;</span> . <span class="php-var">$subject</span> . <span class="php-quote">&quot;&lt;/div&gt;&quot;</span>;
390
+ </span><span id="251" class="l">
391
+ </span><span id="252" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword1">empty</span>(<span class="php-var">$wpgmza</span>-&gt;settings-&gt;developer_mode))
392
+ </span><span id="253" class="l"> <span class="php-var">$temp</span>-&gt;loadHTML(<span class="php-var">$str</span>);
393
+ </span><span id="254" class="l"> <span class="php-keyword1">else</span>
394
+ </span><span id="255" class="l"> @<span class="php-var">$temp</span>-&gt;loadHTML(<span class="php-var">$str</span>);
395
  </span><span id="256" class="l">
396
+ </span><span id="257" class="l"> <span class="php-var">$body</span> = <span class="php-var">$temp</span>-&gt;querySelector(<span class="php-quote">'#domdocument-import-payload___'</span>);
397
+ </span><span id="258" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$child</span> = <span class="php-var">$body</span>-&gt;firstChild; <span class="php-var">$child</span> != <span class="php-keyword1">null</span>; <span class="php-var">$child</span> = <span class="php-var">$child</span>-&gt;nextSibling)
398
+ </span><span id="259" class="l"> {
399
+ </span><span id="260" class="l"> <span class="php-var">$node</span> = <span class="php-var">$this</span>-&gt;ownerDocument-&gt;importNode(<span class="php-var">$child</span>, <span class="php-keyword1">true</span>);
400
+ </span><span id="261" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$node</span>);
401
+ </span><span id="262" class="l"> }
402
+ </span><span id="263" class="l"> }
403
+ </span><span id="264" class="l"> <span class="php-keyword1">else</span>
404
+ </span><span id="265" class="l"> <span class="php-comment">// Subject is a plain string</span>
405
+ </span><span id="266" class="l"> <span class="php-var">$this</span>-&gt;appendText(<span class="php-var">$subject</span>);
406
+ </span><span id="267" class="l">
407
+ </span><span id="268" class="l"> <span class="php-keyword1">return</span>;
408
+ </span><span id="269" class="l"> }
409
+ </span><span id="270" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$subject</span>))
410
+ </span><span id="271" class="l"> {
411
+ </span><span id="272" class="l"> <span class="php-keyword1">return</span>;
412
+ </span><span id="273" class="l"> }
413
+ </span><span id="274" class="l"> <span class="php-keyword1">else</span>
414
+ </span><span id="275" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Don\'t know how to import &quot;'</span> . <span class="php-keyword2">print_r</span>(<span class="php-var">$subject</span>, <span class="php-keyword1">true</span>) . <span class="php-quote">'&quot; in '</span> . <span class="php-var">$this</span>-&gt;ownerDocument-&gt;documentURI . <span class="php-quote">' on line '</span> . <span class="php-var">$this</span>-&gt;getLineNo());
415
+ </span><span id="276" class="l">
416
+ </span><span id="277" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$body</span> = <span class="php-var">$node</span>-&gt;querySelector(<span class="php-quote">&quot;body&quot;</span>))
417
+ </span><span id="278" class="l"> {
418
+ </span><span id="279" class="l"> <span class="php-comment">// TODO: I don't think a query selector is necessary here. Iterating over the bodies children should be more optimal.</span>
419
+ </span><span id="280" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$node</span>-&gt;querySelectorAll(<span class="php-quote">&quot;body&gt;*&quot;</span>) <span class="php-keyword1">as</span> <span class="php-var">$child</span>)
420
+ </span><span id="281" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$child</span>);
421
+ </span><span id="282" class="l"> }
422
+ </span><span id="283" class="l"> <span class="php-keyword1">else</span>
423
+ </span><span id="284" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$node</span>);
424
+ </span><span id="285" class="l">
425
+ </span><span id="286" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
426
+ </span><span id="287" class="l"> }
427
+ </span><span id="288" class="l">
428
+ </span><span id="289" class="l"> <span class="php-comment">/**
429
+ </span></span><span id="290" class="l"><span class="php-comment"> * Sets an inline CSS style on this element. If it's already set, the old value will be removed first
430
+ </span></span><span id="291" class="l"><span class="php-comment"> * @param string $name the CSS property name eg 'background-color'
431
+ </span></span><span id="292" class="l"><span class="php-comment"> * @param string $value the value of the property eg '#ff4400'
432
+ </span></span><span id="293" class="l"><span class="php-comment"> * @return $this
433
+ </span></span><span id="294" class="l"><span class="php-comment"> */</span>
434
+ </span><span id="295" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> setInlineStyle(<span class="php-var">$name</span>, <span class="php-var">$value</span>)
435
+ </span><span id="296" class="l"> {
436
+ </span><span id="297" class="l"> <span class="php-var">$this</span>-&gt;removeInlineStyle(<span class="php-var">$name</span>);
437
+ </span><span id="298" class="l"> <span class="php-var">$style</span> = <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>);
438
+ </span><span id="299" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'style'</span>, <span class="php-var">$style</span> . <span class="php-var">$name</span> . <span class="php-quote">':'</span> . <span class="php-var">$value</span> . <span class="php-quote">';'</span>);
439
+ </span><span id="300" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
440
+ </span><span id="301" class="l"> }
441
+ </span><span id="302" class="l">
442
+ </span><span id="303" class="l"> <span class="php-comment">/**
443
+ </span></span><span id="304" class="l"><span class="php-comment"> * Removes the inline CSS style specified by name
444
+ </span></span><span id="305" class="l"><span class="php-comment"> * @param string $name the name of the CSS property eg 'background-color'
445
+ </span></span><span id="306" class="l"><span class="php-comment"> * @return $this
446
+ </span></span><span id="307" class="l"><span class="php-comment"> */</span>
447
+ </span><span id="308" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> removeInlineStyle(<span class="php-var">$name</span>)
448
+ </span><span id="309" class="l"> {
449
+ </span><span id="310" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'style'</span>))
450
+ </span><span id="311" class="l"> <span class="php-keyword1">return</span>;
451
+ </span><span id="312" class="l"> <span class="php-var">$style</span> = <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>);
452
+ </span><span id="313" class="l">
453
+ </span><span id="314" class="l"> <span class="php-var">$rules</span> = <span class="php-keyword2">preg_split</span>(<span class="php-quote">'/\s*;\s*/'</span>, <span class="php-var">$style</span>);
454
+ </span><span id="315" class="l">
455
+ </span><span id="316" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-keyword2">count</span>(<span class="php-var">$rules</span>) - <span class="php-num">1</span>; <span class="php-var">$i</span> &gt;= <span class="php-num">0</span>; <span class="php-var">$i</span>--)
456
+ </span><span id="317" class="l"> {
457
+ </span><span id="318" class="l"> <span class="php-var">$param</span> = <span class="php-keyword2">preg_quote</span>(<span class="php-var">$name</span>);
458
+ </span><span id="319" class="l">
459
+ </span><span id="320" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">preg_match</span>(<span class="php-quote">&quot;/^</span><span class="php-var">$param</span><span class="php-quote">\s*:/&quot;</span>, <span class="php-keyword2">trim</span>(<span class="php-var">$rules</span>[<span class="php-var">$i</span>])))
460
+ </span><span id="321" class="l"> <span class="php-keyword1">unset</span>(<span class="php-var">$rules</span>[<span class="php-var">$i</span>]);
461
+ </span><span id="322" class="l"> }
462
  </span><span id="323" class="l">
463
+ </span><span id="324" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'style'</span>, <span class="php-keyword2">implode</span>(<span class="php-quote">';'</span>, <span class="php-var">$rules</span>));
464
+ </span><span id="325" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
465
+ </span><span id="326" class="l"> }
466
+ </span><span id="327" class="l">
467
+ </span><span id="328" class="l"> <span class="php-comment">/**
468
+ </span></span><span id="329" class="l"><span class="php-comment"> * Check if this element has an inline style by name
469
+ </span></span><span id="330" class="l"><span class="php-comment"> * @param string $name the name of the CSS property to test for
470
+ </span></span><span id="331" class="l"><span class="php-comment"> */</span>
471
+ </span><span id="332" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> hasInlineStyle(<span class="php-var">$name</span>)
472
+ </span><span id="333" class="l"> {
473
+ </span><span id="334" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'style'</span>))
474
+ </span><span id="335" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
475
+ </span><span id="336" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">preg_match</span>(<span class="php-quote">&quot;/\s*</span><span class="php-var">$name</span><span class="php-quote">:.*?((;\s*)|</span><span class="php-var">$</span><span class="php-quote">)/&quot;</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>));
476
+ </span><span id="337" class="l"> }
477
+ </span><span id="338" class="l">
478
+ </span><span id="339" class="l"> <span class="php-comment">/**
479
+ </span></span><span id="340" class="l"><span class="php-comment"> * Gets the value of the inline style by name
480
+ </span></span><span id="341" class="l"><span class="php-comment"> * @param string $name the name of the CSS property you want the value for
481
+ </span></span><span id="342" class="l"><span class="php-comment"> * @return mixed FALSE if there is no style property or no style with that name exists, or a string containing the property value if it does
482
+ </span></span><span id="343" class="l"><span class="php-comment"> */</span>
483
+ </span><span id="344" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getInlineStyle(<span class="php-var">$name</span>)
484
+ </span><span id="345" class="l"> {
485
+ </span><span id="346" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'style'</span>))
486
+ </span><span id="347" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
487
+ </span><span id="348" class="l">
488
+ </span><span id="349" class="l"> <span class="php-var">$m</span> = <span class="php-keyword1">null</span>;
489
+ </span><span id="350" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">preg_match</span>(<span class="php-quote">&quot;/\s*</span><span class="php-var">$name</span><span class="php-quote">:(.*?)((;\s*)|</span><span class="php-var">$</span><span class="php-quote">)/&quot;</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'style'</span>)))
490
+ </span><span id="351" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
491
+ </span><span id="352" class="l">
492
+ </span><span id="353" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$m</span>[<span class="php-num">1</span>];
493
+ </span><span id="354" class="l"> }
494
+ </span><span id="355" class="l">
495
+ </span><span id="356" class="l"> <span class="php-comment">/**
496
+ </span></span><span id="357" class="l"><span class="php-comment"> * Adds a class to this elements class attribute. It will be ignored if the class already exists
497
+ </span></span><span id="358" class="l"><span class="php-comment"> * @param string $name The classname
498
+ </span></span><span id="359" class="l"><span class="php-comment"> * @return $this
499
+ </span></span><span id="360" class="l"><span class="php-comment"> */</span>
500
+ </span><span id="361" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> addClass(<span class="php-var">$name</span>)
501
+ </span><span id="362" class="l"> {
502
+ </span><span id="363" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;hasClass(<span class="php-var">$name</span>))
503
+ </span><span id="364" class="l"> <span class="php-keyword1">return</span>;
504
+ </span><span id="365" class="l">
505
+ </span><span id="366" class="l"> <span class="php-var">$class</span> = (<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'class'</span>) ? <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'class'</span>) : <span class="php-quote">''</span>);
506
+ </span><span id="367" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'class'</span>, <span class="php-var">$class</span> . (<span class="php-keyword2">strlen</span>(<span class="php-var">$class</span>) &gt; <span class="php-num">0</span> ? <span class="php-quote">' '</span> : <span class="php-quote">''</span>) . <span class="php-var">$name</span>);
507
+ </span><span id="368" class="l">
508
+ </span><span id="369" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
509
+ </span><span id="370" class="l"> }
510
+ </span><span id="371" class="l">
511
+ </span><span id="372" class="l"> <span class="php-comment">/**
512
+ </span></span><span id="373" class="l"><span class="php-comment"> * Removes the specified class from this nodes class attribute
513
+ </span></span><span id="374" class="l"><span class="php-comment"> * @param string $name The classname
514
+ </span></span><span id="375" class="l"><span class="php-comment"> * @return $this
515
+ </span></span><span id="376" class="l"><span class="php-comment"> */</span>
516
+ </span><span id="377" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> removeClass(<span class="php-var">$name</span>)
517
+ </span><span id="378" class="l"> {
518
+ </span><span id="379" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'class'</span>))
519
+ </span><span id="380" class="l"> <span class="php-keyword1">return</span>;
520
+ </span><span id="381" class="l">
521
+ </span><span id="382" class="l"> <span class="php-var">$class</span> = <span class="php-keyword2">trim</span>(
522
+ </span><span id="383" class="l"> <span class="php-keyword2">preg_replace</span>(<span class="php-quote">'/\s{2,}/'</span>, <span class="php-quote">' '</span>,
523
+ </span><span id="384" class="l"> <span class="php-keyword2">preg_replace</span>(<span class="php-quote">'/\\b'</span> . <span class="php-var">$name</span> . <span class="php-quote">'\\b/'</span>, <span class="php-quote">' '</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'class'</span>))
524
+ </span><span id="385" class="l"> )
525
+ </span><span id="386" class="l"> );
526
+ </span><span id="387" class="l">
527
+ </span><span id="388" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'class'</span>, <span class="php-var">$class</span>);
528
+ </span><span id="389" class="l">
529
+ </span><span id="390" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
530
+ </span><span id="391" class="l"> }
531
+ </span><span id="392" class="l">
532
+ </span><span id="393" class="l"> <span class="php-comment">/**
533
+ </span></span><span id="394" class="l"><span class="php-comment"> * Tests if the specified class exists on this elements class attribute
534
+ </span></span><span id="395" class="l"><span class="php-comment"> * @param string $name The classname
535
+ </span></span><span id="396" class="l"><span class="php-comment"> * @return boolean FALSE if no such class existst, TRUE if it does
536
+ </span></span><span id="397" class="l"><span class="php-comment"> */</span>
537
+ </span><span id="398" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> hasClass(<span class="php-var">$name</span>)
538
+ </span><span id="399" class="l"> {
539
+ </span><span id="400" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'class'</span>))
540
+ </span><span id="401" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
541
+ </span><span id="402" class="l">
542
+ </span><span id="403" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword2">preg_match</span>(<span class="php-quote">'/\\b'</span> . <span class="php-var">$name</span> . <span class="php-quote">'\\b/'</span>, <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'class'</span>));
543
+ </span><span id="404" class="l"> }
544
+ </span><span id="405" class="l">
545
+ </span><span id="406" class="l"> <span class="php-comment">/**
546
+ </span></span><span id="407" class="l"><span class="php-comment"> * Populates the target element. If it is a form element, the value will be set according to the elements type/nodeName. If not, the value will be imported instead.
547
+ </span></span><span id="408" class="l"><span class="php-comment"> * @param The target element. Usually a descendant of this element
548
+ </span></span><span id="409" class="l"><span class="php-comment"> * @param string $key the key of the value we're populating with, used for formatting
549
+ </span></span><span id="410" class="l"><span class="php-comment"> * @param string $value the value to populate with
550
+ </span></span><span id="411" class="l"><span class="php-comment"> * @param array $formatters an array associative of functions to format certain values with, functions should be specified by key
551
+ </span></span><span id="412" class="l"><span class="php-comment"> * @return void
552
+ </span></span><span id="413" class="l"><span class="php-comment"> */</span>
553
+ </span><span id="414" class="l"> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> populateElement(<span class="php-var">$target</span>, <span class="php-var">$key</span>, <span class="php-var">$value</span>, <span class="php-var">$formatters</span>)
554
+ </span><span id="415" class="l"> {
555
+ </span><span id="416" class="l"> <span class="php-keyword1">if</span>(!(<span class="php-var">$target</span> <span class="php-keyword1">instanceof</span> \DOMElement))
556
+ </span><span id="417" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Argument must be a DOMElement'</span>);
557
+ </span><span id="418" class="l">
558
+ </span><span id="419" class="l"> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$target</span>-&gt;nodeName))
559
+ </span><span id="420" class="l"> {
560
+ </span><span id="421" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'textarea'</span>:
561
+ </span><span id="422" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'select'</span>:
562
+ </span><span id="423" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'input'</span>:
563
+ </span><span id="424" class="l"> <span class="php-var">$target</span>-&gt;setValue(<span class="php-var">$value</span>);
564
+ </span><span id="425" class="l"> <span class="php-keyword1">break</span>;
565
+ </span><span id="426" class="l">
566
+ </span><span id="427" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'img'</span>:
567
+ </span><span id="428" class="l"> <span class="php-var">$target</span>-&gt;setAttribute(<span class="php-quote">'src'</span>, <span class="php-var">$value</span>);
568
+ </span><span id="429" class="l"> <span class="php-keyword1">break</span>;
569
+ </span><span id="430" class="l">
570
+ </span><span id="431" class="l"> <span class="php-keyword1">default</span>:
571
+ </span><span id="432" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword2">is_null</span>(<span class="php-var">$formatters</span>) &amp;&amp; <span class="php-keyword1">isset</span>(<span class="php-var">$formatters</span>[<span class="php-var">$key</span>]))
572
+ </span><span id="433" class="l"> <span class="php-var">$value</span> = <span class="php-var">$formatters</span>[<span class="php-var">$key</span>](<span class="php-var">$value</span>);
573
+ </span><span id="434" class="l">
574
+ </span><span id="435" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$value</span> <span class="php-keyword1">instanceof</span> \DateTime)
575
+ </span><span id="436" class="l"> <span class="php-var">$value</span> = <span class="php-var">$value</span>-&gt;format(<span class="php-quote">'D jS M \'y g:ia'</span>);
576
+ </span><span id="437" class="l">
577
+ </span><span id="438" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$key</span> == <span class="php-quote">'price'</span>)
578
+ </span><span id="439" class="l"> <span class="php-var">$value</span> = <span class="php-keyword2">number_format</span>(<span class="php-var">$value</span>, <span class="php-num">2</span>, <span class="php-quote">'.'</span>, <span class="php-quote">''</span>);
579
+ </span><span id="440" class="l">
580
+ </span><span id="441" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_object</span>(<span class="php-var">$value</span>))
581
+ </span><span id="442" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Expected simple type in &quot;'</span>.<span class="php-var">$key</span>.<span class="php-quote">'&quot; =&gt; &quot;'</span>.<span class="php-keyword2">print_r</span>(<span class="php-var">$value</span>,<span class="php-keyword1">true</span>).<span class="php-quote">'&quot;'</span>);
582
+ </span><span id="443" class="l">
583
+ </span><span id="444" class="l"> <span class="php-var">$target</span>-&gt;import( <span class="php-var">$value</span> );
584
+ </span><span id="445" class="l">
585
+ </span><span id="446" class="l"> <span class="php-keyword1">break</span>;
586
+ </span><span id="447" class="l"> }
587
+ </span><span id="448" class="l"> }
588
+ </span><span id="449" class="l">
589
+ </span><span id="450" class="l"> <span class="php-comment">/**
590
+ </span></span><span id="451" class="l"><span class="php-comment"> * Takes a source object or associative array and optional array of formatting functions, and populates descendant named elements with the values from that source.
591
+ </span></span><span id="452" class="l"><span class="php-comment"> * @param mixed $src Associative array or object with the keys and values
592
+ </span></span><span id="453" class="l"><span class="php-comment"> * @param array $formatters Optional associative array of functions to format values with. The keys on this array correspond with the keys on $src
593
+ </span></span><span id="454" class="l"><span class="php-comment"> * @return DOMElement This element
594
+ </span></span><span id="455" class="l"><span class="php-comment"> */</span>
595
+ </span><span id="456" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> populate(<span class="php-var">$src</span>=<span class="php-keyword1">null</span>, <span class="php-var">$formatters</span>=<span class="php-keyword1">null</span>)
596
+ </span><span id="457" class="l"> {
597
+ </span><span id="458" class="l"> <span class="php-var">$x</span> = <span class="php-keyword1">new</span> \DOMXPath(<span class="php-var">$this</span>-&gt;ownerDocument);
598
+ </span><span id="459" class="l">
599
+ </span><span id="460" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$src</span>)
600
+ </span><span id="461" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
601
+ </span><span id="462" class="l">
602
+ </span><span id="463" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_scalar</span>(<span class="php-var">$src</span>))
603
+ </span><span id="464" class="l"> {
604
+ </span><span id="465" class="l"> <span class="php-var">$this</span>-&gt;appendText(<span class="php-var">$src</span>);
605
+ </span><span id="466" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
606
+ </span><span id="467" class="l"> }
607
+ </span><span id="468" class="l">
608
+ </span><span id="469" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$src</span> <span class="php-keyword1">as</span> <span class="php-var">$key</span> =&gt; <span class="php-var">$value</span>)
609
+ </span><span id="470" class="l"> {
610
+ </span><span id="471" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_array</span>(<span class="php-var">$value</span>))
611
+ </span><span id="472" class="l"> {
612
+ </span><span id="473" class="l"> <span class="php-var">$m</span> = <span class="php-var">$x</span>-&gt;query(<span class="php-quote">'descendant-or-self::*[@name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'[]&quot;]'</span>, <span class="php-var">$this</span>);
613
+ </span><span id="474" class="l">
614
+ </span><span id="475" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$m</span>-&gt;length &gt; <span class="php-num">0</span> &amp;&amp; <span class="php-keyword2">count</span>(<span class="php-var">$value</span>) != <span class="php-var">$m</span>-&gt;length)
615
+ </span><span id="476" class="l"> {
616
+ </span><span id="477" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$src</span> = <span class="php-var">$m</span>-&gt;item(<span class="php-num">0</span>)-&gt;closest(<span class="php-quote">'li,tr'</span>))
617
+ </span><span id="478" class="l"> {
618
+ </span><span id="479" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-var">$m</span>-&gt;length; <span class="php-var">$i</span> &lt; <span class="php-keyword2">count</span>(<span class="php-var">$value</span>); <span class="php-var">$i</span>++)
619
+ </span><span id="480" class="l"> {
620
+ </span><span id="481" class="l"> <span class="php-var">$item</span> = <span class="php-var">$src</span>-&gt;cloneNode(<span class="php-keyword1">true</span>);
621
+ </span><span id="482" class="l"> <span class="php-var">$src</span>-&gt;parentNode-&gt;appendChild(<span class="php-var">$item</span>);
622
+ </span><span id="483" class="l"> }
623
+ </span><span id="484" class="l"> <span class="php-var">$m</span> = <span class="php-var">$x</span>-&gt;query(<span class="php-quote">'descendant-or-self::*[@name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'[]&quot;]'</span>, <span class="php-var">$this</span>);
624
+ </span><span id="485" class="l"> }
625
+ </span><span id="486" class="l"> <span class="php-keyword1">else</span>
626
+ </span><span id="487" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Number of elements must match ('</span> . <span class="php-keyword2">count</span>(<span class="php-var">$value</span>) . <span class="php-quote">' != '</span> . <span class="php-var">$m</span>-&gt;length . <span class="php-quote">')'</span>);
627
+ </span><span id="488" class="l"> }
628
+ </span><span id="489" class="l">
629
+ </span><span id="490" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-num">0</span>; <span class="php-var">$i</span> &lt; <span class="php-var">$m</span>-&gt;length; <span class="php-var">$i</span>++)
630
+ </span><span id="491" class="l"> <span class="php-var">$this</span>-&gt;populateElement(<span class="php-var">$m</span>-&gt;item(<span class="php-var">$i</span>), <span class="php-var">$key</span>, <span class="php-var">$value</span>[<span class="php-var">$i</span>], <span class="php-var">$formatters</span>);
631
+ </span><span id="492" class="l"> }
632
+ </span><span id="493" class="l"> <span class="php-keyword1">else</span>
633
+ </span><span id="494" class="l"> {
634
+ </span><span id="495" class="l"> <span class="php-var">$m</span> = <span class="php-var">$x</span>-&gt;query(<span class="php-quote">'descendant-or-self::*[@name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'&quot; or @data-name=&quot;'</span> . <span class="php-var">$key</span> . <span class="php-quote">'&quot;]'</span>, <span class="php-var">$this</span>);
635
+ </span><span id="496" class="l">
636
+ </span><span id="497" class="l"> <span class="php-keyword1">for</span>(<span class="php-var">$i</span> = <span class="php-num">0</span>; <span class="php-var">$i</span> &lt; <span class="php-var">$m</span>-&gt;length; <span class="php-var">$i</span>++)
637
+ </span><span id="498" class="l"> <span class="php-var">$this</span>-&gt;populateElement(<span class="php-var">$m</span>-&gt;item(<span class="php-var">$i</span>), <span class="php-var">$key</span>, <span class="php-var">$value</span>, <span class="php-var">$formatters</span>);
638
+ </span><span id="499" class="l"> }
639
+ </span><span id="500" class="l"> }
640
+ </span><span id="501" class="l">
641
+ </span><span id="502" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
642
+ </span><span id="503" class="l"> }
643
+ </span><span id="504" class="l">
644
+ </span><span id="505" class="l"> <span class="php-comment">/**
645
+ </span></span><span id="506" class="l"><span class="php-comment"> * Gets the value of this element
646
+ </span></span><span id="507" class="l"><span class="php-comment"> * @return mixed A string if the element a text input, textarea or plain node, a boolean if the element is a checkbox or radio, or the value of the selected option if this element is a select
647
+ </span></span><span id="508" class="l"><span class="php-comment"> */</span>
648
+ </span><span id="509" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getValue()
649
+ </span><span id="510" class="l"> {
650
+ </span><span id="511" class="l"> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;nodeName))
651
+ </span><span id="512" class="l"> {
652
+ </span><span id="513" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'input'</span>:
653
+ </span><span id="514" class="l"> <span class="php-var">$type</span> = (<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'type'</span>) ? <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'type'</span>) : <span class="php-quote">'text'</span>);
654
+ </span><span id="515" class="l"> <span class="php-keyword1">switch</span>(<span class="php-var">$type</span>)
655
+ </span><span id="516" class="l"> {
656
+ </span><span id="517" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'radio'</span>:
657
+ </span><span id="518" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'checkbox'</span>:
658
+ </span><span id="519" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'checked'</span>);
659
+ </span><span id="520" class="l"> <span class="php-keyword1">break</span>;
660
+ </span><span id="521" class="l">
661
+ </span><span id="522" class="l"> <span class="php-keyword1">default</span>:
662
+ </span><span id="523" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'value'</span>);
663
+ </span><span id="524" class="l"> <span class="php-keyword1">break</span>;
664
+ </span><span id="525" class="l"> }
665
+ </span><span id="526" class="l"> <span class="php-keyword1">break</span>;
666
+ </span><span id="527" class="l">
667
+ </span><span id="528" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'select'</span>:
668
+ </span><span id="529" class="l"> <span class="php-var">$option</span> = <span class="php-var">$this</span>-&gt;querySelector(<span class="php-quote">'option[selected]'</span>);
669
+ </span><span id="530" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$option</span>)
670
+ </span><span id="531" class="l"> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
671
+ </span><span id="532" class="l">
672
+ </span><span id="533" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$option</span>-&gt;hasAttribute(<span class="php-quote">'value'</span>))
673
+ </span><span id="534" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$option</span>-&gt;getAttribute(<span class="php-quote">'value'</span>);
674
  </span><span id="535" class="l">
675
+ </span><span id="536" class="l"> <span class="php-keyword1">default</span>:
676
+ </span><span id="537" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;nodeValue;
677
+ </span><span id="538" class="l"> <span class="php-keyword1">break</span>;
678
+ </span><span id="539" class="l"> }
679
+ </span><span id="540" class="l"> }
680
+ </span><span id="541" class="l">
681
+ </span><span id="542" class="l"> <span class="php-comment">/**
682
+ </span></span><span id="543" class="l"><span class="php-comment"> * Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute
683
+ </span></span><span id="544" class="l"><span class="php-comment"> * @throws \Exception If this element is a select, SMART_STRICT_MODE is declared and no option with that value exists
684
+ </span></span><span id="545" class="l"><span class="php-comment"> * @throws \Exception If you call this method on a non-form element
685
+ </span></span><span id="546" class="l"><span class="php-comment"> * @return This element
686
+ </span></span><span id="547" class="l"><span class="php-comment"> */</span>
687
+ </span><span id="548" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> setValue(<span class="php-var">$value</span>)
688
+ </span><span id="549" class="l"> {
689
+ </span><span id="550" class="l"> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;nodeName))
690
+ </span><span id="551" class="l"> {
691
+ </span><span id="552" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'textarea'</span>:
692
+ </span><span id="553" class="l"> <span class="php-var">$this</span>-&gt;clear();
693
+ </span><span id="554" class="l"> <span class="php-var">$this</span>-&gt;appendText( <span class="php-var">$value</span> );
694
+ </span><span id="555" class="l"> <span class="php-keyword1">break</span>;
695
+ </span><span id="556" class="l">
696
+ </span><span id="557" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'select'</span>:
697
+ </span><span id="558" class="l"> <span class="php-var">$deselect</span> = <span class="php-var">$this</span>-&gt;querySelectorAll(<span class="php-quote">'option[selected]'</span>);
698
+ </span><span id="559" class="l"> <span class="php-keyword1">foreach</span>(<span class="php-var">$deselect</span> <span class="php-keyword1">as</span> <span class="php-var">$d</span>)
699
+ </span><span id="560" class="l"> <span class="php-var">$d</span>-&gt;removeAttribute(<span class="php-quote">'selected'</span>);
700
+ </span><span id="561" class="l">
701
+ </span><span id="562" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$value</span> === <span class="php-keyword1">null</span>)
702
+ </span><span id="563" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
703
+ </span><span id="564" class="l">
704
+ </span><span id="565" class="l"> <span class="php-var">$option</span> = <span class="php-var">$this</span>-&gt;querySelector(<span class="php-quote">'option[value=&quot;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&quot;]'</span>);
705
+ </span><span id="566" class="l">
706
+ </span><span id="567" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$option</span>)
707
+ </span><span id="568" class="l"> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">'Option with value &quot;'</span> . <span class="php-var">$value</span> . <span class="php-quote">'&quot; not found in &quot;'</span> . (<span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'name'</span>)) . <span class="php-quote">'&quot;'</span>, E_USER_WARNING);
708
+ </span><span id="569" class="l"> <span class="php-keyword1">else</span>
709
+ </span><span id="570" class="l"> <span class="php-var">$option</span>-&gt;setAttribute(<span class="php-quote">'selected'</span>, <span class="php-quote">'selected'</span>);
710
+ </span><span id="571" class="l">
711
+ </span><span id="572" class="l"> <span class="php-keyword1">break</span>;
712
  </span><span id="573" class="l">
713
+ </span><span id="574" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'input'</span>:
714
+ </span><span id="575" class="l"> <span class="php-keyword1">if</span>(!<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'type'</span>) || <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'type'</span>) == <span class="php-quote">'text'</span>)
715
+ </span><span id="576" class="l"> {
716
+ </span><span id="577" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword2">is_string</span>(<span class="php-var">$value</span>))
717
+ </span><span id="578" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'value'</span>, <span class="php-var">$value</span>);
718
+ </span><span id="579" class="l"> }
719
+ </span><span id="580" class="l"> <span class="php-keyword1">else</span> <span class="php-keyword1">switch</span>(<span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'type'</span>)))
720
+ </span><span id="581" class="l"> {
721
+ </span><span id="582" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'radio'</span>:
722
+ </span><span id="583" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;hasAttribute(<span class="php-quote">'value'</span>) &amp;&amp; <span class="php-var">$this</span>-&gt;getAttribute(<span class="php-quote">'value'</span>) == <span class="php-var">$value</span>)
723
+ </span><span id="584" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'checked'</span>, <span class="php-quote">'checked'</span>);
724
+ </span><span id="585" class="l"> <span class="php-keyword1">else</span>
725
+ </span><span id="586" class="l"> <span class="php-var">$this</span>-&gt;removeAttribute(<span class="php-quote">'checked'</span>);
726
+ </span><span id="587" class="l"> <span class="php-keyword1">break</span>;
727
+ </span><span id="588" class="l">
728
+ </span><span id="589" class="l"> <span class="php-keyword1">case</span> <span class="php-quote">'checkbox'</span>:
729
+ </span><span id="590" class="l"> <span class="php-keyword1">if</span>(!<span class="php-keyword1">empty</span>(<span class="php-var">$value</span>) &amp;&amp; <span class="php-var">$value</span> != <span class="php-keyword1">false</span>)
730
+ </span><span id="591" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'checked'</span>, <span class="php-quote">'checked'</span>);
731
+ </span><span id="592" class="l"> <span class="php-keyword1">else</span>
732
+ </span><span id="593" class="l"> <span class="php-var">$this</span>-&gt;removeAttribute(<span class="php-quote">'checked'</span>);
733
+ </span><span id="594" class="l"> <span class="php-keyword1">break</span>;
734
+ </span><span id="595" class="l">
735
+ </span><span id="596" class="l"> <span class="php-keyword1">default</span>:
736
+ </span><span id="597" class="l"> <span class="php-var">$this</span>-&gt;setAttribute(<span class="php-quote">'value'</span>, <span class="php-var">$value</span>);
737
+ </span><span id="598" class="l"> <span class="php-keyword1">break</span>;
738
+ </span><span id="599" class="l"> }
739
+ </span><span id="600" class="l"> <span class="php-keyword1">break</span>;
740
+ </span><span id="601" class="l">
741
+ </span><span id="602" class="l"> <span class="php-keyword1">default</span>:
742
+ </span><span id="603" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Not yet implemented'</span>);
743
+ </span><span id="604" class="l">
744
+ </span><span id="605" class="l"> <span class="php-var">$this</span>-&gt;nodeValue = <span class="php-var">$value</span>;
745
+ </span><span id="606" class="l"> <span class="php-keyword1">break</span>;
746
+ </span><span id="607" class="l"> }
747
+ </span><span id="608" class="l">
748
+ </span><span id="609" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
749
+ </span><span id="610" class="l"> }
750
+ </span><span id="611" class="l">
751
+ </span><span id="612" class="l"> <span class="php-comment">/**
752
+ </span></span><span id="613" class="l"><span class="php-comment"> * Appends the specified text to this element, shorthand utility function
753
+ </span></span><span id="614" class="l"><span class="php-comment"> * @return \Smart\Element This element
754
+ </span></span><span id="615" class="l"><span class="php-comment"> */</span>
755
+ </span><span id="616" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> appendText(<span class="php-var">$text</span>)
756
+ </span><span id="617" class="l"> {
757
+ </span><span id="618" class="l"> <span class="php-var">$this</span>-&gt;appendChild( <span class="php-var">$this</span>-&gt;ownerDocument-&gt;createTextNode( <span class="php-var">$text</span> ) );
758
+ </span><span id="619" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
759
+ </span><span id="620" class="l"> }
760
+ </span><span id="621" class="l">
761
+ </span><span id="622" class="l"> <span class="php-comment">/**
762
+ </span></span><span id="623" class="l"><span class="php-comment"> * Utility function to append the specified element after one of this elements children. Will append at the end if after is null
763
+ </span></span><span id="624" class="l"><span class="php-comment"> * @param \Smart\Element the element to insert
764
+ </span></span><span id="625" class="l"><span class="php-comment"> * @param \Smart\Element one of this elements children, or null
765
+ </span></span><span id="626" class="l"><span class="php-comment"> * *@return \Smart\Element this element
766
+ </span></span><span id="627" class="l"><span class="php-comment"> */</span>
767
+ </span><span id="628" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> insertAfter(<span class="php-var">$elem</span>, <span class="php-var">$after</span>=<span class="php-keyword1">null</span>)
768
+ </span><span id="629" class="l"> {
769
+ </span><span id="630" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$after</span>-&gt;parentNode &amp;&amp; <span class="php-var">$after</span>-&gt;parentNode !== <span class="php-var">$this</span>)
770
+ </span><span id="631" class="l"> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \Exception(<span class="php-quote">'Hierarchy error'</span>);
771
+ </span><span id="632" class="l">
772
+ </span><span id="633" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$after</span>-&gt;nextSibling)
773
+ </span><span id="634" class="l"> <span class="php-var">$this</span>-&gt;insertBefore(<span class="php-var">$elem</span>, <span class="php-var">$after</span>-&gt;nextSibling);
774
+ </span><span id="635" class="l"> <span class="php-keyword1">else</span>
775
+ </span><span id="636" class="l"> <span class="php-var">$this</span>-&gt;appendChild(<span class="php-var">$elem</span>);
776
+ </span><span id="637" class="l">
777
+ </span><span id="638" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
778
+ </span><span id="639" class="l"> }
779
+ </span><span id="640" class="l">
780
+ </span><span id="641" class="l"> <span class="php-comment">/**
781
+ </span></span><span id="642" class="l"><span class="php-comment"> * Clears this element, completely removing all it's contents
782
+ </span></span><span id="643" class="l"><span class="php-comment"> * @return \Smart\Element This element
783
+ </span></span><span id="644" class="l"><span class="php-comment"> */</span>
784
+ </span><span id="645" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> clear()
785
+ </span><span id="646" class="l"> {
786
+ </span><span id="647" class="l"> <span class="php-keyword1">while</span>(<span class="php-var">$this</span>-&gt;childNodes-&gt;length)
787
+ </span><span id="648" class="l"> <span class="php-var">$this</span>-&gt;removeChild(<span class="php-var">$this</span>-&gt;firstChild);
788
+ </span><span id="649" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
789
+ </span><span id="650" class="l"> }
790
+ </span><span id="651" class="l">
791
+ </span><span id="652" class="l"> <span class="php-comment">/**
792
+ </span></span><span id="653" class="l"><span class="php-comment"> * Removes this element from it's parent
793
+ </span></span><span id="654" class="l"><span class="php-comment"> * @return \Smart\Element This element
794
+ </span></span><span id="655" class="l"><span class="php-comment"> */</span>
795
+ </span><span id="656" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> remove()
796
+ </span><span id="657" class="l"> {
797
+ </span><span id="658" class="l"> <span class="php-keyword1">if</span>(<span class="php-var">$this</span>-&gt;parentNode)
798
+ </span><span id="659" class="l"> <span class="php-var">$this</span>-&gt;parentNode-&gt;removeChild(<span class="php-var">$this</span>);
799
+ </span><span id="660" class="l"> <span class="php-keyword1">return</span> <span class="php-var">$this</span>;
800
+ </span><span id="661" class="l"> }
801
+ </span><span id="662" class="l">}
802
+ </span><span id="663" class="l">
803
+ </span><span id="664" class="l"><span class="xlang">?&gt;</span></span></code></pre>
 
 
 
 
 
 
 
 
 
 
804
 
805
  <div id="footer">
806
  API documentation generated by <a href="http://apigen.org">ApiGen</a>
docs/php/source-class-WPGMZA.Integration.Gutenberg.html CHANGED
@@ -136,7 +136,7 @@
136
  </ul>
137
  </div>
138
 
139
- <pre class="numbers"><code><span class="l"><a href="#1"> 1: </a></span><span class="l"><a href="#2"> 2: </a></span><span class="l"><a href="#3"> 3: </a></span><span class="l"><a href="#4"> 4: </a></span><span class="l"><a href="#5"> 5: </a></span></span><span class="l"><a href="#6"> 6: </a></span></span><span class="l"><a href="#7"> 7: </a></span><span class="l"><a href="#8"> 8: </a></span><span class="l"><a href="#9"> 9: </a></span><span class="l"><a href="#10">10: </a></span></span><span class="l"><a href="#11">11: </a></span></span><span class="l"><a href="#12">12: </a></span><span class="l"><a href="#13">13: </a></span><span class="l"><a href="#14">14: </a></span><span class="l"><a href="#15">15: </a></span><span class="l"><a href="#16">16: </a></span><span class="l"><a href="#17">17: </a></span><span class="l"><a href="#18">18: </a></span><span class="l"><a href="#19">19: </a></span><span class="l"><a href="#20">20: </a></span><span class="l"><a href="#21">21: </a></span><span class="l"><a href="#22">22: </a></span><span class="l"><a href="#23">23: </a></span><span class="l"><a href="#24">24: </a></span><span class="l"><a href="#25">25: </a></span><span class="l"><a href="#26">26: </a></span><span class="l"><a href="#27">27: </a></span><span class="l"><a href="#28">28: </a></span><span class="l"><a href="#29">29: </a></span><span class="l"><a href="#30">30: </a></span><span class="l"><a href="#31">31: </a></span><span class="l"><a href="#32">32: </a></span><span class="l"><a href="#33">33: </a></span><span class="l"><a href="#34">34: </a></span><span class="l"><a href="#35">35: </a></span><span class="l"><a href="#36">36: </a></span></span><span class="l"><a href="#37">37: </a></span></span><span class="l"><a href="#38">38: </a></span><span class="l"><a href="#39">39: </a></span><span class="l"><a href="#40">40: </a></span><span class="l"><a href="#41">41: </a></span><span class="l"><a href="#42">42: </a></span><span class="l"><a href="#43">43: </a></span><span class="l"><a href="#44">44: </a></span><span class="l"><a href="#45">45: </a></span><span class="l"><a href="#46">46: </a></span><span class="l"><a href="#47">47: </a></span><span class="l"><a href="#48">48: </a></span><span class="l"><a href="#49">49: </a></span><span class="l"><a href="#50">50: </a></span><span class="l"><a href="#51">51: </a></span><span class="l"><a href="#52">52: </a></span><span class="l"><a href="#53">53: </a></span></span><span class="l"><a href="#54">54: </a></span></span><span class="l"><a href="#55">55: </a></span><span class="l"><a href="#56">56: </a></span><span class="l"><a href="#57">57: </a></span><span class="l"><a href="#58">58: </a></span><span class="l"><a href="#59">59: </a></span><span class="l"><a href="#60">60: </a></span><span class="l"><a href="#61">61: </a></span><span class="l"><a href="#62">62: </a></span><span class="l"><a href="#63">63: </a></span><span class="l"><a href="#64">64: </a></span><span class="l"><a href="#65">65: </a></span><span class="l"><a href="#66">66: </a></span></span><span class="l"><a href="#67">67: </a></span></span><span class="l"><a href="#68">68: </a></span></span><span class="l"><a href="#69">69: </a></span></span><span class="l"><a href="#70">70: </a></span></span><span class="l"><a href="#71">71: </a></span></span><span class="l"><a href="#72">72: </a></span></span><span class="l"><a href="#73">73: </a></span></span><span class="l"><a href="#74">74: </a></span></span><span class="l"><a href="#75">75: </a></span></span><span class="l"><a href="#76">76: </a></span></span><span class="l"><a href="#77">77: </a></span><span class="l"><a href="#78">78: </a></span><span class="l"><a href="#79">79: </a></span><span class="l"><a href="#80">80: </a></span></span><span class="l"><a href="#81">81: </a></span></span><span class="l"><a href="#82">82: </a></span></span><span class="l"><a href="#83">83: </a></span><span class="l"><a href="#84">84: </a></span><span class="l"><a href="#85">85: </a></span><span class="l"><a href="#86">86: </a></span><span class="l"><a href="#87">87: </a></span><span class="l"><a href="#88">88: </a></span><span class="l"><a href="#89">89: </a></span><span class="l"><a href="#90">90: </a></span><span class="l"><a href="#91">91: </a></span></code></pre>
140
  <pre class="code"><code><span id="1" class="l"><span class="xlang">&lt;?php</span>
141
  </span><span id="2" class="l">
142
  </span><span id="3" class="l"><span class="php-keyword1">namespace</span> WPGMZA\Integration;
@@ -179,55 +179,58 @@
179
  </span><span id="40" class="l"> {
180
  </span><span id="41" class="l"> <span class="php-keyword1">global</span> <span class="php-var">$wpgmza</span>;
181
  </span><span id="42" class="l">
182
- </span><span id="43" class="l"> <span class="php-var">$wpgmza</span>-&gt;loadScripts();
183
- </span><span id="44" class="l">
184
- </span><span id="45" class="l"> wp_enqueue_style(
185
- </span><span id="46" class="l"> <span class="php-quote">'wpgmza-gutenberg-integration'</span>,
186
- </span><span id="47" class="l"> plugin_dir_url(WPGMZA_FILE) . <span class="php-quote">'css/gutenberg.css'</span>,
187
- </span><span id="48" class="l"> <span class="php-quote">''</span>,
188
- </span><span id="49" class="l"> WPGMZA_VERSION
189
- </span><span id="50" class="l"> );
190
- </span><span id="51" class="l"> }
191
- </span><span id="52" class="l">
192
- </span><span id="53" class="l"> <span class="php-comment">/**
193
- </span></span><span id="54" class="l"><span class="php-comment"> * Called on the WordPress init action. This function strips out JS module generated by the babel compiler, for browser compatibility.
194
- </span></span><span id="55" class="l"><span class="php-comment"> */</span>
195
- </span><span id="56" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> onInit()
196
- </span><span id="57" class="l"> {
197
- </span><span id="58" class="l"> <span class="php-keyword1">global</span> <span class="php-var">$wpgmza</span>;
198
- </span><span id="59" class="l">
199
- </span><span id="60" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$wpgmza</span>-&gt;settings-&gt;developer_mode))
200
- </span><span id="61" class="l"> <span class="php-keyword1">return</span>;
201
  </span><span id="62" class="l">
202
- </span><span id="63" class="l"> <span class="php-comment">// NB: Commented out, false positives were causing this file to be wiped</span>
203
- </span><span id="64" class="l">
204
- </span><span id="65" class="l"> <span class="php-comment">// Strip out JS module code for browser compatibility</span>
205
- </span><span id="66" class="l"> <span class="php-comment">/*$filename = plugin_dir_path(WPGMZA_FILE) . 'js/v8/3rd-party-integration/gutenberg/dist/gutenberg.js';
206
- </span></span><span id="67" class="l"><span class="php-comment">
207
- </span></span><span id="68" class="l"><span class="php-comment"> $contents = file_get_contents($filename);
208
- </span></span><span id="69" class="l"><span class="php-comment">
209
- </span></span><span id="70" class="l"><span class="php-comment"> $contents = preg_replace('/Object\.defineProperty\(exports.+?;/s', '', $contents);
210
- </span></span><span id="71" class="l"><span class="php-comment">
211
- </span></span><span id="72" class="l"><span class="php-comment"> $contents = preg_replace('/exports\.default = /', '', $contents);
212
- </span></span><span id="73" class="l"><span class="php-comment">
213
- </span></span><span id="74" class="l"><span class="php-comment"> if(empty($contents))
214
- </span></span><span id="75" class="l"><span class="php-comment"> throw new \Exception('Gutenberg module would be blank');
215
  </span></span><span id="76" class="l"><span class="php-comment">
216
- </span></span><span id="77" class="l"><span class="php-comment"> file_put_contents($filename, $contents);*/</span>
217
- </span><span id="78" class="l"> }
218
- </span><span id="79" class="l">
219
- </span><span id="80" class="l"> <span class="php-comment">/**
220
- </span></span><span id="81" class="l"><span class="php-comment"> * Called to render the plugins Gutenberg block front end.
221
- </span></span><span id="82" class="l"><span class="php-comment"> * @param mixed[] $atts An array of attributes passed in from the editor.
222
- </span></span><span id="83" class="l"><span class="php-comment"> */</span>
223
- </span><span id="84" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> onRender(<span class="php-var">$attr</span>)
224
- </span><span id="85" class="l"> {
225
- </span><span id="86" class="l"> <span class="php-keyword2">extract</span>(<span class="php-var">$attr</span>);
226
- </span><span id="87" class="l">
227
- </span><span id="88" class="l"> <span class="php-keyword1">return</span> <span class="php-quote">'[wpgmza id=&quot;1&quot;]'</span>;
228
- </span><span id="89" class="l"> }
229
- </span><span id="90" class="l">}
230
- </span><span id="91" class="l"></span></code></pre>
 
 
 
231
 
232
  <div id="footer">
233
  API documentation generated by <a href="http://apigen.org">ApiGen</a>
136
  </ul>
137
  </div>
138
 
139
+ <pre class="numbers"><code><span class="l"><a href="#1"> 1: </a></span><span class="l"><a href="#2"> 2: </a></span><span class="l"><a href="#3"> 3: </a></span><span class="l"><a href="#4"> 4: </a></span><span class="l"><a href="#5"> 5: </a></span></span><span class="l"><a href="#6"> 6: </a></span></span><span class="l"><a href="#7"> 7: </a></span><span class="l"><a href="#8"> 8: </a></span><span class="l"><a href="#9"> 9: </a></span><span class="l"><a href="#10">10: </a></span></span><span class="l"><a href="#11">11: </a></span></span><span class="l"><a href="#12">12: </a></span><span class="l"><a href="#13">13: </a></span><span class="l"><a href="#14">14: </a></span><span class="l"><a href="#15">15: </a></span><span class="l"><a href="#16">16: </a></span><span class="l"><a href="#17">17: </a></span><span class="l"><a href="#18">18: </a></span><span class="l"><a href="#19">19: </a></span><span class="l"><a href="#20">20: </a></span><span class="l"><a href="#21">21: </a></span><span class="l"><a href="#22">22: </a></span><span class="l"><a href="#23">23: </a></span><span class="l"><a href="#24">24: </a></span><span class="l"><a href="#25">25: </a></span><span class="l"><a href="#26">26: </a></span><span class="l"><a href="#27">27: </a></span><span class="l"><a href="#28">28: </a></span><span class="l"><a href="#29">29: </a></span><span class="l"><a href="#30">30: </a></span><span class="l"><a href="#31">31: </a></span><span class="l"><a href="#32">32: </a></span><span class="l"><a href="#33">33: </a></span><span class="l"><a href="#34">34: </a></span><span class="l"><a href="#35">35: </a></span><span class="l"><a href="#36">36: </a></span></span><span class="l"><a href="#37">37: </a></span></span><span class="l"><a href="#38">38: </a></span><span class="l"><a href="#39">39: </a></span><span class="l"><a href="#40">40: </a></span><span class="l"><a href="#41">41: </a></span><span class="l"><a href="#42">42: </a></span><span class="l"><a href="#43">43: </a></span><span class="l"><a href="#44">44: </a></span><span class="l"><a href="#45">45: </a></span><span class="l"><a href="#46">46: </a></span><span class="l"><a href="#47">47: </a></span><span class="l"><a href="#48">48: </a></span><span class="l"><a href="#49">49: </a></span><span class="l"><a href="#50">50: </a></span><span class="l"><a href="#51">51: </a></span><span class="l"><a href="#52">52: </a></span><span class="l"><a href="#53">53: </a></span><span class="l"><a href="#54">54: </a></span><span class="l"><a href="#55">55: </a></span><span class="l"><a href="#56">56: </a></span></span><span class="l"><a href="#57">57: </a></span></span><span class="l"><a href="#58">58: </a></span><span class="l"><a href="#59">59: </a></span><span class="l"><a href="#60">60: </a></span><span class="l"><a href="#61">61: </a></span><span class="l"><a href="#62">62: </a></span><span class="l"><a href="#63">63: </a></span><span class="l"><a href="#64">64: </a></span><span class="l"><a href="#65">65: </a></span><span class="l"><a href="#66">66: </a></span><span class="l"><a href="#67">67: </a></span><span class="l"><a href="#68">68: </a></span><span class="l"><a href="#69">69: </a></span></span><span class="l"><a href="#70">70: </a></span></span><span class="l"><a href="#71">71: </a></span></span><span class="l"><a href="#72">72: </a></span></span><span class="l"><a href="#73">73: </a></span></span><span class="l"><a href="#74">74: </a></span></span><span class="l"><a href="#75">75: </a></span></span><span class="l"><a href="#76">76: </a></span></span><span class="l"><a href="#77">77: </a></span></span><span class="l"><a href="#78">78: </a></span></span><span class="l"><a href="#79">79: </a></span></span><span class="l"><a href="#80">80: </a></span><span class="l"><a href="#81">81: </a></span><span class="l"><a href="#82">82: </a></span><span class="l"><a href="#83">83: </a></span></span><span class="l"><a href="#84">84: </a></span></span><span class="l"><a href="#85">85: </a></span></span><span class="l"><a href="#86">86: </a></span><span class="l"><a href="#87">87: </a></span><span class="l"><a href="#88">88: </a></span><span class="l"><a href="#89">89: </a></span><span class="l"><a href="#90">90: </a></span><span class="l"><a href="#91">91: </a></span><span class="l"><a href="#92">92: </a></span><span class="l"><a href="#93">93: </a></span><span class="l"><a href="#94">94: </a></span></code></pre>
140
  <pre class="code"><code><span id="1" class="l"><span class="xlang">&lt;?php</span>
141
  </span><span id="2" class="l">
142
  </span><span id="3" class="l"><span class="php-keyword1">namespace</span> WPGMZA\Integration;
179
  </span><span id="40" class="l"> {
180
  </span><span id="41" class="l"> <span class="php-keyword1">global</span> <span class="php-var">$wpgmza</span>;
181
  </span><span id="42" class="l">
182
+ </span><span id="43" class="l"> <span class="php-keyword1">if</span>(!is_admin())
183
+ </span><span id="44" class="l"> <span class="php-keyword1">return</span>;
184
+ </span><span id="45" class="l">
185
+ </span><span id="46" class="l"> <span class="php-var">$wpgmza</span>-&gt;loadScripts();
186
+ </span><span id="47" class="l">
187
+ </span><span id="48" class="l"> wp_enqueue_style(
188
+ </span><span id="49" class="l"> <span class="php-quote">'wpgmza-gutenberg-integration'</span>,
189
+ </span><span id="50" class="l"> plugin_dir_url(WPGMZA_FILE) . <span class="php-quote">'css/gutenberg.css'</span>,
190
+ </span><span id="51" class="l"> <span class="php-quote">''</span>,
191
+ </span><span id="52" class="l"> WPGMZA_VERSION
192
+ </span><span id="53" class="l"> );
193
+ </span><span id="54" class="l"> }
194
+ </span><span id="55" class="l">
195
+ </span><span id="56" class="l"> <span class="php-comment">/**
196
+ </span></span><span id="57" class="l"><span class="php-comment"> * Called on the WordPress init action. This function strips out JS module generated by the babel compiler, for browser compatibility.
197
+ </span></span><span id="58" class="l"><span class="php-comment"> */</span>
198
+ </span><span id="59" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> onInit()
199
+ </span><span id="60" class="l"> {
200
+ </span><span id="61" class="l"> <span class="php-keyword1">global</span> <span class="php-var">$wpgmza</span>;
201
  </span><span id="62" class="l">
202
+ </span><span id="63" class="l"> <span class="php-keyword1">if</span>(<span class="php-keyword1">empty</span>(<span class="php-var">$wpgmza</span>-&gt;settings-&gt;developer_mode))
203
+ </span><span id="64" class="l"> <span class="php-keyword1">return</span>;
204
+ </span><span id="65" class="l">
205
+ </span><span id="66" class="l"> <span class="php-comment">// NB: Commented out, false positives were causing this file to be wiped</span>
206
+ </span><span id="67" class="l">
207
+ </span><span id="68" class="l"> <span class="php-comment">// Strip out JS module code for browser compatibility</span>
208
+ </span><span id="69" class="l"> <span class="php-comment">/*$filename = plugin_dir_path(WPGMZA_FILE) . 'js/v8/3rd-party-integration/gutenberg/dist/gutenberg.js';
209
+ </span></span><span id="70" class="l"><span class="php-comment">
210
+ </span></span><span id="71" class="l"><span class="php-comment"> $contents = file_get_contents($filename);
211
+ </span></span><span id="72" class="l"><span class="php-comment">
212
+ </span></span><span id="73" class="l"><span class="php-comment"> $contents = preg_replace('/Object\.defineProperty\(exports.+?;/s', '', $contents);
213
+ </span></span><span id="74" class="l"><span class="php-comment">
214
+ </span></span><span id="75" class="l"><span class="php-comment"> $contents = preg_replace('/exports\.default = /', '', $contents);
215
  </span></span><span id="76" class="l"><span class="php-comment">
216
+ </span></span><span id="77" class="l"><span class="php-comment"> if(empty($contents))
217
+ </span></span><span id="78" class="l"><span class="php-comment"> throw new \Exception('Gutenberg module would be blank');
218
+ </span></span><span id="79" class="l"><span class="php-comment">
219
+ </span></span><span id="80" class="l"><span class="php-comment"> file_put_contents($filename, $contents);*/</span>
220
+ </span><span id="81" class="l"> }
221
+ </span><span id="82" class="l">
222
+ </span><span id="83" class="l"> <span class="php-comment">/**
223
+ </span></span><span id="84" class="l"><span class="php-comment"> * Called to render the plugins Gutenberg block front end.
224
+ </span></span><span id="85" class="l"><span class="php-comment"> * @param mixed[] $atts An array of attributes passed in from the editor.
225
+ </span></span><span id="86" class="l"><span class="php-comment"> */</span>
226
+ </span><span id="87" class="l"> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> onRender(<span class="php-var">$attr</span>)
227
+ </span><span id="88" class="l"> {
228
+ </span><span id="89" class="l"> <span class="php-keyword2">extract</span>(<span class="php-var">$attr</span>);
229
+ </span><span id="90" class="l">
230
+ </span><span id="91" class="l"> <span class="php-keyword1">return</span> <span class="php-quote">'[wpgmza id=&quot;1&quot;]'</span>;
231
+ </span><span id="92" class="l"> }
232
+ </span><span id="93" class="l">}
233
+ </span><span id="94" class="l"></span></code></pre>
234
 
235
  <div id="footer">
236
  API documentation generated by <a href="http://apigen.org">ApiGen</a>
docs/php/source-class-WPGMZA.ScriptLoader.html CHANGED
@@ -246,7 +246,7 @@
246
  </span><span id="107" class="l">
247
  </span><span id="108" class="l"> <span class="php-var">$libraryDependencies</span> = <span class="php-keyword1">array</span>(
248
  </span><span id="109" class="l"> <span class="php-quote">'datatables'</span> =&gt; <span class="php-var">$plugin_dir_url</span> . <span class="php-quote">'js/jquery.dataTables.min.js'</span>,
249
- </span><span id="110" class="l"> <span class="php-quote">'jquery-cookie'</span> =&gt; <span class="php-var">$plugin_dir_url</span> . <span class="php-quote">'lib/jquery-cookie.js'</span>,
250
  </span><span id="111" class="l"> <span class="php-comment">// 'modernizr-custom' =&gt; $plugin_dir_url . 'lib/modernizr-custom.js',</span>
251
  </span><span id="112" class="l"> <span class="php-quote">'remodal'</span> =&gt; <span class="php-var">$plugin_dir_url</span> . <span class="php-quote">'lib/'</span> . (<span class="php-var">$wpgmza</span>-&gt;isUsingMinifiedScripts() ? <span class="php-quote">'remodal.min.js'</span> : <span class="php-quote">'remodal.js'</span>),
252
  </span><span id="113" class="l"> <span class="php-comment">// 'resize-sensor' =&gt; $plugin_dir_url . 'lib/ResizeSensor.js',</span>
246
  </span><span id="107" class="l">
247
  </span><span id="108" class="l"> <span class="php-var">$libraryDependencies</span> = <span class="php-keyword1">array</span>(
248
  </span><span id="109" class="l"> <span class="php-quote">'datatables'</span> =&gt; <span class="php-var">$plugin_dir_url</span> . <span class="php-quote">'js/jquery.dataTables.min.js'</span>,
249
+ </span><span id="110" class="l"> <span class="php-quote">'javascript-cookie'</span> =&gt; <span class="php-var">$plugin_dir_url</span> . <span class="php-quote">'lib/jquery-cookie.js'</span>,
250
  </span><span id="111" class="l"> <span class="php-comment">// 'modernizr-custom' =&gt; $plugin_dir_url . 'lib/modernizr-custom.js',</span>
251
  </span><span id="112" class="l"> <span class="php-quote">'remodal'</span> =&gt; <span class="php-var">$plugin_dir_url</span> . <span class="php-quote">'lib/'</span> . (<span class="php-var">$wpgmza</span>-&gt;isUsingMinifiedScripts() ? <span class="php-quote">'remodal.min.js'</span> : <span class="php-quote">'remodal.js'</span>),
252
  </span><span id="113" class="l"> <span class="php-comment">// 'resize-sensor' =&gt; $plugin_dir_url . 'lib/ResizeSensor.js',</span>
html/tile-server-fieldset.html.php ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <tr data-required-map-engine="open-layers">
2
+ <td><?php _e('Tile Server URL:', 'map-block'); ?></td>
3
+ <td id="tile_server_controls">
4
+
5
+ <select name="tile_server_url">
6
+
7
+ <option
8
+ value="{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"
9
+ data-usage-policy="https://wiki.openstreetmap.org/wiki/Tile_usage_policy">
10
+ <?php
11
+ _e('OpenStreetMap', 'map-block');
12
+ ?>
13
+ </option>
14
+
15
+ <option
16
+ value="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png"
17
+ data-usage-policy="https://foundation.wikimedia.org/wiki/Maps_Terms_of_Use"
18
+ data-preview-image="https://wiki.openstreetmap.org/w/images/0/02/Wikimedia-tile.png">
19
+ <?php
20
+ _e('Wikimedia Maps', 'map-block');
21
+ ?>
22
+ </option>
23
+
24
+ <option value="http://tile.thunderforest.com/cycle/{z}/{x}/{y}.png"
25
+ data-preview-image="http://b.tile.opencyclemap.org/cycle/16/33199/22539.png">
26
+ <?php
27
+ _e('OpenCycleMap', 'map-block');
28
+ ?>
29
+ </option>
30
+
31
+ <option value="http://a.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png"
32
+ data-preview-image="https://wiki.openstreetmap.org/w/images/6/63/Humanitarian_style.png">
33
+ <?php
34
+ _e('Humanitarian', 'map-block');
35
+ ?>
36
+ </option>
37
+
38
+ <option value="https://{a-c}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png"
39
+ data-preview-image="http://a.www.toolserver.org/tiles/bw-mapnik/9/264/179.png">
40
+ <?php
41
+ _e('Mapnik OSM B&amp;W', 'map-block');
42
+ ?>
43
+ </option>
44
+
45
+ <option value="https://tiles.wmflabs.org/osm-no-labels/{z}/{x}/{y}.png"
46
+ data-preview-image="http://c.tiles.wmflabs.org/osm-no-labels/14/7452/6839.png">
47
+ <?php
48
+ _e('Mapnik OSM No Labels', 'map-block');
49
+ ?>
50
+ </option>
51
+
52
+ <option value="http://a.tile.stamen.com/toner/{z}/{x}/{y}.png"
53
+ data-preview-image="http://a.tile.stamen.com/toner/10/529/366.png">
54
+ <?php
55
+ _e('Stamen Toner', 'map-block');
56
+ ?>
57
+ </option>
58
+
59
+ <option value="http://c.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg"
60
+ data-preview-image="https://wiki.openstreetmap.org/w/images/d/d2/Tile_watercolor_stamen.jpg">
61
+ <?php
62
+ _e('Stamen Watercolor', 'map-block');
63
+ ?>
64
+ </option>
65
+
66
+ <option value="http://tile.thunderforest.com/transport/{z}/{x}/{y}.png"
67
+ data-preview-image="http://a.tile2.opencyclemap.org/transport/13/4150/2819.png">
68
+ <?php
69
+ _e('Transport Map', 'map-block');
70
+ ?>
71
+ </option>
72
+
73
+ <option value="http://tile.thunderforest.com/landscape/{z}/{x}/{y}.png"
74
+ data-preview-image="http://a.tile.thunderforest.com/landscape/14/4773/6144.png">
75
+ <?php
76
+ _e('Thunderforest Landscape', 'map-block');
77
+ ?>
78
+ </option>
79
+
80
+ <option value="http://tile.thunderforest.com/outdoors/{z}/{x}/{y}.png"
81
+ data-preview-image="http://a.tile.thunderforest.com/outdoors/14/4772/6144.png">
82
+ <?php
83
+ _e('Thunderforest Outdoors', 'map-block');
84
+ ?>
85
+ </option>
86
+
87
+ <option value="http://tile.memomaps.de/tilegen/{z}/{x}/{y}.png"
88
+ data-preview-image="http://tile.memomaps.de/tilegen/12/2200/1343.png">
89
+ <?php
90
+ _e('Öpnvkarte', 'map-block');
91
+ ?>
92
+ </option>
93
+
94
+ <option value="http://www.openptmap.org/tiles/{z}/{x}/{y}.png"
95
+ data-preview-image="http://www.openptmap.org/tiles//10/529/366.png">
96
+ <?php
97
+ _e('OpenPtMap', 'map-block');
98
+ ?>
99
+ </option>
100
+
101
+ <option value="https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png">
102
+ <?php
103
+ _e('Carto Light (Positron)', 'map-block');
104
+ ?>
105
+ </option>
106
+
107
+ <option value="https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"
108
+ data-preview-image="https://wiki.openstreetmap.org/w/images/b/ba/Cartodb_dark_tile.png">
109
+ <?php
110
+ _e('Carto Dark (Dark Matter)', 'map-block');
111
+ ?>
112
+ </option>
113
+
114
+ <option value="https://maps-cdn.salesboard.biz/styles/klokantech-3d-gl-style/{z}/{x}/{y}.png">
115
+ <?php
116
+ _e('Klokantech 3d', 'map-block');
117
+ ?>
118
+ </option>
119
+
120
+ </select>
121
+
122
+ <div id="tile_server_url_preview" style="display: none;"><img/></div>
123
+
124
+ </td>
125
+ </tr>
includes/3rd-party-integration/class.gutenberg.php CHANGED
@@ -40,6 +40,9 @@ class Gutenberg extends \WPGMZA\Factory
40
  {
41
  global $wpgmza;
42
 
 
 
 
43
  $wpgmza->loadScripts();
44
 
45
  wp_enqueue_style(
40
  {
41
  global $wpgmza;
42
 
43
+ if(!is_admin())
44
+ return;
45
+
46
  $wpgmza->loadScripts();
47
 
48
  wp_enqueue_style(
includes/build.log CHANGED
@@ -1,227 +1,227 @@
1
- 2018-12-10 08:21:27 :- Scanning dependencies
2
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/circle.js
3
- 2018-12-10 08:21:27 :- Found wpgmza-circle
4
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-map-object
5
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/compatibility.js
6
- 2018-12-10 08:21:27 :- Found wpgmza-compatibility
7
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
8
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/core.js
9
- 2018-12-10 08:21:27 :- Found wpgmza
10
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/css-escape.js
11
- 2018-12-10 08:21:27 :- Found wpgmza-css
12
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
13
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/distance.js
14
- 2018-12-10 08:21:27 :- Found wpgmza-distance
15
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
16
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/event-dispatcher.js
17
- 2018-12-10 08:21:27 :- Found wpgmza-event-dispatcher
18
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
19
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/event.js
20
- 2018-12-10 08:21:27 :- Found wpgmza-event
21
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
22
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/friendly-error.js
23
- 2018-12-10 08:21:27 :- Found wpgmza-friendly-error
24
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
25
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/geocoder.js
26
- 2018-12-10 08:21:27 :- Found wpgmza-geocoder
27
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
28
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-api-error-handler.js
29
- 2018-12-10 08:21:27 :- Found wpgmza-google-api-error-handler
30
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
31
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/info-window.js
32
- 2018-12-10 08:21:27 :- Found wpgmza-info-window
33
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-event-dispatcher
34
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/latlng.js
35
- 2018-12-10 08:21:27 :- Found wpgmza-lat-lng
36
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
37
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/latlngbounds.js
38
- 2018-12-10 08:21:27 :- Found wpgmza-lat-lng-bounds
39
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
40
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map-object.js
41
- 2018-12-10 08:21:27 :- Found wpgmza-map-object
42
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-event-dispatcher
43
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map-settings-page.js
44
- 2018-12-10 08:21:27 :- Found wpgmza-map-settings-page
45
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
46
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map-settings.js
47
- 2018-12-10 08:21:27 :- Found wpgmza-map-settings
48
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
49
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map.js
50
- 2018-12-10 08:21:27 :- Found wpgmza-map
51
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-event-dispatcher
52
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/maps-engine-dialog.js
53
- 2018-12-10 08:21:27 :- Found wpgmza-maps-engine-dialog
54
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
55
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/marker.js
56
- 2018-12-10 08:21:27 :- Found wpgmza-marker
57
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
58
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/modern-store-locator-circle.js
59
- 2018-12-10 08:21:27 :- Found wpgmza-modern-store-locator-circle
60
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
61
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/modern-store-locator.js
62
- 2018-12-10 08:21:27 :- Found wpgmza-modern-store-locator
63
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
64
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/native-maps-icon.js
65
- 2018-12-10 08:21:27 :- Found wpgmza-native-maps-app-icon
66
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
67
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/polygon.js
68
- 2018-12-10 08:21:27 :- Found wpgmza-polygon
69
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-map-object
70
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/polyline.js
71
- 2018-12-10 08:21:27 :- Found wpgmza-polyline
72
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-map-object
73
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/popout-panel.js
74
- 2018-12-10 08:21:27 :- Found wpgmza-popout-panel
75
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
76
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/rest-api.js
77
- 2018-12-10 08:21:27 :- Found wpgmza-wpgmza-rest-api
78
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
79
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/v7-custom-script.js
80
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/version.js
81
- 2018-12-10 08:21:27 :- Found wpgmza-version
82
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
83
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/3rd-party-integration/integration.js
84
- 2018-12-10 08:21:27 :- Found wpgmza-integration
85
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
86
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/3rd-party-integration/gutenberg/dist/gutenberg.js
87
- 2018-12-10 08:21:27 :- Found wpgmza-gutenberg
88
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-integration
89
- 2018-12-10 08:21:27 :- Adding dependency wp-i18n
90
- 2018-12-10 08:21:27 :- Adding dependency wp-blocks
91
- 2018-12-10 08:21:27 :- Adding dependency wp-editor
92
- 2018-12-10 08:21:27 :- Adding dependency wp-components
93
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/compatibility/google-ui-compatibility.js
94
- 2018-12-10 08:21:27 :- Found wpgmza-google-ui-compatibility
95
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
96
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-circle.js
97
- 2018-12-10 08:21:27 :- Found wpgmza-google-circle
98
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-circle
99
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-geocoder.js
100
- 2018-12-10 08:21:27 :- Found wpgmza-google-geocoder
101
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-geocoder
102
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-info-window.js
103
- 2018-12-10 08:21:27 :- Found wpgmza-google-info-window
104
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-info-window
105
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-info-window
106
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-map.js
107
- 2018-12-10 08:21:27 :- Found wpgmza-google-map
108
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-map
109
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-map
110
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-marker.js
111
- 2018-12-10 08:21:27 :- Found wpgmza-google-marker
112
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-marker
113
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-marker
114
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-modern-store-locator-circle.js
115
- 2018-12-10 08:21:27 :- Found wpgmza-google-modern-store-locator-circle
116
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-modern-store-locator-circle
117
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-modern-store-locator.js
118
- 2018-12-10 08:21:27 :- Found wpgmza-google-modern-store-locator
119
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-modern-store-locator
120
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-polygon.js
121
- 2018-12-10 08:21:27 :- Found wpgmza-google-polygon
122
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-polygon
123
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-polygon
124
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-polyline.js
125
- 2018-12-10 08:21:27 :- Found wpgmza-google-polyline
126
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-polyline
127
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-vertex-context-menu.js
128
- 2018-12-10 08:21:27 :- Found wpgmza-google-vertex-context-menu
129
- 2018-12-10 08:21:27 :- Adding dependency wpgmza_api_call
130
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-circle.js
131
- 2018-12-10 08:21:27 :- Found wpgmza-ol-circle
132
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-circle
133
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-geocoder.js
134
- 2018-12-10 08:21:27 :- Found wpgmza-ol-geocoder
135
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-geocoder
136
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-info-window.js
137
- 2018-12-10 08:21:27 :- Found wpgmza-ol-info-window
138
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-info-window
139
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-info-window
140
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-map.js
141
- 2018-12-10 08:21:27 :- Found wpgmza-ol-map
142
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-map
143
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-map
144
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-marker.js
145
- 2018-12-10 08:21:27 :- Found wpgmza-ol-marker
146
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-marker
147
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-marker
148
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-modern-store-locator-circle.js
149
- 2018-12-10 08:21:27 :- Found wpgmza-ol-modern-store-locator-circle
150
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-modern-store-locator-circle
151
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-modern-store-locator.js
152
- 2018-12-10 08:21:27 :- Found wpgmza-ol-modern-store-locator
153
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-modern-store-locator
154
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-polygon.js
155
- 2018-12-10 08:21:27 :- Found wpgmza-ol-polygon
156
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-polygon
157
- 2018-12-10 08:21:27 :- Adding Pro dependency wpgmza-pro-polygon
158
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-polyline.js
159
- 2018-12-10 08:21:27 :- Found wpgmza-ol-polyline
160
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-polyline
161
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/content-editor-map-button.js
162
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/custom-field-filter-controller.js
163
- 2018-12-10 08:21:27 :- Found wpgmza-custom-field-filter-controller
164
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
165
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/custom-field-filter-widget.js
166
- 2018-12-10 08:21:27 :- Found wpgmza-custom-field-filter-widget
167
- 2018-12-10 08:21:27 :- Adding dependency wpgmza
168
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/heatmap.js
169
- 2018-12-10 08:21:27 :- Found wpgmza-heatmap
170
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-map-object
171
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-directions-box.js
172
- 2018-12-10 08:21:27 :- Found wpgmza-modern-directions-box
173
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-popout-panel
174
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-directions-result-box.js
175
- 2018-12-10 08:21:27 :- Found wpgmza-modern-directions-result-box
176
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-popout-panel
177
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-marker-listing-marker-view.js
178
- 2018-12-10 08:21:27 :- Found wpgmza-modern-marker-listing-marker-view
179
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-popout-panel
180
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-marker-listing.js
181
- 2018-12-10 08:21:27 :- Found wpgmza-modern-marker-listing
182
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-popout-panel
183
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-info-window.js
184
- 2018-12-10 08:21:27 :- Found wpgmza-pro-info-window
185
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-info-window
186
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-map.js
187
- 2018-12-10 08:21:27 :- Found wpgmza-pro-map
188
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-map
189
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-marker.js
190
- 2018-12-10 08:21:27 :- Found wpgmza-pro-marker
191
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-marker
192
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-polygon.js
193
- 2018-12-10 08:21:27 :- Found wpgmza-pro-polygon
194
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-polygon
195
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/3rd-party-integration/gutenberg/dist/pro-gutenberg.js
196
- 2018-12-10 08:21:27 :- Found wpgmza-pro-gutenberg
197
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-gutenberg
198
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-heatmap.js
199
- 2018-12-10 08:21:27 :- Found wpgmza-google-heatmap
200
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-heatmap
201
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-info-window.js
202
- 2018-12-10 08:21:27 :- Found wpgmza-google-pro-info-window
203
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-google-info-window
204
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-map.js
205
- 2018-12-10 08:21:27 :- Found wpgmza-google-pro-map
206
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-google-map
207
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-marker.js
208
- 2018-12-10 08:21:27 :- Found wpgmza-google-pro-marker
209
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-google-marker
210
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-polygon.js
211
- 2018-12-10 08:21:27 :- Found wpgmza-google-pro-polygon
212
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-google-polygon
213
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-heatmap.js
214
- 2018-12-10 08:21:27 :- Found wpgmza-ol-heatmap
215
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-heatmap
216
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-info-window.js
217
- 2018-12-10 08:21:27 :- Found wpgmza-ol-pro-info-window
218
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-ol-info-window
219
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-map.js
220
- 2018-12-10 08:21:27 :- Found wpgmza-ol-pro-map
221
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-ol-map
222
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-marker.js
223
- 2018-12-10 08:21:27 :- Found wpgmza-ol-pro-marker
224
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-ol-marker
225
- 2018-12-10 08:21:27 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-polygon.js
226
- 2018-12-10 08:21:27 :- Found wpgmza-ol-pro-polygon
227
- 2018-12-10 08:21:27 :- Adding dependency wpgmza-ol-polygon
1
+ 2018-12-12 08:26:39 :- Scanning dependencies
2
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/circle.js
3
+ 2018-12-12 08:26:39 :- Found wpgmza-circle
4
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-map-object
5
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/compatibility.js
6
+ 2018-12-12 08:26:39 :- Found wpgmza-compatibility
7
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
8
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/core.js
9
+ 2018-12-12 08:26:39 :- Found wpgmza
10
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/css-escape.js
11
+ 2018-12-12 08:26:39 :- Found wpgmza-css
12
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
13
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/distance.js
14
+ 2018-12-12 08:26:39 :- Found wpgmza-distance
15
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
16
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/event-dispatcher.js
17
+ 2018-12-12 08:26:39 :- Found wpgmza-event-dispatcher
18
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
19
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/event.js
20
+ 2018-12-12 08:26:39 :- Found wpgmza-event
21
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
22
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/friendly-error.js
23
+ 2018-12-12 08:26:39 :- Found wpgmza-friendly-error
24
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
25
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/geocoder.js
26
+ 2018-12-12 08:26:39 :- Found wpgmza-geocoder
27
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
28
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-api-error-handler.js
29
+ 2018-12-12 08:26:39 :- Found wpgmza-google-api-error-handler
30
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
31
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/info-window.js
32
+ 2018-12-12 08:26:39 :- Found wpgmza-info-window
33
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-event-dispatcher
34
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/latlng.js
35
+ 2018-12-12 08:26:39 :- Found wpgmza-lat-lng
36
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
37
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/latlngbounds.js
38
+ 2018-12-12 08:26:39 :- Found wpgmza-lat-lng-bounds
39
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
40
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map-object.js
41
+ 2018-12-12 08:26:39 :- Found wpgmza-map-object
42
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-event-dispatcher
43
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map-settings-page.js
44
+ 2018-12-12 08:26:39 :- Found wpgmza-map-settings-page
45
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
46
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map-settings.js
47
+ 2018-12-12 08:26:39 :- Found wpgmza-map-settings
48
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
49
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/map.js
50
+ 2018-12-12 08:26:39 :- Found wpgmza-map
51
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-event-dispatcher
52
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/maps-engine-dialog.js
53
+ 2018-12-12 08:26:39 :- Found wpgmza-maps-engine-dialog
54
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
55
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/marker.js
56
+ 2018-12-12 08:26:39 :- Found wpgmza-marker
57
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
58
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/modern-store-locator-circle.js
59
+ 2018-12-12 08:26:39 :- Found wpgmza-modern-store-locator-circle
60
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
61
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/modern-store-locator.js
62
+ 2018-12-12 08:26:39 :- Found wpgmza-modern-store-locator
63
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
64
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/native-maps-icon.js
65
+ 2018-12-12 08:26:39 :- Found wpgmza-native-maps-app-icon
66
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
67
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/polygon.js
68
+ 2018-12-12 08:26:39 :- Found wpgmza-polygon
69
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-map-object
70
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/polyline.js
71
+ 2018-12-12 08:26:39 :- Found wpgmza-polyline
72
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-map-object
73
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/popout-panel.js
74
+ 2018-12-12 08:26:39 :- Found wpgmza-popout-panel
75
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
76
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/rest-api.js
77
+ 2018-12-12 08:26:39 :- Found wpgmza-wpgmza-rest-api
78
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
79
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/v7-custom-script.js
80
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/version.js
81
+ 2018-12-12 08:26:39 :- Found wpgmza-version
82
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
83
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/3rd-party-integration/integration.js
84
+ 2018-12-12 08:26:39 :- Found wpgmza-integration
85
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
86
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/3rd-party-integration/gutenberg/dist/gutenberg.js
87
+ 2018-12-12 08:26:39 :- Found wpgmza-gutenberg
88
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-integration
89
+ 2018-12-12 08:26:39 :- Adding dependency wp-i18n
90
+ 2018-12-12 08:26:39 :- Adding dependency wp-blocks
91
+ 2018-12-12 08:26:39 :- Adding dependency wp-editor
92
+ 2018-12-12 08:26:39 :- Adding dependency wp-components
93
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/compatibility/google-ui-compatibility.js
94
+ 2018-12-12 08:26:39 :- Found wpgmza-google-ui-compatibility
95
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
96
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-circle.js
97
+ 2018-12-12 08:26:39 :- Found wpgmza-google-circle
98
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-circle
99
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-geocoder.js
100
+ 2018-12-12 08:26:39 :- Found wpgmza-google-geocoder
101
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-geocoder
102
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-info-window.js
103
+ 2018-12-12 08:26:39 :- Found wpgmza-google-info-window
104
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-info-window
105
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-info-window
106
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-map.js
107
+ 2018-12-12 08:26:39 :- Found wpgmza-google-map
108
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-map
109
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-map
110
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-marker.js
111
+ 2018-12-12 08:26:39 :- Found wpgmza-google-marker
112
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-marker
113
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-marker
114
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-modern-store-locator-circle.js
115
+ 2018-12-12 08:26:39 :- Found wpgmza-google-modern-store-locator-circle
116
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-modern-store-locator-circle
117
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-modern-store-locator.js
118
+ 2018-12-12 08:26:39 :- Found wpgmza-google-modern-store-locator
119
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-modern-store-locator
120
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-polygon.js
121
+ 2018-12-12 08:26:39 :- Found wpgmza-google-polygon
122
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-polygon
123
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-polygon
124
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-polyline.js
125
+ 2018-12-12 08:26:39 :- Found wpgmza-google-polyline
126
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-polyline
127
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/google-maps/google-vertex-context-menu.js
128
+ 2018-12-12 08:26:39 :- Found wpgmza-google-vertex-context-menu
129
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza_api_call
130
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-circle.js
131
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-circle
132
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-circle
133
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-geocoder.js
134
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-geocoder
135
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-geocoder
136
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-info-window.js
137
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-info-window
138
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-info-window
139
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-info-window
140
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-map.js
141
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-map
142
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-map
143
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-map
144
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-marker.js
145
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-marker
146
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-marker
147
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-marker
148
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-modern-store-locator-circle.js
149
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-modern-store-locator-circle
150
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-modern-store-locator-circle
151
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-modern-store-locator.js
152
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-modern-store-locator
153
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-modern-store-locator
154
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-polygon.js
155
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-polygon
156
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-polygon
157
+ 2018-12-12 08:26:39 :- Adding Pro dependency wpgmza-pro-polygon
158
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps/js/v8/open-layers/ol-polyline.js
159
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-polyline
160
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-polyline
161
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/content-editor-map-button.js
162
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/custom-field-filter-controller.js
163
+ 2018-12-12 08:26:39 :- Found wpgmza-custom-field-filter-controller
164
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
165
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/custom-field-filter-widget.js
166
+ 2018-12-12 08:26:39 :- Found wpgmza-custom-field-filter-widget
167
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza
168
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/heatmap.js
169
+ 2018-12-12 08:26:39 :- Found wpgmza-heatmap
170
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-map-object
171
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-directions-box.js
172
+ 2018-12-12 08:26:39 :- Found wpgmza-modern-directions-box
173
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-popout-panel
174
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-directions-result-box.js
175
+ 2018-12-12 08:26:39 :- Found wpgmza-modern-directions-result-box
176
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-popout-panel
177
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-marker-listing-marker-view.js
178
+ 2018-12-12 08:26:39 :- Found wpgmza-modern-marker-listing-marker-view
179
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-popout-panel
180
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/modern-marker-listing.js
181
+ 2018-12-12 08:26:39 :- Found wpgmza-modern-marker-listing
182
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-popout-panel
183
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-info-window.js
184
+ 2018-12-12 08:26:39 :- Found wpgmza-pro-info-window
185
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-info-window
186
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-map.js
187
+ 2018-12-12 08:26:39 :- Found wpgmza-pro-map
188
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-map
189
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-marker.js
190
+ 2018-12-12 08:26:39 :- Found wpgmza-pro-marker
191
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-marker
192
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/pro-polygon.js
193
+ 2018-12-12 08:26:39 :- Found wpgmza-pro-polygon
194
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-polygon
195
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/3rd-party-integration/gutenberg/dist/pro-gutenberg.js
196
+ 2018-12-12 08:26:39 :- Found wpgmza-pro-gutenberg
197
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-gutenberg
198
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-heatmap.js
199
+ 2018-12-12 08:26:39 :- Found wpgmza-google-heatmap
200
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-heatmap
201
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-info-window.js
202
+ 2018-12-12 08:26:39 :- Found wpgmza-google-pro-info-window
203
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-google-info-window
204
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-map.js
205
+ 2018-12-12 08:26:39 :- Found wpgmza-google-pro-map
206
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-google-map
207
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-marker.js
208
+ 2018-12-12 08:26:39 :- Found wpgmza-google-pro-marker
209
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-google-marker
210
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/google-maps/google-pro-polygon.js
211
+ 2018-12-12 08:26:39 :- Found wpgmza-google-pro-polygon
212
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-google-polygon
213
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-heatmap.js
214
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-heatmap
215
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-heatmap
216
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-info-window.js
217
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-pro-info-window
218
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-ol-info-window
219
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-map.js
220
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-pro-map
221
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-ol-map
222
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-marker.js
223
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-pro-marker
224
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-ol-marker
225
+ 2018-12-12 08:26:39 :- Reading E:\Programming\Code Cabin\htdocs-7.10.x\wp-content\plugins\wp-google-maps-pro/js/v8/open-layers/ol-pro-polygon.js
226
+ 2018-12-12 08:26:39 :- Found wpgmza-ol-pro-polygon
227
+ 2018-12-12 08:26:39 :- Adding dependency wpgmza-ol-polygon
includes/class.dom-document.php CHANGED
@@ -4,9 +4,6 @@ namespace WPGMZA;
4
 
5
  require_once(plugin_dir_path(__FILE__) . 'class.dom-element.php');
6
 
7
- /**
8
- * Extension of PHP's native \DOMDocument, providing helpful utility functions to carry out common tasks such as read HTML with inline PHP, populate named elements, import extenral content
9
- */
10
  class DOMDocument extends \DOMDocument
11
  {
12
  private $src_file;
@@ -118,13 +115,7 @@ class DOMDocument extends \DOMDocument
118
  }
119
 
120
  /**
121
- * Handles importing the specified filename to the given node. Files with the extension .html or .html.php will be processed and imported. Files with the extension .php will be scanned for a class extending DOMDocument and imported if one is found.
122
- * @param string $subject The filename to import
123
- * @param DOMElement $node The target node
124
- * @param bool $forcePHP Forces inline PHP to be processed
125
- * @throws \Exception When the subject is a PHP file, but no classes are found
126
- * @throws \Exception When the subject is a PHP file, but the last class found in the file is not an instance of DOMDocument
127
- * @return void
128
  */
129
  protected function handleImport($subject, $node, $forcePHP=false)
130
  {
@@ -242,4 +233,12 @@ class DOMDocument extends \DOMDocument
242
 
243
  return $result;
244
  }
 
 
 
 
 
 
 
 
245
  }
4
 
5
  require_once(plugin_dir_path(__FILE__) . 'class.dom-element.php');
6
 
 
 
 
7
  class DOMDocument extends \DOMDocument
8
  {
9
  private $src_file;
115
  }
116
 
117
  /**
118
+ * @internal Handles imports based on the content
 
 
 
 
 
 
119
  */
120
  protected function handleImport($subject, $node, $forcePHP=false)
121
  {
233
 
234
  return $result;
235
  }
236
+
237
+ public function __get($name)
238
+ {
239
+ if($name == 'html')
240
+ return $this->saveInnerBody();
241
+
242
+ return null;
243
+ }
244
  }
includes/class.dom-element.php CHANGED
@@ -4,9 +4,6 @@ namespace WPGMZA;
4
 
5
  require_once(plugin_dir_path(__FILE__) . 'class.selector-to-xpath.php');
6
 
7
- /**
8
- * An extension of PHPs native \DOMElement, adds JavaScript / jQuery style utilities such as querySelector, prepent, closest
9
- */
10
  class DOMElement extends \DOMElement
11
  {
12
  protected static $xpathConverter;
@@ -58,7 +55,7 @@ class DOMElement extends \DOMElement
58
  /**
59
  * Prepends the subject to this element.
60
  * @param $subject element or array of elements
61
- * @return \DOMElement This element
62
  */
63
  public function prepend($subject)
64
  {
@@ -77,8 +74,6 @@ class DOMElement extends \DOMElement
77
 
78
  /**
79
  * Appends the subject to this element.
80
- * @param mixed $subject Either a \DOMNode, DOMElement, or an arroy of either
81
- * @return \DOMElement This element
82
  */
83
  public function append($subject)
84
  {
@@ -96,7 +91,6 @@ class DOMElement extends \DOMElement
96
  /**
97
  * Traverses from this node up it's ancestors and returns the first node that matches the given selector
98
  * @param mixed $selector Either this node the first ancestor that matches this selector, or NULL if no match is found
99
- * @return mixed The closest matching elmeent, or null if none is found.
100
  */
101
  public function closest($selector)
102
  {
@@ -182,7 +176,6 @@ class DOMElement extends \DOMElement
182
  }
183
 
184
  /**
185
- * Returns -1 if $b is before $a in the DOM tree
186
  * @internal sort function for DOM position sort
187
  */
188
  private static function sortByDOMPosition($a, $b)
@@ -191,7 +184,6 @@ class DOMElement extends \DOMElement
191
  }
192
 
193
  /**
194
- * Converts a selector to an XPath
195
  * @internal Calls the CSS to XPath converter on the specified selector
196
  * @param string $selector The CSS selector
197
  * @return string The resulting XPath expression
@@ -298,7 +290,7 @@ class DOMElement extends \DOMElement
298
  * Sets an inline CSS style on this element. If it's already set, the old value will be removed first
299
  * @param string $name the CSS property name eg 'background-color'
300
  * @param string $value the value of the property eg '#ff4400'
301
- * @return DOMElement $this
302
  */
303
  public function setInlineStyle($name, $value)
304
  {
@@ -311,7 +303,7 @@ class DOMElement extends \DOMElement
311
  /**
312
  * Removes the inline CSS style specified by name
313
  * @param string $name the name of the CSS property eg 'background-color'
314
- * @return DOMElement $this
315
  */
316
  public function removeInlineStyle($name)
317
  {
@@ -549,7 +541,6 @@ class DOMElement extends \DOMElement
549
 
550
  /**
551
  * Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute
552
- * @param mixed The value to set
553
  * @throws \Exception If this element is a select, SMART_STRICT_MODE is declared and no option with that value exists
554
  * @throws \Exception If you call this method on a non-form element
555
  * @return This element
@@ -620,8 +611,7 @@ class DOMElement extends \DOMElement
620
 
621
  /**
622
  * Appends the specified text to this element, shorthand utility function
623
- * @param string $text The text to append
624
- * @return DOMElement This element
625
  */
626
  public function appendText($text)
627
  {
@@ -631,9 +621,9 @@ class DOMElement extends \DOMElement
631
 
632
  /**
633
  * Utility function to append the specified element after one of this elements children. Will append at the end if after is null
634
- * @param DOMElement $elem the element to insert
635
- * @param DOMElement $after one of this elements children, or null
636
- * @return DOMElement this element
637
  */
638
  public function insertAfter($elem, $after=null)
639
  {
@@ -650,7 +640,7 @@ class DOMElement extends \DOMElement
650
 
651
  /**
652
  * Clears this element, completely removing all it's contents
653
- * @return DOMElement This element
654
  */
655
  public function clear()
656
  {
@@ -661,7 +651,7 @@ class DOMElement extends \DOMElement
661
 
662
  /**
663
  * Removes this element from it's parent
664
- * @return DOMElement This element
665
  */
666
  public function remove()
667
  {
@@ -671,3 +661,4 @@ class DOMElement extends \DOMElement
671
  }
672
  }
673
 
 
4
 
5
  require_once(plugin_dir_path(__FILE__) . 'class.selector-to-xpath.php');
6
 
 
 
 
7
  class DOMElement extends \DOMElement
8
  {
9
  protected static $xpathConverter;
55
  /**
56
  * Prepends the subject to this element.
57
  * @param $subject element or array of elements
58
+ * @return $this element
59
  */
60
  public function prepend($subject)
61
  {
74
 
75
  /**
76
  * Appends the subject to this element.
 
 
77
  */
78
  public function append($subject)
79
  {
91
  /**
92
  * Traverses from this node up it's ancestors and returns the first node that matches the given selector
93
  * @param mixed $selector Either this node the first ancestor that matches this selector, or NULL if no match is found
 
94
  */
95
  public function closest($selector)
96
  {
176
  }
177
 
178
  /**
 
179
  * @internal sort function for DOM position sort
180
  */
181
  private static function sortByDOMPosition($a, $b)
184
  }
185
 
186
  /**
 
187
  * @internal Calls the CSS to XPath converter on the specified selector
188
  * @param string $selector The CSS selector
189
  * @return string The resulting XPath expression
290
  * Sets an inline CSS style on this element. If it's already set, the old value will be removed first
291
  * @param string $name the CSS property name eg 'background-color'
292
  * @param string $value the value of the property eg '#ff4400'
293
+ * @return $this
294
  */
295
  public function setInlineStyle($name, $value)
296
  {
303
  /**
304
  * Removes the inline CSS style specified by name
305
  * @param string $name the name of the CSS property eg 'background-color'
306
+ * @return $this
307
  */
308
  public function removeInlineStyle($name)
309
  {
541
 
542
  /**
543
  * Sets the value of this element. Intended for form elements only. If this element is a textarea, it will be appended as plain text. If this element is a select, it will attempt to select the option with the specified value. If the input is a radio or checkbox, it will set it accordingly. Otherwise, the value will be put into the value attribute
 
544
  * @throws \Exception If this element is a select, SMART_STRICT_MODE is declared and no option with that value exists
545
  * @throws \Exception If you call this method on a non-form element
546
  * @return This element
611
 
612
  /**
613
  * Appends the specified text to this element, shorthand utility function
614
+ * @return \Smart\Element This element
 
615
  */
616
  public function appendText($text)
617
  {
621
 
622
  /**
623
  * Utility function to append the specified element after one of this elements children. Will append at the end if after is null
624
+ * @param \Smart\Element the element to insert
625
+ * @param \Smart\Element one of this elements children, or null
626
+ * *@return \Smart\Element this element
627
  */
628
  public function insertAfter($elem, $after=null)
629
  {
640
 
641
  /**
642
  * Clears this element, completely removing all it's contents
643
+ * @return \Smart\Element This element
644
  */
645
  public function clear()
646
  {
651
 
652
  /**
653
  * Removes this element from it's parent
654
+ * @return \Smart\Element This element
655
  */
656
  public function remove()
657
  {
661
  }
662
  }
663
 
664
+ ?>
includes/class.script-loader.php CHANGED
@@ -107,7 +107,7 @@ class ScriptLoader
107
 
108
  $libraryDependencies = array(
109
  'datatables' => $plugin_dir_url . 'js/jquery.dataTables.min.js',
110
- 'jquery-cookie' => $plugin_dir_url . 'lib/jquery-cookie.js',
111
  // 'modernizr-custom' => $plugin_dir_url . 'lib/modernizr-custom.js',
112
  'remodal' => $plugin_dir_url . 'lib/' . ($wpgmza->isUsingMinifiedScripts() ? 'remodal.min.js' : 'remodal.js'),
113
  // 'resize-sensor' => $plugin_dir_url . 'lib/ResizeSensor.js',
107
 
108
  $libraryDependencies = array(
109
  'datatables' => $plugin_dir_url . 'js/jquery.dataTables.min.js',
110
+ 'javascript-cookie' => $plugin_dir_url . 'lib/jquery-cookie.js',
111
  // 'modernizr-custom' => $plugin_dir_url . 'lib/modernizr-custom.js',
112
  'remodal' => $plugin_dir_url . 'lib/' . ($wpgmza->isUsingMinifiedScripts() ? 'remodal.min.js' : 'remodal.js'),
113
  // 'resize-sensor' => $plugin_dir_url . 'lib/ResizeSensor.js',
js/v8/open-layers/ol-map.js CHANGED
@@ -149,8 +149,13 @@ jQuery(function($) {
149
 
150
  WPGMZA.OLMap.prototype.getTileLayer = function()
151
  {
 
 
 
 
 
152
  return new ol.layer.Tile({
153
- source: new ol.source.OSM()
154
  });
155
  }
156
 
149
 
150
  WPGMZA.OLMap.prototype.getTileLayer = function()
151
  {
152
+ var options = {};
153
+
154
+ if(WPGMZA.settings.tile_server_url)
155
+ options.url = WPGMZA.settings.tile_server_url;
156
+
157
  return new ol.layer.Tile({
158
+ source: new ol.source.OSM(options)
159
  });
160
  }
161
 
js/v8/wp-google-maps.combined.js CHANGED
@@ -6654,8 +6654,13 @@ jQuery(function($) {
6654
 
6655
  WPGMZA.OLMap.prototype.getTileLayer = function()
6656
  {
 
 
 
 
 
6657
  return new ol.layer.Tile({
6658
- source: new ol.source.OSM()
6659
  });
6660
  }
6661
 
6654
 
6655
  WPGMZA.OLMap.prototype.getTileLayer = function()
6656
  {
6657
+ var options = {};
6658
+
6659
+ if(WPGMZA.settings.tile_server_url)
6660
+ options.url = WPGMZA.settings.tile_server_url;
6661
+
6662
  return new ol.layer.Tile({
6663
+ source: new ol.source.OSM(options)
6664
  });
6665
  }
6666
 
js/v8/wp-google-maps.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function($){var core={maps:[],events:null,settings:null,restAPI:null,localized_strings:null,loadingHTML:'<div class="wpgmza-preloader"><div class="wpgmza-loader">...</div></div>',getScrollAnimationOffset:function(){return WPGMZA.settings.scroll_animation_offset||0},animateScroll:function(element,milliseconds){var offset=WPGMZA.getScrollAnimationOffset();milliseconds||(milliseconds=WPGMZA.settings.scroll_animation_milliseconds?WPGMZA.settings.scroll_animation_milliseconds:500),$("html, body").animate({scrollTop:$(element).offset().top-offset},milliseconds)},guid:function(){var d=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(d+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(d+16*Math.random())%16|0;return d=Math.floor(d/16),("x"===c?r:3&r|8).toString(16)})},hexOpacityToRGBA:function(colour,opacity){return hex=parseInt(colour.replace(/^#/,""),16),[(16711680&hex)>>16,(65280&hex)>>8,255&hex,parseFloat(opacity)]},hexToRgba:function(hex){var c;return/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)?(3==(c=hex.substring(1).split("")).length&&(c=[c[0],c[0],c[1],c[1],c[2],c[2]]),c="0x"+c.join(""),{r:c>>16&255,g:c>>8&255,b:255&c,a:1}):0},rgbaToString:function(rgba){return"rgba("+rgba.r+", "+rgba.g+", "+rgba.b+", "+rgba.a+")"},latLngRegexp:/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,isLatLngString:function(str){if("string"!=typeof str)return null;str.match(/^\(.+\)$/)&&(str=str.replace(/^\(|\)$/,""));var m=str.match(WPGMZA.latLngRegexp);return m?new WPGMZA.LatLng({lat:parseFloat(m[1]),lng:parseFloat(m[3])}):null},stringToLatLng:function(str){var result=WPGMZA.isLatLngString(str);if(!result)throw new Error("Not a valid latLng");return result},isHexColorString:function(str){return"string"==typeof str&&!!str.match(/#[0-9A-F]{6}/i)},imageDimensionsCache:{},getImageDimensions:function(src,callback){if(WPGMZA.imageDimensionsCache[src])callback(WPGMZA.imageDimensionsCache[src]);else{var img=document.createElement("img");img.onload=function(event){var result={width:image.width,height:image.height};WPGMZA.imageDimensionsCache[src]=result,callback(result)},img.src=src}},isDeveloperMode:function(){return this.developer_mode||window.Cookies&&window.Cookies.get("wpgmza-developer-mode")},isProVersion:function(){return"1"==this._isProVersion},openMediaDialog:function(callback){var file_frame;if(file_frame)return file_frame.uploader.uploader.param("post_id",set_to_post_id),void file_frame.open();(file_frame=wp.media.frames.file_frame=wp.media({title:"Select a image to upload",button:{text:"Use this image"},multiple:!1})).on("select",function(){attachment=file_frame.state().get("selection").first().toJSON(),callback(attachment.id,attachment.url)}),file_frame.open()},getCurrentPosition:function(callback){if(navigator.geolocation){var options={enableHighAccuracy:!0};navigator.geolocation.getCurrentPosition(function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(error){options.enableHighAccuracy=!1,navigator.geolocation.getCurrentPosition(function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(error){console.warn(error.code,error.message)},options)},options)}else console.warn("No geolocation available on this device")},runCatchableTask:function(callback,friendlyErrorContainer){if(WPGMZA.isDeveloperMode())callback();else try{callback()}catch(e){var friendlyError=new WPGMZA.FriendlyError(e);$(friendlyErrorContainer).html(""),$(friendlyErrorContainer).append(friendlyError.element),$(friendlyErrorContainer).show()}},assertInstanceOf:function(instance,instanceName){var engine,fullInstanceName,pro=WPGMZA.isProVersion()?"Pro":"";switch(WPGMZA.settings.engine){case"open-layers":engine="OL";break;default:engine="Google"}if(fullInstanceName=WPGMZA[engine+pro+instanceName]?engine+pro+instanceName:WPGMZA[pro+instanceName]?pro+instanceName:WPGMZA[engine+instanceName]?engine+instanceName:instanceName,!(instance instanceof WPGMZA[fullInstanceName]))throw new Error("Object must be an instance of "+fullInstanceName+" (did you call a constructor directly, rather than createInstance?)")},getMapByID:function(id){for(var i=0;i<WPGMZA.maps.length;i++)if(WPGMZA.maps[i].id==id)return WPGMZA.maps[i];return null},isGoogleAutocompleteSupported:function(){return"object"==typeof google&&"object"==typeof google.maps&&"object"==typeof google.maps.places&&"function"==typeof google.maps.places.Autocomplete},googleAPIStatus:window.wpgmza_google_api_status,isSafari:function(){var ua=navigator.userAgent.toLowerCase();return-1!=ua.indexOf("safari")&&-1==ua.indexOf("chrome")},isTouchDevice:function(){return"ontouchstart"in window},isDeviceiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)}};window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core;for(var key in WPGMZA_localized_data){var value=WPGMZA_localized_data[key];WPGMZA[key]=value}jQuery(function($){$("script[src*='wp-google-maps.combined.js'], script[src*='wp-google-maps-pro.combined.js']").length&&console.warn("Minified script is out of date, using combined script instead.");var elements=$("script").filter(function(){return this.src.match(/(^|\/)jquery\.(min\.)?js(\?|$)/i)});elements.length>1&&console.warn("Multiple jQuery versions detected: ",elements),WPGMZA.restAPI=WPGMZA.RestAPI.createInstance(),$(document).on("click",".wpgmza_edit_btn",function(){WPGMZA.animateScroll("#wpgmaps_tabs_markers")})}),$(window).on("load",function(event){if("https:"!=window.location.protocol){var warning='<div class="notice notice-warning"><p>'+WPGMZA.localized_strings.unsecure_geolocation+"</p></div>";$(".wpgmza-geolocation-setting").each(function(index,el){$(el).after($(warning))})}})}),jQuery(function($){WPGMZA.Compatibility=function(){this.preventDocumentWriteGoogleMapsAPI()},WPGMZA.Compatibility.prototype.preventDocumentWriteGoogleMapsAPI=function(){var old=document.write;document.write=function(content){content.match&&content.match(/maps\.google/)||old.call(document,content)}},WPGMZA.compatiblityModule=new WPGMZA.Compatibility}),function(root,factory){"object"==typeof exports?module.exports=factory(root):"function"==typeof define&&define.amd?define([],factory.bind(root,root)):factory(root)}("undefined"!=typeof global?global:this,function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;var cssEscape=function(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index<length;)0!=(codeUnit=string.charCodeAt(index))?result+=codeUnit>=1&&codeUnit<=31||127==codeUnit||0==index&&codeUnit>=48&&codeUnit<=57||1==index&&codeUnit>=48&&codeUnit<=57&&45==firstCodeUnit?"\\"+codeUnit.toString(16)+" ":(0!=index||1!=length||45!=codeUnit)&&(codeUnit>=128||45==codeUnit||95==codeUnit||codeUnit>=48&&codeUnit<=57||codeUnit>=65&&codeUnit<=90||codeUnit>=97&&codeUnit<=122)?string.charAt(index):"\\"+string.charAt(index):result+="�";return result};return root.CSS||(root.CSS={}),root.CSS.escape=cssEscape,cssEscape}),jQuery(function($){WPGMZA.Distance={MILES:!0,KILOMETERS:!1,MILES_PER_KILOMETER:.621371,KILOMETERS_PER_MILE:1.60934,uiToMeters:function(uiDistance){return parseFloat(uiDistance)/(WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?WPGMZA.Distance.MILES_PER_KILOMETER:1)*1e3},uiToKilometers:function(uiDistance){return.001*WPGMZA.Distance.uiToMeters(uiDistance)},uiToMiles:function(uiDistance){return WPGMZA.Distance.uiToKilometers(uiDistance)*WPGMZA.Distance.MILES_PER_KILOMETER},kilometersToUI:function(km){return WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?km*WPGMZA.Distance.MILES_PER_KILOMETER:km}}}),jQuery(function($){WPGMZA.EventDispatcher=function(){WPGMZA.assertInstanceOf(this,"EventDispatcher"),this._listenersByType=[]},WPGMZA.EventDispatcher.prototype.addEventListener=function(type,listener,thisObject,useCapture){var arr,types=type.split(/\s+/);if(types.length>1)for(var i=0;i<types.length;i++)this.addEventListener(types[i],listener,thisObject,useCapture);else{if(!(listener instanceof Function))throw new Error("Listener must be a function");(arr=this._listenersByType[type])||(arr=this._listenersByType[type]=[]);var obj={listener:listener,thisObject:thisObject||this,useCapture:!!useCapture};arr.push(obj)}},WPGMZA.EventDispatcher.prototype.on=WPGMZA.EventDispatcher.prototype.addEventListener,WPGMZA.EventDispatcher.prototype.removeEventListener=function(type,listener,thisObject,useCapture){var arr,obj;if(arr=this._listenersByType[type]){thisObject||(thisObject=this),useCapture=!!useCapture;for(var i=0;i<arr.length;i++)if((obj=arr[i]).listener==listener&&obj.thisObject==thisObject&&obj.useCapture==useCapture)return void arr.splice(i,1)}},WPGMZA.EventDispatcher.prototype.off=WPGMZA.EventDispatcher.prototype.removeEventListener,WPGMZA.EventDispatcher.prototype.hasEventListener=function(type){return!!_listenersByType[type]},WPGMZA.EventDispatcher.prototype.dispatchEvent=function(event){if(!(event instanceof WPGMZA.Event))if("string"==typeof event)event=new WPGMZA.Event(event);else{var src=event;event=new WPGMZA.Event;for(var name in src)event[name]=src[name]}event.target=this;for(var path=[],obj=this.parent;null!=obj;obj=obj.parent)path.unshift(obj);event.phase=WPGMZA.Event.CAPTURING_PHASE;for(var i=0;i<path.length&&!event._cancelled;i++)path[i]._triggerListeners(event);if(!event._cancelled){for(event.phase=WPGMZA.Event.AT_TARGET,this._triggerListeners(event),event.phase=WPGMZA.Event.BUBBLING_PHASE,i=path.length-1;i>=0&&!event._cancelled;i--)path[i]._triggerListeners(event);if(this.element){var customEvent={};for(var key in event){var value=event[key];"type"==key&&(value+=".wpgmza"),customEvent[key]=value}$(this.element).trigger(customEvent)}}},WPGMZA.EventDispatcher.prototype.trigger=WPGMZA.EventDispatcher.prototype.dispatchEvent,WPGMZA.EventDispatcher.prototype._triggerListeners=function(event){var arr,obj;if(arr=this._listenersByType[event.type])for(var i=0;i<arr.length;i++)obj=arr[i],(event.phase!=WPGMZA.Event.CAPTURING_PHASE||obj.useCapture)&&obj.listener.call(arr[i].thisObject,event)},WPGMZA.events=new WPGMZA.EventDispatcher}),jQuery(function($){WPGMZA.Event=function(options){if("string"==typeof options&&(this.type=options),this.bubbles=!0,this.cancelable=!0,this.phase=WPGMZA.Event.PHASE_CAPTURE,this.target=null,this._cancelled=!1,"object"==typeof options)for(var name in options)this[name]=options[name]},WPGMZA.Event.CAPTURING_PHASE=0,WPGMZA.Event.AT_TARGET=1,WPGMZA.Event.BUBBLING_PHASE=2,WPGMZA.Event.prototype.stopPropagation=function(){this._cancelled=!0}}),jQuery(function($){WPGMZA.FriendlyError=function(){}}),jQuery(function($){WPGMZA.Geocoder=function(){WPGMZA.assertInstanceOf(this,"Geocoder")},WPGMZA.Geocoder.SUCCESS="success",WPGMZA.Geocoder.ZERO_RESULTS="zero-results",WPGMZA.Geocoder.FAIL="fail",WPGMZA.Geocoder.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.OLGeocoder;default:return WPGMZA.GoogleGeocoder}},WPGMZA.Geocoder.createInstance=function(){return new(WPGMZA.Geocoder.getConstructor())},WPGMZA.Geocoder.prototype.getLatLngFromAddress=function(options,callback){if(WPGMZA.isLatLngString(options.address)){var parts=options.address.split(/,\s*/);callback([new WPGMZA.LatLng({lat:parseFloat(parts[0]),lng:parseFloat(parts[1])})],WPGMZA.Geocoder.SUCCESS)}},WPGMZA.Geocoder.prototype.getAddressFromLatLng=function(options,callback){callback([new WPGMZA.LatLng(options.latLng).toString()],WPGMZA.Geocoder.SUCCESS)},WPGMZA.Geocoder.prototype.geocode=function(options,callback){if("address"in options)return this.getLatLngFromAddress(options,callback);if("latLng"in options)return this.getAddressFromLatLng(options,callback);throw new Error("You must supply either a latLng or address")}}),jQuery(function($){WPGMZA.GoogleAPIErrorHandler=function(){var self=this;if("google-maps"==WPGMZA.settings.engine&&("map-edit"==WPGMZA.currentPage||0==WPGMZA.is_admin&&1==WPGMZA.userCanAdministrator)&&(this.element=$(WPGMZA.html.googleMapsAPIErrorDialog),1==WPGMZA.is_admin&&this.element.find(".wpgmza-front-end-only").remove(),this.errorMessageList=this.element.find("#wpgmza-google-api-error-list"),this.templateListItem=this.element.find("li.template").remove(),this.messagesAlreadyDisplayed={},!WPGMZA.settings.developer_mode)){var _error=console.error;console.error=function(message){self.onErrorMessage(message),_error.apply(this,arguments)}}},WPGMZA.GoogleAPIErrorHandler.prototype.onErrorMessage=function(message){var m;if((m=message.match(/You have exceeded your (daily )?request quota for this API/))||(m=message.match(/This API project is not authorized to use this API/))){var urls=message.match(/http(s)?:\/\/[^\s]+/gm);this.addErrorMessage(m[0],urls)}else(m=message.match(/^Google Maps.+error: (.+)\s+(http(s?):\/\/.+)/m))&&this.addErrorMessage(m[1].replace(/([A-Z])/g," $1"),[m[2]])},WPGMZA.GoogleAPIErrorHandler.prototype.addErrorMessage=function(message,urls){if(!this.messagesAlreadyDisplayed[message]){var li=this.templateListItem.clone();$(li).find(".wpgmza-message").html(message);var buttonContainer=$(li).find(".wpgmza-documentation-buttons"),buttonTemplate=$(li).find(".wpgmza-documentation-buttons>a");if(buttonTemplate.remove(),urls&&urls.length){for(var i=0;i<urls.length;i++){var url=urls[i],button=buttonTemplate.clone(),icon="fa-external-link",text=WPGMZA.localized_strings.documentation;button.attr("href",urls[i]),url.match(/google.+documentation/)?icon="fa-google":url.match(/maps-no-account/)?(icon="fa-wrench",text=WPGMZA.localized_strings.verify_project):url.match(/console\.developers\.google/)&&(icon="fa-wrench",text=WPGMZA.localized_strings.api_dashboard),$(button).find("i").addClass(icon),$(button).append(text)}buttonContainer.append(button)}switch($(this.errorMessageList).append(li),this.dialog||(this.dialog=$(this.element).remodal()),this.dialog.getState()){case"open":case"opened":case"opening":break;default:this.dialog.open()}this.messagesAlreadyDisplayed[message]=!0}},WPGMZA.googleAPIErrorHandler=new WPGMZA.GoogleAPIErrorHandler}),jQuery(function($){WPGMZA.InfoWindow=function(mapObject){var self=this;WPGMZA.EventDispatcher.call(this),WPGMZA.assertInstanceOf(this,"InfoWindow"),mapObject&&(this.mapObject=mapObject,mapObject.map?setTimeout(function(){self.onMapObjectAdded(event)},100):mapObject.addEventListener("added",function(event){self.onMapObjectAdded(event)}))},WPGMZA.InfoWindow.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.InfoWindow.prototype.constructor=WPGMZA.InfoWindow,WPGMZA.InfoWindow.OPEN_BY_CLICK=1,WPGMZA.InfoWindow.OPEN_BY_HOVER=2,WPGMZA.InfoWindow.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProInfoWindow:WPGMZA.OLInfoWindow;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProInfoWindow:WPGMZA.GoogleInfoWindow}},WPGMZA.InfoWindow.createInstance=function(mapObject){return new(this.getConstructor())(mapObject)},WPGMZA.InfoWindow.prototype.getContent=function(callback){var html="";this.mapObject instanceof WPGMZA.Marker&&(html=this.mapObject.address),callback(html)},WPGMZA.InfoWindow.prototype.open=function(map,mapObject){return this.mapObject=mapObject,!WPGMZA.settings.disable_infowindows},WPGMZA.InfoWindow.prototype.close=function(){},WPGMZA.InfoWindow.prototype.setContent=function(options){},WPGMZA.InfoWindow.prototype.setOptions=function(options){},WPGMZA.InfoWindow.prototype.onMapObjectAdded=function(){1==this.mapObject.settings.infoopen&&this.open()}}),jQuery(function($){WPGMZA.LatLng=function(arg,lng){if(this._lat=0,this._lng=0,0!=arguments.length)if(1==arguments.length){if("string"==typeof arg){var m;if(!(m=arg.match(WPGMZA.LatLng.REGEXP)))throw new Error("Invalid LatLng string");arg={lat:m[1],lng:m[3]}}if("object"!=typeof arg||!("lat"in arg&&"lng"in arg))throw new Error("Argument must be a LatLng literal");this.lat=arg.lat,this.lng=arg.lng}else this.lat=arg,this.lng=lng},WPGMZA.LatLng.REGEXP=/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,WPGMZA.LatLng.isValid=function(obj){return"object"==typeof obj&&("lat"in obj&&"lng"in obj)},Object.defineProperty(WPGMZA.LatLng.prototype,"lat",{get:function(){return this._lat},set:function(val){if(!$.isNumeric(val))throw new Error("Latitude must be numeric");this._lat=parseFloat(val)}}),Object.defineProperty(WPGMZA.LatLng.prototype,"lng",{get:function(){return this._lng},set:function(val){if(!$.isNumeric(val))throw new Error("Longitude must be numeric");this._lng=parseFloat(val)}}),WPGMZA.LatLng.prototype.toString=function(){return this._lat+", "+this._lng},WPGMZA.LatLng.fromGoogleLatLng=function(googleLatLng){return new WPGMZA.LatLng(googleLatLng.lat(),googleLatLng.lng())},WPGMZA.LatLng.prototype.toGoogleLatLng=function(){return new google.maps.LatLng({lat:this.lat,lng:this.lng})},WPGMZA.LatLng.prototype.moveByDistance=function(kilometers,heading){var delta=parseFloat(kilometers)/6371,theta=parseFloat(heading)/180*Math.PI,phi1=this.lat/180*Math.PI,lambda1=this.lng/180*Math.PI,sinPhi1=Math.sin(phi1),cosPhi1=Math.cos(phi1),sinDelta=Math.sin(delta),cosDelta=Math.cos(delta),sinTheta=Math.sin(theta),sinPhi2=sinPhi1*cosDelta+cosPhi1*sinDelta*Math.cos(theta),phi2=Math.asin(sinPhi2),y=sinTheta*sinDelta*cosPhi1,x=cosDelta-sinPhi1*sinPhi2,lambda2=lambda1+Math.atan2(y,x);this.lat=180*phi2/Math.PI,this.lng=180*lambda2/Math.PI}}),jQuery(function($){WPGMZA.LatLngBounds=function(southWest,northEast){},WPGMZA.LatLngBounds.prototype.isInInitialState=function(){return void 0==this.north&&void 0==this.south&&void 0==this.west&&void 0==this.east},WPGMZA.LatLngBounds.prototype.extend=function(latLng){this.isInInitialState()?this.north=this.south=this.west=this.east=new WPGMZA.LatLng(latLng):(latLng instanceof WPGMZA.LatLng||(latLng=new WPGMZA.LatLng(latLng)),latLng.lat<this.north&&(this.north=latLng.lat),latLng.lat>this.south&&(this.south=latLng.lat),latLng.lng<this.west&&(this.west=latLng.lng),latLng.lng>this.east&&(this.east=latLng.lng))}}),jQuery(function($){WPGMZA.MapObject=function(row){if(WPGMZA.assertInstanceOf(this,"MapObject"),WPGMZA.EventDispatcher.call(this),this.id=-1,this.guid=WPGMZA.guid(),this.modified=!0,this.settings={},row)for(var name in row)if("settings"==name){if(null==row.settings)this.settings={};else switch(typeof row.settings){case"string":this.settings=JSON.parse(row[name]);break;case"object":this.settings=row[name];break;default:throw new Error("Don't know how to interpret settings")}for(var name in this.settings){var value=this.settings[name];String(value).match(/^-?\d+$/)&&(this.settings[name]=parseInt(value))}}else this[name]=row[name]},WPGMZA.MapObject.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.MapObject.prototype.constructor=WPGMZA.MapObject,WPGMZA.MapObject.prototype.parseGeometry=function(string){var pairs,coords,results=[];pairs=string.replace(/[^ ,\d\.\-+e]/g,"").split(",");for(var i=0;i<pairs.length;i++)coords=pairs[i].split(" "),results.push({lat:parseFloat(coords[1]),lng:parseFloat(coords[0])});return results},WPGMZA.MapObject.prototype.toJSON=function(){return{id:this.id,guid:this.guid,settings:this.settings}}}),jQuery(function($){var Parent=WPGMZA.MapObject;WPGMZA.Circle=function(options,engineCircle){WPGMZA.assertInstanceOf(this,"Circle"),this.center=new WPGMZA.LatLng,this.radius=100,Parent.apply(this,arguments)},WPGMZA.Circle.prototype=Object.create(Parent.prototype),WPGMZA.Circle.prototype.constructor=WPGMZA.Circle,WPGMZA.Circle.createInstance=function(options){return new("google-maps"==WPGMZA.settings.engine?WPGMZA.GoogleCircle:WPGMZA.OLCircle)(options)},WPGMZA.Circle.prototype.getCenter=function(){return this.center.clone()},WPGMZA.Circle.prototype.setCenter=function(latLng){this.center.lat=latLng.lat,this.center.lng=latLng.lng},WPGMZA.Circle.prototype.getRadius=function(){return this.radius},WPGMZA.Circle.prototype.setRadius=function(radius){this.radius=radius},WPGMZA.Circle.prototype.getMap=function(){return this.map},WPGMZA.Circle.prototype.setMap=function(map){this.map&&this.map.removeCircle(this),map&&map.addCircle(this)}}),jQuery(function($){WPGMZA.MapSettingsPage=function(){var self=this;this.updateEngineSpecificControls(),this.updateGDPRControls(),$("select[name='wpgmza_maps_engine']").on("change",function(event){self.updateEngineSpecificControls()}),$("input[name='wpgmza_gdpr_require_consent_before_load'], input[name='wpgmza_gdpr_require_consent_before_vgm_submit'], input[name='wpgmza_gdpr_override_notice']").on("change",function(event){self.updateGDPRControls()})},WPGMZA.MapSettingsPage.prototype.updateEngineSpecificControls=function(){var engine=$("select[name='wpgmza_maps_engine']").val();$("[data-required-maps-engine][data-required-maps-engine!='"+engine+"']").hide(),$("[data-required-maps-engine='"+engine+"']").show()},WPGMZA.MapSettingsPage.prototype.updateGDPRControls=function(){var showNoticeControls=$("input[name='wpgmza_gdpr_require_consent_before_load']").prop("checked"),vgmCheckbox=$("input[name='wpgmza_gdpr_require_consent_before_vgm_submit']");vgmCheckbox.length&&(showNoticeControls=showNoticeControls||vgmCheckbox.prop("checked"));var showOverrideTextarea=showNoticeControls&&$("input[name='wpgmza_gdpr_override_notice']").prop("checked");showNoticeControls?$("#wpgmza-gdpr-compliance-notice").show("slow"):$("#wpgmza-gdpr-compliance-notice").hide("slow"),showOverrideTextarea?$("#wpgmza_gdpr_override_notice_text").show("slow"):$("#wpgmza_gdpr_override_notice_text").hide("slow")},jQuery(function($){window.location.href.match(/wp-google-maps-menu-settings/)&&(WPGMZA.mapSettingsPage=new WPGMZA.MapSettingsPage)})}),jQuery(function($){WPGMZA.MapSettings=function(element){var str=element.getAttribute("data-settings"),json=JSON.parse(str);WPGMZA.assertInstanceOf(this,"MapSettings");for(var key in WPGMZA.settings){value=WPGMZA.settings[key];this[key]=value}for(var key in json){var value=json[key];String(value).match(/^-?\d+$/)&&(value=parseInt(value)),this[key]=value}},WPGMZA.MapSettings.prototype.toOLViewOptions=function(){function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}var options={center:ol.proj.fromLonLat([-119.4179,36.7783]),zoom:4};if("string"==typeof this.start_location){var coords=this.start_location.replace(/^\(|\)$/g,"").split(",");WPGMZA.isLatLngString(this.start_location)?options.center=ol.proj.fromLonLat([parseFloat(coords[1]),parseFloat(coords[0])]):console.warn("Invalid start location")}return this.center&&(options.center=ol.proj.fromLonLat([parseFloat(this.center.lng),parseFloat(this.center.lat)])),this.zoom&&(options.zoom=parseInt(this.zoom)),this.start_zoom&&(options.zoom=parseInt(this.start_zoom)),empty("min_zoom")||(options.minZoom=parseInt(this.min_zoom)),empty("max_zoom")||(options.maxZoom=parseInt(this.max_zoom)),options},WPGMZA.MapSettings.prototype.toGoogleMapsOptions=function(){function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}function formatCoord(coord){return $.isNumeric(coord)?coord:parseFloat(String(coord).replace(/[\(\)\s]/,""))}var self=this,latLngCoords=this.start_location&&this.start_location.length?this.start_location.split(","):[36.7783,-119.4179],latLng=new google.maps.LatLng(formatCoord(latLngCoords[0]),formatCoord(latLngCoords[1])),zoom=this.start_zoom?parseInt(this.start_zoom):4;!this.start_zoom&&this.zoom&&(zoom=parseInt(this.zoom));var options={zoom:zoom,center:latLng};switch(empty("center")||(options.center=new google.maps.LatLng({lat:parseFloat(this.center.lat),lng:parseFloat(this.center.lng)})),empty("min_zoom")||(options.minZoom=parseInt(this.min_zoom)),empty("max_zoom")||(options.maxZoom=parseInt(this.max_zoom)),options.zoomControl=!("yes"==this.wpgmza_settings_map_zoom),options.panControl=!("yes"==this.wpgmza_settings_map_pan),options.mapTypeControl=!("yes"==this.wpgmza_settings_map_type),options.streetViewControl=!("yes"==this.wpgmza_settings_map_streetview),options.fullscreenControl=!("yes"==this.wpgmza_settings_map_full_screen_control),options.draggable=!("yes"==this.wpgmza_settings_map_draggable),options.disableDoubleClickZoom=!("yes"==this.wpgmza_settings_map_clickzoom),options.scrollwheel=!("yes"==this.wpgmza_settings_map_scroll),"greedy"==this.wpgmza_force_greedy_gestures||"yes"==this.wpgmza_force_greedy_gestures?options.gestureHandling="greedy":options.gestureHandling="cooperative",parseInt(this.map_type)){case 2:options.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case 3:options.mapTypeId=google.maps.MapTypeId.HYBRID;break;case 4:options.mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:options.mapTypeId=google.maps.MapTypeId.ROADMAP}if(this.theme_data&&this.theme_data.length>0)try{options.styles=JSON.parse(this.theme_data)}catch(e){alert("Your theme data is not valid JSON and has been ignored")}return options}}),jQuery(function($){function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Map=function(element,options){if(WPGMZA.assertInstanceOf(this,"Map"),WPGMZA.EventDispatcher.call(this),!(element instanceof HTMLElement))throw new Error("Argument must be a HTMLElement");if(this.id=element.getAttribute("data-map-id"),!/\d+/.test(this.id))throw new Error("Map ID must be an integer");WPGMZA.maps.push(this),this.element=element,this.element.wpgmzaMap=this,this.engineElement=element,this.markers=[],this.polygons=[],this.polylines=[],this.circles=[],this.loadSettings(options)},WPGMZA.Map.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.Map.prototype.constructor=WPGMZA.Map,WPGMZA.Map.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProMap:WPGMZA.OLMap;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProMap:WPGMZA.GoogleMap}},WPGMZA.Map.createInstance=function(element,options){return new(WPGMZA.Map.getConstructor())(element,options)},WPGMZA.Map.prototype.loadSettings=function(options){var settings=new WPGMZA.MapSettings(this.element),other_settings=settings.other_settings;if(delete settings.other_settings,other_settings)for(var key in other_settings)settings[key]=other_settings[key];if(options)for(var key in options)settings[key]=options[key];this.settings=settings},WPGMZA.Map.prototype.setOptions=function(options){for(var name in options)this.settings[name]=options[name]};Math.PI;WPGMZA.Map.getGeographicDistance=function(lat1,lon1,lat2,lon2){var dLat=deg2rad(lat2-lat1),dLon=deg2rad(lon2-lon1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(dLon/2)*Math.sin(dLon/2);return 6371*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))},WPGMZA.Map.prototype.setCenter=function(latLng){if(!("lat"in latLng&&"lng"in latLng))throw new Error("Argument is not an object with lat and lng")},WPGMZA.Map.prototype.setDimensions=function(width,height){$(this.element).css({width:width}),$(this.engineElement).css({width:"100%",height:height})},WPGMZA.Map.prototype.addMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");marker.map=this,marker.parent=this,this.markers.push(marker),this.dispatchEvent({type:"markeradded",marker:marker}),marker.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");if(marker.map!==this)throw new Error("Wrong map error");marker.map=null,marker.parent=null,this.markers.splice(this.markers.indexOf(marker),1),this.dispatchEvent({type:"markerremoved",marker:marker}),marker.dispatchEvent({type:"removed"})},WPGMZA.Map.prototype.getMarkerByID=function(id){for(var i=0;i<this.markers.length;i++)if(this.markers[i].id==id)return this.markers[i];return null},WPGMZA.Map.prototype.removeMarkerByID=function(id){var marker=this.getMarkerByID(id);marker&&this.removeMarker(marker)},WPGMZA.Map.prototype.addPolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");polygon.map=this,this.polygons.push(polygon),this.dispatchEvent({type:"polygonadded",polygon:polygon})},WPGMZA.Map.prototype.deletePolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");if(polygon.map!==this)throw new Error("Wrong map error");polygon.map=null,this.polygons.splice(this.polygons.indexOf(polygon),1),this.dispatchEvent({type:"polygonremoved",polygon:polygon})},WPGMZA.Map.prototype.getPolygonByID=function(id){for(var i=0;i<this.polygons.length;i++)if(this.polygons[i].id==id)return this.polygons[i];return null},WPGMZA.Map.prototype.deletePolygonByID=function(id){var polygon=this.getPolygonByID(id);polygon&&this.deletePolygon(polygon)},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.addPolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");polyline.map=this,this.polylines.push(polyline),this.dispatchEvent({type:"polylineadded",polyline:polyline})},WPGMZA.Map.prototype.deletePolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");if(polyline.map!==this)throw new Error("Wrong map error");polyline.map=null,this.polylines.splice(this.polylines.indexOf(polyline),1),this.dispatchEvent({type:"polylineremoved",polyline:polyline})},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.deletePolylineByID=function(id){var polyline=this.getPolylineByID(id);polyline&&this.deletePolyline(polyline)},WPGMZA.Map.prototype.addCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");circle.map=this,this.circles.push(circle),this.dispatchEvent({type:"circleadded",circle:circle})},WPGMZA.Map.prototype.removeCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");if(circle.map!==this)throw new Error("Wrong map error");circle.map=null,this.circles.splice(this.circles.indexOf(circle),1),this.dispatchEvent({type:"circleremoved",circle:circle})},WPGMZA.Map.prototype.getCircleByID=function(id){for(var i=0;i<this.circles.length;i++)if(this.circles[i].id==id)return this.circles[i];return null},WPGMZA.Map.prototype.deleteCircleByID=function(id){var circle=this.getCircleByID(id);circle&&this.deleteCircle(circle)},WPGMZA.Map.prototype.nudge=function(x,y){var pixels=this.latLngToPixels(this.getCenter());if(pixels.x+=parseFloat(x),pixels.y+=parseFloat(y),isNaN(pixels.x)||isNaN(pixels.y))throw new Error("Invalid coordinates supplied");var latLng=this.pixelsToLatLng(pixels);this.setCenter(latLng)},WPGMZA.Map.prototype.onWindowResize=function(event){},WPGMZA.Map.prototype.onElementResized=function(event){},WPGMZA.Map.prototype.onBoundsChanged=function(event){this.trigger("boundschanged"),this.trigger("bounds_changed")},WPGMZA.Map.prototype.onIdle=function(event){$(this.element).trigger("idle")}}),jQuery(function($){WPGMZA.MapsEngineDialog=function(element){var self=this;this.element=element,window.wpgmzaUnbindSaveReminder&&window.wpgmzaUnbindSaveReminder(),$(element).show(),$(element).remodal().open(),$(element).find("input:radio").on("change",function(event){$("#wpgmza-confirm-engine").prop("disabled",!1)}),$("#wpgmza-confirm-engine").on("click",function(event){self.onButtonClicked(event)})},WPGMZA.MapsEngineDialog.prototype.onButtonClicked=function(event){$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_engine_dialog_set_engine",engine:$("[name='wpgmza_maps_engine']:checked").val()},success:function(response,status,xhr){window.location.reload()}})},$(window).on("load",function(event){var element=$("#wpgmza-maps-engine-dialog");element.length&&(WPGMZA.settings.wpgmza_maps_engine_dialog_done||(WPGMZA.mapsEngineDialog=new WPGMZA.MapsEngineDialog(element)))})}),jQuery(function($){WPGMZA.Marker=function(row){var self=this;WPGMZA.assertInstanceOf(this,"Marker"),this.lat="36.778261",this.lng="-119.4179323999",this.address="California",this.title=null,this.description="",this.link="",this.icon="",this.approved=1,this.pic=null,WPGMZA.MapObject.apply(this,arguments),row&&row.heatmap||(row&&this.on("init",function(event){row.position&&this.setPosition(row.position),row.map&&row.map.addMarker(this)}),this.addEventListener("added",function(event){self.onAdded(event)}))},WPGMZA.Marker.prototype=Object.create(WPGMZA.MapObject.prototype),WPGMZA.Marker.prototype.constructor=WPGMZA.Marker,WPGMZA.Marker.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProMarker:WPGMZA.OLMarker;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProMarker:WPGMZA.GoogleMarker}},WPGMZA.Marker.createInstance=function(row){return new(WPGMZA.Marker.getConstructor())(row)},WPGMZA.Marker.ANIMATION_NONE="0",WPGMZA.Marker.ANIMATION_BOUNCE="1",WPGMZA.Marker.ANIMATION_DROP="2",WPGMZA.Marker.prototype.onAdded=function(event){var self=this;this.addEventListener("click",function(event){self.onClick(event)}),this.addEventListener("mouseover",function(event){self.onMouseOver(event)}),this.addEventListener("select",function(event){self.onSelect(event)}),this.map.settings.marker==this.id&&self.trigger("select")},WPGMZA.Marker.prototype.hidePreviousInteractedInfoWindow=function(){this.map.lastInteractedMarker&&this.map.lastInteractedMarker.infoWindow.close()},WPGMZA.Marker.prototype.openInfoWindow=function(){},WPGMZA.Marker.prototype.onClick=function(event){},WPGMZA.Marker.prototype.onSelect=function(event){this.openInfoWindow()},WPGMZA.Marker.prototype.onMouseOver=function(event){this.map.settings.info_window_open_by==WPGMZA.InfoWindow.OPEN_BY_HOVER&&this.openInfoWindow()},WPGMZA.Marker.prototype.getIcon=function(){return function(url){return"string"!=typeof url?url:url.replace(/^http(s?):/,"")}(WPGMZA.settings.default_marker_icon)},WPGMZA.Marker.prototype.getPosition=function(){return{lat:parseFloat(this.lat),lng:parseFloat(this.lng)}},WPGMZA.Marker.prototype.setPosition=function(latLng){latLng instanceof WPGMZA.LatLng?(this.lat=latLng.lat,this.lng=latLng.lng):(this.lat=parseFloat(latLng.lat),this.lng=parseFloat(latLng.lng))},WPGMZA.Marker.prototype.getAnimation=function(animation){return this.settings.animation},WPGMZA.Marker.prototype.setAnimation=function(animation){this.settings.animation=animation},WPGMZA.Marker.prototype.getVisible=function(){},WPGMZA.Marker.prototype.setVisible=function(visible){!visible&&this.infoWindow&&this.infoWindow.close()},WPGMZA.Marker.prototype.setMap=function(map){map?map.addMarker(this):this.map&&this.map.removeMarker(this)},WPGMZA.Marker.prototype.getDraggable=function(){},WPGMZA.Marker.prototype.setDraggable=function(draggable){},WPGMZA.Marker.prototype.setOptions=function(options){},WPGMZA.Marker.prototype.panIntoView=function(){if(!this.map)throw new Error("Marker hasn't been added to a map");this.map.setCenter(this.getPosition())},WPGMZA.Marker.prototype.toJSON=function(){var result=WPGMZA.MapObject.prototype.toJSON.call(this),position=this.getPosition();return $.extend(result,{lat:position.lat,lng:position.lng,address:this.address,title:this.title,description:this.description,link:this.link,icon:this.icon,pic:this.pic,approved:this.approved}),result}}),jQuery(function($){WPGMZA.ModernStoreLocatorCircle=function(map_id,settings){var map;map=WPGMZA.isProVersion()?this.map=MYMAP[map_id].map:this.map=MYMAP.map,this.map_id=map_id,this.mapElement=map.element,this.mapSize={width:$(this.mapElement).width(),height:$(this.mapElement).height()},this.initCanvasLayer(),this.settings={center:new WPGMZA.LatLng(0,0),radius:1,color:"#63AFF2",shadowColor:"white",shadowBlur:4,centerRingRadius:10,centerRingLineWidth:3,numInnerRings:9,innerRingLineWidth:1,innerRingFade:!0,numOuterRings:7,ringLineWidth:1,mainRingLineWidth:2,numSpokes:6,spokesStartAngle:Math.PI/2,numRadiusLabels:6,radiusLabelsStartAngle:Math.PI/2,radiusLabelFont:"13px sans-serif",visible:!1},settings&&this.setOptions(settings)},WPGMZA.ModernStoreLocatorCircle.createInstance=function(map,settings){return"google-maps"==WPGMZA.settings.engine?new WPGMZA.GoogleModernStoreLocatorCircle(map,settings):new WPGMZA.OLModernStoreLocatorCircle(map,settings)},WPGMZA.ModernStoreLocatorCircle.prototype.initCanvasLayer=function(){},WPGMZA.ModernStoreLocatorCircle.prototype.onResize=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.onUpdate=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.setOptions=function(options){for(var name in options){var functionName="set"+name.substr(0,1).toUpperCase()+name.substr(1);"function"==typeof this[functionName]?this[functionName](options[name]):this.settings[name]=options[name]}},WPGMZA.ModernStoreLocatorCircle.prototype.getResolutionScale=function(){return window.devicePixelRatio||1},WPGMZA.ModernStoreLocatorCircle.prototype.getCenter=function(){return this.getPosition()},WPGMZA.ModernStoreLocatorCircle.prototype.setCenter=function(value){this.setPosition(value)},WPGMZA.ModernStoreLocatorCircle.prototype.getPosition=function(){return this.settings.center},WPGMZA.ModernStoreLocatorCircle.prototype.setPosition=function(position){this.settings.center=position},WPGMZA.ModernStoreLocatorCircle.prototype.getRadius=function(){return this.settings.radius},WPGMZA.ModernStoreLocatorCircle.prototype.setRadius=function(radius){if(isNaN(radius))throw new Error("Invalid radius");this.settings.radius=radius},WPGMZA.ModernStoreLocatorCircle.prototype.getVisible=function(){return this.settings.visible},WPGMZA.ModernStoreLocatorCircle.prototype.setVisible=function(visible){this.settings.visible=visible},WPGMZA.ModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getContext=function(type){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.validateSettings=function(){WPGMZA.isHexColorString(this.settings.color)||(this.settings.color="#63AFF2")},WPGMZA.ModernStoreLocatorCircle.prototype.draw=function(){this.validateSettings();var settings=this.settings,canvasDimensions=this.getCanvasDimensions(),canvasWidth=canvasDimensions.width,canvasHeight=canvasDimensions.height;this.map,this.getResolutionScale();if(context=this.getContext("2d"),context.clearRect(0,0,canvasWidth,canvasHeight),settings.visible){context.shadowColor=settings.shadowColor,context.shadowBlur=settings.shadowBlur,context.setTransform(1,0,0,1,0,0);var scale=this.getScale();context.scale(scale,scale);var offset=this.getWorldOriginOffset();context.translate(offset.x,offset.y);new WPGMZA.LatLng(this.settings.center);var worldPoint=this.getCenterPixels(),rgba=WPGMZA.hexToRgba(settings.color),ringSpacing=this.getTransformedRadius(settings.radius)/(settings.numInnerRings+1);context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.centerRingRadius)/scale,0,2*Math.PI),context.stroke(),context.closePath();var end,spokeAngle,radius=this.getTransformedRadius(settings.radius)+ringSpacing*settings.numOuterRings+1,grad=context.createRadialGradient(0,0,0,0,0,radius),rgba=WPGMZA.hexToRgba(settings.color),start=WPGMZA.rgbaToString(rgba);rgba.a=0,end=WPGMZA.rgbaToString(rgba),grad.addColorStop(0,start),grad.addColorStop(1,end),context.save(),context.translate(worldPoint.x,worldPoint.y),context.strokeStyle=grad,context.lineWidth=2/scale;for(i=0;i<settings.numSpokes;i++)spokeAngle=settings.spokesStartAngle+2*Math.PI*(i/settings.numSpokes),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.setLineDash([2/scale,15/scale]),context.beginPath(),context.moveTo(0,0),context.lineTo(x,y),context.stroke();context.setLineDash([]),context.restore(),context.lineWidth=1/scale*settings.innerRingLineWidth;for(i=1;i<=settings.numInnerRings;i++){radius=i*ringSpacing;settings.innerRingFade&&(rgba.a=1-(i-1)/settings.numInnerRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath()}context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.radius),0,2*Math.PI),context.stroke(),context.closePath();for(var radius=radius+ringSpacing,i=0;i<settings.numOuterRings;i++)settings.innerRingFade&&(rgba.a=1-i/settings.numOuterRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath(),radius+=ringSpacing;if(settings.numRadiusLabels>0){var m,x,y,radius=this.getTransformedRadius(settings.radius);(m=settings.radiusLabelFont.match(/(\d+)px/))&&parseInt(m[1])/2*1.1/scale,context.font=settings.radiusLabelFont,context.textAlign="center",context.textBaseline="middle",context.fillStyle=settings.color,context.save(),context.translate(worldPoint.x,worldPoint.y);for(i=0;i<settings.numRadiusLabels;i++){var width,textAngle=(spokeAngle=settings.radiusLabelsStartAngle+2*Math.PI*(i/settings.numRadiusLabels))+Math.PI/2,text=settings.radiusString;Math.sin(spokeAngle)>0&&(textAngle-=Math.PI),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.save(),context.translate(x,y),context.rotate(textAngle),context.scale(1/scale,1/scale),width=context.measureText(text).width,height=width/2,context.clearRect(-width,-height,2*width,2*height),context.fillText(settings.radiusString,0,0),context.restore()}context.restore()}}}}),jQuery(function($){WPGMZA.ModernStoreLocator=function(map_id){var original,self=this;if(WPGMZA.assertInstanceOf(this,"ModernStoreLocator"),(original=WPGMZA.isProVersion()?$(".wpgmza_sl_search_button[mid='"+map_id+"']").closest(".wpgmza_sl_main_div"):$(".wpgmza_sl_search_button").closest(".wpgmza_sl_main_div")).length){this.element=$("<div class='wpgmza-modern-store-locator'><div class='wpgmza-inner wpgmza-modern-hover-opaque'/></div>")[0];var inner=$(this.element).find(".wpgmza-inner"),titleSearch=$(original).find("[id='nameInput_"+map_id+"']");if(titleSearch.length){var placeholder=wpgmaps_localize[map_id].other_settings.store_locator_name_string;placeholder&&placeholder.length&&titleSearch.attr("placeholder",placeholder),inner.append(titleSearch)}var addressInput;addressInput=WPGMZA.isProVersion()?$(original).find(".addressInput"):$(original).find("#addressInput"),wpgmaps_localize[map_id].other_settings.store_locator_query_string&&wpgmaps_localize[map_id].other_settings.store_locator_query_string.length&&addressInput.attr("placeholder",wpgmaps_localize[map_id].other_settings.store_locator_query_string),inner.append(addressInput),$(addressInput).on("keydown",function(event){13==event.keyCode&&self.searchButton.trigger("click")}),inner.append($(original).find("select.wpgmza_sl_radius_select")),this.searchButton=$(original).find(".wpgmza_sl_search_button"),inner.append(this.searchButton),this.resetButton=$(original).find(".wpgmza_sl_reset_button_div"),inner.append(this.resetButton),this.resetButton.on("click",function(event){resetLocations(map_id)}),this.resetButton.hide(),WPGMZA.isProVersion()&&(this.searchButton.on("click",function(event){0!=$("addressInput_"+map_id).val()&&(self.searchButton.hide(),self.resetButton.show())}),this.resetButton.on("click",function(event){self.resetButton.hide(),self.searchButton.show()})),inner.append($("#wpgmza_distance_type_"+map_id));var container=$(original).find(".wpgmza_cat_checkbox_holder"),numCategories=($(container).children("ul"),0),icons=[];$(container).find("li").each(function(index,el){var id=$(el).attr("class").match(/\d+/);for(var category_id in wpgmza_category_data)if(id==category_id){var src=wpgmza_category_data[category_id].image,icon=$('<div class="wpgmza-chip-icon"/>');icon.css({"background-image":"url('"+src+"')",width:$("#wpgmza_cat_checkbox_"+category_id+" + label").height()+"px"}),icons.push(icon),null!=src&&""!=src&&$("#wpgmza_cat_checkbox_"+category_id+" + label").prepend(icon),numCategories++;break}}),$(this.element).append(container),numCategories&&(this.optionsButton=$('<span class="wpgmza_store_locator_options_button"><i class="fas fa-list"></i></span>'),$(this.searchButton).before(this.optionsButton)),setInterval(function(){icons.forEach(function(icon){var height=$(icon).height();$(icon).css({width:height+"px"}),$(icon).closest("label").css({"padding-left":height+8+"px"})}),$(container).css("width",$(self.element).find(".wpgmza-inner").outerWidth()+"px")},1e3),$(this.element).find(".wpgmza_store_locator_options_button").on("click",function(event){container.hasClass("wpgmza-open")?container.removeClass("wpgmza-open"):container.addClass("wpgmza-open")}),$(original).remove(),$(this.element).find("input, select").on("focus",function(){$(inner).addClass("active")}),$(this.element).find("input, select").on("blur",function(){$(inner).removeClass("active")})}},WPGMZA.ModernStoreLocator.createInstance=function(map_id){return"google-maps"==WPGMZA.settings.engine?new WPGMZA.GoogleModernStoreLocator(map_id):new WPGMZA.OLModernStoreLocator(map_id)}}),jQuery(function($){WPGMZA.NativeMapsAppIcon=function(){navigator.userAgent.match(/^Apple|iPhone|iPad|iPod/)?(this.type="apple",this.element=$('<span><i class="fab fa-apple" aria-hidden="true"></i></span>')):(this.type="google",this.element=$('<span><i class="fab fa-google" aria-hidden="true"></i></span>'))}}),jQuery(function($){WPGMZA.Polygon=function(row,enginePolygon){WPGMZA.assertInstanceOf(this,"Polygon"),this.paths=null,this.title=null,this.name=null,this.link=null,WPGMZA.MapObject.apply(this,arguments)},WPGMZA.Polygon.prototype=Object.create(WPGMZA.MapObject.prototype),WPGMZA.Polygon.prototype.constructor=WPGMZA.Polygon,WPGMZA.Polygon.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProPolygon:WPGMZA.OLPolygon;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProPolygon:WPGMZA.GooglePolygon}},WPGMZA.Polygon.createInstance=function(row,engineObject){return new(WPGMZA.Polygon.getConstructor())(row,engineObject)},WPGMZA.Polygon.prototype.toJSON=function(){var result=WPGMZA.MapObject.prototype.toJSON.call(this);return $.extend(result,{name:this.name,title:this.title,link:this.link}),result}}),jQuery(function($){WPGMZA.Polyline=function(row,googlePolyline){WPGMZA.assertInstanceOf(this,"Polyline"),this.title=null,WPGMZA.MapObject.apply(this,arguments)},WPGMZA.Polyline.prototype=Object.create(WPGMZA.MapObject.prototype),WPGMZA.Polyline.prototype.constructor=WPGMZA.Polyline,WPGMZA.Polyline.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.OLPolyline;default:return WPGMZA.GooglePolyline}},WPGMZA.Polyline.createInstance=function(row,engineObject){return new(WPGMZA.Polyline.getConstructor())(row,engineObject)},WPGMZA.Polyline.prototype.getPoints=function(){return this.toJSON().points},WPGMZA.Polyline.prototype.toJSON=function(){var result=WPGMZA.MapObject.prototype.toJSON.call(this);return result.title=this.title,result}}),jQuery(function($){WPGMZA.PopoutPanel=function(){},WPGMZA.PopoutPanel.prototype.open=function(){$(this.element).addClass("wpgmza-open")},WPGMZA.PopoutPanel.prototype.close=function(){$(this.element).removeClass("wpgmza-open")}}),jQuery(function($){WPGMZA.RestAPI=function(){WPGMZA.RestAPI.URL=WPGMZA.resturl},WPGMZA.RestAPI.createInstance=function(){return new WPGMZA.RestAPI},WPGMZA.RestAPI.prototype.call=function(route,params){if("string"!=typeof route||!route.match(/^\//))throw new Error("Invalid route");WPGMZA.RestAPI.URL.match(/\/$/)&&(route=route.replace(/^\//,"")),$.ajax(WPGMZA.RestAPI.URL+route,params)}}),jQuery(function($){function isPositiveInteger(x){return/^\d+$/.test(x)}function validateParts(parts){for(var i=0;i<parts.length;++i)if(!isPositiveInteger(parts[i]))return!1;return!0}WPGMZA.Version=function(){},WPGMZA.Version.compare=function(v1,v2){var v1parts=v1.split("."),v2parts=v2.split(".");if(!validateParts(v1parts)||!validateParts(v2parts))return NaN;for(var i=0;i<v1parts.length;++i){if(v2parts.length===i)return 1;if(v1parts[i]!==v2parts[i])return v1parts[i]>v2parts[i]?1:-1}return v1parts.length!=v2parts.length?-1:0}}),jQuery(function($){WPGMZA.Integration={},WPGMZA.integrationModules={}}),jQuery(function($){if(window.wp&&wp.i18n&&wp.blocks&&wp.editor){var __=wp.i18n.__,registerBlockType=wp.blocks.registerBlockType,_wp$editor=wp.editor,InspectorControls=_wp$editor.InspectorControls,_wp$components=(_wp$editor.BlockControls,wp.components),Dashicon=_wp$components.Dashicon,PanelBody=(_wp$components.Toolbar,_wp$components.Button,_wp$components.Tooltip,_wp$components.PanelBody);_wp$components.TextareaControl,_wp$components.CheckboxControl,_wp$components.TextControl,_wp$components.SelectControl,_wp$components.RichText;WPGMZA.Integration.Gutenberg=function(){registerBlockType("gutenberg-wpgmza/block",this.getBlockDefinition())},WPGMZA.Integration.Gutenberg.prototype.getBlockTitle=function(){return __("WP Google Maps")},WPGMZA.Integration.Gutenberg.prototype.getBlockInspectorControls=function(props){return React.createElement(InspectorControls,{key:"inspector"},React.createElement(PanelBody,{title:__("Map Settings")},React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:WPGMZA.adminurl+"admin.php?page=wp-google-maps-menu&action=edit&map_id=1",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-pencil-square-o","aria-hidden":"true"}),__("Go to Map Editor"))),React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:"https://www.wpgmaps.com/documentation/creating-your-first-map/",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-book","aria-hidden":"true"}),__("View Documentation")))))},WPGMZA.Integration.Gutenberg.prototype.getBlockAttributes=function(){return{}},WPGMZA.Integration.Gutenberg.prototype.getBlockDefinition=function(props){var _this=this;return{title:__("WP Google Maps"),description:__("The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss."),category:"common",icon:"location-alt",keywords:[__("Map"),__("Maps"),__("Google")],attributes:this.getBlockAttributes(),edit:function(props){return[!!props.isSelected&&_this.getBlockInspectorControls(props),React.createElement("div",{className:props.className+" wpgmza-gutenberg-block"},React.createElement(Dashicon,{icon:"location-alt"}),React.createElement("span",{class:"wpgmza-gutenberg-block-title"},__("Your map will appear here on your websites front end")))]},save:function(props){return null}}},WPGMZA.Integration.Gutenberg.getConstructor=function(){return WPGMZA.Integration.Gutenberg},WPGMZA.Integration.Gutenberg.createInstance=function(){return new(WPGMZA.Integration.Gutenberg.getConstructor())},WPGMZA.isProVersion()||(WPGMZA.integrationModules.gutenberg=WPGMZA.Integration.Gutenberg.createInstance())}}),jQuery(function($){WPGMZA.GoogleUICompatibility=function(){if(!(navigator.vendor&&navigator.vendor.indexOf("Apple")>-1&&navigator.userAgent&&-1==navigator.userAgent.indexOf("CriOS")&&-1==navigator.userAgent.indexOf("FxiOS"))){var style=$("<style id='wpgmza-google-ui-compatiblity-fix'/>");style.html(".wpgmza_map img:not(button img) { padding:0 !important; }"),$(document.head).append(style)}},WPGMZA.googleUICompatibility=new WPGMZA.GoogleUICompatibility}),jQuery(function($){WPGMZA.GoogleCircle=function(options,googleCircle){var self=this;if(WPGMZA.Circle.call(this,options,googleCircle),googleCircle?this.googleCircle=googleCircle:(this.googleCircle=new google.maps.Circle,this.googleCircle.wpgmzaCircle=this),google.maps.event.addListener(this.googleCircle,"click",function(){self.dispatchEvent({type:"click"})}),options){var googleOptions={};delete(googleOptions=$.extend({},options)).map,delete googleOptions.center,options.center&&(googleOptions.center=new google.maps.LatLng({lat:options.center.lat,lng:options.center.lng})),this.googleCircle.setOptions(googleOptions),options.map&&options.map.addCircle(this)}},WPGMZA.GoogleCircle.prototype=Object.create(WPGMZA.Circle.prototype),WPGMZA.GoogleCircle.prototype.constructor=WPGMZA.GoogleCircle}),jQuery(function($){WPGMZA.GoogleGeocoder=function(){},WPGMZA.GoogleGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.GoogleGeocoder.prototype.constructor=WPGMZA.GoogleGeocoder,WPGMZA.GoogleGeocoder.prototype.getLatLngFromAddress=function(options,callback){if(!options||!options.address)throw new Error("No address specified");if(WPGMZA.isLatLngString(options.address))return WPGMZA.Geocoder.prototype.getLatLngFromAddress.call(this,options,callback);options.country&&(options.componentRestrictions={country:options.country}),(new google.maps.Geocoder).geocode(options,function(results,status){if(status==google.maps.GeocoderStatus.OK){var location=results[0].geometry.location,latLng={lat:location.lat(),lng:location.lng()};callback(results=[{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng}],WPGMZA.Geocoder.SUCCESS)}else{var nativeStatus=WPGMZA.Geocoder.FAIL;status==google.maps.GeocoderStatus.ZERO_RESULTS&&(nativeStatus=WPGMZA.Geocoder.ZERO_RESULTS),callback(null,nativeStatus)}})},WPGMZA.GoogleGeocoder.prototype.getAddressFromLatLng=function(options,callback){if(!options||!options.latLng)throw new Error("No latLng specified");var latLng=new WPGMZA.LatLng(options.latLng),geocoder=new google.maps.Geocoder;delete(options=$.extend(options,{location:{lat:latLng.lat,lng:latLng.lng}})).latLng,geocoder.geocode(options,function(results,status){"OK"!==status&&callback(null,WPGMZA.Geocoder.FAIL),results&&results.length||callback([],WPGMZA.Geocoder.NO_RESULTS),callback([results[0].formatted_address],WPGMZA.Geocoder.SUCCESS)})}}),jQuery(function($){var Parent;WPGMZA.GoogleInfoWindow=function(mapObject){Parent.call(this,mapObject),this.setMapObject(mapObject)},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.GoogleInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.GoogleInfoWindow.prototype.constructor=WPGMZA.GoogleInfoWindow,WPGMZA.GoogleInfoWindow.prototype.setMapObject=function(mapObject){mapObject instanceof WPGMZA.Marker?this.googleObject=mapObject.googleMarker:mapObject instanceof WPGMZA.Polygon?this.googleObject=mapObject.googlePolygon:mapObject instanceof WPGMZA.Polyline&&(this.googleObject=mapObject.googlePolyline)},WPGMZA.GoogleInfoWindow.prototype.createGoogleInfoWindow=function(){this.googleInfoWindow||(this.googleInfoWindow=new google.maps.InfoWindow)},WPGMZA.GoogleInfoWindow.prototype.open=function(map,mapObject){return!!Parent.prototype.open.call(this,map,mapObject)&&(this.createGoogleInfoWindow(),this.setMapObject(mapObject),this.googleInfoWindow.open(this.mapObject.map.googleMap,this.googleObject),this.content&&this.googleInfoWindow.setContent(this.content),!0)},WPGMZA.GoogleInfoWindow.prototype.close=function(){this.googleInfoWindow&&(WPGMZA.InfoWindow.prototype.close.call(this),this.googleInfoWindow.close())},WPGMZA.GoogleInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html,this.createGoogleInfoWindow(),this.googleInfoWindow.setContent(html)},WPGMZA.GoogleInfoWindow.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.createGoogleInfoWindow(),this.googleInfoWindow.setOptions(options)}}),jQuery(function($){var Parent;WPGMZA.GoogleMap=function(element,options){var self=this;if(Parent.call(this,element,options),!window.google){var status=WPGMZA.googleAPIStatus,message="Google API not loaded";if(status&&status.message&&(message+=" - "+status.message),"USER_CONSENT_NOT_GIVEN"==status.code)return;throw $(element).html("<div class='notice notice-error'><p>"+WPGMZA.localized_strings.google_api_not_loaded+"<pre>"+message+"</pre></p></div>"),new Error(message)}this.loadGoogleMap(),options&&this.setOptions(options),google.maps.event.addListener(this.googleMap,"click",function(event){var wpgmzaEvent=new WPGMZA.Event("click");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"rightclick",function(event){var wpgmzaEvent=new WPGMZA.Event("rightclick");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"dragend",function(event){self.dispatchEvent("dragend")}),google.maps.event.addListener(this.googleMap,"zoom_changed",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged")}),google.maps.event.addListener(this.googleMap,"idle",function(event){self.onIdle(event)}),WPGMZA.isProVersion()||(this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}))},WPGMZA.isProVersion()?(Parent=WPGMZA.ProMap,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.ProMap.prototype)):(Parent=WPGMZA.Map,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.Map.prototype)),WPGMZA.GoogleMap.prototype.constructor=WPGMZA.GoogleMap,WPGMZA.GoogleMap.prototype.loadGoogleMap=function(){var self=this,options=this.settings.toGoogleMapsOptions();this.googleMap=new google.maps.Map(this.engineElement,options),google.maps.event.addListener(this.googleMap,"bounds_changed",function(){self.onBoundsChanged()}),1==this.settings.bicycle&&this.enableBicycleLayer(!0),1==this.settings.traffic&&this.enableTrafficLayer(!0),1==this.settings.transport&&this.enablePublicTransportLayer(!0),this.showPointsOfInterest(this.settings.show_points_of_interest),$(this.engineElement).append($(this.element).find(".wpgmza-loader"))},WPGMZA.GoogleMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.googleMap.setOptions(this.settings.toGoogleMapsOptions());var clone=$.extend({},options);(clone.center instanceof WPGMZA.LatLng||"object"==typeof clone.center)&&(clone.center={lat:parseFloat(clone.center.lat),lng:parseFloat(clone.center.lng)}),this.googleMap.setOptions(clone)},WPGMZA.GoogleMap.prototype.addMarker=function(marker){marker.googleMarker.setMap(this.googleMap),Parent.prototype.addMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.removeMarker=function(marker){marker.googleMarker.setMap(null),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.addPolygon=function(polygon){polygon.googlePolygon.setMap(this.googleMap),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.removePolygon=function(polygon){polygon.googlePolygon.setMap(null),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.addPolyline=function(polyline){polyline.googlePolyline.setMap(this.googleMap),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.removePolyline=function(polyline){polyline.googlePolyline.setMap(null),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.addCircle=function(circle){circle.googleCircle.setMap(this.googleMap),Parent.prototype.addCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.removeCircle=function(circle){circle.googleCircle.setMap(null),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.getCenter=function(){var latLng=this.googleMap.getCenter();return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.setCenter=function(latLng){WPGMZA.Map.prototype.setCenter.call(this,latLng),latLng instanceof WPGMZA.LatLng?this.googleMap.setCenter({lat:latLng.lat,lng:latLng.lng}):this.googleMap.setCenter(latLng)},WPGMZA.GoogleMap.prototype.panTo=function(latLng){latLng instanceof WPGMZA.LatLng?this.googleMap.panTo({lat:latLng.lat,lng:latLng.lng}):this.googleMap.panTo(latLng)},WPGMZA.GoogleMap.prototype.getZoom=function(){return this.googleMap.getZoom()},WPGMZA.GoogleMap.prototype.setZoom=function(value){if(isNaN(value))throw new Error("Value must not be NaN");return this.googleMap.setZoom(value)},WPGMZA.GoogleMap.prototype.getBounds=function(){var bounds=this.googleMap.getBounds(),northEast=bounds.getNorthEast(),southWest=bounds.getSouthWest();return{topLeft:{lat:northEast.lat(),lng:southWest.lng()},bottomRight:{lat:southWest.lat(),lng:northEast.lng()}}},WPGMZA.GoogleMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng&&(northEast={lat:northEast.lat,lng:northEast.lng}),this.googleMap.fitBounds(southWest,northEast)},WPGMZA.GoogleMap.prototype.fitBoundsToVisibleMarkers=function(){for(var bounds=new google.maps.LatLngBounds,i=0;i<this.markers.length;i++)markers[i].getVisible()&&bounds.extend(markers[i].getPosition());this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.enableBicycleLayer=function(enable){this.bicycleLayer||(this.bicycleLayer=new google.maps.BicyclingLayer),this.bicycleLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enableTrafficLayer=function(enable){this.trafficLayer||(this.trafficLayer=new google.maps.TrafficLayer),this.trafficLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enablePublicTransportLayer=function(enable){this.publicTransportLayer||(this.publicTransportLayer=new google.maps.TransitLayer),this.publicTransportLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.showPointsOfInterest=function(show){var text=$("textarea[name='theme_data']").val();if(text){var styles=JSON.parse(text);styles.push({featureType:"poi",stylers:[{visibility:show?"on":"off"}]}),this.googleMap.setOptions({styles:styles})}},WPGMZA.GoogleMap.prototype.getMinZoom=function(){return parseInt(this.settings.min_zoom)},WPGMZA.GoogleMap.prototype.setMinZoom=function(value){this.googleMap.setOptions({minZoom:value,maxZoom:this.getMaxZoom()})},WPGMZA.GoogleMap.prototype.getMaxZoom=function(){return parseInt(this.settings.max_zoom)},WPGMZA.GoogleMap.prototype.setMaxZoom=function(value){this.googleMap.setOptions({minZoom:this.getMinZoom(),maxZoom:value})},WPGMZA.GoogleMap.prototype.latLngToPixels=function(latLng){var map=this.googleMap,nativeLatLng=new google.maps.LatLng({lat:parseFloat(latLng.lat),lng:parseFloat(latLng.lng)}),topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),worldPoint=map.getProjection().fromLatLngToPoint(nativeLatLng);return{x:(worldPoint.x-bottomLeft.x)*scale,y:(worldPoint.y-topRight.y)*scale}},WPGMZA.GoogleMap.prototype.pixelsToLatLng=function(x,y){void 0==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var map=this.googleMap,topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),worldPoint=new google.maps.Point(x/scale+bottomLeft.x,y/scale+topRight.y),latLng=map.getProjection().fromPointToLatLng(worldPoint);return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.onElementResized=function(event){this.googleMap&&google.maps.event.trigger(this.googleMap,"resize")}}),jQuery(function($){var Parent;WPGMZA.GoogleMarker=function(row){var self=this;Parent.call(this,row);var settings={};if(row)for(var name in row)row[name]instanceof WPGMZA.LatLng?settings[name]=row[name].toGoogleLatLng():row[name]instanceof WPGMZA.Map||(settings[name]=row[name]);this.googleMarker=new google.maps.Marker(settings),this.googleMarker.wpgmzaMarker=this,this.googleMarker.setPosition(new google.maps.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})),this.googleMarker.setLabel(this.settings.label),this.animation&&this.googleMarker.setAnimation(this.animation),google.maps.event.addListener(this.googleMarker,"click",function(){self.dispatchEvent("click"),self.dispatchEvent("select")}),google.maps.event.addListener(this.googleMarker,"mouseover",function(){self.dispatchEvent("mouseover")}),google.maps.event.addListener(this.googleMarker,"dragend",function(){var googleMarkerPosition=self.googleMarker.getPosition();self.setPosition({lat:googleMarkerPosition.lat(),lng:googleMarkerPosition.lng()}),self.dispatchEvent({type:"dragend",latLng:self.getPosition()})}),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.GoogleMarker.prototype=Object.create(Parent.prototype),WPGMZA.GoogleMarker.prototype.constructor=WPGMZA.GoogleMarker,WPGMZA.GoogleMarker.prototype.setLabel=function(label){label?(this.googleMarker.setLabel({text:label}),this.googleMarker.getIcon()||this.googleMarker.setIcon(WPGMZA.settings.default_marker_icon)):this.googleMarker.setLabel(null)},WPGMZA.GoogleMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng),this.googleMarker.setPosition({lat:this.lat,lng:this.lng})},WPGMZA.GoogleMarker.prototype.setOffset=function(x,y){var params,self=this,icon=this.googleMarker.getIcon(),img=new Image;params="string"==typeof icon?{url:icon}:icon,img.onload=function(){var defaultAnchor={x:img.width/2,y:img.height};params.anchor=new google.maps.Point(defaultAnchor.x-x,defaultAnchor.y-y),self.googleMarker.setIcon(params)},img.src=params.url},WPGMZA.GoogleMarker.prototype.setOptions=function(options){this.googleMarker.setOptions(options)},WPGMZA.GoogleMarker.prototype.setAnimation=function(animation){Parent.prototype.setAnimation.call(this,animation),this.googleMarker.setAnimation(animation)},WPGMZA.GoogleMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible.call(this,visible),this.googleMarker.setVisible(visible)},WPGMZA.GoogleMarker.prototype.setDraggable=function(draggable){this.googleMarker.setDraggable(draggable)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocatorCircle=function(map,settings){var self=this;WPGMZA.ModernStoreLocatorCircle.call(this,map,settings),this.intervalID=setInterval(function(){var mapSize={width:$(self.mapElement).width(),height:$(self.mapElement).height()};mapSize.width==self.mapSize.width&&mapSize.height==self.mapSize.height||(self.canvasLayer.resize_(),self.canvasLayer.draw(),self.mapSize=mapSize)},1e3),$(document).bind("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){self.canvasLayer.resize_(),self.canvasLayer.draw()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.GoogleModernStoreLocatorCircle.prototype.constructor=WPGMZA.GoogleModernStoreLocatorCircle,WPGMZA.GoogleModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this;this.canvasLayer&&(this.canvasLayer.setMap(null),this.canvasLayer.setAnimate(!1)),this.canvasLayer=new CanvasLayer({map:this.map.googleMap,resizeHandler:function(event){self.onResize(event)},updateHandler:function(event){self.onUpdate(event)},animate:!0,resolutionScale:this.getResolutionScale()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setOptions=function(options){WPGMZA.ModernStoreLocatorCircle.prototype.setOptions.call(this,options),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setPosition=function(position){WPGMZA.ModernStoreLocatorCircle.prototype.setPosition.call(this,position),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setRadius=function(radius){WPGMZA.ModernStoreLocatorCircle.prototype.setRadius.call(this,radius),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var spherical=google.maps.geometry.spherical,center=this.settings.center,equator=new WPGMZA.LatLng({lat:0,lng:0}),latitude=new WPGMZA.LatLng({lat:center.lat,lng:0}),offsetAtEquator=spherical.computeOffset(equator.toGoogleLatLng(),1e3*km,90),result=.006395*km*(spherical.computeOffset(latitude.toGoogleLatLng(),1e3*km,90).lng()/offsetAtEquator.lng());if(isNaN(result))throw new Error("here");return result},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvasLayer.canvas.width,height:this.canvasLayer.canvas.height}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){var position=this.map.googleMap.getProjection().fromLatLngToPoint(this.canvasLayer.getTopLeft());return{x:-position.x,y:-position.y}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCenterPixels=function(){var center=new WPGMZA.LatLng(this.settings.center);return this.map.googleMap.getProjection().fromLatLngToPoint(center.toGoogleLatLng())},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvasLayer.canvas.getContext("2d")},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getScale=function(){return Math.pow(2,this.map.getZoom())*this.getResolutionScale()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setVisible=function(visible){WPGMZA.ModernStoreLocatorCircle.prototype.setVisible.call(this,visible),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.destroy=function(){this.canvasLayer.setMap(null),this.canvasLayer=null,clearInterval(this.intervalID)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),(WPGMZA.isProVersion()?MYMAP[map_id].map.googleMap:MYMAP.map.googleMap).controls[google.maps.ControlPosition.TOP_CENTER].push(this.element);var options={fields:["name","formatted_address"],types:["geocode"]},restrict=wpgmaps_localize[map_id].other_settings.wpgmza_store_locator_restrict;this.addressInput=$(this.element).find(".addressInput, #addressInput")[0],this.addressInput&&(restrict&&restrict.length&&(options.componentRestrictions={country:restrict}),this.autoComplete=new google.maps.places.Autocomplete(this.addressInput,options))},WPGMZA.GoogleModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator.prototype),WPGMZA.GoogleModernStoreLocator.prototype.constructor=WPGMZA.GoogleModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.GooglePolygon=function(row,googlePolygon){var self=this;if(Parent.call(this,row,googlePolygon),googlePolygon)this.googlePolygon=googlePolygon;else if(this.googlePolygon=new google.maps.Polygon(this.settings),row&&row.points){var paths=this.parseGeometry(row.points);this.googlePolygon.setOptions({paths:paths})}this.googlePolygon.wpgmzaPolygon=this,google.maps.event.addListener(this.googlePolygon,"click",function(){self.dispatchEvent({type:"click"})})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.GooglePolygon.prototype=Object.create(Parent.prototype),WPGMZA.GooglePolygon.prototype.constructor=WPGMZA.GooglePolygon,WPGMZA.GooglePolygon.prototype.getEditable=function(){return this.googlePolygon.getOptions().editable},WPGMZA.GooglePolygon.prototype.setEditable=function(value){this.googlePolygon.setOptions({editable:value})},WPGMZA.GooglePolygon.prototype.toJSON=function(){var result=WPGMZA.Polygon.prototype.toJSON.call(this);result.points=[];for(var path=this.googlePolygon.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.points.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){WPGMZA.GooglePolyline=function(row,googlePolyline){var self=this;if(WPGMZA.Polyline.call(this,row,googlePolyline),googlePolyline)this.googlePolyline=googlePolyline;else if(this.googlePolyline=new google.maps.Polyline(this.settings),this.googlePolyline.wpgmzaPolyline=this,row&&row.points){var path=this.parseGeometry(row.points);this.setPoints(path)}google.maps.event.addListener(this.googlePolyline,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.GooglePolyline.prototype=Object.create(WPGMZA.Polyline.prototype),WPGMZA.GooglePolyline.prototype.constructor=WPGMZA.GooglePolyline,WPGMZA.GooglePolyline.prototype.setEditable=function(value){this.googlePolyline.setOptions({editable:value})},WPGMZA.GooglePolyline.prototype.setPoints=function(points){this.googlePolyline.setOptions({path:points})},WPGMZA.GooglePolyline.prototype.toJSON=function(){var result=WPGMZA.Polyline.prototype.toJSON.call(this);result.points=[];for(var path=this.googlePolyline.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.points.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){"google-maps"==WPGMZA.settings.engine&&(WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code||(WPGMZA.GoogleVertexContextMenu=function(mapEditPage){var self=this;this.mapEditPage=mapEditPage,this.element=document.createElement("div"),this.element.className="wpgmza-vertex-context-menu",this.element.innerHTML="Delete",google.maps.event.addDomListener(this.element,"click",function(event){return self.removeVertex(),event.preventDefault(),event.stopPropagation(),!1})},WPGMZA.GoogleVertexContextMenu.prototype=new google.maps.OverlayView,WPGMZA.GoogleVertexContextMenu.prototype.onAdd=function(){var self=this,map=this.getMap();this.getPanes().floatPane.appendChild(this.element),this.divListener=google.maps.event.addDomListener(map.getDiv(),"mousedown",function(e){e.target!=self.element&&self.close()},!0)},WPGMZA.GoogleVertexContextMenu.prototype.onRemove=function(){google.maps.event.removeListener(this.divListener),this.element.parentNode.removeChild(this.element),this.set("position"),this.set("path"),this.set("vertex")},WPGMZA.GoogleVertexContextMenu.prototype.open=function(map,path,vertex){this.set("position",path.getAt(vertex)),this.set("path",path),this.set("vertex",vertex),this.setMap(map),this.draw()},WPGMZA.GoogleVertexContextMenu.prototype.close=function(){this.setMap(null)},WPGMZA.GoogleVertexContextMenu.prototype.draw=function(){var position=this.get("position"),projection=this.getProjection();if(position&&projection){var point=projection.fromLatLngToDivPixel(position);this.element.style.top=point.y+"px",this.element.style.left=point.x+"px"}},WPGMZA.GoogleVertexContextMenu.prototype.removeVertex=function(){var path=this.get("path"),vertex=this.get("vertex");path&&void 0!=vertex?(path.removeAt(vertex),this.close()):this.close()}))}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.OLCircle=function(options,olFeature){this.center={lat:0,lng:0},this.radius=0,Parent.call(this,options,olFeature),this.settings.fillColor||(this.settings.fillColor="#ff0000",this.settings.fillOpacity=.6),options.fillColor&&(this.settings.fillColor=options.fillColor),options.fillOpacity&&(this.settings.fillOpacity=options.fillOpacity),this.olStyle=new ol.style.Style(this.getStyleFromSettings());var vectorLayer3857=new ol.layer.Vector({source:new ol.source.Vector,style:this.olStyle});if(olFeature)this.olFeature=olFeature;else{var x,y,wgs84Sphere=new ol.Sphere(6378137),radius=this.radius;x=this.center.lng,y=this.center.lat;var circle3857=ol.geom.Polygon.circular(wgs84Sphere,[x,y],radius,64).clone().transform("EPSG:4326","EPSG:3857");vectorLayer3857.getSource().addFeature(new ol.Feature(circle3857))}this.layer=vectorLayer3857,options.map.olMap.addLayer(vectorLayer3857)},WPGMZA.OLCircle.prototype=Object.create(Parent.prototype),WPGMZA.OLCircle.prototype.constructor=WPGMZA.OLCircle,WPGMZA.OLCircle.prototype.getStyleFromSettings=function(){var params={};return this.settings.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(this.settings.strokeColor,this.settings.strokeOpacity)})),this.settings.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(this.settings.fillColor,this.settings.fillOpacity)})),params},WPGMZA.OLCircle.prototype.updateStyleFromSettings=function(){var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.layer.setStyle(this.olStyle)}}),jQuery(function($){WPGMZA.OLGeocoder=function(){},WPGMZA.OLGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.OLGeocoder.prototype.constructor=WPGMZA.OLGeocoder,WPGMZA.OLGeocoder.prototype.getResponseFromCache=function(address,callback){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_query_nominatim_cache",query:address},success:function(response,xhr,status){response.lng=response.lon,callback(response)}})},WPGMZA.OLGeocoder.prototype.getResponseFromNominatim=function(options,callback){var data={q:options.address,format:"json"};options.country&&(data.countrycodes=options.country),$.ajax("https://nominatim.openstreetmap.org/search/",{data:data,success:function(response,xhr,status){callback(response)},error:function(response,xhr,status){callback(null,WPGMZA.Geocoder.FAIL)}})},WPGMZA.OLGeocoder.prototype.cacheResponse=function(address,response){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_store_nominatim_cache",query:address,response:JSON.stringify(response)},method:"POST"})},WPGMZA.OLGeocoder.prototype.getLatLngFromAddress=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.getAddressFromLatLng=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.geocode=function(options,callback){var self=this;if(!options)throw new Error("Invalid options");options.location&&(options.latLng=new WPGMZA.LatLng(options.location));var finish,location;if(options.address)location=options.address,finish=function(response,status){for(var i=0;i<response.length;i++)response[i].geometry={location:new WPGMZA.LatLng({lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)})},response[i].latLng={lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)},response[i].lng=response[i].lon;callback(response,status)};else{if(!options.latLng)throw new Error("You must supply either a latLng or address");location=options.latLng.toString(),finish=function(response,status){var address=response[0].display_name;callback([address],status)}}this.getResponseFromCache(location,function(response){response.length?finish(response,WPGMZA.Geocoder.SUCCESS):self.getResponseFromNominatim($.extend(options,{address:location}),function(response,status){status!=WPGMZA.Geocoder.FAIL?0!=response.length?(finish(response,WPGMZA.Geocoder.SUCCESS),self.cacheResponse(location,response)):callback([],WPGMZA.Geocoder.ZERO_RESULTS):callback(null,WPGMZA.Geocoder.FAIL)})})}}),jQuery(function($){var Parent;WPGMZA.OLInfoWindow=function(mapObject){var self=this;Parent.call(this,mapObject),this.element=$("<div class='ol-info-window-container ol-info-window-plain'></div>")[0],$(this.element).on("click",".ol-info-window-close",function(event){self.close()})},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.OLInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.OLInfoWindow.prototype.constructor=WPGMZA.OLInfoWindow,WPGMZA.OLInfoWindow.prototype.open=function(map,mapObject){var self=this,latLng=mapObject.getPosition();if(!WPGMZA.InfoWindow.prototype.open.call(this,map,mapObject))return!1;this.overlay&&this.mapObject.map.olMap.removeOverlay(this.overlay),this.overlay=new ol.Overlay({element:this.element}),this.overlay.setPosition(ol.proj.fromLonLat([latLng.lng,latLng.lat])),self.mapObject.map.olMap.addOverlay(this.overlay),$(this.element).show(),this.dispatchEvent("infowindowopen")},WPGMZA.OLInfoWindow.prototype.close=function(event){$(this.element).hide(),this.overlay&&(WPGMZA.InfoWindow.prototype.close.call(this),this.mapObject.map.olMap.removeOverlay(this.overlay),this.overlay=null)},WPGMZA.OLInfoWindow.prototype.setContent=function(html){$(this.element).html("<i class='fa fa-times ol-info-window-close' aria-hidden='true'></i>"+html)},WPGMZA.OLInfoWindow.prototype.setOptions=function(options){WPGMZA.settings.developer_mode&&console.log(options),options.maxWidth&&$(this.element).css({"max-width":options.maxWidth+"px"})}}),jQuery(function($){var Parent;WPGMZA.OLMap=function(element,options){var self=this;Parent.call(this,element),this.setOptions(options);var viewOptions=this.settings.toOLViewOptions();$(this.element).html(""),this.olMap=new ol.Map({target:$(element)[0],layers:[this.getTileLayer()],view:new ol.View(viewOptions)}),this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan?interaction.setActive("yes"!=this.settings.wpgmza_settings_map_draggable):interaction instanceof ol.interaction.DoubleClickZoom?interaction.setActive(!this.settings.wpgmza_settings_map_clickzoom):interaction instanceof ol.interaction.MouseWheelZoom&&interaction.setActive("yes"!=this.settings.wpgmza_settings_map_scroll)},this),this.olMap.getControls().forEach(function(control){control instanceof ol.control.Zoom&&"yes"==WPGMZA.settings.wpgmza_settings_map_zoom&&this.olMap.removeControl(control)},this),"yes"!=WPGMZA.settings.wpgmza_settings_map_full_screen_control&&this.olMap.addControl(new ol.control.FullScreen),this.markerLayer=new ol.layer.Vector({source:new ol.source.Vector({features:[]})}),this.olMap.addLayer(this.markerLayer),this.olMap.on("movestart",function(event){self.isBeingDragged=!0}),this.olMap.on("moveend",function(event){self.wrapLongitude(),self.isBeingDragged=!1,self.dispatchEvent("dragend"),self.onIdle()}),this.olMap.getView().on("change:resolution",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged"),self.onIdle()}),this.olMap.getView().on("change",function(){self.onBoundsChanged()}),self.onBoundsChanged();var marker;this.storeLocator&&(marker=this.storeLocator.centerPointMarker)&&(this.olMap.addOverlay(marker.overlay),marker.setVisible(!1)),$(this.element).on("click contextmenu",function(event){var isRight;event=event||window.event;var latLng=self.pixelsToLatLng(event.offsetX,event.offsetY);if("which"in event?isRight=3==event.which:"button"in event&&(isRight=2==event.button),1!=event.which&&1!=event.button){if(isRight)return self.onRightClick(event)}else{if(self.isBeingDragged)return;self.trigger({type:"click",latLng:latLng})}}),WPGMZA.isProVersion()||(this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}))},Parent=WPGMZA.isProVersion()?WPGMZA.ProMap:WPGMZA.Map,WPGMZA.OLMap.prototype=Object.create(Parent.prototype),WPGMZA.OLMap.prototype.constructor=WPGMZA.OLMap,WPGMZA.OLMap.prototype.getTileLayer=function(){return new ol.layer.Tile({source:new ol.source.OSM})},WPGMZA.OLMap.prototype.wrapLongitude=function(){var center=this.getCenter();center.lng>=-180&&center.lng<=180||(center.lng=center.lng-360*Math.floor(center.lng/360),center.lng>180&&(center.lng-=360),this.setCenter(center))},WPGMZA.OLMap.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olMap.getView().getCenter());return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.setCenter=function(latLng){var view=this.olMap.getView();WPGMZA.Map.prototype.setCenter.call(this,latLng),view.setCenter(ol.proj.fromLonLat([latLng.lng,latLng.lat])),this.wrapLongitude(),this.onBoundsChanged()},WPGMZA.OLMap.prototype.getBounds=function(){var bounds=this.olMap.getView().calculateExtent(this.olMap.getSize()),topLeft=ol.proj.toLonLat([bounds[0],bounds[1]]),bottomRight=ol.proj.toLonLat([bounds[2],bounds[3]]);return{topLeft:{lat:topLeft[1],lng:topLeft[0]},bottomRight:{lat:bottomRight[1],lng:bottomRight[0]}}},WPGMZA.OLMap.prototype.fitBounds=function(southWest,northEast){this.olMap.getView().fitExtent([southWest.lng,southWest.lat,northEast.lng,northEast.lat],this.olMap.getSize())},WPGMZA.OLMap.prototype.panTo=function(latLng){this.olMap.getView().animate({center:ol.proj.fromLonLat([parseFloat(latLng.lng),parseFloat(latLng.lat)]),duration:500})},WPGMZA.OLMap.prototype.getZoom=function(){return Math.round(this.olMap.getView().getZoom())},WPGMZA.OLMap.prototype.setZoom=function(value){this.olMap.getView().setZoom(value)},WPGMZA.OLMap.prototype.getMinZoom=function(){return this.olMap.getView().getMinZoom()},WPGMZA.OLMap.prototype.setMinZoom=function(value){this.olMap.getView().setMinZoom(value)},WPGMZA.OLMap.prototype.getMaxZoom=function(){return this.olMap.getView().getMaxZoom()},WPGMZA.OLMap.prototype.setMaxZoom=function(value){this.olMap.getView().setMaxZoom(value)},WPGMZA.OLMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.olMap&&this.olMap.getView().setProperties(this.settings.toOLViewOptions())},WPGMZA.OLMap.prototype.addMarker=function(marker){this.olMap.addOverlay(marker.overlay),Parent.prototype.addMarker.call(this,marker)},WPGMZA.OLMap.prototype.removeMarker=function(marker){this.olMap.removeOverlay(marker.overlay),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.OLMap.prototype.addPolygon=function(polygon){this.olMap.addLayer(polygon.layer),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.OLMap.prototype.removePolygon=function(polygon){this.olMap.removeLayer(polygon.layer),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.OLMap.prototype.addPolyline=function(polyline){this.olMap.addLayer(polyline.layer),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.OLMap.prototype.removePolyline=function(polyline){this.olMap.removeLayer(polyline.layer),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.OLMap.prototype.addCircle=function(circle){this.olMap.addLayer(circle.layer),Parent.prototype.addCircle.call(this,circle)},WPGMZA.OLMap.prototype.removeCircle=function(circle){this.olMap.removeLayer(circle.layer),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.OLMap.prototype.pixelsToLatLng=function(x,y){void 0==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var coord=this.olMap.getCoordinateFromPixel([x,y]);if(!coord)return{x:null,y:null};var lonLat=ol.proj.toLonLat(coord);return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.latLngToPixels=function(latLng){var coord=ol.proj.fromLonLat([latLng.lng,latLng.lat]),pixel=this.olMap.getPixelFromCoordinate(coord);return pixel?{x:pixel[0],y:pixel[1]}:{x:null,y:null}},WPGMZA.OLMap.prototype.enableBicycleLayer=function(value){if(value)this.bicycleLayer||(this.bicycleLayer=new ol.layer.Tile({source:new ol.source.OSM({url:"http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png"})})),this.olMap.addLayer(this.bicycleLayer);else{if(!this.bicycleLayer)return;this.olMap.removeLayer(this.bicycleLayer)}},WPGMZA.OLMap.prototype.onElementResized=function(event){this.olMap.updateSize()},WPGMZA.OLMap.prototype.onRightClick=function(event){if($(event.target).closest(".ol-marker, .wpgmza_modern_infowindow, .wpgmza-modern-store-locator").length)return!0;var parentOffset=$(this.element).offset(),relX=event.pageX-parentOffset.left,relY=event.pageY-parentOffset.top,latLng=this.pixelsToLatLng(relX,relY);return this.trigger({type:"rightclick",latLng:latLng}),$(this.element).trigger({type:"rightclick",latLng:latLng}),event.preventDefault(),!1}}),jQuery(function($){var Parent;WPGMZA.OLMarker=function(row){var self=this;Parent.call(this,row);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);this.element=$("<div class='ol-marker'><img src='"+WPGMZA.settings.default_marker_icon+"' alt=''/></div>")[0],this.element.wpgmzaMarker=this,$(this.element).on("mouseover",function(event){self.dispatchEvent("mouseover")}),this.overlay=new ol.Overlay({element:this.element}),this.overlay.setPosition(origin),this.animation&&this.setAnimation(this.animation),this.setLabel(this.settings.label),row&&row.draggable&&this.setDraggable(!0),this.rebindClickListener(),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.OLMarker.prototype=Object.create(Parent.prototype),WPGMZA.OLMarker.prototype.constructor=WPGMZA.OLMarker,WPGMZA.OLMarker.prototype.addLabel=function(){this.setLabel(this.getLabelText())},WPGMZA.OLMarker.prototype.setLabel=function(label){label?(this.label||(this.label=$("<div class='ol-marker-label'/>"),$(this.element).append(this.label)),this.label.html(label)):this.label&&$(this.element).find(".ol-marker-label").remove()},WPGMZA.OLMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible(visible),this.overlay.getElement().style.display=visible?"block":"none"},WPGMZA.OLMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);this.overlay.setPosition(origin)},WPGMZA.OLMarker.prototype.setOffset=function(x,y){this.element.style.position="relative",this.element.style.left=x+"px",this.element.style.top=y+"px"},WPGMZA.OLMarker.prototype.setAnimation=function(anim){switch(Parent.prototype.setAnimation.call(this,anim),anim){case WPGMZA.Marker.ANIMATION_NONE:$(this.element).removeAttr("data-anim");break;case WPGMZA.Marker.ANIMATION_BOUNCE:$(this.element).attr("data-anim","bounce");break;case WPGMZA.Marker.ANIMATION_DROP:$(this.element).attr("data-anim","drop")}},WPGMZA.OLMarker.prototype.setDraggable=function(draggable){var self=this;if(draggable){var options={disabled:!1};this.jQueryDraggableInitialized||(options.start=function(event){self.onDragStart(event)},options.stop=function(event){self.onDragEnd(event)}),$(this.element).draggable(options),this.jQueryDraggableInitialized=!0,this.rebindClickListener()}else $(this.element).draggable({disabled:!0})},WPGMZA.OLMarker.prototype.onDragStart=function(event){this.isBeingDragged=!0},WPGMZA.OLMarker.prototype.onDragEnd=function(event){var offset={top:parseFloat($(this.element).css("top").match(/-?\d+/)[0]),left:parseFloat($(this.element).css("left").match(/-?\d+/)[0])};$(this.element).css({top:"0px",left:"0px"});var currentLatLng=this.getPosition(),pixelsBeforeDrag=this.map.latLngToPixels(currentLatLng),pixelsAfterDrag={x:pixelsBeforeDrag.x+offset.left,y:pixelsBeforeDrag.y+offset.top},latLngAfterDrag=this.map.pixelsToLatLng(pixelsAfterDrag);this.setPosition(latLngAfterDrag),this.isBeingDragged=!1,this.trigger({type:"dragend",latLng:latLngAfterDrag})},WPGMZA.OLMarker.prototype.onElementClick=function(event){var self=event.currentTarget.wpgmzaMarker;self.isBeingDragged||(self.dispatchEvent("click"),self.dispatchEvent("select"))},WPGMZA.OLMarker.prototype.rebindClickListener=function(){$(this.element).off("click",this.onElementClick),$(this.element).on("click",this.onElementClick)}}),jQuery(function($){WPGMZA.OLModernStoreLocatorCircle=function(map,settings){WPGMZA.ModernStoreLocatorCircle.call(this,map,settings)},WPGMZA.OLModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.OLModernStoreLocatorCircle.prototype.constructor=WPGMZA.OLModernStoreLocatorCircle,WPGMZA.OLModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this,mapElement=$(this.map.element),olViewportElement=mapElement.children(".ol-viewport");this.canvas=document.createElement("canvas"),this.canvas.className="wpgmza-ol-canvas-overlay",mapElement.append(this.canvas),this.renderFunction=function(event){self.canvas.width==olViewportElement.width()&&self.canvas.height==olViewportElement.height()||(self.canvas.width=olViewportElement.width(),self.canvas.height=olViewportElement.height(),$(this.canvas).css({width:olViewportElement.width()+"px",height:olViewportElement.height()+"px"})),self.draw()},this.map.olMap.on("postrender",this.renderFunction)},WPGMZA.OLModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvas.getContext(type)},WPGMZA.OLModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvas.width,height:this.canvas.height}},WPGMZA.OLModernStoreLocatorCircle.prototype.getCenterPixels=function(){return this.map.latLngToPixels(this.settings.center)},WPGMZA.OLModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){return{x:0,y:0}},WPGMZA.OLModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var center=new WPGMZA.LatLng(this.settings.center),outer=new WPGMZA.LatLng(center);outer.moveByDistance(km,90);var centerPixels=this.map.latLngToPixels(center),outerPixels=this.map.latLngToPixels(outer);return Math.abs(outerPixels.x-centerPixels.x)},WPGMZA.OLModernStoreLocatorCircle.prototype.getScale=function(){return 1},WPGMZA.OLModernStoreLocatorCircle.prototype.destroy=function(){$(this.canvas).remove(),this.map.olMap.un("postrender",this.renderFunction),this.map=null,this.canvas=null}}),jQuery(function($){WPGMZA.OLModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),$(WPGMZA.isProVersion()?".wpgmza_map[data-map-id='"+map_id+"']":"#wpgmza_map").append(this.element)},WPGMZA.OLModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator),WPGMZA.OLModernStoreLocator.prototype.constructor=WPGMZA.OLModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.OLPolygon=function(row,olFeature){if(Parent.call(this,row,olFeature),this.olStyle=new ol.style.Style,olFeature)this.olFeature=olFeature;else{var coordinates=[[]];if(row&&row.points){for(var paths=this.parseGeometry(row.points),i=0;i<paths.length;i++)coordinates[0].push(ol.proj.fromLonLat([parseFloat(paths[i].lng),parseFloat(paths[i].lat)]));this.olStyle=new ol.style.Style(this.getStyleFromSettings())}this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolygon:this})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.OLPolygon.prototype=Object.create(Parent.prototype),WPGMZA.OLPolygon.prototype.constructor=WPGMZA.OLPolygon,WPGMZA.OLPolygon.prototype.getStyleFromSettings=function(){var params={};return this.settings.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(this.settings.strokeColor,this.settings.strokeOpacity)})),this.settings.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(this.settings.fillColor,this.settings.fillOpacity)})),params},WPGMZA.OLPolygon.prototype.updateStyleFromSettings=function(){var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.layer.setStyle(this.olStyle)},WPGMZA.OLPolygon.prototype.setEditable=function(editable){},WPGMZA.OLPolygon.prototype.toJSON=function(){var result=Parent.prototype.toJSON.call(this),coordinates=this.olFeature.getGeometry().getCoordinates()[0];result.points=[];for(var i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),latLng={lat:lonLat[1],lng:lonLat[0]};result.points.push(latLng)}return result}}),jQuery(function($){var Parent;WPGMZA.OLPolyline=function(row,olFeature){if(WPGMZA.Polyline.call(this,row),this.olStyle=new ol.style.Style,olFeature)this.olFeature=olFeature;else{var coordinates=[];if(row&&row.points)for(var path=this.parseGeometry(row.points),i=0;i<path.length;i++)coordinates.push(ol.proj.fromLonLat([parseFloat(path[i].lng),parseFloat(path[i].lat)]));var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolyling:this})},Parent=WPGMZA.Polyline,WPGMZA.OLPolyline.prototype=Object.create(Parent.prototype),WPGMZA.OLPolyline.prototype.constructor=WPGMZA.OLPolyline,WPGMZA.OLPolyline.prototype.getStyleFromSettings=function(){var params={};return this.settings.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(this.settings.strokeColor,this.settings.strokeOpacity),width:parseInt(this.settings.strokeWeight)})),params},WPGMZA.OLPolyline.prototype.updateStyleFromSettings=function(){var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.layer.setStyle(this.olStyle)},WPGMZA.OLPolyline.prototype.setEditable=function(editable){},WPGMZA.OLPolyline.prototype.setPoints=function(points){this.olFeature&&this.layer.getSource().removeFeature(this.olFeature);for(var coordinates=[],i=0;i<points.length;i++)coordinates.push(ol.proj.fromLonLat([parseFloat(points[i].lng),parseFloat(points[i].lat)]));this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)}),this.layer.getSource().addFeature(this.olFeature)},WPGMZA.OLPolyline.prototype.toJSON=function(){var result=Parent.prototype.toJSON.call(this),coordinates=this.olFeature.getGeometry().getCoordinates();result.points=[];for(var i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),latLng={lat:lonLat[1],lng:lonLat[0]};result.points.push(latLng)}return result}});
1
+ jQuery(function($){var core={maps:[],events:null,settings:null,restAPI:null,localized_strings:null,loadingHTML:'<div class="wpgmza-preloader"><div class="wpgmza-loader">...</div></div>',getScrollAnimationOffset:function(){return WPGMZA.settings.scroll_animation_offset||0},animateScroll:function(element,milliseconds){var offset=WPGMZA.getScrollAnimationOffset();milliseconds||(milliseconds=WPGMZA.settings.scroll_animation_milliseconds?WPGMZA.settings.scroll_animation_milliseconds:500),$("html, body").animate({scrollTop:$(element).offset().top-offset},milliseconds)},guid:function(){var d=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(d+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(d+16*Math.random())%16|0;return d=Math.floor(d/16),("x"===c?r:3&r|8).toString(16)})},hexOpacityToRGBA:function(colour,opacity){return hex=parseInt(colour.replace(/^#/,""),16),[(16711680&hex)>>16,(65280&hex)>>8,255&hex,parseFloat(opacity)]},hexToRgba:function(hex){var c;return/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)?(3==(c=hex.substring(1).split("")).length&&(c=[c[0],c[0],c[1],c[1],c[2],c[2]]),c="0x"+c.join(""),{r:c>>16&255,g:c>>8&255,b:255&c,a:1}):0},rgbaToString:function(rgba){return"rgba("+rgba.r+", "+rgba.g+", "+rgba.b+", "+rgba.a+")"},latLngRegexp:/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,isLatLngString:function(str){if("string"!=typeof str)return null;str.match(/^\(.+\)$/)&&(str=str.replace(/^\(|\)$/,""));var m=str.match(WPGMZA.latLngRegexp);return m?new WPGMZA.LatLng({lat:parseFloat(m[1]),lng:parseFloat(m[3])}):null},stringToLatLng:function(str){var result=WPGMZA.isLatLngString(str);if(!result)throw new Error("Not a valid latLng");return result},isHexColorString:function(str){return"string"==typeof str&&!!str.match(/#[0-9A-F]{6}/i)},imageDimensionsCache:{},getImageDimensions:function(src,callback){if(WPGMZA.imageDimensionsCache[src])callback(WPGMZA.imageDimensionsCache[src]);else{var img=document.createElement("img");img.onload=function(event){var result={width:image.width,height:image.height};WPGMZA.imageDimensionsCache[src]=result,callback(result)},img.src=src}},isDeveloperMode:function(){return this.developer_mode||window.Cookies&&window.Cookies.get("wpgmza-developer-mode")},isProVersion:function(){return"1"==this._isProVersion},openMediaDialog:function(callback){var file_frame;if(file_frame)return file_frame.uploader.uploader.param("post_id",set_to_post_id),void file_frame.open();(file_frame=wp.media.frames.file_frame=wp.media({title:"Select a image to upload",button:{text:"Use this image"},multiple:!1})).on("select",function(){attachment=file_frame.state().get("selection").first().toJSON(),callback(attachment.id,attachment.url)}),file_frame.open()},getCurrentPosition:function(callback){if(navigator.geolocation){var options={enableHighAccuracy:!0};navigator.geolocation.getCurrentPosition(function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(error){options.enableHighAccuracy=!1,navigator.geolocation.getCurrentPosition(function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(error){console.warn(error.code,error.message)},options)},options)}else console.warn("No geolocation available on this device")},runCatchableTask:function(callback,friendlyErrorContainer){if(WPGMZA.isDeveloperMode())callback();else try{callback()}catch(e){var friendlyError=new WPGMZA.FriendlyError(e);$(friendlyErrorContainer).html(""),$(friendlyErrorContainer).append(friendlyError.element),$(friendlyErrorContainer).show()}},assertInstanceOf:function(instance,instanceName){var engine,fullInstanceName,pro=WPGMZA.isProVersion()?"Pro":"";switch(WPGMZA.settings.engine){case"open-layers":engine="OL";break;default:engine="Google"}if(fullInstanceName=WPGMZA[engine+pro+instanceName]?engine+pro+instanceName:WPGMZA[pro+instanceName]?pro+instanceName:WPGMZA[engine+instanceName]?engine+instanceName:instanceName,!(instance instanceof WPGMZA[fullInstanceName]))throw new Error("Object must be an instance of "+fullInstanceName+" (did you call a constructor directly, rather than createInstance?)")},getMapByID:function(id){for(var i=0;i<WPGMZA.maps.length;i++)if(WPGMZA.maps[i].id==id)return WPGMZA.maps[i];return null},isGoogleAutocompleteSupported:function(){return"object"==typeof google&&"object"==typeof google.maps&&"object"==typeof google.maps.places&&"function"==typeof google.maps.places.Autocomplete},googleAPIStatus:window.wpgmza_google_api_status,isSafari:function(){var ua=navigator.userAgent.toLowerCase();return-1!=ua.indexOf("safari")&&-1==ua.indexOf("chrome")},isTouchDevice:function(){return"ontouchstart"in window},isDeviceiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)}};window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core;for(var key in WPGMZA_localized_data){var value=WPGMZA_localized_data[key];WPGMZA[key]=value}jQuery(function($){$("script[src*='wp-google-maps.combined.js'], script[src*='wp-google-maps-pro.combined.js']").length&&console.warn("Minified script is out of date, using combined script instead.");var elements=$("script").filter(function(){return this.src.match(/(^|\/)jquery\.(min\.)?js(\?|$)/i)});elements.length>1&&console.warn("Multiple jQuery versions detected: ",elements),WPGMZA.restAPI=WPGMZA.RestAPI.createInstance(),$(document).on("click",".wpgmza_edit_btn",function(){WPGMZA.animateScroll("#wpgmaps_tabs_markers")})}),$(window).on("load",function(event){if("https:"!=window.location.protocol){var warning='<div class="notice notice-warning"><p>'+WPGMZA.localized_strings.unsecure_geolocation+"</p></div>";$(".wpgmza-geolocation-setting").each(function(index,el){$(el).after($(warning))})}})}),jQuery(function($){WPGMZA.Compatibility=function(){this.preventDocumentWriteGoogleMapsAPI()},WPGMZA.Compatibility.prototype.preventDocumentWriteGoogleMapsAPI=function(){var old=document.write;document.write=function(content){content.match&&content.match(/maps\.google/)||old.call(document,content)}},WPGMZA.compatiblityModule=new WPGMZA.Compatibility}),function(root,factory){"object"==typeof exports?module.exports=factory(root):"function"==typeof define&&define.amd?define([],factory.bind(root,root)):factory(root)}("undefined"!=typeof global?global:this,function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;var cssEscape=function(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index<length;)0!=(codeUnit=string.charCodeAt(index))?result+=codeUnit>=1&&codeUnit<=31||127==codeUnit||0==index&&codeUnit>=48&&codeUnit<=57||1==index&&codeUnit>=48&&codeUnit<=57&&45==firstCodeUnit?"\\"+codeUnit.toString(16)+" ":(0!=index||1!=length||45!=codeUnit)&&(codeUnit>=128||45==codeUnit||95==codeUnit||codeUnit>=48&&codeUnit<=57||codeUnit>=65&&codeUnit<=90||codeUnit>=97&&codeUnit<=122)?string.charAt(index):"\\"+string.charAt(index):result+="�";return result};return root.CSS||(root.CSS={}),root.CSS.escape=cssEscape,cssEscape}),jQuery(function($){WPGMZA.Distance={MILES:!0,KILOMETERS:!1,MILES_PER_KILOMETER:.621371,KILOMETERS_PER_MILE:1.60934,uiToMeters:function(uiDistance){return parseFloat(uiDistance)/(WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?WPGMZA.Distance.MILES_PER_KILOMETER:1)*1e3},uiToKilometers:function(uiDistance){return.001*WPGMZA.Distance.uiToMeters(uiDistance)},uiToMiles:function(uiDistance){return WPGMZA.Distance.uiToKilometers(uiDistance)*WPGMZA.Distance.MILES_PER_KILOMETER},kilometersToUI:function(km){return WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?km*WPGMZA.Distance.MILES_PER_KILOMETER:km}}}),jQuery(function($){WPGMZA.EventDispatcher=function(){WPGMZA.assertInstanceOf(this,"EventDispatcher"),this._listenersByType=[]},WPGMZA.EventDispatcher.prototype.addEventListener=function(type,listener,thisObject,useCapture){var arr,types=type.split(/\s+/);if(types.length>1)for(var i=0;i<types.length;i++)this.addEventListener(types[i],listener,thisObject,useCapture);else{if(!(listener instanceof Function))throw new Error("Listener must be a function");(arr=this._listenersByType[type])||(arr=this._listenersByType[type]=[]);var obj={listener:listener,thisObject:thisObject||this,useCapture:!!useCapture};arr.push(obj)}},WPGMZA.EventDispatcher.prototype.on=WPGMZA.EventDispatcher.prototype.addEventListener,WPGMZA.EventDispatcher.prototype.removeEventListener=function(type,listener,thisObject,useCapture){var arr,obj;if(arr=this._listenersByType[type]){thisObject||(thisObject=this),useCapture=!!useCapture;for(var i=0;i<arr.length;i++)if((obj=arr[i]).listener==listener&&obj.thisObject==thisObject&&obj.useCapture==useCapture)return void arr.splice(i,1)}},WPGMZA.EventDispatcher.prototype.off=WPGMZA.EventDispatcher.prototype.removeEventListener,WPGMZA.EventDispatcher.prototype.hasEventListener=function(type){return!!_listenersByType[type]},WPGMZA.EventDispatcher.prototype.dispatchEvent=function(event){if(!(event instanceof WPGMZA.Event))if("string"==typeof event)event=new WPGMZA.Event(event);else{var src=event;event=new WPGMZA.Event;for(var name in src)event[name]=src[name]}event.target=this;for(var path=[],obj=this.parent;null!=obj;obj=obj.parent)path.unshift(obj);event.phase=WPGMZA.Event.CAPTURING_PHASE;for(var i=0;i<path.length&&!event._cancelled;i++)path[i]._triggerListeners(event);if(!event._cancelled){for(event.phase=WPGMZA.Event.AT_TARGET,this._triggerListeners(event),event.phase=WPGMZA.Event.BUBBLING_PHASE,i=path.length-1;i>=0&&!event._cancelled;i--)path[i]._triggerListeners(event);if(this.element){var customEvent={};for(var key in event){var value=event[key];"type"==key&&(value+=".wpgmza"),customEvent[key]=value}$(this.element).trigger(customEvent)}}},WPGMZA.EventDispatcher.prototype.trigger=WPGMZA.EventDispatcher.prototype.dispatchEvent,WPGMZA.EventDispatcher.prototype._triggerListeners=function(event){var arr,obj;if(arr=this._listenersByType[event.type])for(var i=0;i<arr.length;i++)obj=arr[i],(event.phase!=WPGMZA.Event.CAPTURING_PHASE||obj.useCapture)&&obj.listener.call(arr[i].thisObject,event)},WPGMZA.events=new WPGMZA.EventDispatcher}),jQuery(function($){WPGMZA.Event=function(options){if("string"==typeof options&&(this.type=options),this.bubbles=!0,this.cancelable=!0,this.phase=WPGMZA.Event.PHASE_CAPTURE,this.target=null,this._cancelled=!1,"object"==typeof options)for(var name in options)this[name]=options[name]},WPGMZA.Event.CAPTURING_PHASE=0,WPGMZA.Event.AT_TARGET=1,WPGMZA.Event.BUBBLING_PHASE=2,WPGMZA.Event.prototype.stopPropagation=function(){this._cancelled=!0}}),jQuery(function($){WPGMZA.FriendlyError=function(){}}),jQuery(function($){WPGMZA.Geocoder=function(){WPGMZA.assertInstanceOf(this,"Geocoder")},WPGMZA.Geocoder.SUCCESS="success",WPGMZA.Geocoder.ZERO_RESULTS="zero-results",WPGMZA.Geocoder.FAIL="fail",WPGMZA.Geocoder.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.OLGeocoder;default:return WPGMZA.GoogleGeocoder}},WPGMZA.Geocoder.createInstance=function(){return new(WPGMZA.Geocoder.getConstructor())},WPGMZA.Geocoder.prototype.getLatLngFromAddress=function(options,callback){if(WPGMZA.isLatLngString(options.address)){var parts=options.address.split(/,\s*/);callback([new WPGMZA.LatLng({lat:parseFloat(parts[0]),lng:parseFloat(parts[1])})],WPGMZA.Geocoder.SUCCESS)}},WPGMZA.Geocoder.prototype.getAddressFromLatLng=function(options,callback){callback([new WPGMZA.LatLng(options.latLng).toString()],WPGMZA.Geocoder.SUCCESS)},WPGMZA.Geocoder.prototype.geocode=function(options,callback){if("address"in options)return this.getLatLngFromAddress(options,callback);if("latLng"in options)return this.getAddressFromLatLng(options,callback);throw new Error("You must supply either a latLng or address")}}),jQuery(function($){WPGMZA.GoogleAPIErrorHandler=function(){var self=this;if("google-maps"==WPGMZA.settings.engine&&("map-edit"==WPGMZA.currentPage||0==WPGMZA.is_admin&&1==WPGMZA.userCanAdministrator)&&(this.element=$(WPGMZA.html.googleMapsAPIErrorDialog),1==WPGMZA.is_admin&&this.element.find(".wpgmza-front-end-only").remove(),this.errorMessageList=this.element.find("#wpgmza-google-api-error-list"),this.templateListItem=this.element.find("li.template").remove(),this.messagesAlreadyDisplayed={},!WPGMZA.settings.developer_mode)){var _error=console.error;console.error=function(message){self.onErrorMessage(message),_error.apply(this,arguments)}}},WPGMZA.GoogleAPIErrorHandler.prototype.onErrorMessage=function(message){var m;if((m=message.match(/You have exceeded your (daily )?request quota for this API/))||(m=message.match(/This API project is not authorized to use this API/))){var urls=message.match(/http(s)?:\/\/[^\s]+/gm);this.addErrorMessage(m[0],urls)}else(m=message.match(/^Google Maps.+error: (.+)\s+(http(s?):\/\/.+)/m))&&this.addErrorMessage(m[1].replace(/([A-Z])/g," $1"),[m[2]])},WPGMZA.GoogleAPIErrorHandler.prototype.addErrorMessage=function(message,urls){if(!this.messagesAlreadyDisplayed[message]){var li=this.templateListItem.clone();$(li).find(".wpgmza-message").html(message);var buttonContainer=$(li).find(".wpgmza-documentation-buttons"),buttonTemplate=$(li).find(".wpgmza-documentation-buttons>a");if(buttonTemplate.remove(),urls&&urls.length){for(var i=0;i<urls.length;i++){var url=urls[i],button=buttonTemplate.clone(),icon="fa-external-link",text=WPGMZA.localized_strings.documentation;button.attr("href",urls[i]),url.match(/google.+documentation/)?icon="fa-google":url.match(/maps-no-account/)?(icon="fa-wrench",text=WPGMZA.localized_strings.verify_project):url.match(/console\.developers\.google/)&&(icon="fa-wrench",text=WPGMZA.localized_strings.api_dashboard),$(button).find("i").addClass(icon),$(button).append(text)}buttonContainer.append(button)}switch($(this.errorMessageList).append(li),this.dialog||(this.dialog=$(this.element).remodal()),this.dialog.getState()){case"open":case"opened":case"opening":break;default:this.dialog.open()}this.messagesAlreadyDisplayed[message]=!0}},WPGMZA.googleAPIErrorHandler=new WPGMZA.GoogleAPIErrorHandler}),jQuery(function($){WPGMZA.InfoWindow=function(mapObject){var self=this;WPGMZA.EventDispatcher.call(this),WPGMZA.assertInstanceOf(this,"InfoWindow"),mapObject&&(this.mapObject=mapObject,mapObject.map?setTimeout(function(){self.onMapObjectAdded(event)},100):mapObject.addEventListener("added",function(event){self.onMapObjectAdded(event)}))},WPGMZA.InfoWindow.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.InfoWindow.prototype.constructor=WPGMZA.InfoWindow,WPGMZA.InfoWindow.OPEN_BY_CLICK=1,WPGMZA.InfoWindow.OPEN_BY_HOVER=2,WPGMZA.InfoWindow.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProInfoWindow:WPGMZA.OLInfoWindow;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProInfoWindow:WPGMZA.GoogleInfoWindow}},WPGMZA.InfoWindow.createInstance=function(mapObject){return new(this.getConstructor())(mapObject)},WPGMZA.InfoWindow.prototype.getContent=function(callback){var html="";this.mapObject instanceof WPGMZA.Marker&&(html=this.mapObject.address),callback(html)},WPGMZA.InfoWindow.prototype.open=function(map,mapObject){return this.mapObject=mapObject,!WPGMZA.settings.disable_infowindows},WPGMZA.InfoWindow.prototype.close=function(){},WPGMZA.InfoWindow.prototype.setContent=function(options){},WPGMZA.InfoWindow.prototype.setOptions=function(options){},WPGMZA.InfoWindow.prototype.onMapObjectAdded=function(){1==this.mapObject.settings.infoopen&&this.open()}}),jQuery(function($){WPGMZA.LatLng=function(arg,lng){if(this._lat=0,this._lng=0,0!=arguments.length)if(1==arguments.length){if("string"==typeof arg){var m;if(!(m=arg.match(WPGMZA.LatLng.REGEXP)))throw new Error("Invalid LatLng string");arg={lat:m[1],lng:m[3]}}if("object"!=typeof arg||!("lat"in arg&&"lng"in arg))throw new Error("Argument must be a LatLng literal");this.lat=arg.lat,this.lng=arg.lng}else this.lat=arg,this.lng=lng},WPGMZA.LatLng.REGEXP=/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,WPGMZA.LatLng.isValid=function(obj){return"object"==typeof obj&&("lat"in obj&&"lng"in obj)},Object.defineProperty(WPGMZA.LatLng.prototype,"lat",{get:function(){return this._lat},set:function(val){if(!$.isNumeric(val))throw new Error("Latitude must be numeric");this._lat=parseFloat(val)}}),Object.defineProperty(WPGMZA.LatLng.prototype,"lng",{get:function(){return this._lng},set:function(val){if(!$.isNumeric(val))throw new Error("Longitude must be numeric");this._lng=parseFloat(val)}}),WPGMZA.LatLng.prototype.toString=function(){return this._lat+", "+this._lng},WPGMZA.LatLng.fromGoogleLatLng=function(googleLatLng){return new WPGMZA.LatLng(googleLatLng.lat(),googleLatLng.lng())},WPGMZA.LatLng.prototype.toGoogleLatLng=function(){return new google.maps.LatLng({lat:this.lat,lng:this.lng})},WPGMZA.LatLng.prototype.moveByDistance=function(kilometers,heading){var delta=parseFloat(kilometers)/6371,theta=parseFloat(heading)/180*Math.PI,phi1=this.lat/180*Math.PI,lambda1=this.lng/180*Math.PI,sinPhi1=Math.sin(phi1),cosPhi1=Math.cos(phi1),sinDelta=Math.sin(delta),cosDelta=Math.cos(delta),sinTheta=Math.sin(theta),sinPhi2=sinPhi1*cosDelta+cosPhi1*sinDelta*Math.cos(theta),phi2=Math.asin(sinPhi2),y=sinTheta*sinDelta*cosPhi1,x=cosDelta-sinPhi1*sinPhi2,lambda2=lambda1+Math.atan2(y,x);this.lat=180*phi2/Math.PI,this.lng=180*lambda2/Math.PI}}),jQuery(function($){WPGMZA.LatLngBounds=function(southWest,northEast){},WPGMZA.LatLngBounds.prototype.isInInitialState=function(){return void 0==this.north&&void 0==this.south&&void 0==this.west&&void 0==this.east},WPGMZA.LatLngBounds.prototype.extend=function(latLng){this.isInInitialState()?this.north=this.south=this.west=this.east=new WPGMZA.LatLng(latLng):(latLng instanceof WPGMZA.LatLng||(latLng=new WPGMZA.LatLng(latLng)),latLng.lat<this.north&&(this.north=latLng.lat),latLng.lat>this.south&&(this.south=latLng.lat),latLng.lng<this.west&&(this.west=latLng.lng),latLng.lng>this.east&&(this.east=latLng.lng))}}),jQuery(function($){WPGMZA.MapObject=function(row){if(WPGMZA.assertInstanceOf(this,"MapObject"),WPGMZA.EventDispatcher.call(this),this.id=-1,this.guid=WPGMZA.guid(),this.modified=!0,this.settings={},row)for(var name in row)if("settings"==name){if(null==row.settings)this.settings={};else switch(typeof row.settings){case"string":this.settings=JSON.parse(row[name]);break;case"object":this.settings=row[name];break;default:throw new Error("Don't know how to interpret settings")}for(var name in this.settings){var value=this.settings[name];String(value).match(/^-?\d+$/)&&(this.settings[name]=parseInt(value))}}else this[name]=row[name]},WPGMZA.MapObject.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.MapObject.prototype.constructor=WPGMZA.MapObject,WPGMZA.MapObject.prototype.parseGeometry=function(string){var pairs,coords,results=[];pairs=string.replace(/[^ ,\d\.\-+e]/g,"").split(",");for(var i=0;i<pairs.length;i++)coords=pairs[i].split(" "),results.push({lat:parseFloat(coords[1]),lng:parseFloat(coords[0])});return results},WPGMZA.MapObject.prototype.toJSON=function(){return{id:this.id,guid:this.guid,settings:this.settings}}}),jQuery(function($){var Parent=WPGMZA.MapObject;WPGMZA.Circle=function(options,engineCircle){WPGMZA.assertInstanceOf(this,"Circle"),this.center=new WPGMZA.LatLng,this.radius=100,Parent.apply(this,arguments)},WPGMZA.Circle.prototype=Object.create(Parent.prototype),WPGMZA.Circle.prototype.constructor=WPGMZA.Circle,WPGMZA.Circle.createInstance=function(options){return new("google-maps"==WPGMZA.settings.engine?WPGMZA.GoogleCircle:WPGMZA.OLCircle)(options)},WPGMZA.Circle.prototype.getCenter=function(){return this.center.clone()},WPGMZA.Circle.prototype.setCenter=function(latLng){this.center.lat=latLng.lat,this.center.lng=latLng.lng},WPGMZA.Circle.prototype.getRadius=function(){return this.radius},WPGMZA.Circle.prototype.setRadius=function(radius){this.radius=radius},WPGMZA.Circle.prototype.getMap=function(){return this.map},WPGMZA.Circle.prototype.setMap=function(map){this.map&&this.map.removeCircle(this),map&&map.addCircle(this)}}),jQuery(function($){WPGMZA.MapSettingsPage=function(){var self=this;this.updateEngineSpecificControls(),this.updateGDPRControls(),$("select[name='wpgmza_maps_engine']").on("change",function(event){self.updateEngineSpecificControls()}),$("input[name='wpgmza_gdpr_require_consent_before_load'], input[name='wpgmza_gdpr_require_consent_before_vgm_submit'], input[name='wpgmza_gdpr_override_notice']").on("change",function(event){self.updateGDPRControls()})},WPGMZA.MapSettingsPage.prototype.updateEngineSpecificControls=function(){var engine=$("select[name='wpgmza_maps_engine']").val();$("[data-required-maps-engine][data-required-maps-engine!='"+engine+"']").hide(),$("[data-required-maps-engine='"+engine+"']").show()},WPGMZA.MapSettingsPage.prototype.updateGDPRControls=function(){var showNoticeControls=$("input[name='wpgmza_gdpr_require_consent_before_load']").prop("checked"),vgmCheckbox=$("input[name='wpgmza_gdpr_require_consent_before_vgm_submit']");vgmCheckbox.length&&(showNoticeControls=showNoticeControls||vgmCheckbox.prop("checked"));var showOverrideTextarea=showNoticeControls&&$("input[name='wpgmza_gdpr_override_notice']").prop("checked");showNoticeControls?$("#wpgmza-gdpr-compliance-notice").show("slow"):$("#wpgmza-gdpr-compliance-notice").hide("slow"),showOverrideTextarea?$("#wpgmza_gdpr_override_notice_text").show("slow"):$("#wpgmza_gdpr_override_notice_text").hide("slow")},jQuery(function($){window.location.href.match(/wp-google-maps-menu-settings/)&&(WPGMZA.mapSettingsPage=new WPGMZA.MapSettingsPage)})}),jQuery(function($){WPGMZA.MapSettings=function(element){var str=element.getAttribute("data-settings"),json=JSON.parse(str);WPGMZA.assertInstanceOf(this,"MapSettings");for(var key in WPGMZA.settings){value=WPGMZA.settings[key];this[key]=value}for(var key in json){var value=json[key];String(value).match(/^-?\d+$/)&&(value=parseInt(value)),this[key]=value}},WPGMZA.MapSettings.prototype.toOLViewOptions=function(){function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}var options={center:ol.proj.fromLonLat([-119.4179,36.7783]),zoom:4};if("string"==typeof this.start_location){var coords=this.start_location.replace(/^\(|\)$/g,"").split(",");WPGMZA.isLatLngString(this.start_location)?options.center=ol.proj.fromLonLat([parseFloat(coords[1]),parseFloat(coords[0])]):console.warn("Invalid start location")}return this.center&&(options.center=ol.proj.fromLonLat([parseFloat(this.center.lng),parseFloat(this.center.lat)])),this.zoom&&(options.zoom=parseInt(this.zoom)),this.start_zoom&&(options.zoom=parseInt(this.start_zoom)),empty("min_zoom")||(options.minZoom=parseInt(this.min_zoom)),empty("max_zoom")||(options.maxZoom=parseInt(this.max_zoom)),options},WPGMZA.MapSettings.prototype.toGoogleMapsOptions=function(){function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}function formatCoord(coord){return $.isNumeric(coord)?coord:parseFloat(String(coord).replace(/[\(\)\s]/,""))}var self=this,latLngCoords=this.start_location&&this.start_location.length?this.start_location.split(","):[36.7783,-119.4179],latLng=new google.maps.LatLng(formatCoord(latLngCoords[0]),formatCoord(latLngCoords[1])),zoom=this.start_zoom?parseInt(this.start_zoom):4;!this.start_zoom&&this.zoom&&(zoom=parseInt(this.zoom));var options={zoom:zoom,center:latLng};switch(empty("center")||(options.center=new google.maps.LatLng({lat:parseFloat(this.center.lat),lng:parseFloat(this.center.lng)})),empty("min_zoom")||(options.minZoom=parseInt(this.min_zoom)),empty("max_zoom")||(options.maxZoom=parseInt(this.max_zoom)),options.zoomControl=!("yes"==this.wpgmza_settings_map_zoom),options.panControl=!("yes"==this.wpgmza_settings_map_pan),options.mapTypeControl=!("yes"==this.wpgmza_settings_map_type),options.streetViewControl=!("yes"==this.wpgmza_settings_map_streetview),options.fullscreenControl=!("yes"==this.wpgmza_settings_map_full_screen_control),options.draggable=!("yes"==this.wpgmza_settings_map_draggable),options.disableDoubleClickZoom=!("yes"==this.wpgmza_settings_map_clickzoom),options.scrollwheel=!("yes"==this.wpgmza_settings_map_scroll),"greedy"==this.wpgmza_force_greedy_gestures||"yes"==this.wpgmza_force_greedy_gestures?options.gestureHandling="greedy":options.gestureHandling="cooperative",parseInt(this.map_type)){case 2:options.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case 3:options.mapTypeId=google.maps.MapTypeId.HYBRID;break;case 4:options.mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:options.mapTypeId=google.maps.MapTypeId.ROADMAP}if(this.theme_data&&this.theme_data.length>0)try{options.styles=JSON.parse(this.theme_data)}catch(e){alert("Your theme data is not valid JSON and has been ignored")}return options}}),jQuery(function($){function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Map=function(element,options){if(WPGMZA.assertInstanceOf(this,"Map"),WPGMZA.EventDispatcher.call(this),!(element instanceof HTMLElement))throw new Error("Argument must be a HTMLElement");if(this.id=element.getAttribute("data-map-id"),!/\d+/.test(this.id))throw new Error("Map ID must be an integer");WPGMZA.maps.push(this),this.element=element,this.element.wpgmzaMap=this,this.engineElement=element,this.markers=[],this.polygons=[],this.polylines=[],this.circles=[],this.loadSettings(options)},WPGMZA.Map.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.Map.prototype.constructor=WPGMZA.Map,WPGMZA.Map.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProMap:WPGMZA.OLMap;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProMap:WPGMZA.GoogleMap}},WPGMZA.Map.createInstance=function(element,options){return new(WPGMZA.Map.getConstructor())(element,options)},WPGMZA.Map.prototype.loadSettings=function(options){var settings=new WPGMZA.MapSettings(this.element),other_settings=settings.other_settings;if(delete settings.other_settings,other_settings)for(var key in other_settings)settings[key]=other_settings[key];if(options)for(var key in options)settings[key]=options[key];this.settings=settings},WPGMZA.Map.prototype.setOptions=function(options){for(var name in options)this.settings[name]=options[name]};Math.PI;WPGMZA.Map.getGeographicDistance=function(lat1,lon1,lat2,lon2){var dLat=deg2rad(lat2-lat1),dLon=deg2rad(lon2-lon1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(dLon/2)*Math.sin(dLon/2);return 6371*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))},WPGMZA.Map.prototype.setCenter=function(latLng){if(!("lat"in latLng&&"lng"in latLng))throw new Error("Argument is not an object with lat and lng")},WPGMZA.Map.prototype.setDimensions=function(width,height){$(this.element).css({width:width}),$(this.engineElement).css({width:"100%",height:height})},WPGMZA.Map.prototype.addMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");marker.map=this,marker.parent=this,this.markers.push(marker),this.dispatchEvent({type:"markeradded",marker:marker}),marker.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");if(marker.map!==this)throw new Error("Wrong map error");marker.map=null,marker.parent=null,this.markers.splice(this.markers.indexOf(marker),1),this.dispatchEvent({type:"markerremoved",marker:marker}),marker.dispatchEvent({type:"removed"})},WPGMZA.Map.prototype.getMarkerByID=function(id){for(var i=0;i<this.markers.length;i++)if(this.markers[i].id==id)return this.markers[i];return null},WPGMZA.Map.prototype.removeMarkerByID=function(id){var marker=this.getMarkerByID(id);marker&&this.removeMarker(marker)},WPGMZA.Map.prototype.addPolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");polygon.map=this,this.polygons.push(polygon),this.dispatchEvent({type:"polygonadded",polygon:polygon})},WPGMZA.Map.prototype.deletePolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");if(polygon.map!==this)throw new Error("Wrong map error");polygon.map=null,this.polygons.splice(this.polygons.indexOf(polygon),1),this.dispatchEvent({type:"polygonremoved",polygon:polygon})},WPGMZA.Map.prototype.getPolygonByID=function(id){for(var i=0;i<this.polygons.length;i++)if(this.polygons[i].id==id)return this.polygons[i];return null},WPGMZA.Map.prototype.deletePolygonByID=function(id){var polygon=this.getPolygonByID(id);polygon&&this.deletePolygon(polygon)},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.addPolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");polyline.map=this,this.polylines.push(polyline),this.dispatchEvent({type:"polylineadded",polyline:polyline})},WPGMZA.Map.prototype.deletePolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");if(polyline.map!==this)throw new Error("Wrong map error");polyline.map=null,this.polylines.splice(this.polylines.indexOf(polyline),1),this.dispatchEvent({type:"polylineremoved",polyline:polyline})},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.deletePolylineByID=function(id){var polyline=this.getPolylineByID(id);polyline&&this.deletePolyline(polyline)},WPGMZA.Map.prototype.addCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");circle.map=this,this.circles.push(circle),this.dispatchEvent({type:"circleadded",circle:circle})},WPGMZA.Map.prototype.removeCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");if(circle.map!==this)throw new Error("Wrong map error");circle.map=null,this.circles.splice(this.circles.indexOf(circle),1),this.dispatchEvent({type:"circleremoved",circle:circle})},WPGMZA.Map.prototype.getCircleByID=function(id){for(var i=0;i<this.circles.length;i++)if(this.circles[i].id==id)return this.circles[i];return null},WPGMZA.Map.prototype.deleteCircleByID=function(id){var circle=this.getCircleByID(id);circle&&this.deleteCircle(circle)},WPGMZA.Map.prototype.nudge=function(x,y){var pixels=this.latLngToPixels(this.getCenter());if(pixels.x+=parseFloat(x),pixels.y+=parseFloat(y),isNaN(pixels.x)||isNaN(pixels.y))throw new Error("Invalid coordinates supplied");var latLng=this.pixelsToLatLng(pixels);this.setCenter(latLng)},WPGMZA.Map.prototype.onWindowResize=function(event){},WPGMZA.Map.prototype.onElementResized=function(event){},WPGMZA.Map.prototype.onBoundsChanged=function(event){this.trigger("boundschanged"),this.trigger("bounds_changed")},WPGMZA.Map.prototype.onIdle=function(event){$(this.element).trigger("idle")}}),jQuery(function($){WPGMZA.MapsEngineDialog=function(element){var self=this;this.element=element,window.wpgmzaUnbindSaveReminder&&window.wpgmzaUnbindSaveReminder(),$(element).show(),$(element).remodal().open(),$(element).find("input:radio").on("change",function(event){$("#wpgmza-confirm-engine").prop("disabled",!1)}),$("#wpgmza-confirm-engine").on("click",function(event){self.onButtonClicked(event)})},WPGMZA.MapsEngineDialog.prototype.onButtonClicked=function(event){$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_engine_dialog_set_engine",engine:$("[name='wpgmza_maps_engine']:checked").val()},success:function(response,status,xhr){window.location.reload()}})},$(window).on("load",function(event){var element=$("#wpgmza-maps-engine-dialog");element.length&&(WPGMZA.settings.wpgmza_maps_engine_dialog_done||(WPGMZA.mapsEngineDialog=new WPGMZA.MapsEngineDialog(element)))})}),jQuery(function($){WPGMZA.Marker=function(row){var self=this;WPGMZA.assertInstanceOf(this,"Marker"),this.lat="36.778261",this.lng="-119.4179323999",this.address="California",this.title=null,this.description="",this.link="",this.icon="",this.approved=1,this.pic=null,WPGMZA.MapObject.apply(this,arguments),row&&row.heatmap||(row&&this.on("init",function(event){row.position&&this.setPosition(row.position),row.map&&row.map.addMarker(this)}),this.addEventListener("added",function(event){self.onAdded(event)}))},WPGMZA.Marker.prototype=Object.create(WPGMZA.MapObject.prototype),WPGMZA.Marker.prototype.constructor=WPGMZA.Marker,WPGMZA.Marker.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProMarker:WPGMZA.OLMarker;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProMarker:WPGMZA.GoogleMarker}},WPGMZA.Marker.createInstance=function(row){return new(WPGMZA.Marker.getConstructor())(row)},WPGMZA.Marker.ANIMATION_NONE="0",WPGMZA.Marker.ANIMATION_BOUNCE="1",WPGMZA.Marker.ANIMATION_DROP="2",WPGMZA.Marker.prototype.onAdded=function(event){var self=this;this.addEventListener("click",function(event){self.onClick(event)}),this.addEventListener("mouseover",function(event){self.onMouseOver(event)}),this.addEventListener("select",function(event){self.onSelect(event)}),this.map.settings.marker==this.id&&self.trigger("select")},WPGMZA.Marker.prototype.hidePreviousInteractedInfoWindow=function(){this.map.lastInteractedMarker&&this.map.lastInteractedMarker.infoWindow.close()},WPGMZA.Marker.prototype.openInfoWindow=function(){},WPGMZA.Marker.prototype.onClick=function(event){},WPGMZA.Marker.prototype.onSelect=function(event){this.openInfoWindow()},WPGMZA.Marker.prototype.onMouseOver=function(event){this.map.settings.info_window_open_by==WPGMZA.InfoWindow.OPEN_BY_HOVER&&this.openInfoWindow()},WPGMZA.Marker.prototype.getIcon=function(){return function(url){return"string"!=typeof url?url:url.replace(/^http(s?):/,"")}(WPGMZA.settings.default_marker_icon)},WPGMZA.Marker.prototype.getPosition=function(){return{lat:parseFloat(this.lat),lng:parseFloat(this.lng)}},WPGMZA.Marker.prototype.setPosition=function(latLng){latLng instanceof WPGMZA.LatLng?(this.lat=latLng.lat,this.lng=latLng.lng):(this.lat=parseFloat(latLng.lat),this.lng=parseFloat(latLng.lng))},WPGMZA.Marker.prototype.getAnimation=function(animation){return this.settings.animation},WPGMZA.Marker.prototype.setAnimation=function(animation){this.settings.animation=animation},WPGMZA.Marker.prototype.getVisible=function(){},WPGMZA.Marker.prototype.setVisible=function(visible){!visible&&this.infoWindow&&this.infoWindow.close()},WPGMZA.Marker.prototype.setMap=function(map){map?map.addMarker(this):this.map&&this.map.removeMarker(this)},WPGMZA.Marker.prototype.getDraggable=function(){},WPGMZA.Marker.prototype.setDraggable=function(draggable){},WPGMZA.Marker.prototype.setOptions=function(options){},WPGMZA.Marker.prototype.panIntoView=function(){if(!this.map)throw new Error("Marker hasn't been added to a map");this.map.setCenter(this.getPosition())},WPGMZA.Marker.prototype.toJSON=function(){var result=WPGMZA.MapObject.prototype.toJSON.call(this),position=this.getPosition();return $.extend(result,{lat:position.lat,lng:position.lng,address:this.address,title:this.title,description:this.description,link:this.link,icon:this.icon,pic:this.pic,approved:this.approved}),result}}),jQuery(function($){WPGMZA.ModernStoreLocatorCircle=function(map_id,settings){var map;map=WPGMZA.isProVersion()?this.map=MYMAP[map_id].map:this.map=MYMAP.map,this.map_id=map_id,this.mapElement=map.element,this.mapSize={width:$(this.mapElement).width(),height:$(this.mapElement).height()},this.initCanvasLayer(),this.settings={center:new WPGMZA.LatLng(0,0),radius:1,color:"#63AFF2",shadowColor:"white",shadowBlur:4,centerRingRadius:10,centerRingLineWidth:3,numInnerRings:9,innerRingLineWidth:1,innerRingFade:!0,numOuterRings:7,ringLineWidth:1,mainRingLineWidth:2,numSpokes:6,spokesStartAngle:Math.PI/2,numRadiusLabels:6,radiusLabelsStartAngle:Math.PI/2,radiusLabelFont:"13px sans-serif",visible:!1},settings&&this.setOptions(settings)},WPGMZA.ModernStoreLocatorCircle.createInstance=function(map,settings){return"google-maps"==WPGMZA.settings.engine?new WPGMZA.GoogleModernStoreLocatorCircle(map,settings):new WPGMZA.OLModernStoreLocatorCircle(map,settings)},WPGMZA.ModernStoreLocatorCircle.prototype.initCanvasLayer=function(){},WPGMZA.ModernStoreLocatorCircle.prototype.onResize=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.onUpdate=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.setOptions=function(options){for(var name in options){var functionName="set"+name.substr(0,1).toUpperCase()+name.substr(1);"function"==typeof this[functionName]?this[functionName](options[name]):this.settings[name]=options[name]}},WPGMZA.ModernStoreLocatorCircle.prototype.getResolutionScale=function(){return window.devicePixelRatio||1},WPGMZA.ModernStoreLocatorCircle.prototype.getCenter=function(){return this.getPosition()},WPGMZA.ModernStoreLocatorCircle.prototype.setCenter=function(value){this.setPosition(value)},WPGMZA.ModernStoreLocatorCircle.prototype.getPosition=function(){return this.settings.center},WPGMZA.ModernStoreLocatorCircle.prototype.setPosition=function(position){this.settings.center=position},WPGMZA.ModernStoreLocatorCircle.prototype.getRadius=function(){return this.settings.radius},WPGMZA.ModernStoreLocatorCircle.prototype.setRadius=function(radius){if(isNaN(radius))throw new Error("Invalid radius");this.settings.radius=radius},WPGMZA.ModernStoreLocatorCircle.prototype.getVisible=function(){return this.settings.visible},WPGMZA.ModernStoreLocatorCircle.prototype.setVisible=function(visible){this.settings.visible=visible},WPGMZA.ModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getContext=function(type){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.validateSettings=function(){WPGMZA.isHexColorString(this.settings.color)||(this.settings.color="#63AFF2")},WPGMZA.ModernStoreLocatorCircle.prototype.draw=function(){this.validateSettings();var settings=this.settings,canvasDimensions=this.getCanvasDimensions(),canvasWidth=canvasDimensions.width,canvasHeight=canvasDimensions.height;this.map,this.getResolutionScale();if(context=this.getContext("2d"),context.clearRect(0,0,canvasWidth,canvasHeight),settings.visible){context.shadowColor=settings.shadowColor,context.shadowBlur=settings.shadowBlur,context.setTransform(1,0,0,1,0,0);var scale=this.getScale();context.scale(scale,scale);var offset=this.getWorldOriginOffset();context.translate(offset.x,offset.y);new WPGMZA.LatLng(this.settings.center);var worldPoint=this.getCenterPixels(),rgba=WPGMZA.hexToRgba(settings.color),ringSpacing=this.getTransformedRadius(settings.radius)/(settings.numInnerRings+1);context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.centerRingRadius)/scale,0,2*Math.PI),context.stroke(),context.closePath();var end,spokeAngle,radius=this.getTransformedRadius(settings.radius)+ringSpacing*settings.numOuterRings+1,grad=context.createRadialGradient(0,0,0,0,0,radius),rgba=WPGMZA.hexToRgba(settings.color),start=WPGMZA.rgbaToString(rgba);rgba.a=0,end=WPGMZA.rgbaToString(rgba),grad.addColorStop(0,start),grad.addColorStop(1,end),context.save(),context.translate(worldPoint.x,worldPoint.y),context.strokeStyle=grad,context.lineWidth=2/scale;for(i=0;i<settings.numSpokes;i++)spokeAngle=settings.spokesStartAngle+2*Math.PI*(i/settings.numSpokes),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.setLineDash([2/scale,15/scale]),context.beginPath(),context.moveTo(0,0),context.lineTo(x,y),context.stroke();context.setLineDash([]),context.restore(),context.lineWidth=1/scale*settings.innerRingLineWidth;for(i=1;i<=settings.numInnerRings;i++){radius=i*ringSpacing;settings.innerRingFade&&(rgba.a=1-(i-1)/settings.numInnerRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath()}context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.radius),0,2*Math.PI),context.stroke(),context.closePath();for(var radius=radius+ringSpacing,i=0;i<settings.numOuterRings;i++)settings.innerRingFade&&(rgba.a=1-i/settings.numOuterRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath(),radius+=ringSpacing;if(settings.numRadiusLabels>0){var m,x,y,radius=this.getTransformedRadius(settings.radius);(m=settings.radiusLabelFont.match(/(\d+)px/))&&parseInt(m[1])/2*1.1/scale,context.font=settings.radiusLabelFont,context.textAlign="center",context.textBaseline="middle",context.fillStyle=settings.color,context.save(),context.translate(worldPoint.x,worldPoint.y);for(i=0;i<settings.numRadiusLabels;i++){var width,textAngle=(spokeAngle=settings.radiusLabelsStartAngle+2*Math.PI*(i/settings.numRadiusLabels))+Math.PI/2,text=settings.radiusString;Math.sin(spokeAngle)>0&&(textAngle-=Math.PI),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.save(),context.translate(x,y),context.rotate(textAngle),context.scale(1/scale,1/scale),width=context.measureText(text).width,height=width/2,context.clearRect(-width,-height,2*width,2*height),context.fillText(settings.radiusString,0,0),context.restore()}context.restore()}}}}),jQuery(function($){WPGMZA.ModernStoreLocator=function(map_id){var original,self=this;if(WPGMZA.assertInstanceOf(this,"ModernStoreLocator"),(original=WPGMZA.isProVersion()?$(".wpgmza_sl_search_button[mid='"+map_id+"']").closest(".wpgmza_sl_main_div"):$(".wpgmza_sl_search_button").closest(".wpgmza_sl_main_div")).length){this.element=$("<div class='wpgmza-modern-store-locator'><div class='wpgmza-inner wpgmza-modern-hover-opaque'/></div>")[0];var inner=$(this.element).find(".wpgmza-inner"),titleSearch=$(original).find("[id='nameInput_"+map_id+"']");if(titleSearch.length){var placeholder=wpgmaps_localize[map_id].other_settings.store_locator_name_string;placeholder&&placeholder.length&&titleSearch.attr("placeholder",placeholder),inner.append(titleSearch)}var addressInput;addressInput=WPGMZA.isProVersion()?$(original).find(".addressInput"):$(original).find("#addressInput"),wpgmaps_localize[map_id].other_settings.store_locator_query_string&&wpgmaps_localize[map_id].other_settings.store_locator_query_string.length&&addressInput.attr("placeholder",wpgmaps_localize[map_id].other_settings.store_locator_query_string),inner.append(addressInput),$(addressInput).on("keydown",function(event){13==event.keyCode&&self.searchButton.trigger("click")}),inner.append($(original).find("select.wpgmza_sl_radius_select")),this.searchButton=$(original).find(".wpgmza_sl_search_button"),inner.append(this.searchButton),this.resetButton=$(original).find(".wpgmza_sl_reset_button_div"),inner.append(this.resetButton),this.resetButton.on("click",function(event){resetLocations(map_id)}),this.resetButton.hide(),WPGMZA.isProVersion()&&(this.searchButton.on("click",function(event){0!=$("addressInput_"+map_id).val()&&(self.searchButton.hide(),self.resetButton.show())}),this.resetButton.on("click",function(event){self.resetButton.hide(),self.searchButton.show()})),inner.append($("#wpgmza_distance_type_"+map_id));var container=$(original).find(".wpgmza_cat_checkbox_holder"),numCategories=($(container).children("ul"),0),icons=[];$(container).find("li").each(function(index,el){var id=$(el).attr("class").match(/\d+/);for(var category_id in wpgmza_category_data)if(id==category_id){var src=wpgmza_category_data[category_id].image,icon=$('<div class="wpgmza-chip-icon"/>');icon.css({"background-image":"url('"+src+"')",width:$("#wpgmza_cat_checkbox_"+category_id+" + label").height()+"px"}),icons.push(icon),null!=src&&""!=src&&$("#wpgmza_cat_checkbox_"+category_id+" + label").prepend(icon),numCategories++;break}}),$(this.element).append(container),numCategories&&(this.optionsButton=$('<span class="wpgmza_store_locator_options_button"><i class="fas fa-list"></i></span>'),$(this.searchButton).before(this.optionsButton)),setInterval(function(){icons.forEach(function(icon){var height=$(icon).height();$(icon).css({width:height+"px"}),$(icon).closest("label").css({"padding-left":height+8+"px"})}),$(container).css("width",$(self.element).find(".wpgmza-inner").outerWidth()+"px")},1e3),$(this.element).find(".wpgmza_store_locator_options_button").on("click",function(event){container.hasClass("wpgmza-open")?container.removeClass("wpgmza-open"):container.addClass("wpgmza-open")}),$(original).remove(),$(this.element).find("input, select").on("focus",function(){$(inner).addClass("active")}),$(this.element).find("input, select").on("blur",function(){$(inner).removeClass("active")})}},WPGMZA.ModernStoreLocator.createInstance=function(map_id){return"google-maps"==WPGMZA.settings.engine?new WPGMZA.GoogleModernStoreLocator(map_id):new WPGMZA.OLModernStoreLocator(map_id)}}),jQuery(function($){WPGMZA.NativeMapsAppIcon=function(){navigator.userAgent.match(/^Apple|iPhone|iPad|iPod/)?(this.type="apple",this.element=$('<span><i class="fab fa-apple" aria-hidden="true"></i></span>')):(this.type="google",this.element=$('<span><i class="fab fa-google" aria-hidden="true"></i></span>'))}}),jQuery(function($){WPGMZA.Polygon=function(row,enginePolygon){WPGMZA.assertInstanceOf(this,"Polygon"),this.paths=null,this.title=null,this.name=null,this.link=null,WPGMZA.MapObject.apply(this,arguments)},WPGMZA.Polygon.prototype=Object.create(WPGMZA.MapObject.prototype),WPGMZA.Polygon.prototype.constructor=WPGMZA.Polygon,WPGMZA.Polygon.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.isProVersion()?WPGMZA.OLProPolygon:WPGMZA.OLPolygon;default:return WPGMZA.isProVersion()?WPGMZA.GoogleProPolygon:WPGMZA.GooglePolygon}},WPGMZA.Polygon.createInstance=function(row,engineObject){return new(WPGMZA.Polygon.getConstructor())(row,engineObject)},WPGMZA.Polygon.prototype.toJSON=function(){var result=WPGMZA.MapObject.prototype.toJSON.call(this);return $.extend(result,{name:this.name,title:this.title,link:this.link}),result}}),jQuery(function($){WPGMZA.Polyline=function(row,googlePolyline){WPGMZA.assertInstanceOf(this,"Polyline"),this.title=null,WPGMZA.MapObject.apply(this,arguments)},WPGMZA.Polyline.prototype=Object.create(WPGMZA.MapObject.prototype),WPGMZA.Polyline.prototype.constructor=WPGMZA.Polyline,WPGMZA.Polyline.getConstructor=function(){switch(WPGMZA.settings.engine){case"open-layers":return WPGMZA.OLPolyline;default:return WPGMZA.GooglePolyline}},WPGMZA.Polyline.createInstance=function(row,engineObject){return new(WPGMZA.Polyline.getConstructor())(row,engineObject)},WPGMZA.Polyline.prototype.getPoints=function(){return this.toJSON().points},WPGMZA.Polyline.prototype.toJSON=function(){var result=WPGMZA.MapObject.prototype.toJSON.call(this);return result.title=this.title,result}}),jQuery(function($){WPGMZA.PopoutPanel=function(){},WPGMZA.PopoutPanel.prototype.open=function(){$(this.element).addClass("wpgmza-open")},WPGMZA.PopoutPanel.prototype.close=function(){$(this.element).removeClass("wpgmza-open")}}),jQuery(function($){WPGMZA.RestAPI=function(){WPGMZA.RestAPI.URL=WPGMZA.resturl},WPGMZA.RestAPI.createInstance=function(){return new WPGMZA.RestAPI},WPGMZA.RestAPI.prototype.call=function(route,params){if("string"!=typeof route||!route.match(/^\//))throw new Error("Invalid route");WPGMZA.RestAPI.URL.match(/\/$/)&&(route=route.replace(/^\//,"")),$.ajax(WPGMZA.RestAPI.URL+route,params)}}),jQuery(function($){function isPositiveInteger(x){return/^\d+$/.test(x)}function validateParts(parts){for(var i=0;i<parts.length;++i)if(!isPositiveInteger(parts[i]))return!1;return!0}WPGMZA.Version=function(){},WPGMZA.Version.compare=function(v1,v2){var v1parts=v1.split("."),v2parts=v2.split(".");if(!validateParts(v1parts)||!validateParts(v2parts))return NaN;for(var i=0;i<v1parts.length;++i){if(v2parts.length===i)return 1;if(v1parts[i]!==v2parts[i])return v1parts[i]>v2parts[i]?1:-1}return v1parts.length!=v2parts.length?-1:0}}),jQuery(function($){WPGMZA.Integration={},WPGMZA.integrationModules={}}),jQuery(function($){if(window.wp&&wp.i18n&&wp.blocks&&wp.editor){var __=wp.i18n.__,registerBlockType=wp.blocks.registerBlockType,_wp$editor=wp.editor,InspectorControls=_wp$editor.InspectorControls,_wp$components=(_wp$editor.BlockControls,wp.components),Dashicon=_wp$components.Dashicon,PanelBody=(_wp$components.Toolbar,_wp$components.Button,_wp$components.Tooltip,_wp$components.PanelBody);_wp$components.TextareaControl,_wp$components.CheckboxControl,_wp$components.TextControl,_wp$components.SelectControl,_wp$components.RichText;WPGMZA.Integration.Gutenberg=function(){registerBlockType("gutenberg-wpgmza/block",this.getBlockDefinition())},WPGMZA.Integration.Gutenberg.prototype.getBlockTitle=function(){return __("WP Google Maps")},WPGMZA.Integration.Gutenberg.prototype.getBlockInspectorControls=function(props){return React.createElement(InspectorControls,{key:"inspector"},React.createElement(PanelBody,{title:__("Map Settings")},React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:WPGMZA.adminurl+"admin.php?page=wp-google-maps-menu&action=edit&map_id=1",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-pencil-square-o","aria-hidden":"true"}),__("Go to Map Editor"))),React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:"https://www.wpgmaps.com/documentation/creating-your-first-map/",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-book","aria-hidden":"true"}),__("View Documentation")))))},WPGMZA.Integration.Gutenberg.prototype.getBlockAttributes=function(){return{}},WPGMZA.Integration.Gutenberg.prototype.getBlockDefinition=function(props){var _this=this;return{title:__("WP Google Maps"),description:__("The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss."),category:"common",icon:"location-alt",keywords:[__("Map"),__("Maps"),__("Google")],attributes:this.getBlockAttributes(),edit:function(props){return[!!props.isSelected&&_this.getBlockInspectorControls(props),React.createElement("div",{className:props.className+" wpgmza-gutenberg-block"},React.createElement(Dashicon,{icon:"location-alt"}),React.createElement("span",{class:"wpgmza-gutenberg-block-title"},__("Your map will appear here on your websites front end")))]},save:function(props){return null}}},WPGMZA.Integration.Gutenberg.getConstructor=function(){return WPGMZA.Integration.Gutenberg},WPGMZA.Integration.Gutenberg.createInstance=function(){return new(WPGMZA.Integration.Gutenberg.getConstructor())},WPGMZA.isProVersion()||(WPGMZA.integrationModules.gutenberg=WPGMZA.Integration.Gutenberg.createInstance())}}),jQuery(function($){WPGMZA.GoogleUICompatibility=function(){if(!(navigator.vendor&&navigator.vendor.indexOf("Apple")>-1&&navigator.userAgent&&-1==navigator.userAgent.indexOf("CriOS")&&-1==navigator.userAgent.indexOf("FxiOS"))){var style=$("<style id='wpgmza-google-ui-compatiblity-fix'/>");style.html(".wpgmza_map img:not(button img) { padding:0 !important; }"),$(document.head).append(style)}},WPGMZA.googleUICompatibility=new WPGMZA.GoogleUICompatibility}),jQuery(function($){WPGMZA.GoogleCircle=function(options,googleCircle){var self=this;if(WPGMZA.Circle.call(this,options,googleCircle),googleCircle?this.googleCircle=googleCircle:(this.googleCircle=new google.maps.Circle,this.googleCircle.wpgmzaCircle=this),google.maps.event.addListener(this.googleCircle,"click",function(){self.dispatchEvent({type:"click"})}),options){var googleOptions={};delete(googleOptions=$.extend({},options)).map,delete googleOptions.center,options.center&&(googleOptions.center=new google.maps.LatLng({lat:options.center.lat,lng:options.center.lng})),this.googleCircle.setOptions(googleOptions),options.map&&options.map.addCircle(this)}},WPGMZA.GoogleCircle.prototype=Object.create(WPGMZA.Circle.prototype),WPGMZA.GoogleCircle.prototype.constructor=WPGMZA.GoogleCircle}),jQuery(function($){WPGMZA.GoogleGeocoder=function(){},WPGMZA.GoogleGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.GoogleGeocoder.prototype.constructor=WPGMZA.GoogleGeocoder,WPGMZA.GoogleGeocoder.prototype.getLatLngFromAddress=function(options,callback){if(!options||!options.address)throw new Error("No address specified");if(WPGMZA.isLatLngString(options.address))return WPGMZA.Geocoder.prototype.getLatLngFromAddress.call(this,options,callback);options.country&&(options.componentRestrictions={country:options.country}),(new google.maps.Geocoder).geocode(options,function(results,status){if(status==google.maps.GeocoderStatus.OK){var location=results[0].geometry.location,latLng={lat:location.lat(),lng:location.lng()};callback(results=[{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng}],WPGMZA.Geocoder.SUCCESS)}else{var nativeStatus=WPGMZA.Geocoder.FAIL;status==google.maps.GeocoderStatus.ZERO_RESULTS&&(nativeStatus=WPGMZA.Geocoder.ZERO_RESULTS),callback(null,nativeStatus)}})},WPGMZA.GoogleGeocoder.prototype.getAddressFromLatLng=function(options,callback){if(!options||!options.latLng)throw new Error("No latLng specified");var latLng=new WPGMZA.LatLng(options.latLng),geocoder=new google.maps.Geocoder;delete(options=$.extend(options,{location:{lat:latLng.lat,lng:latLng.lng}})).latLng,geocoder.geocode(options,function(results,status){"OK"!==status&&callback(null,WPGMZA.Geocoder.FAIL),results&&results.length||callback([],WPGMZA.Geocoder.NO_RESULTS),callback([results[0].formatted_address],WPGMZA.Geocoder.SUCCESS)})}}),jQuery(function($){var Parent;WPGMZA.GoogleInfoWindow=function(mapObject){Parent.call(this,mapObject),this.setMapObject(mapObject)},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.GoogleInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.GoogleInfoWindow.prototype.constructor=WPGMZA.GoogleInfoWindow,WPGMZA.GoogleInfoWindow.prototype.setMapObject=function(mapObject){mapObject instanceof WPGMZA.Marker?this.googleObject=mapObject.googleMarker:mapObject instanceof WPGMZA.Polygon?this.googleObject=mapObject.googlePolygon:mapObject instanceof WPGMZA.Polyline&&(this.googleObject=mapObject.googlePolyline)},WPGMZA.GoogleInfoWindow.prototype.createGoogleInfoWindow=function(){this.googleInfoWindow||(this.googleInfoWindow=new google.maps.InfoWindow)},WPGMZA.GoogleInfoWindow.prototype.open=function(map,mapObject){return!!Parent.prototype.open.call(this,map,mapObject)&&(this.createGoogleInfoWindow(),this.setMapObject(mapObject),this.googleInfoWindow.open(this.mapObject.map.googleMap,this.googleObject),this.content&&this.googleInfoWindow.setContent(this.content),!0)},WPGMZA.GoogleInfoWindow.prototype.close=function(){this.googleInfoWindow&&(WPGMZA.InfoWindow.prototype.close.call(this),this.googleInfoWindow.close())},WPGMZA.GoogleInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html,this.createGoogleInfoWindow(),this.googleInfoWindow.setContent(html)},WPGMZA.GoogleInfoWindow.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.createGoogleInfoWindow(),this.googleInfoWindow.setOptions(options)}}),jQuery(function($){var Parent;WPGMZA.GoogleMap=function(element,options){var self=this;if(Parent.call(this,element,options),!window.google){var status=WPGMZA.googleAPIStatus,message="Google API not loaded";if(status&&status.message&&(message+=" - "+status.message),"USER_CONSENT_NOT_GIVEN"==status.code)return;throw $(element).html("<div class='notice notice-error'><p>"+WPGMZA.localized_strings.google_api_not_loaded+"<pre>"+message+"</pre></p></div>"),new Error(message)}this.loadGoogleMap(),options&&this.setOptions(options),google.maps.event.addListener(this.googleMap,"click",function(event){var wpgmzaEvent=new WPGMZA.Event("click");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"rightclick",function(event){var wpgmzaEvent=new WPGMZA.Event("rightclick");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"dragend",function(event){self.dispatchEvent("dragend")}),google.maps.event.addListener(this.googleMap,"zoom_changed",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged")}),google.maps.event.addListener(this.googleMap,"idle",function(event){self.onIdle(event)}),WPGMZA.isProVersion()||(this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}))},WPGMZA.isProVersion()?(Parent=WPGMZA.ProMap,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.ProMap.prototype)):(Parent=WPGMZA.Map,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.Map.prototype)),WPGMZA.GoogleMap.prototype.constructor=WPGMZA.GoogleMap,WPGMZA.GoogleMap.prototype.loadGoogleMap=function(){var self=this,options=this.settings.toGoogleMapsOptions();this.googleMap=new google.maps.Map(this.engineElement,options),google.maps.event.addListener(this.googleMap,"bounds_changed",function(){self.onBoundsChanged()}),1==this.settings.bicycle&&this.enableBicycleLayer(!0),1==this.settings.traffic&&this.enableTrafficLayer(!0),1==this.settings.transport&&this.enablePublicTransportLayer(!0),this.showPointsOfInterest(this.settings.show_points_of_interest),$(this.engineElement).append($(this.element).find(".wpgmza-loader"))},WPGMZA.GoogleMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.googleMap.setOptions(this.settings.toGoogleMapsOptions());var clone=$.extend({},options);(clone.center instanceof WPGMZA.LatLng||"object"==typeof clone.center)&&(clone.center={lat:parseFloat(clone.center.lat),lng:parseFloat(clone.center.lng)}),this.googleMap.setOptions(clone)},WPGMZA.GoogleMap.prototype.addMarker=function(marker){marker.googleMarker.setMap(this.googleMap),Parent.prototype.addMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.removeMarker=function(marker){marker.googleMarker.setMap(null),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.addPolygon=function(polygon){polygon.googlePolygon.setMap(this.googleMap),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.removePolygon=function(polygon){polygon.googlePolygon.setMap(null),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.addPolyline=function(polyline){polyline.googlePolyline.setMap(this.googleMap),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.removePolyline=function(polyline){polyline.googlePolyline.setMap(null),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.addCircle=function(circle){circle.googleCircle.setMap(this.googleMap),Parent.prototype.addCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.removeCircle=function(circle){circle.googleCircle.setMap(null),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.getCenter=function(){var latLng=this.googleMap.getCenter();return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.setCenter=function(latLng){WPGMZA.Map.prototype.setCenter.call(this,latLng),latLng instanceof WPGMZA.LatLng?this.googleMap.setCenter({lat:latLng.lat,lng:latLng.lng}):this.googleMap.setCenter(latLng)},WPGMZA.GoogleMap.prototype.panTo=function(latLng){latLng instanceof WPGMZA.LatLng?this.googleMap.panTo({lat:latLng.lat,lng:latLng.lng}):this.googleMap.panTo(latLng)},WPGMZA.GoogleMap.prototype.getZoom=function(){return this.googleMap.getZoom()},WPGMZA.GoogleMap.prototype.setZoom=function(value){if(isNaN(value))throw new Error("Value must not be NaN");return this.googleMap.setZoom(value)},WPGMZA.GoogleMap.prototype.getBounds=function(){var bounds=this.googleMap.getBounds(),northEast=bounds.getNorthEast(),southWest=bounds.getSouthWest();return{topLeft:{lat:northEast.lat(),lng:southWest.lng()},bottomRight:{lat:southWest.lat(),lng:northEast.lng()}}},WPGMZA.GoogleMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng&&(northEast={lat:northEast.lat,lng:northEast.lng}),this.googleMap.fitBounds(southWest,northEast)},WPGMZA.GoogleMap.prototype.fitBoundsToVisibleMarkers=function(){for(var bounds=new google.maps.LatLngBounds,i=0;i<this.markers.length;i++)markers[i].getVisible()&&bounds.extend(markers[i].getPosition());this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.enableBicycleLayer=function(enable){this.bicycleLayer||(this.bicycleLayer=new google.maps.BicyclingLayer),this.bicycleLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enableTrafficLayer=function(enable){this.trafficLayer||(this.trafficLayer=new google.maps.TrafficLayer),this.trafficLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enablePublicTransportLayer=function(enable){this.publicTransportLayer||(this.publicTransportLayer=new google.maps.TransitLayer),this.publicTransportLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.showPointsOfInterest=function(show){var text=$("textarea[name='theme_data']").val();if(text){var styles=JSON.parse(text);styles.push({featureType:"poi",stylers:[{visibility:show?"on":"off"}]}),this.googleMap.setOptions({styles:styles})}},WPGMZA.GoogleMap.prototype.getMinZoom=function(){return parseInt(this.settings.min_zoom)},WPGMZA.GoogleMap.prototype.setMinZoom=function(value){this.googleMap.setOptions({minZoom:value,maxZoom:this.getMaxZoom()})},WPGMZA.GoogleMap.prototype.getMaxZoom=function(){return parseInt(this.settings.max_zoom)},WPGMZA.GoogleMap.prototype.setMaxZoom=function(value){this.googleMap.setOptions({minZoom:this.getMinZoom(),maxZoom:value})},WPGMZA.GoogleMap.prototype.latLngToPixels=function(latLng){var map=this.googleMap,nativeLatLng=new google.maps.LatLng({lat:parseFloat(latLng.lat),lng:parseFloat(latLng.lng)}),topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),worldPoint=map.getProjection().fromLatLngToPoint(nativeLatLng);return{x:(worldPoint.x-bottomLeft.x)*scale,y:(worldPoint.y-topRight.y)*scale}},WPGMZA.GoogleMap.prototype.pixelsToLatLng=function(x,y){void 0==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var map=this.googleMap,topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),worldPoint=new google.maps.Point(x/scale+bottomLeft.x,y/scale+topRight.y),latLng=map.getProjection().fromPointToLatLng(worldPoint);return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.onElementResized=function(event){this.googleMap&&google.maps.event.trigger(this.googleMap,"resize")}}),jQuery(function($){var Parent;WPGMZA.GoogleMarker=function(row){var self=this;Parent.call(this,row);var settings={};if(row)for(var name in row)row[name]instanceof WPGMZA.LatLng?settings[name]=row[name].toGoogleLatLng():row[name]instanceof WPGMZA.Map||(settings[name]=row[name]);this.googleMarker=new google.maps.Marker(settings),this.googleMarker.wpgmzaMarker=this,this.googleMarker.setPosition(new google.maps.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})),this.googleMarker.setLabel(this.settings.label),this.animation&&this.googleMarker.setAnimation(this.animation),google.maps.event.addListener(this.googleMarker,"click",function(){self.dispatchEvent("click"),self.dispatchEvent("select")}),google.maps.event.addListener(this.googleMarker,"mouseover",function(){self.dispatchEvent("mouseover")}),google.maps.event.addListener(this.googleMarker,"dragend",function(){var googleMarkerPosition=self.googleMarker.getPosition();self.setPosition({lat:googleMarkerPosition.lat(),lng:googleMarkerPosition.lng()}),self.dispatchEvent({type:"dragend",latLng:self.getPosition()})}),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.GoogleMarker.prototype=Object.create(Parent.prototype),WPGMZA.GoogleMarker.prototype.constructor=WPGMZA.GoogleMarker,WPGMZA.GoogleMarker.prototype.setLabel=function(label){label?(this.googleMarker.setLabel({text:label}),this.googleMarker.getIcon()||this.googleMarker.setIcon(WPGMZA.settings.default_marker_icon)):this.googleMarker.setLabel(null)},WPGMZA.GoogleMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng),this.googleMarker.setPosition({lat:this.lat,lng:this.lng})},WPGMZA.GoogleMarker.prototype.setOffset=function(x,y){var params,self=this,icon=this.googleMarker.getIcon(),img=new Image;params="string"==typeof icon?{url:icon}:icon,img.onload=function(){var defaultAnchor={x:img.width/2,y:img.height};params.anchor=new google.maps.Point(defaultAnchor.x-x,defaultAnchor.y-y),self.googleMarker.setIcon(params)},img.src=params.url},WPGMZA.GoogleMarker.prototype.setOptions=function(options){this.googleMarker.setOptions(options)},WPGMZA.GoogleMarker.prototype.setAnimation=function(animation){Parent.prototype.setAnimation.call(this,animation),this.googleMarker.setAnimation(animation)},WPGMZA.GoogleMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible.call(this,visible),this.googleMarker.setVisible(visible)},WPGMZA.GoogleMarker.prototype.setDraggable=function(draggable){this.googleMarker.setDraggable(draggable)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocatorCircle=function(map,settings){var self=this;WPGMZA.ModernStoreLocatorCircle.call(this,map,settings),this.intervalID=setInterval(function(){var mapSize={width:$(self.mapElement).width(),height:$(self.mapElement).height()};mapSize.width==self.mapSize.width&&mapSize.height==self.mapSize.height||(self.canvasLayer.resize_(),self.canvasLayer.draw(),self.mapSize=mapSize)},1e3),$(document).bind("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){self.canvasLayer.resize_(),self.canvasLayer.draw()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.GoogleModernStoreLocatorCircle.prototype.constructor=WPGMZA.GoogleModernStoreLocatorCircle,WPGMZA.GoogleModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this;this.canvasLayer&&(this.canvasLayer.setMap(null),this.canvasLayer.setAnimate(!1)),this.canvasLayer=new CanvasLayer({map:this.map.googleMap,resizeHandler:function(event){self.onResize(event)},updateHandler:function(event){self.onUpdate(event)},animate:!0,resolutionScale:this.getResolutionScale()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setOptions=function(options){WPGMZA.ModernStoreLocatorCircle.prototype.setOptions.call(this,options),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setPosition=function(position){WPGMZA.ModernStoreLocatorCircle.prototype.setPosition.call(this,position),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setRadius=function(radius){WPGMZA.ModernStoreLocatorCircle.prototype.setRadius.call(this,radius),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var spherical=google.maps.geometry.spherical,center=this.settings.center,equator=new WPGMZA.LatLng({lat:0,lng:0}),latitude=new WPGMZA.LatLng({lat:center.lat,lng:0}),offsetAtEquator=spherical.computeOffset(equator.toGoogleLatLng(),1e3*km,90),result=.006395*km*(spherical.computeOffset(latitude.toGoogleLatLng(),1e3*km,90).lng()/offsetAtEquator.lng());if(isNaN(result))throw new Error("here");return result},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvasLayer.canvas.width,height:this.canvasLayer.canvas.height}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){var position=this.map.googleMap.getProjection().fromLatLngToPoint(this.canvasLayer.getTopLeft());return{x:-position.x,y:-position.y}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCenterPixels=function(){var center=new WPGMZA.LatLng(this.settings.center);return this.map.googleMap.getProjection().fromLatLngToPoint(center.toGoogleLatLng())},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvasLayer.canvas.getContext("2d")},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getScale=function(){return Math.pow(2,this.map.getZoom())*this.getResolutionScale()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setVisible=function(visible){WPGMZA.ModernStoreLocatorCircle.prototype.setVisible.call(this,visible),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.destroy=function(){this.canvasLayer.setMap(null),this.canvasLayer=null,clearInterval(this.intervalID)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),(WPGMZA.isProVersion()?MYMAP[map_id].map.googleMap:MYMAP.map.googleMap).controls[google.maps.ControlPosition.TOP_CENTER].push(this.element);var options={fields:["name","formatted_address"],types:["geocode"]},restrict=wpgmaps_localize[map_id].other_settings.wpgmza_store_locator_restrict;this.addressInput=$(this.element).find(".addressInput, #addressInput")[0],this.addressInput&&(restrict&&restrict.length&&(options.componentRestrictions={country:restrict}),this.autoComplete=new google.maps.places.Autocomplete(this.addressInput,options))},WPGMZA.GoogleModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator.prototype),WPGMZA.GoogleModernStoreLocator.prototype.constructor=WPGMZA.GoogleModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.GooglePolygon=function(row,googlePolygon){var self=this;if(Parent.call(this,row,googlePolygon),googlePolygon)this.googlePolygon=googlePolygon;else if(this.googlePolygon=new google.maps.Polygon(this.settings),row&&row.points){var paths=this.parseGeometry(row.points);this.googlePolygon.setOptions({paths:paths})}this.googlePolygon.wpgmzaPolygon=this,google.maps.event.addListener(this.googlePolygon,"click",function(){self.dispatchEvent({type:"click"})})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.GooglePolygon.prototype=Object.create(Parent.prototype),WPGMZA.GooglePolygon.prototype.constructor=WPGMZA.GooglePolygon,WPGMZA.GooglePolygon.prototype.getEditable=function(){return this.googlePolygon.getOptions().editable},WPGMZA.GooglePolygon.prototype.setEditable=function(value){this.googlePolygon.setOptions({editable:value})},WPGMZA.GooglePolygon.prototype.toJSON=function(){var result=WPGMZA.Polygon.prototype.toJSON.call(this);result.points=[];for(var path=this.googlePolygon.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.points.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){WPGMZA.GooglePolyline=function(row,googlePolyline){var self=this;if(WPGMZA.Polyline.call(this,row,googlePolyline),googlePolyline)this.googlePolyline=googlePolyline;else if(this.googlePolyline=new google.maps.Polyline(this.settings),this.googlePolyline.wpgmzaPolyline=this,row&&row.points){var path=this.parseGeometry(row.points);this.setPoints(path)}google.maps.event.addListener(this.googlePolyline,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.GooglePolyline.prototype=Object.create(WPGMZA.Polyline.prototype),WPGMZA.GooglePolyline.prototype.constructor=WPGMZA.GooglePolyline,WPGMZA.GooglePolyline.prototype.setEditable=function(value){this.googlePolyline.setOptions({editable:value})},WPGMZA.GooglePolyline.prototype.setPoints=function(points){this.googlePolyline.setOptions({path:points})},WPGMZA.GooglePolyline.prototype.toJSON=function(){var result=WPGMZA.Polyline.prototype.toJSON.call(this);result.points=[];for(var path=this.googlePolyline.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.points.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){"google-maps"==WPGMZA.settings.engine&&(WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code||(WPGMZA.GoogleVertexContextMenu=function(mapEditPage){var self=this;this.mapEditPage=mapEditPage,this.element=document.createElement("div"),this.element.className="wpgmza-vertex-context-menu",this.element.innerHTML="Delete",google.maps.event.addDomListener(this.element,"click",function(event){return self.removeVertex(),event.preventDefault(),event.stopPropagation(),!1})},WPGMZA.GoogleVertexContextMenu.prototype=new google.maps.OverlayView,WPGMZA.GoogleVertexContextMenu.prototype.onAdd=function(){var self=this,map=this.getMap();this.getPanes().floatPane.appendChild(this.element),this.divListener=google.maps.event.addDomListener(map.getDiv(),"mousedown",function(e){e.target!=self.element&&self.close()},!0)},WPGMZA.GoogleVertexContextMenu.prototype.onRemove=function(){google.maps.event.removeListener(this.divListener),this.element.parentNode.removeChild(this.element),this.set("position"),this.set("path"),this.set("vertex")},WPGMZA.GoogleVertexContextMenu.prototype.open=function(map,path,vertex){this.set("position",path.getAt(vertex)),this.set("path",path),this.set("vertex",vertex),this.setMap(map),this.draw()},WPGMZA.GoogleVertexContextMenu.prototype.close=function(){this.setMap(null)},WPGMZA.GoogleVertexContextMenu.prototype.draw=function(){var position=this.get("position"),projection=this.getProjection();if(position&&projection){var point=projection.fromLatLngToDivPixel(position);this.element.style.top=point.y+"px",this.element.style.left=point.x+"px"}},WPGMZA.GoogleVertexContextMenu.prototype.removeVertex=function(){var path=this.get("path"),vertex=this.get("vertex");path&&void 0!=vertex?(path.removeAt(vertex),this.close()):this.close()}))}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.OLCircle=function(options,olFeature){this.center={lat:0,lng:0},this.radius=0,Parent.call(this,options,olFeature),this.settings.fillColor||(this.settings.fillColor="#ff0000",this.settings.fillOpacity=.6),options.fillColor&&(this.settings.fillColor=options.fillColor),options.fillOpacity&&(this.settings.fillOpacity=options.fillOpacity),this.olStyle=new ol.style.Style(this.getStyleFromSettings());var vectorLayer3857=new ol.layer.Vector({source:new ol.source.Vector,style:this.olStyle});if(olFeature)this.olFeature=olFeature;else{var x,y,wgs84Sphere=new ol.Sphere(6378137),radius=this.radius;x=this.center.lng,y=this.center.lat;var circle3857=ol.geom.Polygon.circular(wgs84Sphere,[x,y],radius,64).clone().transform("EPSG:4326","EPSG:3857");vectorLayer3857.getSource().addFeature(new ol.Feature(circle3857))}this.layer=vectorLayer3857,options.map.olMap.addLayer(vectorLayer3857)},WPGMZA.OLCircle.prototype=Object.create(Parent.prototype),WPGMZA.OLCircle.prototype.constructor=WPGMZA.OLCircle,WPGMZA.OLCircle.prototype.getStyleFromSettings=function(){var params={};return this.settings.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(this.settings.strokeColor,this.settings.strokeOpacity)})),this.settings.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(this.settings.fillColor,this.settings.fillOpacity)})),params},WPGMZA.OLCircle.prototype.updateStyleFromSettings=function(){var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.layer.setStyle(this.olStyle)}}),jQuery(function($){WPGMZA.OLGeocoder=function(){},WPGMZA.OLGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.OLGeocoder.prototype.constructor=WPGMZA.OLGeocoder,WPGMZA.OLGeocoder.prototype.getResponseFromCache=function(address,callback){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_query_nominatim_cache",query:address},success:function(response,xhr,status){response.lng=response.lon,callback(response)}})},WPGMZA.OLGeocoder.prototype.getResponseFromNominatim=function(options,callback){var data={q:options.address,format:"json"};options.country&&(data.countrycodes=options.country),$.ajax("https://nominatim.openstreetmap.org/search/",{data:data,success:function(response,xhr,status){callback(response)},error:function(response,xhr,status){callback(null,WPGMZA.Geocoder.FAIL)}})},WPGMZA.OLGeocoder.prototype.cacheResponse=function(address,response){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_store_nominatim_cache",query:address,response:JSON.stringify(response)},method:"POST"})},WPGMZA.OLGeocoder.prototype.getLatLngFromAddress=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.getAddressFromLatLng=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.geocode=function(options,callback){var self=this;if(!options)throw new Error("Invalid options");options.location&&(options.latLng=new WPGMZA.LatLng(options.location));var finish,location;if(options.address)location=options.address,finish=function(response,status){for(var i=0;i<response.length;i++)response[i].geometry={location:new WPGMZA.LatLng({lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)})},response[i].latLng={lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)},response[i].lng=response[i].lon;callback(response,status)};else{if(!options.latLng)throw new Error("You must supply either a latLng or address");location=options.latLng.toString(),finish=function(response,status){var address=response[0].display_name;callback([address],status)}}this.getResponseFromCache(location,function(response){response.length?finish(response,WPGMZA.Geocoder.SUCCESS):self.getResponseFromNominatim($.extend(options,{address:location}),function(response,status){status!=WPGMZA.Geocoder.FAIL?0!=response.length?(finish(response,WPGMZA.Geocoder.SUCCESS),self.cacheResponse(location,response)):callback([],WPGMZA.Geocoder.ZERO_RESULTS):callback(null,WPGMZA.Geocoder.FAIL)})})}}),jQuery(function($){var Parent;WPGMZA.OLInfoWindow=function(mapObject){var self=this;Parent.call(this,mapObject),this.element=$("<div class='ol-info-window-container ol-info-window-plain'></div>")[0],$(this.element).on("click",".ol-info-window-close",function(event){self.close()})},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.OLInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.OLInfoWindow.prototype.constructor=WPGMZA.OLInfoWindow,WPGMZA.OLInfoWindow.prototype.open=function(map,mapObject){var self=this,latLng=mapObject.getPosition();if(!WPGMZA.InfoWindow.prototype.open.call(this,map,mapObject))return!1;this.overlay&&this.mapObject.map.olMap.removeOverlay(this.overlay),this.overlay=new ol.Overlay({element:this.element}),this.overlay.setPosition(ol.proj.fromLonLat([latLng.lng,latLng.lat])),self.mapObject.map.olMap.addOverlay(this.overlay),$(this.element).show(),this.dispatchEvent("infowindowopen")},WPGMZA.OLInfoWindow.prototype.close=function(event){$(this.element).hide(),this.overlay&&(WPGMZA.InfoWindow.prototype.close.call(this),this.mapObject.map.olMap.removeOverlay(this.overlay),this.overlay=null)},WPGMZA.OLInfoWindow.prototype.setContent=function(html){$(this.element).html("<i class='fa fa-times ol-info-window-close' aria-hidden='true'></i>"+html)},WPGMZA.OLInfoWindow.prototype.setOptions=function(options){WPGMZA.settings.developer_mode&&console.log(options),options.maxWidth&&$(this.element).css({"max-width":options.maxWidth+"px"})}}),jQuery(function($){var Parent;WPGMZA.OLMap=function(element,options){var self=this;Parent.call(this,element),this.setOptions(options);var viewOptions=this.settings.toOLViewOptions();$(this.element).html(""),this.olMap=new ol.Map({target:$(element)[0],layers:[this.getTileLayer()],view:new ol.View(viewOptions)}),this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan?interaction.setActive("yes"!=this.settings.wpgmza_settings_map_draggable):interaction instanceof ol.interaction.DoubleClickZoom?interaction.setActive(!this.settings.wpgmza_settings_map_clickzoom):interaction instanceof ol.interaction.MouseWheelZoom&&interaction.setActive("yes"!=this.settings.wpgmza_settings_map_scroll)},this),this.olMap.getControls().forEach(function(control){control instanceof ol.control.Zoom&&"yes"==WPGMZA.settings.wpgmza_settings_map_zoom&&this.olMap.removeControl(control)},this),"yes"!=WPGMZA.settings.wpgmza_settings_map_full_screen_control&&this.olMap.addControl(new ol.control.FullScreen),this.markerLayer=new ol.layer.Vector({source:new ol.source.Vector({features:[]})}),this.olMap.addLayer(this.markerLayer),this.olMap.on("movestart",function(event){self.isBeingDragged=!0}),this.olMap.on("moveend",function(event){self.wrapLongitude(),self.isBeingDragged=!1,self.dispatchEvent("dragend"),self.onIdle()}),this.olMap.getView().on("change:resolution",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged"),self.onIdle()}),this.olMap.getView().on("change",function(){self.onBoundsChanged()}),self.onBoundsChanged();var marker;this.storeLocator&&(marker=this.storeLocator.centerPointMarker)&&(this.olMap.addOverlay(marker.overlay),marker.setVisible(!1)),$(this.element).on("click contextmenu",function(event){var isRight;event=event||window.event;var latLng=self.pixelsToLatLng(event.offsetX,event.offsetY);if("which"in event?isRight=3==event.which:"button"in event&&(isRight=2==event.button),1!=event.which&&1!=event.button){if(isRight)return self.onRightClick(event)}else{if(self.isBeingDragged)return;self.trigger({type:"click",latLng:latLng})}}),WPGMZA.isProVersion()||(this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}))},Parent=WPGMZA.isProVersion()?WPGMZA.ProMap:WPGMZA.Map,WPGMZA.OLMap.prototype=Object.create(Parent.prototype),WPGMZA.OLMap.prototype.constructor=WPGMZA.OLMap,WPGMZA.OLMap.prototype.getTileLayer=function(){var options={};return WPGMZA.settings.tile_server_url&&(options.url=WPGMZA.settings.tile_server_url),new ol.layer.Tile({source:new ol.source.OSM(options)})},WPGMZA.OLMap.prototype.wrapLongitude=function(){var center=this.getCenter();center.lng>=-180&&center.lng<=180||(center.lng=center.lng-360*Math.floor(center.lng/360),center.lng>180&&(center.lng-=360),this.setCenter(center))},WPGMZA.OLMap.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olMap.getView().getCenter());return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.setCenter=function(latLng){var view=this.olMap.getView();WPGMZA.Map.prototype.setCenter.call(this,latLng),view.setCenter(ol.proj.fromLonLat([latLng.lng,latLng.lat])),this.wrapLongitude(),this.onBoundsChanged()},WPGMZA.OLMap.prototype.getBounds=function(){var bounds=this.olMap.getView().calculateExtent(this.olMap.getSize()),topLeft=ol.proj.toLonLat([bounds[0],bounds[1]]),bottomRight=ol.proj.toLonLat([bounds[2],bounds[3]]);return{topLeft:{lat:topLeft[1],lng:topLeft[0]},bottomRight:{lat:bottomRight[1],lng:bottomRight[0]}}},WPGMZA.OLMap.prototype.fitBounds=function(southWest,northEast){this.olMap.getView().fitExtent([southWest.lng,southWest.lat,northEast.lng,northEast.lat],this.olMap.getSize())},WPGMZA.OLMap.prototype.panTo=function(latLng){this.olMap.getView().animate({center:ol.proj.fromLonLat([parseFloat(latLng.lng),parseFloat(latLng.lat)]),duration:500})},WPGMZA.OLMap.prototype.getZoom=function(){return Math.round(this.olMap.getView().getZoom())},WPGMZA.OLMap.prototype.setZoom=function(value){this.olMap.getView().setZoom(value)},WPGMZA.OLMap.prototype.getMinZoom=function(){return this.olMap.getView().getMinZoom()},WPGMZA.OLMap.prototype.setMinZoom=function(value){this.olMap.getView().setMinZoom(value)},WPGMZA.OLMap.prototype.getMaxZoom=function(){return this.olMap.getView().getMaxZoom()},WPGMZA.OLMap.prototype.setMaxZoom=function(value){this.olMap.getView().setMaxZoom(value)},WPGMZA.OLMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.olMap&&this.olMap.getView().setProperties(this.settings.toOLViewOptions())},WPGMZA.OLMap.prototype.addMarker=function(marker){this.olMap.addOverlay(marker.overlay),Parent.prototype.addMarker.call(this,marker)},WPGMZA.OLMap.prototype.removeMarker=function(marker){this.olMap.removeOverlay(marker.overlay),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.OLMap.prototype.addPolygon=function(polygon){this.olMap.addLayer(polygon.layer),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.OLMap.prototype.removePolygon=function(polygon){this.olMap.removeLayer(polygon.layer),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.OLMap.prototype.addPolyline=function(polyline){this.olMap.addLayer(polyline.layer),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.OLMap.prototype.removePolyline=function(polyline){this.olMap.removeLayer(polyline.layer),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.OLMap.prototype.addCircle=function(circle){this.olMap.addLayer(circle.layer),Parent.prototype.addCircle.call(this,circle)},WPGMZA.OLMap.prototype.removeCircle=function(circle){this.olMap.removeLayer(circle.layer),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.OLMap.prototype.pixelsToLatLng=function(x,y){void 0==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var coord=this.olMap.getCoordinateFromPixel([x,y]);if(!coord)return{x:null,y:null};var lonLat=ol.proj.toLonLat(coord);return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.latLngToPixels=function(latLng){var coord=ol.proj.fromLonLat([latLng.lng,latLng.lat]),pixel=this.olMap.getPixelFromCoordinate(coord);return pixel?{x:pixel[0],y:pixel[1]}:{x:null,y:null}},WPGMZA.OLMap.prototype.enableBicycleLayer=function(value){if(value)this.bicycleLayer||(this.bicycleLayer=new ol.layer.Tile({source:new ol.source.OSM({url:"http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png"})})),this.olMap.addLayer(this.bicycleLayer);else{if(!this.bicycleLayer)return;this.olMap.removeLayer(this.bicycleLayer)}},WPGMZA.OLMap.prototype.onElementResized=function(event){this.olMap.updateSize()},WPGMZA.OLMap.prototype.onRightClick=function(event){if($(event.target).closest(".ol-marker, .wpgmza_modern_infowindow, .wpgmza-modern-store-locator").length)return!0;var parentOffset=$(this.element).offset(),relX=event.pageX-parentOffset.left,relY=event.pageY-parentOffset.top,latLng=this.pixelsToLatLng(relX,relY);return this.trigger({type:"rightclick",latLng:latLng}),$(this.element).trigger({type:"rightclick",latLng:latLng}),event.preventDefault(),!1}}),jQuery(function($){var Parent;WPGMZA.OLMarker=function(row){var self=this;Parent.call(this,row);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);this.element=$("<div class='ol-marker'><img src='"+WPGMZA.settings.default_marker_icon+"' alt=''/></div>")[0],this.element.wpgmzaMarker=this,$(this.element).on("mouseover",function(event){self.dispatchEvent("mouseover")}),this.overlay=new ol.Overlay({element:this.element}),this.overlay.setPosition(origin),this.animation&&this.setAnimation(this.animation),this.setLabel(this.settings.label),row&&row.draggable&&this.setDraggable(!0),this.rebindClickListener(),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.OLMarker.prototype=Object.create(Parent.prototype),WPGMZA.OLMarker.prototype.constructor=WPGMZA.OLMarker,WPGMZA.OLMarker.prototype.addLabel=function(){this.setLabel(this.getLabelText())},WPGMZA.OLMarker.prototype.setLabel=function(label){label?(this.label||(this.label=$("<div class='ol-marker-label'/>"),$(this.element).append(this.label)),this.label.html(label)):this.label&&$(this.element).find(".ol-marker-label").remove()},WPGMZA.OLMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible(visible),this.overlay.getElement().style.display=visible?"block":"none"},WPGMZA.OLMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);this.overlay.setPosition(origin)},WPGMZA.OLMarker.prototype.setOffset=function(x,y){this.element.style.position="relative",this.element.style.left=x+"px",this.element.style.top=y+"px"},WPGMZA.OLMarker.prototype.setAnimation=function(anim){switch(Parent.prototype.setAnimation.call(this,anim),anim){case WPGMZA.Marker.ANIMATION_NONE:$(this.element).removeAttr("data-anim");break;case WPGMZA.Marker.ANIMATION_BOUNCE:$(this.element).attr("data-anim","bounce");break;case WPGMZA.Marker.ANIMATION_DROP:$(this.element).attr("data-anim","drop")}},WPGMZA.OLMarker.prototype.setDraggable=function(draggable){var self=this;if(draggable){var options={disabled:!1};this.jQueryDraggableInitialized||(options.start=function(event){self.onDragStart(event)},options.stop=function(event){self.onDragEnd(event)}),$(this.element).draggable(options),this.jQueryDraggableInitialized=!0,this.rebindClickListener()}else $(this.element).draggable({disabled:!0})},WPGMZA.OLMarker.prototype.onDragStart=function(event){this.isBeingDragged=!0},WPGMZA.OLMarker.prototype.onDragEnd=function(event){var offset={top:parseFloat($(this.element).css("top").match(/-?\d+/)[0]),left:parseFloat($(this.element).css("left").match(/-?\d+/)[0])};$(this.element).css({top:"0px",left:"0px"});var currentLatLng=this.getPosition(),pixelsBeforeDrag=this.map.latLngToPixels(currentLatLng),pixelsAfterDrag={x:pixelsBeforeDrag.x+offset.left,y:pixelsBeforeDrag.y+offset.top},latLngAfterDrag=this.map.pixelsToLatLng(pixelsAfterDrag);this.setPosition(latLngAfterDrag),this.isBeingDragged=!1,this.trigger({type:"dragend",latLng:latLngAfterDrag})},WPGMZA.OLMarker.prototype.onElementClick=function(event){var self=event.currentTarget.wpgmzaMarker;self.isBeingDragged||(self.dispatchEvent("click"),self.dispatchEvent("select"))},WPGMZA.OLMarker.prototype.rebindClickListener=function(){$(this.element).off("click",this.onElementClick),$(this.element).on("click",this.onElementClick)}}),jQuery(function($){WPGMZA.OLModernStoreLocatorCircle=function(map,settings){WPGMZA.ModernStoreLocatorCircle.call(this,map,settings)},WPGMZA.OLModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.OLModernStoreLocatorCircle.prototype.constructor=WPGMZA.OLModernStoreLocatorCircle,WPGMZA.OLModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this,mapElement=$(this.map.element),olViewportElement=mapElement.children(".ol-viewport");this.canvas=document.createElement("canvas"),this.canvas.className="wpgmza-ol-canvas-overlay",mapElement.append(this.canvas),this.renderFunction=function(event){self.canvas.width==olViewportElement.width()&&self.canvas.height==olViewportElement.height()||(self.canvas.width=olViewportElement.width(),self.canvas.height=olViewportElement.height(),$(this.canvas).css({width:olViewportElement.width()+"px",height:olViewportElement.height()+"px"})),self.draw()},this.map.olMap.on("postrender",this.renderFunction)},WPGMZA.OLModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvas.getContext(type)},WPGMZA.OLModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvas.width,height:this.canvas.height}},WPGMZA.OLModernStoreLocatorCircle.prototype.getCenterPixels=function(){return this.map.latLngToPixels(this.settings.center)},WPGMZA.OLModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){return{x:0,y:0}},WPGMZA.OLModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var center=new WPGMZA.LatLng(this.settings.center),outer=new WPGMZA.LatLng(center);outer.moveByDistance(km,90);var centerPixels=this.map.latLngToPixels(center),outerPixels=this.map.latLngToPixels(outer);return Math.abs(outerPixels.x-centerPixels.x)},WPGMZA.OLModernStoreLocatorCircle.prototype.getScale=function(){return 1},WPGMZA.OLModernStoreLocatorCircle.prototype.destroy=function(){$(this.canvas).remove(),this.map.olMap.un("postrender",this.renderFunction),this.map=null,this.canvas=null}}),jQuery(function($){WPGMZA.OLModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),$(WPGMZA.isProVersion()?".wpgmza_map[data-map-id='"+map_id+"']":"#wpgmza_map").append(this.element)},WPGMZA.OLModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator),WPGMZA.OLModernStoreLocator.prototype.constructor=WPGMZA.OLModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.OLPolygon=function(row,olFeature){if(Parent.call(this,row,olFeature),this.olStyle=new ol.style.Style,olFeature)this.olFeature=olFeature;else{var coordinates=[[]];if(row&&row.points){for(var paths=this.parseGeometry(row.points),i=0;i<paths.length;i++)coordinates[0].push(ol.proj.fromLonLat([parseFloat(paths[i].lng),parseFloat(paths[i].lat)]));this.olStyle=new ol.style.Style(this.getStyleFromSettings())}this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolygon:this})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.OLPolygon.prototype=Object.create(Parent.prototype),WPGMZA.OLPolygon.prototype.constructor=WPGMZA.OLPolygon,WPGMZA.OLPolygon.prototype.getStyleFromSettings=function(){var params={};return this.settings.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(this.settings.strokeColor,this.settings.strokeOpacity)})),this.settings.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(this.settings.fillColor,this.settings.fillOpacity)})),params},WPGMZA.OLPolygon.prototype.updateStyleFromSettings=function(){var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.layer.setStyle(this.olStyle)},WPGMZA.OLPolygon.prototype.setEditable=function(editable){},WPGMZA.OLPolygon.prototype.toJSON=function(){var result=Parent.prototype.toJSON.call(this),coordinates=this.olFeature.getGeometry().getCoordinates()[0];result.points=[];for(var i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),latLng={lat:lonLat[1],lng:lonLat[0]};result.points.push(latLng)}return result}}),jQuery(function($){var Parent;WPGMZA.OLPolyline=function(row,olFeature){if(WPGMZA.Polyline.call(this,row),this.olStyle=new ol.style.Style,olFeature)this.olFeature=olFeature;else{var coordinates=[];if(row&&row.points)for(var path=this.parseGeometry(row.points),i=0;i<path.length;i++)coordinates.push(ol.proj.fromLonLat([parseFloat(path[i].lng),parseFloat(path[i].lat)]));var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolyling:this})},Parent=WPGMZA.Polyline,WPGMZA.OLPolyline.prototype=Object.create(Parent.prototype),WPGMZA.OLPolyline.prototype.constructor=WPGMZA.OLPolyline,WPGMZA.OLPolyline.prototype.getStyleFromSettings=function(){var params={};return this.settings.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(this.settings.strokeColor,this.settings.strokeOpacity),width:parseInt(this.settings.strokeWeight)})),params},WPGMZA.OLPolyline.prototype.updateStyleFromSettings=function(){var params=this.getStyleFromSettings();this.olStyle=new ol.style.Style(params),this.layer.setStyle(this.olStyle)},WPGMZA.OLPolyline.prototype.setEditable=function(editable){},WPGMZA.OLPolyline.prototype.setPoints=function(points){this.olFeature&&this.layer.getSource().removeFeature(this.olFeature);for(var coordinates=[],i=0;i<points.length;i++)coordinates.push(ol.proj.fromLonLat([parseFloat(points[i].lng),parseFloat(points[i].lat)]));this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)}),this.layer.getSource().addFeature(this.olFeature)},WPGMZA.OLPolyline.prototype.toJSON=function(){var result=Parent.prototype.toJSON.call(this),coordinates=this.olFeature.getGeometry().getCoordinates();result.points=[];for(var i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),latLng={lat:lonLat[1],lng:lonLat[0]};result.points.push(latLng)}return result}});
readme.txt CHANGED
@@ -1,6 +1,6 @@
1
  === WP Google Maps ===
2
  Contributors: WPGMaps, NickDuncan, CodeCabin_, DylanAuty, PerryRylance
3
- Donate link: http://www.wpgmaps.com
4
  Tags: google maps, maps, map, map markers, google map, google maps plugin, wp google maps, wp google map, map plugin, directions, google map plugin, map widget
5
  Requires at least: 3.5
6
  Tested up to: 5.0
@@ -16,7 +16,7 @@ The easiest to use Google maps plugin! Add a customized Google map to your WordP
16
 
17
  While the free version of WP Google Maps allows you to create a Google map with as many markers as you like, the Pro version allows you to do so much more!
18
 
19
- The [WP Google Maps Pro Version](http://www.wpgmaps.com/purchase-professional-version/) version allows you create custom Google maps with high quality markers containing locations, descriptions, images, categories, links and directions.
20
 
21
  = Lite Version (Free) =
22
  * The most popular Google Maps plugin on WordPress
@@ -75,7 +75,7 @@ The [WP Google Maps Pro Version](http://www.wpgmaps.com/purchase-professional-ve
75
  * Multiple map widget functionality
76
  * Add retina-ready map marker icons
77
  * WordPress Network friendly
78
- * Get the [WP Google Maps Professional Edition](http://www.wpgmaps.com/purchase-professional-version/) for only $39.99
79
 
80
 
81
  = Translations =
@@ -110,39 +110,39 @@ Get a free copy of the WP Google Maps Pro version in exchange for translating ou
110
  = Demos =
111
  WP Google Maps Lite
112
 
113
- * [Basic Google Map with Markers](http://www.wpgmaps.com/demo/basic-google-map-with-markers/)
114
- * [Store Locator](http://www.wpgmaps.com/demo/wp-google-maps-store-locator-free-version/)
115
- * [Polygons & Polyines/Routes](http://www.wpgmaps.com/demo/polygons-and-polylines/)
116
- * [Google Maps Transit Layer](http://www.wpgmaps.com/demo/google-maps-transit-layer/)
117
- * [Google Maps Traffic Layer](http://www.wpgmaps.com/demo/google-maps-traffic-layer/)
118
- * [Google Maps Bicycle Layer](http://www.wpgmaps.com/demo/google-maps-bicycle-layer/)
119
 
120
  WP Google Maps Pro
121
 
122
- * [Google map with advanced markers](http://www.wpgmaps.com/demo/basic-map-and-markers/)
123
- * [Marker listings - Simple](http://www.wpgmaps.com/demo/list-markers/)
124
- * [Marker listings - Advanced](http://www.wpgmaps.com/demo/map-with-markers-listed-below-advanced/)
125
- * [Google Maps Directions](http://www.wpgmaps.com/demo/directions/)
126
- * [Resposive Map](http://www.wpgmaps.com/demo/responsive-maps/)
127
- * [Marker Categories](http://www.wpgmaps.com/demo/marker-categories/) (Filtering)
128
- * [Advanced Store Locator](http://www.wpgmaps.com/demo/store-locator/)
129
- * [WP Google Maps Editor](http://www.wpgmaps.com/demo/screenshots-back-end/) (Back-end Screenshots)
130
- * [Visitor Generated Markers](http://www.wpgmaps.com/demo/visitor-generated-markers/) - (WP Google Maps VGM Add-on)
131
- * [Custom Map Styling](http://www.wpgmaps.com/demo/custom-map-styling/) (WP Google Maps Gold Add-on)
132
 
133
  = Documentation =
134
- * [Installing WP Google Maps](http://www.wpgmaps.com/documentation/installing-the-plugin/)
135
- * [Creating your first map](http://www.wpgmaps.com/documentation/creating-your-first-map/)
136
- * [Google Maps mashup (Pro)](http://www.wpgmaps.com/documentation/advanced-map-options/map-mashup/)
137
- * [Exporting and importing map markers (Pro)](http://www.wpgmaps.com/documentation/exporting-and-importing-your-markers/)
138
- * [Changing the Google Maps language](http://www.wpgmaps.com/documentation/changing-the-google-maps-language/)
139
- * [Create a google map and marker using custom fields (Pro)](http://www.wpgmaps.com/introducing-maps-by-custom-fields/)
140
- * [View all documentation](http://www.wpgmaps.com/documentation/)
141
 
142
  = Troubleshooting =
143
- * [My Google Map is not showing on my website](http://www.wpgmaps.com/documentation/troubleshooting/my-map-is-not-showing-on-my-website/)
144
- * [My markers are not showing](http://www.wpgmaps.com/documentation/troubleshooting/my-markers-are-not-showing-on-my-map/)
145
- * [View all troubleshooting articles](http://www.wpgmaps.com/documentation/troubleshooting/)
146
 
147
  == Installation ==
148
 
@@ -162,7 +162,7 @@ In order to make use of WP Google Maps Store Locator functionality, simply click
162
  == Frequently Asked Questions ==
163
 
164
  = How do I get WP Google Maps Pro? =
165
- Simply visit http://www.wpgmaps.com and purchase the WP Google Maps Professional Edition for $39.99 once off. Free updates and support included forever.
166
 
167
  = I've installed the plugin, now what? =
168
  Once installed and activated, a link should appear in your left navigation panel within your WP-ADMIN section. Click on the "WP Google Maps" link and follow the on screen instructions.
@@ -217,6 +217,11 @@ Please upgrade your version of WP Google Maps to version 6.0.27 as it includes m
217
 
218
  == Changelog ==
219
 
 
 
 
 
 
220
  = 7.10.50 :- 2018-12-10 :- Low priority =
221
  * Added blank alt attribute to OpenLayers marker img element
222
  * Updated WP version supported to 5.0
1
  === WP Google Maps ===
2
  Contributors: WPGMaps, NickDuncan, CodeCabin_, DylanAuty, PerryRylance
3
+ Donate link: https://www.wpgmaps.com
4
  Tags: google maps, maps, map, map markers, google map, google maps plugin, wp google maps, wp google map, map plugin, directions, google map plugin, map widget
5
  Requires at least: 3.5
6
  Tested up to: 5.0
16
 
17
  While the free version of WP Google Maps allows you to create a Google map with as many markers as you like, the Pro version allows you to do so much more!
18
 
19
+ The [WP Google Maps Pro Version](https://www.wpgmaps.com/purchase-professional-version/) version allows you create custom Google maps with high quality markers containing locations, descriptions, images, categories, links and directions.
20
 
21
  = Lite Version (Free) =
22
  * The most popular Google Maps plugin on WordPress
75
  * Multiple map widget functionality
76
  * Add retina-ready map marker icons
77
  * WordPress Network friendly
78
+ * Get the [WP Google Maps Professional Edition](https://www.wpgmaps.com/purchase-professional-version/) for only $39.99
79
 
80
 
81
  = Translations =
110
  = Demos =
111
  WP Google Maps Lite
112
 
113
+ * [Basic Google Map with Markers](https://www.wpgmaps.com/demo/basic-google-map-with-markers/)
114
+ * [Store Locator](https://www.wpgmaps.com/demo/wp-google-maps-store-locator-free-version/)
115
+ * [Polygons & Polyines/Routes](https://www.wpgmaps.com/demo/polygons-and-polylines/)
116
+ * [Google Maps Transit Layer](https://www.wpgmaps.com/demo/google-maps-transit-layer/)
117
+ * [Google Maps Traffic Layer](https://www.wpgmaps.com/demo/google-maps-traffic-layer/)
118
+ * [Google Maps Bicycle Layer](https://www.wpgmaps.com/demo/google-maps-bicycle-layer/)
119
 
120
  WP Google Maps Pro
121
 
122
+ * [Google map with advanced markers](https://www.wpgmaps.com/demo/basic-map-and-markers/)
123
+ * [Marker listings - Simple](https://www.wpgmaps.com/demo/list-markers/)
124
+ * [Marker listings - Advanced](https://www.wpgmaps.com/demo/map-with-markers-listed-below-advanced/)
125
+ * [Google Maps Directions](https://www.wpgmaps.com/demo/directions/)
126
+ * [Resposive Map](https://www.wpgmaps.com/demo/responsive-maps/)
127
+ * [Marker Categories](https://www.wpgmaps.com/demo/marker-categories/) (Filtering)
128
+ * [Advanced Store Locator](https://www.wpgmaps.com/demo/store-locator/)
129
+ * [WP Google Maps Editor](https://www.wpgmaps.com/demo/screenshots-back-end/) (Back-end Screenshots)
130
+ * [Visitor Generated Markers](https://www.wpgmaps.com/demo/visitor-generated-markers/) - (WP Google Maps VGM Add-on)
131
+ * [Custom Map Styling](https://www.wpgmaps.com/demo/custom-map-styling/) (WP Google Maps Gold Add-on)
132
 
133
  = Documentation =
134
+ * [Installing WP Google Maps](https://www.wpgmaps.com/documentation/installing-the-plugin/)
135
+ * [Creating your first map](https://www.wpgmaps.com/documentation/creating-your-first-map/)
136
+ * [Google Maps mashup (Pro)](https://www.wpgmaps.com/documentation/advanced-map-options/map-mashup/)
137
+ * [Exporting and importing map markers (Pro)](https://www.wpgmaps.com/documentation/exporting-and-importing-your-markers/)
138
+ * [Changing the Google Maps language](https://www.wpgmaps.com/documentation/changing-the-google-maps-language/)
139
+ * [Create a google map and marker using custom fields (Pro)](https://www.wpgmaps.com/introducing-maps-by-custom-fields/)
140
+ * [View all documentation](https://www.wpgmaps.com/documentation/)
141
 
142
  = Troubleshooting =
143
+ * [My Google Map is not showing on my website](https://www.wpgmaps.com/documentation/troubleshooting/my-map-is-not-showing-on-my-website/)
144
+ * [My markers are not showing](https://www.wpgmaps.com/documentation/troubleshooting/my-markers-are-not-showing-on-my-map/)
145
+ * [View all troubleshooting articles](https://www.wpgmaps.com/documentation/troubleshooting/)
146
 
147
  == Installation ==
148
 
162
  == Frequently Asked Questions ==
163
 
164
  = How do I get WP Google Maps Pro? =
165
+ Simply visit https://www.wpgmaps.com and purchase the WP Google Maps Professional Edition for $39.99 once off. Free updates and support included forever.
166
 
167
  = I've installed the plugin, now what? =
168
  Once installed and activated, a link should appear in your left navigation panel within your WP-ADMIN section. Click on the "WP Google Maps" link and follow the on screen instructions.
217
 
218
  == Changelog ==
219
 
220
+ = 7.10.51 :- 2018-12-11 :- Low priority =
221
+ * Added tile server URL setting for OpenLayers
222
+ * Fixed Google vertex context menu preventing OpenLayers engine loading in developer mode
223
+ * Fixed Gutenberg integration module always loading scripts on front end
224
+
225
  = 7.10.50 :- 2018-12-10 :- Low priority =
226
  * Added blank alt attribute to OpenLayers marker img element
227
  * Updated WP version supported to 5.0
wpGoogleMaps.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP Google Maps
4
  Plugin URI: https://www.wpgmaps.com
5
  Description: The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss.
6
- Version: 7.10.50
7
  Author: WP Google Maps
8
  Author URI: https://www.wpgmaps.com
9
  Text Domain: wp-google-maps
@@ -11,6 +11,11 @@ Domain Path: /languages
11
  */
12
 
13
  /*
 
 
 
 
 
14
  * 7.10.50 :- 2018-12-10 :- Low priority
15
  * Added blank alt attribute to OpenLayers marker img element
16
  * Updated WP version supported to 5.0
@@ -2967,6 +2972,12 @@ function wpgmaps_tag_basic( $atts ) {
2967
  $gutenbergIndex = array_search('wpgmza-gutenberg', $core_dependencies);
2968
  if($gutenbergIndex !== false)
2969
  array_splice($core_dependencies, $gutenbergIndex, 1);
 
 
 
 
 
 
2970
 
2971
  wp_enqueue_script('wpgmaps_core', plugins_url('/js/wpgmaps.js',__FILE__), $core_dependencies, $wpgmza_version.'b' , false);
2972
 
@@ -3271,6 +3282,9 @@ function wpgmza_settings_page_post()
3271
  unset($wpgmza_data[$remap]);
3272
  }
3273
 
 
 
 
3274
  if(isset($_POST['wpgmza_load_engine_api_condition']))
3275
  $wpgmza_data['wpgmza_load_engine_api_condition'] = $_POST['wpgmza_load_engine_api_condition'];
3276
 
@@ -4752,7 +4766,23 @@ function wpgmaps_settings_page_basic() {
4752
  </tr>
4753
 
4754
  ";
4755
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4756
  $api_loader = new WPGMZA\GoogleMapsAPILoader();
4757
  $ret .= $api_loader->getSettingsHTML();
4758
 
3
  Plugin Name: WP Google Maps
4
  Plugin URI: https://www.wpgmaps.com
5
  Description: The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss.
6
+ Version: 7.10.51
7
  Author: WP Google Maps
8
  Author URI: https://www.wpgmaps.com
9
  Text Domain: wp-google-maps
11
  */
12
 
13
  /*
14
+ * 7.10.51 :- 2018-12-11 :- Low priority
15
+ * Added tile server URL setting for OpenLayers
16
+ * Fixed Google vertex context menu preventing OpenLayers engine loading in developer mode
17
+ * Fixed Gutenberg integration module always loading scripts on front end
18
+ *
19
  * 7.10.50 :- 2018-12-10 :- Low priority
20
  * Added blank alt attribute to OpenLayers marker img element
21
  * Updated WP version supported to 5.0
2972
  $gutenbergIndex = array_search('wpgmza-gutenberg', $core_dependencies);
2973
  if($gutenbergIndex !== false)
2974
  array_splice($core_dependencies, $gutenbergIndex, 1);
2975
+
2976
+ if(isset($wpgmza_settings['wpgmza_maps_engine']) && $wpgmza_settings['wpgmza_maps_engine'] == 'open-layers')
2977
+ {
2978
+ if($index = array_search('wpgmza-google-vertex-context-menu', $core_dependencies))
2979
+ array_splice($core_dependencies, $index, 1);
2980
+ }
2981
 
2982
  wp_enqueue_script('wpgmaps_core', plugins_url('/js/wpgmaps.js',__FILE__), $core_dependencies, $wpgmza_version.'b' , false);
2983
 
3282
  unset($wpgmza_data[$remap]);
3283
  }
3284
 
3285
+ if(isset($_POST['tile_server_url']))
3286
+ $wpgmza_data['tile_server_url'] = $_POST['tile_server_url'];
3287
+
3288
  if(isset($_POST['wpgmza_load_engine_api_condition']))
3289
  $wpgmza_data['wpgmza_load_engine_api_condition'] = $_POST['wpgmza_load_engine_api_condition'];
3290
 
4766
  </tr>
4767
 
4768
  ";
4769
+
4770
+ if(isset($wpgmza_settings['wpgmza_maps_engine']) && $wpgmza_settings['wpgmza_maps_engine'] == 'open-layers')
4771
+ {
4772
+ $tileServerSelect = new WPGMZA\DOMDocument();
4773
+ $tileServerSelect->loadPHPFile(plugin_dir_path(__FILE__) . 'html/tile-server-fieldset.html.php');
4774
+ // TODO: In Pro, check this property exists
4775
+
4776
+ if(isset($wpgmza_settings['tile_server_url']))
4777
+ {
4778
+ $option = $tileServerSelect->querySelector('option[value="' . $wpgmza_settings['tile_server_url'] . '"]');
4779
+ if($option)
4780
+ $option->setAttribute('selected', 'selected');
4781
+ }
4782
+
4783
+ $ret .= $tileServerSelect->html;
4784
+ }
4785
+
4786
  $api_loader = new WPGMZA\GoogleMapsAPILoader();
4787
  $ret .= $api_loader->getSettingsHTML();
4788