FIX: _ui.map.google markers sizing

This commit is contained in:
Tony Air 2020-02-01 01:54:00 +07:00
parent eac2332c3d
commit 7c389c2b3a
11 changed files with 31 additions and 26 deletions

5
dist/css/app.css vendored
View File

@ -15361,6 +15361,11 @@ textarea,
padding-right: 0.5rem;
}
#ForgotPassword {
margin: 1rem 0;
width: 100%;
}
input.date[readonly],
input.time[readonly] {
background-color: #fff;

File diff suppressed because one or more lines are too long

2
dist/js/app.js vendored

File diff suppressed because one or more lines are too long

2
dist/js/app.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/SilverShop.Page.CheckoutPageController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),i=o("./src/js/_events.js"),a=o.n(i),s=(o("./src/scss/_components/_ui.map.scss"),o("./src/js/_consts.js")),l=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();!function(e){var t="jsMapAPI",o=t,n=e("body"),r=s.a.MAP_DRIVER,i=window,c=function(){function s(i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,c=new r;l.$el=e(i);var u=l.$el,p=u.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p["font-family"]=n.css("font-family"),console.log(t+": initializing "+c.getName()+"..."),c.init(u,p),l.drv=c,u.on(a.a.MAPAPILOADED,(function(e){l.map=c.getMap(),p.geojson?(console.log(t+": setting up geocode data"),c.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),c.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),c.addMarker([p.lng,p.lat],p)),u.data(o,l),u.addClass(t+"-active"),u.trigger(a.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==i.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,c._jQueryInterface},e(i).on(a.a.AJAX+" "+a.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(r.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),i=o("./src/js/_events.js"),a=o.n(i),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},r=t.outerWidth(),i=t.outerHeight();switch(console.log(r),console.log(i),Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=i,n.x=r;break;case"left center":n.y=i/2,n.x=r;break;case"left bottom":n.y=0,n.x=r;break;case"center top":n.y=i,n.x=r/2;break;case"center center":n.y=i/2,n.x=r/2;break;case"center bottom":n.y=0,n.x=r/2;break;case"right top":n.y=i,n.x=0;break;case"right center":n.y=i/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=i/2,n.x=r/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var u={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return c(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,r=window;n.$el=t,n.config=o,n.markers=[],r["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,r=o.find(".mapAPI-map"),i=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},c=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(r[0],{zoom:i,center:s,fullscreenControl:!0,styles:c}),t.default_zoom=i,r.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(a.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,r={lat:t[1],lng:t[0]},i=new n.MarkerUI({position:r,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(r,o.content),t.trigger(a.a.MAPMARKERCLICK)}});return n.markers.push(i),i}},{key:"showPopup",value:function(t,o){var n=this,r=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),r.css({opacity:"0"}),r.removeClass("d-none"),r.find(".mapboxgl-popup-content .html").html(o),r.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),r.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(a.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var r=n.id,i=n.geometry.coordinates,a=n.properties.content;t.addMarker(i,{id:r,content:a,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:i[1],lng:i[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(r.a)};t.a=u},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/SilverShop.Page.CheckoutPageController.js":function(e,t,o){"use strict";o.r(t);o("./src/js/_components/_ui.map.api.js")},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/SilverShop.Page.CheckoutPageController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),i=o("./src/js/_events.js"),a=o.n(i),s=(o("./src/scss/_components/_ui.map.scss"),o("./src/js/_consts.js")),l=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();!function(e){var t="jsMapAPI",o=t,n=e("body"),r=s.a.MAP_DRIVER,i=window,u=function(){function s(i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,u=new r;l.$el=e(i);var c=l.$el,p=c.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),console.log(t+": initializing "+u.getName()+"..."),u.init(c,p),l.drv=u,c.on(a.a.MAPAPILOADED,(function(e){l.map=u.getMap(),p.geojson?(console.log(t+": setting up geocode data"),u.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),u.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),u.addMarker([p.lng,p.lat],p)),c.data(o,l),c.addClass(t+"-active"),c.trigger(a.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==i.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,u._jQueryInterface},e(i).on(a.a.AJAX+" "+a.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(r.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),i=o("./src/js/_events.js"),a=o.n(i),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},r=t.outerWidth(),i=t.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=i,n.x=r;break;case"left center":n.y=i/2,n.x=r;break;case"left bottom":n.y=0,n.x=r;break;case"center top":n.y=i,n.x=r/2;break;case"center center":n.y=i/2,n.x=r/2;break;case"center bottom":n.y=0,n.x=r/2;break;case"right top":n.y=i,n.x=0;break;case"right center":n.y=i/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=i/2,n.x=r/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},u=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var c={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return u(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,r=window;n.$el=t,n.config=o,n.markers=[],r["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,r=o.find(".mapAPI-map"),i=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},u=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(r[0],{zoom:i,center:s,fullscreenControl:!0,styles:u}),t.default_zoom=i,r.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(a.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,r={lat:t[1],lng:t[0]},i=new n.MarkerUI({position:r,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(r,o.content),t.trigger(a.a.MAPMARKERCLICK)}});return n.markers.push(i),i}},{key:"showPopup",value:function(t,o){var n=this,r=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),r.css({opacity:"0"}),r.removeClass("d-none"),r.find(".mapboxgl-popup-content .html").html(o),r.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),r.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(a.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var r=n.id,i=n.geometry.coordinates,a=n.properties.content;t.addMarker(i,{id:r,content:a,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:i[1],lng:i[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(r.a)};t.a=c},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/SilverShop.Page.CheckoutPageController.js":function(e,t,o){"use strict";o.r(t);o("./src/js/_components/_ui.map.api.js")},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
//# sourceMappingURL=app_SilverShop.Page.CheckoutPageController.js.map

View File

@ -1 +1 @@
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/SilverShop.Page.CheckoutPageController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS","jQuery"],"mappings":"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","file":"js/app_SilverShop.Page.CheckoutPageController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/SilverShop.Page.CheckoutPageController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n console.log(divWidth);\n console.log(divHeight);\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport '../_components/_ui.map.api';\n","module.exports = jQuery;"],"sourceRoot":""}
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/SilverShop.Page.CheckoutPageController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","jQuery","parseJSON","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS"],"mappings":"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","file":"js/app_SilverShop.Page.CheckoutPageController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/SilverShop.Page.CheckoutPageController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['style'] = config['style']\n ? jQuery.parseJSON(config['style'])\n : null;\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport '../_components/_ui.map.api';\n","module.exports = jQuery;"],"sourceRoot":""}

View File

@ -1,2 +1,2 @@
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/Site.Controllers.MapElementController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/scss/_components/_ui.map.scss"),o("./src/js/_consts.js")),l=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();!function(e){var t="jsMapAPI",o=t,n=e("body"),i=s.a.MAP_DRIVER,a=window,c=function(){function s(a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,c=new i;l.$el=e(a);var u=l.$el,p=u.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p["font-family"]=n.css("font-family"),console.log(t+": initializing "+c.getName()+"..."),c.init(u,p),l.drv=c,u.on(r.a.MAPAPILOADED,(function(e){l.map=c.getMap(),p.geojson?(console.log(t+": setting up geocode data"),c.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),c.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),c.addMarker([p.lng,p.lat],p)),u.data(o,l),u.addClass(t+"-active"),u.trigger(r.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==a.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,c._jQueryInterface},e(a).on(r.a.AJAX+" "+r.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(i.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},i=t.outerWidth(),a=t.outerHeight();switch(console.log(i),console.log(a),Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=a,n.x=i;break;case"left center":n.y=a/2,n.x=i;break;case"left bottom":n.y=0,n.x=i;break;case"center top":n.y=a,n.x=i/2;break;case"center center":n.y=a/2,n.x=i/2;break;case"center bottom":n.y=0,n.x=i/2;break;case"right top":n.y=a,n.x=0;break;case"right center":n.y=a/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=a/2,n.x=i/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var u={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return c(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,i=window;n.$el=t,n.config=o,n.markers=[],i["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,i=o.find(".mapAPI-map"),a=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},c=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(i[0],{zoom:a,center:s,fullscreenControl:!0,styles:c}),t.default_zoom=a,i.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(r.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,i={lat:t[1],lng:t[0]},a=new n.MarkerUI({position:i,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(i,o.content),t.trigger(r.a.MAPMARKERCLICK)}});return n.markers.push(a),a}},{key:"showPopup",value:function(t,o){var n=this,i=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),i.css({opacity:"0"}),i.removeClass("d-none"),i.find(".mapboxgl-popup-content .html").html(o),i.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),i.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(r.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var i=n.id,a=n.geometry.coordinates,r=n.properties.content;t.addMarker(a,{id:i,content:r,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:a[1],lng:a[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(i.a)};t.a=u},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/Site.Controllers.MapElementController.js":function(e,t,o){"use strict";o.r(t);var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/js/_components/_ui.map.api.js"),function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}());var l=function(e){var t=window,o=(document,e("body")),n=function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return s(t,null,[{key:"init",value:function(){this.dispose(),console.log("Initializing: LocationUI")}},{key:"initMap",value:function(){e(".mapAPI-map-container").find(".marker").on(""+r.a.MAPMARKERCLICK,(function(t){var n=e(t.currentTarget).data("id");o.find(".locations .location").removeClass("active"),o.find('.locations .location[data-id="'+n+'"]').addClass("active")})),o.find(".locations .location").on("click",(function(t){var n=e(t.currentTarget).data("id");o.find("#Marker"+n).click()})),e(".mapAPI-map-container").on(r.a.MAPPOPUPCLOSE,(function(e){o.find(".locations .location").removeClass("active")}))}},{key:"dispose",value:function(){console.log("Destroying: LocationUI")}}]),t}();return e(t).on(r.a.AJAX+" "+r.a.LOADED,(function(){n.init()})),e(t).on(r.a.MAPLOADED,(function(){n.initMap()})),n}(i.a);t.default=l},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/Site.Controllers.MapElementController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/scss/_components/_ui.map.scss"),o("./src/js/_consts.js")),l=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();!function(e){var t="jsMapAPI",o=t,n=e("body"),i=s.a.MAP_DRIVER,a=window,c=function(){function s(a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,c=new i;l.$el=e(a);var u=l.$el,p=u.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),console.log(t+": initializing "+c.getName()+"..."),c.init(u,p),l.drv=c,u.on(r.a.MAPAPILOADED,(function(e){l.map=c.getMap(),p.geojson?(console.log(t+": setting up geocode data"),c.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),c.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),c.addMarker([p.lng,p.lat],p)),u.data(o,l),u.addClass(t+"-active"),u.trigger(r.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==a.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,c._jQueryInterface},e(a).on(r.a.AJAX+" "+r.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(i.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},i=t.outerWidth(),a=t.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=a,n.x=i;break;case"left center":n.y=a/2,n.x=i;break;case"left bottom":n.y=0,n.x=i;break;case"center top":n.y=a,n.x=i/2;break;case"center center":n.y=a/2,n.x=i/2;break;case"center bottom":n.y=0,n.x=i/2;break;case"right top":n.y=a,n.x=0;break;case"right center":n.y=a/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=a/2,n.x=i/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var u={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return c(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,i=window;n.$el=t,n.config=o,n.markers=[],i["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,i=o.find(".mapAPI-map"),a=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},c=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(i[0],{zoom:a,center:s,fullscreenControl:!0,styles:c}),t.default_zoom=a,i.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(r.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,i={lat:t[1],lng:t[0]},a=new n.MarkerUI({position:i,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(i,o.content),t.trigger(r.a.MAPMARKERCLICK)}});return n.markers.push(a),a}},{key:"showPopup",value:function(t,o){var n=this,i=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),i.css({opacity:"0"}),i.removeClass("d-none"),i.find(".mapboxgl-popup-content .html").html(o),i.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),i.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(r.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var i=n.id,a=n.geometry.coordinates,r=n.properties.content;t.addMarker(a,{id:i,content:r,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:a[1],lng:a[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(i.a)};t.a=u},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/Site.Controllers.MapElementController.js":function(e,t,o){"use strict";o.r(t);var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/js/_components/_ui.map.api.js"),function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}());var l=function(e){var t=window,o=(document,e("body")),n=function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return s(t,null,[{key:"init",value:function(){this.dispose(),console.log("Initializing: LocationUI")}},{key:"initMap",value:function(){e(".mapAPI-map-container").find(".marker").on(""+r.a.MAPMARKERCLICK,(function(t){var n=e(t.currentTarget).data("id");o.find(".locations .location").removeClass("active"),o.find('.locations .location[data-id="'+n+'"]').addClass("active")})),o.find(".locations .location").on("click",(function(t){var n=e(t.currentTarget).data("id");o.find("#Marker"+n).click()})),e(".mapAPI-map-container").on(r.a.MAPPOPUPCLOSE,(function(e){o.find(".locations .location").removeClass("active")}))}},{key:"dispose",value:function(){console.log("Destroying: LocationUI")}}]),t}();return e(t).on(r.a.AJAX+" "+r.a.LOADED,(function(){n.init()})),e(t).on(r.a.MAPLOADED,(function(){n.initMap()})),n}(i.a);t.default=l},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
//# sourceMappingURL=app_Site.Controllers.MapElementController.js.map

