IMPROVEMENT: map geocodding

This commit is contained in:
Tony Air 2019-12-18 00:07:17 +07:00
parent 11c76f75d6
commit f0742ad7b5
13 changed files with 209 additions and 56 deletions

153
dist/css/app.css vendored
View File

@ -332,6 +332,12 @@ legend {
white-space: normal;
}
@media (max-width: 1200px) {
legend {
font-size: calc(1.275rem + 0.3vw);
}
}
progress {
vertical-align: baseline;
}
@ -394,26 +400,61 @@ h1,
font-size: 2.5rem;
}
@media (max-width: 1200px) {
h1,
.h1 {
font-size: calc(1.375rem + 1.5vw);
}
}
h2,
.h2 {
font-size: 2.5rem;
}
@media (max-width: 1200px) {
h2,
.h2 {
font-size: calc(1.375rem + 1.5vw);
}
}
h3,
.h3 {
font-size: 2rem;
}
@media (max-width: 1200px) {
h3,
.h3 {
font-size: calc(1.325rem + 0.9vw);
}
}
h4,
.h4 {
font-size: 1.75rem;
}
@media (max-width: 1200px) {
h4,
.h4 {
font-size: calc(1.3rem + 0.6vw);
}
}
h5,
.h5 {
font-size: 1.5rem;
}
@media (max-width: 1200px) {
h5,
.h5 {
font-size: calc(1.275rem + 0.3vw);
}
}
h6,
.h6 {
font-size: 1.25rem;
@ -430,24 +471,48 @@ h6,
line-height: 1.2;
}
@media (max-width: 1200px) {
.display-1 {
font-size: calc(1.725rem + 5.7vw);
}
}
.display-2 {
font-size: 5.5rem;
font-weight: 300;
line-height: 1.2;
}
@media (max-width: 1200px) {
.display-2 {
font-size: calc(1.675rem + 5.1vw);
}
}
.display-3 {
font-size: 4.5rem;
font-weight: 300;
line-height: 1.2;
}
@media (max-width: 1200px) {
.display-3 {
font-size: calc(1.575rem + 3.9vw);
}
}
.display-4 {
font-size: 3.5rem;
font-weight: 300;
line-height: 1.2;
}
@media (max-width: 1200px) {
.display-4 {
font-size: calc(1.475rem + 2.7vw);
}
}
hr {
margin-top: 1rem;
margin-bottom: 1rem;
@ -7815,6 +7880,12 @@ a.badge-dark.focus {
opacity: .5;
}
@media (max-width: 1200px) {
.close {
font-size: calc(1.275rem + 0.3vw);
}
}
.close:hover {
color: #000;
text-decoration: none;
@ -14661,6 +14732,45 @@ a.text-dark:focus {
* some basic styles
*/
.pulse {
-webkit-animation: pulse 0.8s linear infinite;
animation: pulse 0.8s linear infinite;
}
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes pulse {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
div,
a,
span,
@ -15030,45 +15140,6 @@ textarea,
background: none;
}
.pulse {
-webkit-animation: pulse 0.8s linear infinite;
animation: pulse 0.8s linear infinite;
}
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes pulse {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
.row > [class^="col-"] > .card,
.row-xs > [class^="col-"] > .card {
height: 100%;
@ -15229,6 +15300,10 @@ h1.page-header.no-elements {
padding: 2rem 0;
}
.sidebar .element {
padding: 2rem 0;
}
.dynamic__elements__image__elements__elementimage .container-fluid,
.dynamic__elements__image__elements__elementimage .container-sm,
.dynamic__elements__image__elements__elementimage .container-md,

File diff suppressed because one or more lines are too long

View File

@ -9,29 +9,68 @@
}
.mapboxgl-popup {
position: absolute;
top: 0;
left: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
pointer-events: none;
font-size: .8rem;
z-index: 4;
line-height: 20px;
}
.mapboxgl-popup-anchor-bottom,
.mapboxgl-popup-anchor-bottom-left,
.mapboxgl-popup-anchor-bottom-right {
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
}
.mapboxgl-popup-content {
position: relative;
pointer-events: auto;
padding: 10px 10px 15px;
border-radius: 3px;
background: #fff;
min-width: 240px;
min-height: 5rem;
-webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);
}
.mapboxgl-popup-content .mapboxgl-popup-close-button {
.mapboxgl-popup-close-button {
position: absolute;
right: 0;
top: 0;
font-size: 2rem;
padding: .5rem;
border-top-right-radius: 3px;
}
.mapboxgl-popup-content .mapboxgl-popup-close-button:hover,
.mapboxgl-popup-content .mapboxgl-popup-close-button:focus {
.mapboxgl-popup-close-button:hover,
.mapboxgl-popup-close-button:focus {
background: #2196f3;
color: #fff;
}
.mapboxgl-popup-tip {
width: 0;
height: 0;
border: 10px solid transparent;
z-index: 1;
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
-ms-flex-item-align: center;
align-self: center;
border-bottom: none;
border-top-color: #fff;
}
.mapboxgl-marker {
width: 30px;
height: 30px;

View File

@ -1 +1 @@
{"version":3,"sources":["webpack:///./src/scss/_variables.scss","webpack:///_ui.map.scss","webpack:///./src/scss/_components/_ui.map.scss"],"names":[],"mappings":"AAyBA;;;ECtBE;;ACCF;EACI;EACA;ADEJ;;ACCA;EACI;EACA;EACA;ADEJ;;ACCA;EACI;EACA;EACA;UAAA;ADGJ;;ACNA;EAMQ;EACA;ADIR;;ACXA;;EAWY;EACA;ADKZ;;ACAA;EACI;EACA;EACA;EACA;EACA;EACA;ADGJ;;ACTA;;;;EAYQ;UAAA;ADKR","file":"css/app_SilverShop.Page.CheckoutPageController.css","sourcesContent":["@import \"_colors\";\n\n$grid-breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1390px, xxxl: 1590px) !default;\n$container-max-widths: (sm: 540px, md: 720px, lg: 960px, xl: 1140px, xxl: 1330px, xxxl: 1560px) !default;\n\n$font-family-base: \"Lato\", sans-serif !default;\n\n$font-size-base: 1rem !default;\n\n// start font-sizing from h2\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $h1-font-size !default;\n$h3-font-size: $font-size-base * 2 !default;\n$h4-font-size: $font-size-base * 1.75 !default;\n$h5-font-size: $font-size-base * 1.5 !default;\n$h6-font-size: $font-size-base * 1.25 !default;\n\n$grid-gutter-width: 2rem !default;\n$grid-gutter-height: 2rem !default;\n$grid-gutter-xs-width: $grid-gutter-width / 2 !default;\n$grid-gutter-element-height: $grid-gutter-height * 2 !default;\n\n$footer-size: 18.5rem !default;\n$footer-bar-size: 2.5rem !default;\n\n/*\n * bootstrap includes\n * keep it at the end\n */\n\n// bootstrap minify bugfix:\n$navbar-dark-toggler-icon-bg: none !default;\n$navbar-light-toggler-icon-bg: none !default;\n\n// IE > 9\n$enable-flex: true !default;\n\n@import \"~bootstrap/scss/functions\";\n@import \"~bootstrap/scss/variables\";\n@import \"~bootstrap/scss/mixins\";\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-content {\n min-width: 240px;\n min-height: 5rem;\n -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button {\n font-size: 2rem;\n padding: .5rem;\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-content .mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n -webkit-animation: pulse 0.8s linear infinite;\n animation: pulse 0.8s linear infinite;\n}\n\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-content {\n min-width: 240px;\n min-height: 5rem;\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button {\n font-size: 2rem;\n padding: .5rem;\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-content .mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n animation: pulse 0.8s linear infinite;\n}\n\n"],"sourceRoot":""}
{"version":3,"sources":["webpack:///./src/scss/_variables.scss","webpack:///_ui.map.scss","webpack:///./src/scss/_components/_ui.map.scss"],"names":[],"mappings":"AAyBA;;;ECtBE;;ACCF;EACI;EACA;ADEJ;;ACEI;EACI;EACA;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;ADGR;;ACAI;;;EAGI;EAAA;MAAA;UAAA;ADMR;;ACHI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;UAAA;ADOR;;ACJI;EACI;EACA;EACA;EACA;EACA;EACA;ADOR;;ACbK;;EAUO;EACA;ADQZ;;ACJI;EACI;EACA;EACA;EACA;ADOR;;ACJI;EACI;MAAA;EACA;EACA;ADQR;;ACLI;EACI;EACA;EACA;EACA;EACA;EACA;ADQR;;ACdK;;;;EAYO;UAAA;ADUZ","file":"css/app_SilverShop.Page.CheckoutPageController.css","sourcesContent":["@import \"_colors\";\n\n$grid-breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1390px, xxxl: 1590px) !default;\n$container-max-widths: (sm: 540px, md: 720px, lg: 960px, xl: 1140px, xxl: 1330px, xxxl: 1560px) !default;\n\n$font-family-base: \"Lato\", sans-serif !default;\n\n$font-size-base: 1rem !default;\n\n// start font-sizing from h2\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $h1-font-size !default;\n$h3-font-size: $font-size-base * 2 !default;\n$h4-font-size: $font-size-base * 1.75 !default;\n$h5-font-size: $font-size-base * 1.5 !default;\n$h6-font-size: $font-size-base * 1.25 !default;\n\n$grid-gutter-width: 2rem !default;\n$grid-gutter-height: 2rem !default;\n$grid-gutter-xs-width: $grid-gutter-width / 2 !default;\n$grid-gutter-element-height: $grid-gutter-height * 2 !default;\n\n$footer-size: 18.5rem !default;\n$footer-bar-size: 2.5rem !default;\n\n/*\n * bootstrap includes\n * keep it at the end\n */\n\n// bootstrap minify bugfix:\n$navbar-dark-toggler-icon-bg: none !default;\n$navbar-light-toggler-icon-bg: none !default;\n\n// IE > 9\n$enable-flex: true !default;\n\n$enable-responsive-font-sizes: true !default;\n\n@import \"~bootstrap/scss/functions\";\n@import \"~bootstrap/scss/variables\";\n@import \"~bootstrap/scss/mixins\";\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n position: absolute;\n top: 0;\n left: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n pointer-events: none;\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-anchor-bottom,\n.mapboxgl-popup-anchor-bottom-left,\n.mapboxgl-popup-anchor-bottom-right {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n\n.mapboxgl-popup-content {\n position: relative;\n pointer-events: auto;\n padding: 10px 10px 15px;\n border-radius: 3px;\n background: #fff;\n min-width: 240px;\n min-height: 5rem;\n -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-close-button {\n position: absolute;\n right: 0;\n top: 0;\n font-size: 2rem;\n padding: .5rem;\n border-top-right-radius: 3px;\n}\n\n.mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-popup-tip {\n width: 0;\n height: 0;\n border: 10px solid transparent;\n z-index: 1;\n}\n\n.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {\n -ms-flex-item-align: center;\n align-self: center;\n border-bottom: none;\n border-top-color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n -webkit-animation: pulse 0.8s linear infinite;\n animation: pulse 0.8s linear infinite;\n}\n\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n pointer-events: none;\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-anchor-bottom,\n.mapboxgl-popup-anchor-bottom-left,\n.mapboxgl-popup-anchor-bottom-right {\n flex-direction: column-reverse;\n}\n\n.mapboxgl-popup-content {\n position: relative;\n pointer-events: auto;\n padding: 10px 10px 15px;\n border-radius: 3px;\n background: #fff;\n min-width: 240px;\n min-height: 5rem;\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-close-button {\n position: absolute;\n right: 0;\n top: 0;\n font-size: 2rem;\n padding: .5rem;\n border-top-right-radius: 3px;\n}\n\n.mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-popup-tip {\n width: 0;\n height: 0;\n border: 10px solid transparent;\n z-index: 1;\n}\n\n.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {\n align-self: center;\n border-bottom: none;\n border-top-color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n animation: pulse 0.8s linear infinite;\n}\n\n"],"sourceRoot":""}

View File

@ -9,29 +9,68 @@
}
.mapboxgl-popup {
position: absolute;
top: 0;
left: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
pointer-events: none;
font-size: .8rem;
z-index: 4;
line-height: 20px;
}
.mapboxgl-popup-anchor-bottom,
.mapboxgl-popup-anchor-bottom-left,
.mapboxgl-popup-anchor-bottom-right {
-webkit-box-orient: vertical;
-webkit-box-direction: reverse;
-ms-flex-direction: column-reverse;
flex-direction: column-reverse;
}
.mapboxgl-popup-content {
position: relative;
pointer-events: auto;
padding: 10px 10px 15px;
border-radius: 3px;
background: #fff;
min-width: 240px;
min-height: 5rem;
-webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);
}
.mapboxgl-popup-content .mapboxgl-popup-close-button {
.mapboxgl-popup-close-button {
position: absolute;
right: 0;
top: 0;
font-size: 2rem;
padding: .5rem;
border-top-right-radius: 3px;
}
.mapboxgl-popup-content .mapboxgl-popup-close-button:hover,
.mapboxgl-popup-content .mapboxgl-popup-close-button:focus {
.mapboxgl-popup-close-button:hover,
.mapboxgl-popup-close-button:focus {
background: #2196f3;
color: #fff;
}
.mapboxgl-popup-tip {
width: 0;
height: 0;
border: 10px solid transparent;
z-index: 1;
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
-ms-flex-item-align: center;
align-self: center;
border-bottom: none;
border-top-color: #fff;
}
.mapboxgl-marker {
width: 30px;
height: 30px;

View File

@ -1 +1 @@
{"version":3,"sources":["webpack:///./src/scss/_variables.scss","webpack:///_ui.map.scss","webpack:///./src/scss/_components/_ui.map.scss"],"names":[],"mappings":"AAyBA;;;ECtBE;;ACCF;EACI;EACA;ADEJ;;ACCA;EACI;EACA;EACA;ADEJ;;ACCA;EACI;EACA;EACA;UAAA;ADGJ;;ACNA;EAMQ;EACA;ADIR;;ACXA;;EAWY;EACA;ADKZ;;ACAA;EACI;EACA;EACA;EACA;EACA;EACA;ADGJ;;ACTA;;;;EAYQ;UAAA;ADKR","file":"css/app_Site.Controllers.MapElementController.css","sourcesContent":["@import \"_colors\";\n\n$grid-breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1390px, xxxl: 1590px) !default;\n$container-max-widths: (sm: 540px, md: 720px, lg: 960px, xl: 1140px, xxl: 1330px, xxxl: 1560px) !default;\n\n$font-family-base: \"Lato\", sans-serif !default;\n\n$font-size-base: 1rem !default;\n\n// start font-sizing from h2\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $h1-font-size !default;\n$h3-font-size: $font-size-base * 2 !default;\n$h4-font-size: $font-size-base * 1.75 !default;\n$h5-font-size: $font-size-base * 1.5 !default;\n$h6-font-size: $font-size-base * 1.25 !default;\n\n$grid-gutter-width: 2rem !default;\n$grid-gutter-height: 2rem !default;\n$grid-gutter-xs-width: $grid-gutter-width / 2 !default;\n$grid-gutter-element-height: $grid-gutter-height * 2 !default;\n\n$footer-size: 18.5rem !default;\n$footer-bar-size: 2.5rem !default;\n\n/*\n * bootstrap includes\n * keep it at the end\n */\n\n// bootstrap minify bugfix:\n$navbar-dark-toggler-icon-bg: none !default;\n$navbar-light-toggler-icon-bg: none !default;\n\n// IE > 9\n$enable-flex: true !default;\n\n@import \"~bootstrap/scss/functions\";\n@import \"~bootstrap/scss/variables\";\n@import \"~bootstrap/scss/mixins\";\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-content {\n min-width: 240px;\n min-height: 5rem;\n -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button {\n font-size: 2rem;\n padding: .5rem;\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-content .mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n -webkit-animation: pulse 0.8s linear infinite;\n animation: pulse 0.8s linear infinite;\n}\n\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-content {\n min-width: 240px;\n min-height: 5rem;\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button {\n font-size: 2rem;\n padding: .5rem;\n}\n\n.mapboxgl-popup-content .mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-content .mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n animation: pulse 0.8s linear infinite;\n}\n\n"],"sourceRoot":""}
{"version":3,"sources":["webpack:///./src/scss/_variables.scss","webpack:///_ui.map.scss","webpack:///./src/scss/_components/_ui.map.scss"],"names":[],"mappings":"AAyBA;;;ECtBE;;ACCF;EACI;EACA;ADEJ;;ACEI;EACI;EACA;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;ADGR;;ACAI;;;EAGI;EAAA;MAAA;UAAA;ADMR;;ACHI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;UAAA;ADOR;;ACJI;EACI;EACA;EACA;EACA;EACA;EACA;ADOR;;ACbK;;EAUO;EACA;ADQZ;;ACJI;EACI;EACA;EACA;EACA;ADOR;;ACJI;EACI;MAAA;EACA;EACA;ADQR;;ACLI;EACI;EACA;EACA;EACA;EACA;EACA;ADQR;;ACdK;;;;EAYO;UAAA;ADUZ","file":"css/app_Site.Controllers.MapElementController.css","sourcesContent":["@import \"_colors\";\n\n$grid-breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1390px, xxxl: 1590px) !default;\n$container-max-widths: (sm: 540px, md: 720px, lg: 960px, xl: 1140px, xxl: 1330px, xxxl: 1560px) !default;\n\n$font-family-base: \"Lato\", sans-serif !default;\n\n$font-size-base: 1rem !default;\n\n// start font-sizing from h2\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $h1-font-size !default;\n$h3-font-size: $font-size-base * 2 !default;\n$h4-font-size: $font-size-base * 1.75 !default;\n$h5-font-size: $font-size-base * 1.5 !default;\n$h6-font-size: $font-size-base * 1.25 !default;\n\n$grid-gutter-width: 2rem !default;\n$grid-gutter-height: 2rem !default;\n$grid-gutter-xs-width: $grid-gutter-width / 2 !default;\n$grid-gutter-element-height: $grid-gutter-height * 2 !default;\n\n$footer-size: 18.5rem !default;\n$footer-bar-size: 2.5rem !default;\n\n/*\n * bootstrap includes\n * keep it at the end\n */\n\n// bootstrap minify bugfix:\n$navbar-dark-toggler-icon-bg: none !default;\n$navbar-light-toggler-icon-bg: none !default;\n\n// IE > 9\n$enable-flex: true !default;\n\n$enable-responsive-font-sizes: true !default;\n\n@import \"~bootstrap/scss/functions\";\n@import \"~bootstrap/scss/variables\";\n@import \"~bootstrap/scss/mixins\";\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n position: absolute;\n top: 0;\n left: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n pointer-events: none;\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-anchor-bottom,\n.mapboxgl-popup-anchor-bottom-left,\n.mapboxgl-popup-anchor-bottom-right {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n\n.mapboxgl-popup-content {\n position: relative;\n pointer-events: auto;\n padding: 10px 10px 15px;\n border-radius: 3px;\n background: #fff;\n min-width: 240px;\n min-height: 5rem;\n -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-close-button {\n position: absolute;\n right: 0;\n top: 0;\n font-size: 2rem;\n padding: .5rem;\n border-top-right-radius: 3px;\n}\n\n.mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-popup-tip {\n width: 0;\n height: 0;\n border: 10px solid transparent;\n z-index: 1;\n}\n\n.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {\n -ms-flex-item-align: center;\n align-self: center;\n border-bottom: none;\n border-top-color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n -webkit-animation: pulse 0.8s linear infinite;\n animation: pulse 0.8s linear infinite;\n}\n\n","/*\n * bootstrap includes\n * keep it at the end\n */\n\n.mapAPI-map {\n height: 30rem;\n margin-bottom: 1rem;\n}\n\n.mapboxgl-popup {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n pointer-events: none;\n font-size: .8rem;\n z-index: 4;\n line-height: 20px;\n}\n\n.mapboxgl-popup-anchor-bottom,\n.mapboxgl-popup-anchor-bottom-left,\n.mapboxgl-popup-anchor-bottom-right {\n flex-direction: column-reverse;\n}\n\n.mapboxgl-popup-content {\n position: relative;\n pointer-events: auto;\n padding: 10px 10px 15px;\n border-radius: 3px;\n background: #fff;\n min-width: 240px;\n min-height: 5rem;\n box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.4);\n}\n\n.mapboxgl-popup-close-button {\n position: absolute;\n right: 0;\n top: 0;\n font-size: 2rem;\n padding: .5rem;\n border-top-right-radius: 3px;\n}\n\n.mapboxgl-popup-close-button:hover,\n.mapboxgl-popup-close-button:focus {\n background: #2196f3;\n color: #fff;\n}\n\n.mapboxgl-popup-tip {\n width: 0;\n height: 0;\n border: 10px solid transparent;\n z-index: 1;\n}\n\n.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {\n align-self: center;\n border-bottom: none;\n border-top-color: #fff;\n}\n\n.mapboxgl-marker {\n width: 30px;\n height: 30px;\n font-size: 30px;\n cursor: pointer;\n text-align: center;\n color: #2196f3;\n}\n\n.mapboxgl-marker .marker-icon,\n.mapboxgl-marker .fas,\n.mapboxgl-marker .fab,\n.mapboxgl-marker .far {\n animation: pulse 0.8s linear infinite;\n}\n\n"],"sourceRoot":""}

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 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/SilverShop.Page.CheckoutPageController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),r=o("./src/js/_events.js"),a=o.n(r),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,r=window,u=function(){function s(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=new i;this.$el=e(r);var u=this.$el,c=u.data();c.center=[c.lng?c.lng:n.data("default-lng"),c.lat?c.lat:n.data("default-lat")],c["font-family"]=n.css("font-family"),console.log(t+": initializing "+l.getName()+"..."),this.map=l.init(u,c),u.on(a.a.MAPLOADED,(function(e){l.addGeoJson(c),console.log(t+": Map is loaded")})),u.data(o,this),u.addClass(t+"-active")}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!==r.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(r).on(a.a.AJAX+" "+a.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),r=o("./src/js/_events.js"),a=o.n(r),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.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),o={y:void 0,x:void 0};switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":o.y=e.div.offsetHeight,o.x=e.div.offsetWidth;break;case"left center":o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth;break;case"left bottom":o.y=0,o.x=e.div.offsetWidth;break;case"center top":o.y=e.div.offsetHeight,o.x=e.div.offsetWidth/2;break;case"center center":o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth/2;break;case"center bottom":o.y=0,o.x=e.div.offsetWidth/2;break;case"right top":o.y=e.div.offsetHeight,o.x=0;break;case"right center":o.y=e.div.offsetHeight/2,o.x=0;break;case"right bottom":o.y=0,o.x=0;break;default:o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth/2}e.div.style.top=t.y-o.y+"px",e.div.style.left=t.x-o.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,p={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:(c=i.a,function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return u(e,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this,n=window;o.$el=e,o.config=t,n["init"+o.getName()]=function(){o.googleApiLoaded()},c("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+t.key+"&callback=init"+o.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var e=this,t=e.$el,o=e.config,n=t.find(".mapAPI-map"),i=o.mapZoom?o.mapZoom:10,r=o.center?{lat:o.center[1],lng:o.center[0]}:{lat:0,lng:0},s=o.style?o.style:null;console.log(e.getName()+": API is loaded"),e.MarkerUI=l.init(c),e.map=new google.maps.Map(n[0],{zoom:i,center:r,fullscreenControl:!0,styles:s}),e.default_zoom=i,n.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.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.trigger(a.a.MAPLOADED)}},{key:"addMarker",value:function(e,t){var o=this,n={lat:e[1],lng:e[0]};return new o.MarkerUI({position:n,map:o.map,html:'<div class="mapboxgl-marker"><div id="Marker'+t.id+'" data-id="'+t.id+'" class="marker">'+t.icon+"</div></div>",onClick:function(){var e=c("#Marker"+t.id);o.showPopup(n,t.content),e.trigger(a.a.MAPMARKERCLICK)}})}},{key:"showPopup",value:function(e,t){var o=this,n=c(o.popup.getDiv());o.config.flyToMarker&&(o.map.setCenter(e),o.map.setZoom(18)),n.css({opacity:"0"}),n.removeClass("d-none"),o.popup.setPosition(e,["center","top"]),n.find(".mapboxgl-popup-content .html").html(t),n.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),o.hidePopup()})),n.css({"margin-left":"1rem",opacity:"1"})}},{key:"hidePopup",value:function(){c(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(a.a.MAPPOPUPCLOSE)}},{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,r=n.geometry.coordinates,a=n.properties.content;t.addMarker(r,{id:i,content:a,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:r[1],lng:r[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(){this.map.fitBounds(this.default_bounds,{padding:30})}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),e}())};t.a=p},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",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 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/SilverShop.Page.CheckoutPageController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),r=o("./src/js/_events.js"),a=o.n(r),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,r=window,c=function(){function s(r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=new i;this.$el=e(r);var c=this.$el,u=c.data();u.center=[u.lng?u.lng:n.data("default-lng"),u.lat?u.lat:n.data("default-lat")],u["font-family"]=n.css("font-family"),console.log(t+": initializing "+l.getName()+"..."),this.map=l.init(c,u),c.on(a.a.MAPLOADED,(function(e){u.geojson?(console.log(t+": setting up geocode data"),l.addGeoJson(u)):u.address?(console.log(u.address),console.log(t+": setting up address marker"),l.geocode(u.address,(function(e){console.log(e)}))):u.lat&&u.lng&&(console.log(t+": setting up single lat/lng marker"),u.icon||(u.icon='<i class="fas fa-map-marker-alt"></i>'),l.addMarker([u.lng,u.lat],u)),console.log(t+": Map is loaded")})),c.data(o,this),c.addClass(t+"-active")}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!==r.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(r).on(a.a.AJAX+" "+a.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),r=o("./src/js/_events.js"),a=o.n(r),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.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),o={y:void 0,x:void 0};switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":o.y=e.div.offsetHeight,o.x=e.div.offsetWidth;break;case"left center":o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth;break;case"left bottom":o.y=0,o.x=e.div.offsetWidth;break;case"center top":o.y=e.div.offsetHeight,o.x=e.div.offsetWidth/2;break;case"center center":o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth/2;break;case"center bottom":o.y=0,o.x=e.div.offsetWidth/2;break;case"right top":o.y=e.div.offsetHeight,o.x=0;break;case"right center":o.y=e.div.offsetHeight/2,o.x=0;break;case"right bottom":o.y=0,o.x=0;break;default:o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth/2}e.div.style.top=t.y-o.y+"px",e.div.style.left=t.x-o.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,p={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:(u=i.a,function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return c(e,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this,n=window;o.$el=e,o.config=t,o.markers=[],n["init"+o.getName()]=function(){o.googleApiLoaded()},u("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+t.key+"&callback=init"+o.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var e=this,t=e.$el,o=e.config,n=t.find(".mapAPI-map"),i=o.mapZoom?o.mapZoom:10,r=o.center?{lat:o.center[1],lng:o.center[0]}:{lat:0,lng:0},s=o.style?o.style:null;console.log(e.getName()+": API is loaded"),e.MarkerUI=l.init(u),e.map=new google.maps.Map(n[0],{zoom:i,center:r,fullscreenControl:!0,styles:s}),e.default_zoom=i,n.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.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>'}),e.geocoder=new google.maps.Geocoder,t.trigger(a.a.MAPLOADED)}},{key:"addMarker",value:function(e,t){var o=this,n={lat:e[1],lng:e[0]},i=new o.MarkerUI({position:n,map:o.map,html:'<div class="mapboxgl-marker"><div id="Marker'+t.id+'" data-id="'+t.id+'" class="marker">'+t.icon+"</div></div>",onClick:function(){var e=u("#Marker"+t.id);o.showPopup(n,t.content),e.trigger(a.a.MAPMARKERCLICK)}});return o.markers.push(i),i}},{key:"showPopup",value:function(e,t){var o=this,n=u(o.popup.getDiv());o.config.flyToMarker&&(o.map.setCenter(e),o.map.setZoom(18)),n.css({opacity:"0"}),n.removeClass("d-none"),o.popup.setPosition(e,["center","top"]),n.find(".mapboxgl-popup-content .html").html(t),n.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),o.hidePopup()})),n.css({"margin-left":"1rem",opacity:"1"})}},{key:"hidePopup",value:function(){u(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 i=n.id,r=n.geometry.coordinates,a=n.properties.content;t.addMarker(r,{id:i,content:a,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:r[1],lng:r[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)}}]),e}())};t.a=p},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",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","Drv","this","$el","config","data","css","console","log","getName","map","init","on","Events","MAPLOADED","e","addGeoJson","addClass","ui","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","trigger","stopPropagation","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","divOffset","y","undefined","x","Array","isArray","join","offsetHeight","offsetWidth","top","left","draw","ENVS","googleApiLoaded","append","$mapDiv","find","zoom","center","lat","lng","MarkerUI","Map","default_zoom","popup","crds","pos","showPopup","MAPMARKERCLICK","content","$popup","getDiv","setCenter","setZoom","setPosition","preventDefault","hidePopup","restoreBounds","MAPPOPUPCLOSE","bounds","features","geometry","coordinates","LatLngBounds","forEach","marker","id","properties","addMarker","icon","extend","fitBounds","padding","default_bounds","getZoom","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\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 ui.map = Drv.init($el, config);\n\n $el.on(Events.MAPLOADED, (e) => {\n Drv.addGeoJson(config);\n console.log(`${NAME}: Map is loaded`);\n });\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\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 =\n (options.html ?\n options.html :\n '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>'\n );\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\n // Calculate position of div\n var positionInPixels = ui.getProjection().fromLatLngToDivPixel(\n new google.maps.LatLng(ui.position)\n );\n\n // Align HTML overlay relative to original position\n var divOffset = {\n y: undefined,\n x: undefined,\n };\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'center top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'right top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = 0;\n break;\n case 'right center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = 0;\n break;\n case 'right bottom':\n divOffset.y = 0;\n divOffset.x = 0;\n break;\n default:\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - divOffset.y }px`;\n ui.div.style.left = `${positionInPixels.x - divOffset.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\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\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(`<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${config['key']}&callback=init${ui.getName()}\"></script>`);\n }\n\n googleApiLoaded() {\n const ui = this;\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 lat: config['center'][1],\n lng: config['center'][0],\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\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': '<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\n\n $el.trigger(Events.MAPLOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n\n const marker = new ui.MarkerUI({\n 'position': pos,\n 'map': ui.map,\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\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 $popup.css({\n 'opacity': '0',\n });\n $popup.removeClass('d-none');\n\n ui.popup.setPosition(pos, ['center', 'top']);\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 $popup.css({\n 'margin-left': '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 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 ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\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 MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\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","Drv","this","$el","config","data","css","console","log","getName","map","init","on","Events","MAPLOADED","e","addGeoJson","geocode","result","addMarker","addClass","ui","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","trigger","stopPropagation","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","divOffset","y","undefined","x","Array","isArray","join","offsetHeight","offsetWidth","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","find","zoom","center","lat","lng","MarkerUI","Map","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","setPosition","preventDefault","hidePopup","restoreBounds","MAPPOPUPCLOSE","addr","callback","results","status","error","latLng","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","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\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 ui.map = Drv.init($el, config);\n\n $el.on(Events.MAPLOADED, (e) => {\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 console.log(`${NAME}: Map is loaded`);\n });\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\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 =\n (options.html ?\n options.html :\n '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>'\n );\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\n // Calculate position of div\n var positionInPixels = ui.getProjection().fromLatLngToDivPixel(\n new google.maps.LatLng(ui.position)\n );\n\n // Align HTML overlay relative to original position\n var divOffset = {\n y: undefined,\n x: undefined,\n };\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'center top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'right top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = 0;\n break;\n case 'right center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = 0;\n break;\n case 'right bottom':\n divOffset.y = 0;\n divOffset.x = 0;\n break;\n default:\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - divOffset.y }px`;\n ui.div.style.left = `${positionInPixels.x - divOffset.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\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(`<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${config['key']}&callback=init${ui.getName()}\"></script>`);\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 lat: config['center'][1],\n lng: config['center'][0],\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\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': '<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\n $el.trigger(Events.MAPLOADED);\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\n const marker = new ui.MarkerUI({\n 'position': pos,\n 'map': ui.map,\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\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 $popup.css({\n 'opacity': '0',\n });\n $popup.removeClass('d-none');\n\n ui.popup.setPosition(pos, ['center', 'top']);\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 $popup.css({\n 'margin-left': '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 'address': addr,\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(`${ui.getName()}: Geocode was not successful for the following reason: ${status}`);\n }\n });\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode({\n 'location': latlng,\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(`${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`);\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 MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\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 n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",n(n.s="./src/js/types/Site.Controllers.MapElementController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,n){"use strict";var o=n("jquery"),i=n.n(o),a=n("./src/js/_events.js"),r=n.n(a),s=(n("./src/scss/_components/_ui.map.scss"),n("./src/js/_consts.js")),l=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}();!function(e){var t="jsMapAPI",n=t,o=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=new i;this.$el=e(a);var c=this.$el,u=c.data();u.center=[u.lng?u.lng:o.data("default-lng"),u.lat?u.lat:o.data("default-lat")],u["font-family"]=o.css("font-family"),console.log(t+": initializing "+l.getName()+"..."),this.map=l.init(c,u),c.on(r.a.MAPLOADED,(function(e){l.addGeoJson(u),console.log(t+": Map is loaded")})),c.data(n,this),c.addClass(t+"-active")}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],n),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==a.localStorage)return this.each((function(){var t=e(this),o=t.data(n);o||(o=new s(this),t.data(n,o))}))}}]),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,n){"use strict";var o=n("jquery"),i=n.n(o),a=n("./src/js/_events.js"),r=n.n(a),s=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),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 n=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)),o=n;return o.setMap(e.map),o.position=e.position,o.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',o.divClass=e.divClass,o.align=e.align,o.isDebugMode=e.debug,o.onClick=e.onClick,o.onMouseOver=e.onMouseOver,o.isBoolean=function(e){return"boolean"==typeof e},o.isNotUndefined=function(e){return void 0!==e},o.hasContent=function(e){return e.length>0},o.isString=function(e){return"string"==typeof e},o.isFunction=function(e){return"function"==typeof e},n}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.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0};switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=e.div.offsetHeight,n.x=e.div.offsetWidth;break;case"left center":n.y=e.div.offsetHeight/2,n.x=e.div.offsetWidth;break;case"left bottom":n.y=0,n.x=e.div.offsetWidth;break;case"center top":n.y=e.div.offsetHeight,n.x=e.div.offsetWidth/2;break;case"center center":n.y=e.div.offsetHeight/2,n.x=e.div.offsetWidth/2;break;case"center bottom":n.y=0,n.x=e.div.offsetWidth/2;break;case"right top":n.y=e.div.offsetHeight,n.x=0;break;case"right center":n.y=e.div.offsetHeight/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=e.div.offsetHeight/2,n.x=e.div.offsetWidth/2}e.div.style.top=t.y-n.y+"px",e.div.style.left=t.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 n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}();var u,p={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:(u=i.a,function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return c(e,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,o=window;n.$el=e,n.config=t,o["init"+n.getName()]=function(){n.googleApiLoaded()},u("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+t.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var e=this,t=e.$el,n=e.config,o=t.find(".mapAPI-map"),i=n.mapZoom?n.mapZoom:10,a=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},s=n.style?n.style:null;console.log(e.getName()+": API is loaded"),e.MarkerUI=l.init(u),e.map=new google.maps.Map(o[0],{zoom:i,center:a,fullscreenControl:!0,styles:s}),e.default_zoom=i,o.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.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.trigger(r.a.MAPLOADED)}},{key:"addMarker",value:function(e,t){var n=this,o={lat:e[1],lng:e[0]};return new n.MarkerUI({position:o,map:n.map,html:'<div class="mapboxgl-marker"><div id="Marker'+t.id+'" data-id="'+t.id+'" class="marker">'+t.icon+"</div></div>",onClick:function(){var e=u("#Marker"+t.id);n.showPopup(o,t.content),e.trigger(r.a.MAPMARKERCLICK)}})}},{key:"showPopup",value:function(e,t){var n=this,o=u(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(e),n.map.setZoom(18)),o.css({opacity:"0"}),o.removeClass("d-none"),n.popup.setPosition(e,["center","top"]),o.find(".mapboxgl-popup-content .html").html(t),o.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),o.css({"margin-left":"1rem",opacity:"1"})}},{key:"hidePopup",value:function(){u(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(r.a.MAPPOPUPCLOSE)}},{key:"addGeoJson",value:function(e){var t=this,n=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(o){var i=o.id,a=o.geometry.coordinates,r=o.properties.content;t.addMarker(a,{id:i,content:r,icon:o.icon,flyToMarker:e.flyToMarker}),n.extend({lat:a[1],lng:a[0]})})),t.map.fitBounds(n,{padding:30}),t.default_bounds=n,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){this.map.fitBounds(this.default_bounds,{padding:30})}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),e}())};t.a=p},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",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,n){"use strict";n.r(t);var o=n("jquery"),i=n.n(o),a=n("./src/js/_events.js"),r=n.n(a),s=(n("./src/js/_components/_ui.map.api.js"),function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}());var l=function(e){var t=window,n=(document,e("body")),o=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 o=e(t.currentTarget).data("id");n.find(".locations .location").removeClass("active"),n.find('.locations .location[data-id="'+o+'"]').addClass("active")})),n.find(".locations .location").on("click",(function(t){var o=e(t.currentTarget).data("id");n.find("#Marker"+o).click()})),e(".mapAPI-map-container").on(r.a.MAPPOPUPCLOSE,(function(e){n.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(){o.init()})),e(t).on(r.a.MAPLOADED,(function(){o.initMap()})),o}(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=new i;this.$el=e(a);var c=this.$el,u=c.data();u.center=[u.lng?u.lng:n.data("default-lng"),u.lat?u.lat:n.data("default-lat")],u["font-family"]=n.css("font-family"),console.log(t+": initializing "+l.getName()+"..."),this.map=l.init(c,u),c.on(r.a.MAPLOADED,(function(e){u.geojson?(console.log(t+": setting up geocode data"),l.addGeoJson(u)):u.address?(console.log(u.address),console.log(t+": setting up address marker"),l.geocode(u.address,(function(e){console.log(e)}))):u.lat&&u.lng&&(console.log(t+": setting up single lat/lng marker"),u.icon||(u.icon='<i class="fas fa-map-marker-alt"></i>'),l.addMarker([u.lng,u.lat],u)),console.log(t+": Map is loaded")})),c.data(o,this),c.addClass(t+"-active")}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.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),o={y:void 0,x:void 0};switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":o.y=e.div.offsetHeight,o.x=e.div.offsetWidth;break;case"left center":o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth;break;case"left bottom":o.y=0,o.x=e.div.offsetWidth;break;case"center top":o.y=e.div.offsetHeight,o.x=e.div.offsetWidth/2;break;case"center center":o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth/2;break;case"center bottom":o.y=0,o.x=e.div.offsetWidth/2;break;case"right top":o.y=e.div.offsetHeight,o.x=0;break;case"right center":o.y=e.div.offsetHeight/2,o.x=0;break;case"right bottom":o.y=0,o.x=0;break;default:o.y=e.div.offsetHeight/2,o.x=e.div.offsetWidth/2}e.div.style.top=t.y-o.y+"px",e.div.style.left=t.x-o.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,f={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:(u=i.a,function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return c(e,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this,n=window;o.$el=e,o.config=t,o.markers=[],n["init"+o.getName()]=function(){o.googleApiLoaded()},u("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+t.key+"&callback=init"+o.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var e=this,t=e.$el,o=e.config,n=t.find(".mapAPI-map"),i=o.mapZoom?o.mapZoom:10,a=o.center?{lat:o.center[1],lng:o.center[0]}:{lat:0,lng:0},s=o.style?o.style:null;console.log(e.getName()+": API is loaded"),e.MarkerUI=l.init(u),e.map=new google.maps.Map(n[0],{zoom:i,center:a,fullscreenControl:!0,styles:s}),e.default_zoom=i,n.addClass("mapboxgl-map"),e.popup=new e.MarkerUI({map:e.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>'}),e.geocoder=new google.maps.Geocoder,t.trigger(r.a.MAPLOADED)}},{key:"addMarker",value:function(e,t){var o=this,n={lat:e[1],lng:e[0]},i=new o.MarkerUI({position:n,map:o.map,html:'<div class="mapboxgl-marker"><div id="Marker'+t.id+'" data-id="'+t.id+'" class="marker">'+t.icon+"</div></div>",onClick:function(){var e=u("#Marker"+t.id);o.showPopup(n,t.content),e.trigger(r.a.MAPMARKERCLICK)}});return o.markers.push(i),i}},{key:"showPopup",value:function(e,t){var o=this,n=u(o.popup.getDiv());o.config.flyToMarker&&(o.map.setCenter(e),o.map.setZoom(18)),n.css({opacity:"0"}),n.removeClass("d-none"),o.popup.setPosition(e,["center","top"]),n.find(".mapboxgl-popup-content .html").html(t),n.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),o.hidePopup()})),n.css({"margin-left":"1rem",opacity:"1"})}},{key:"hidePopup",value:function(){u(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)}}]),e}())};t.a=f},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",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","Drv","this","$el","config","data","css","console","log","getName","map","init","on","Events","MAPLOADED","e","addGeoJson","addClass","ui","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","trigger","stopPropagation","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","divOffset","y","undefined","x","Array","isArray","join","offsetHeight","offsetWidth","top","left","draw","ENVS","googleApiLoaded","append","$mapDiv","find","zoom","center","lat","lng","MarkerUI","Map","default_zoom","popup","crds","pos","showPopup","MAPMARKERCLICK","content","$popup","getDiv","setCenter","setZoom","setPosition","preventDefault","hidePopup","restoreBounds","MAPPOPUPCLOSE","bounds","features","geometry","coordinates","LatLngBounds","forEach","marker","id","properties","addMarker","icon","extend","fitBounds","padding","default_bounds","getZoom","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\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 ui.map = Drv.init($el, config);\n\n $el.on(Events.MAPLOADED, (e) => {\n Drv.addGeoJson(config);\n console.log(`${NAME}: Map is loaded`);\n });\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\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 =\n (options.html ?\n options.html :\n '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>'\n );\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\n // Calculate position of div\n var positionInPixels = ui.getProjection().fromLatLngToDivPixel(\n new google.maps.LatLng(ui.position)\n );\n\n // Align HTML overlay relative to original position\n var divOffset = {\n y: undefined,\n x: undefined,\n };\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'center top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'right top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = 0;\n break;\n case 'right center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = 0;\n break;\n case 'right bottom':\n divOffset.y = 0;\n divOffset.x = 0;\n break;\n default:\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - divOffset.y }px`;\n ui.div.style.left = `${positionInPixels.x - divOffset.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\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\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(`<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${config['key']}&callback=init${ui.getName()}\"></script>`);\n }\n\n googleApiLoaded() {\n const ui = this;\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 lat: config['center'][1],\n lng: config['center'][0],\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\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': '<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\n\n $el.trigger(Events.MAPLOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n\n const marker = new ui.MarkerUI({\n 'position': pos,\n 'map': ui.map,\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\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 $popup.css({\n 'opacity': '0',\n });\n $popup.removeClass('d-none');\n\n ui.popup.setPosition(pos, ['center', 'top']);\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 $popup.css({\n 'margin-left': '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 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 ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\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 MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\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","Drv","this","$el","config","data","css","console","log","getName","map","init","on","Events","MAPLOADED","e","addGeoJson","geocode","result","addMarker","addClass","ui","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","trigger","stopPropagation","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","divOffset","y","undefined","x","Array","isArray","join","offsetHeight","offsetWidth","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","find","zoom","center","lat","lng","MarkerUI","Map","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","setPosition","preventDefault","hidePopup","restoreBounds","MAPPOPUPCLOSE","addr","callback","results","status","error","latLng","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","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\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 ui.map = Drv.init($el, config);\n\n $el.on(Events.MAPLOADED, (e) => {\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 console.log(`${NAME}: Map is loaded`);\n });\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\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 =\n (options.html ?\n options.html :\n '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>'\n );\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\n // Calculate position of div\n var positionInPixels = ui.getProjection().fromLatLngToDivPixel(\n new google.maps.LatLng(ui.position)\n );\n\n // Align HTML overlay relative to original position\n var divOffset = {\n y: undefined,\n x: undefined,\n };\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'left bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth;\n break;\n case 'center top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'center bottom':\n divOffset.y = 0;\n divOffset.x = ui.div.offsetWidth / 2;\n break;\n case 'right top':\n divOffset.y = ui.div.offsetHeight;\n divOffset.x = 0;\n break;\n case 'right center':\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = 0;\n break;\n case 'right bottom':\n divOffset.y = 0;\n divOffset.x = 0;\n break;\n default:\n divOffset.y = ui.div.offsetHeight / 2;\n divOffset.x = ui.div.offsetWidth / 2;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - divOffset.y }px`;\n ui.div.style.left = `${positionInPixels.x - divOffset.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\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(`<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${config['key']}&callback=init${ui.getName()}\"></script>`);\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 lat: config['center'][1],\n lng: config['center'][0],\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\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': '<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\n $el.trigger(Events.MAPLOADED);\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\n const marker = new ui.MarkerUI({\n 'position': pos,\n 'map': ui.map,\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\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 $popup.css({\n 'opacity': '0',\n });\n $popup.removeClass('d-none');\n\n ui.popup.setPosition(pos, ['center', 'top']);\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 $popup.css({\n 'margin-left': '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 'address': addr,\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(`${ui.getName()}: Geocode was not successful for the following reason: ${status}`);\n }\n });\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode({\n 'location': latlng,\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(`${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`);\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 MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\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

@ -144,7 +144,7 @@ const GoogleMapsDriver = (($) => {
const ui = this;
ui.geocoder.geocode({
'address': addr
'address': addr,
}, (results, status) => {
if (status === 'OK') {
//results[0].geometry.location;
@ -164,7 +164,7 @@ const GoogleMapsDriver = (($) => {
const ui = this;
ui.geocoder.geocode({
'location': latlng
'location': latlng,
}, (results, status) => {
if (status === 'OK') {
//results[0].formatted_address;