View File

@ -1 +1 @@
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/Site.Controllers.MapElementController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS","LocationUI","$Body","dispose","currentTarget","click","initMap","jQuery"],"mappings":"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","file":"js/app_Site.Controllers.MapElementController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/Site.Controllers.MapElementController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n console.log(divWidth);\n console.log(divHeight);\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\n// Mapbox API\nimport '../_components/_ui.map.api';\n\nconst LocationUI = (($) => {\n // Constants\n const W = window;\n const D = document;\n const $Body = $('body');\n\n const NAME = 'LocationUI';\n class LocationUI {\n // Static methods\n\n static init() {\n this.dispose();\n console.log(`Initializing: ${NAME}`);\n }\n\n static initMap() {\n $('.mapAPI-map-container').find('.marker').on(`${Events.MAPMARKERCLICK}`, (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find('.locations .location').removeClass('active');\n $Body.find(`.locations .location[data-id=\"${ id }\"]`).addClass('active');\n });\n\n $Body.find('.locations .location').on('click', (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find(`#Marker${id}`).click();\n });\n\n $('.mapAPI-map-container').on(Events.MAPPOPUPCLOSE, (e) => {\n $Body.find('.locations .location').removeClass('active');\n });\n }\n\n static dispose() {\n console.log(`Destroying: ${NAME}`);\n }\n }\n\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n LocationUI.init();\n });\n\n $(W).on(Events.MAPLOADED, () => {\n LocationUI.initMap();\n });\n\n return LocationUI;\n\n})($);\n\nexport default LocationUI;\n","module.exports = jQuery;"],"sourceRoot":""}
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/Site.Controllers.MapElementController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","jQuery","parseJSON","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS","LocationUI","$Body","dispose","currentTarget","click","initMap"],"mappings":"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","file":"js/app_Site.Controllers.MapElementController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/Site.Controllers.MapElementController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['style'] = config['style']\n ? jQuery.parseJSON(config['style'])\n : null;\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\n// Mapbox API\nimport '../_components/_ui.map.api';\n\nconst LocationUI = (($) => {\n // Constants\n const W = window;\n const D = document;\n const $Body = $('body');\n\n const NAME = 'LocationUI';\n class LocationUI {\n // Static methods\n\n static init() {\n this.dispose();\n console.log(`Initializing: ${NAME}`);\n }\n\n static initMap() {\n $('.mapAPI-map-container').find('.marker').on(`${Events.MAPMARKERCLICK}`, (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find('.locations .location').removeClass('active');\n $Body.find(`.locations .location[data-id=\"${ id }\"]`).addClass('active');\n });\n\n $Body.find('.locations .location').on('click', (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find(`#Marker${id}`).click();\n });\n\n $('.mapAPI-map-container').on(Events.MAPPOPUPCLOSE, (e) => {\n $Body.find('.locations .location').removeClass('active');\n });\n }\n\n static dispose() {\n console.log(`Destroying: ${NAME}`);\n }\n }\n\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n LocationUI.init();\n });\n\n $(W).on(Events.MAPLOADED, () => {\n LocationUI.initMap();\n });\n\n return LocationUI;\n\n})($);\n\nexport default LocationUI;\n","module.exports = jQuery;"],"sourceRoot":""}

View File

@ -7,7 +7,7 @@ import '../../scss/_components/_ui.map.scss';
import CONSTS from 'js/_consts';
const MapAPI = ($ => {
const MapAPI = (($) => {
// Constants
const NAME = 'jsMapAPI';
const DATA_KEY = NAME;
@ -42,7 +42,7 @@ const MapAPI = ($ => {
Drv.init($el, config);
ui.drv = Drv;
$el.on(Events.MAPAPILOADED, e => {
$el.on(Events.MAPAPILOADED, (e) => {
ui.map = Drv.getMap();
if (config['geojson']) {
@ -51,7 +51,7 @@ const MapAPI = ($ => {
} else if (config['address']) {
console.log(config['address']);
console.log(`${NAME}: setting up address marker`);
Drv.geocode(config['address'], result => {
Drv.geocode(config['address'], (result) => {
console.log(result);
});
} else if (config['lat'] && config['lng']) {

View File

@ -4,7 +4,7 @@ import $ from 'jquery';
import Events from '../../_events';
import MarkerUI from './_map.google.marker';
const GoogleMapsDriver = ($ => {
const GoogleMapsDriver = (($) => {
class GoogleMapsDriver {
getName() {
return 'GoogleMapsDriver';
@ -39,13 +39,13 @@ const GoogleMapsDriver = ($ => {
const zoom = config['mapZoom'] ? config['mapZoom'] : 10;
const center = config['center']
? {
lat: config['center'][1],
lng: config['center'][0],
}
lat: config['center'][1],
lng: config['center'][0],
}
: {
lat: 0,
lng: 0,
};
lat: 0,
lng: 0,
};
const style = config['style'] ? config['style'] : null;
console.log(`${ui.getName()}: API is loaded`);
@ -122,7 +122,7 @@ const GoogleMapsDriver = ($ => {
$popup.find('.mapboxgl-popup-content .html').html(content);
$popup.find('.mapboxgl-popup-close-button').on('click', e => {
$popup.find('.mapboxgl-popup-close-button').on('click', (e) => {
e.preventDefault();
ui.hidePopup();
});
@ -205,7 +205,7 @@ const GoogleMapsDriver = ($ => {
const bounds = new google.maps.LatLngBounds();
// add markers to map
config['geojson'].features.forEach(marker => {
config['geojson'].features.forEach((marker) => {
const id = marker.id;
const crds = marker.geometry.coordinates;
const content = marker.properties.content;

View File

@ -16,7 +16,7 @@ const Obj = {
ui.onClick = options.onClick;
ui.onMouseOver = options.onMouseOver;
ui.isBoolean = arg => {
ui.isBoolean = (arg) => {
if (typeof arg === 'boolean') {
return true;
} else {
@ -24,7 +24,7 @@ const Obj = {
}
};
ui.isNotUndefined = arg => {
ui.isNotUndefined = (arg) => {
if (typeof arg !== 'undefined') {
return true;
} else {
@ -32,7 +32,7 @@ const Obj = {
}
};
ui.hasContent = arg => {
ui.hasContent = (arg) => {
if (arg.length > 0) {
return true;
} else {
@ -40,7 +40,7 @@ const Obj = {
}
};
ui.isString = arg => {
ui.isString = (arg) => {
if (typeof arg === 'string') {
return true;
} else {
@ -48,7 +48,7 @@ const Obj = {
}
};
ui.isFunction = arg => {
ui.isFunction = (arg) => {
if (typeof arg === 'function') {
return true;
} else {
@ -97,13 +97,13 @@ const Obj = {
ui.getPanes().overlayMouseTarget.appendChild(ui.div);
// Add listeners to the element.
google.maps.event.addDomListener(ui.div, 'click', event => {
google.maps.event.addDomListener(ui.div, 'click', (event) => {
google.maps.event.trigger(ui, 'click');
if (ui.isFunction(ui.onClick)) ui.onClick();
event.stopPropagation();
});
google.maps.event.addDomListener(ui.div, 'mouseover', event => {
google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {
google.maps.event.trigger(ui, 'mouseover');
if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();
event.stopPropagation();