mirror of
https://github.com/a2nt/webpack-bootstrap-ui-kit.git
synced 2024-10-22 11:05:45 +02:00
IMPROVEMENT: load data-lazy-bg recompile
This commit is contained in:
parent
ae701b7b99
commit
079b142a40
2
dist/css/app.css
vendored
2
dist/css/app.css
vendored
@ -15117,7 +15117,7 @@ textarea,
|
|||||||
|
|
||||||
.field {
|
.field {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0.5rem 0;
|
margin: 1rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.field.composite {
|
.field.composite {
|
||||||
|
2
dist/css/app.css.map
vendored
2
dist/css/app.css.map
vendored
File diff suppressed because one or more lines are too long
4
dist/index.html
vendored
4
dist/index.html
vendored
@ -1,4 +1,4 @@
|
|||||||
<!doctype html><html lang="en"><head><title>Webpack Bootstrap 4 UI Demo</title><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="description" content=""><meta name="author" content=""><link href="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app.css" rel="stylesheet"><link href="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_SilverShop.Page.CheckoutPageController.css" rel="stylesheet"><link href="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_Site.Controllers.MapElementController.css" rel="stylesheet"></head><body data-default-lng="0" data-default-lat="0" class="is-offlines"><noscript><div class="main-bn">Please, enable javascript.</div></noscript><div id="PageTopAnchor"></div><div class="flyout-FlyoutUI"><i class="fas fa-times flyout-FlyoutUI__close"></i><h2 class="flyout-FlyoutUI__title"><i class="fas fa-asterisk"></i> Flyout Demo</h2><div class="flyout-FlyoutUI__content typography"><p>Lipsum .... .... ....</p></div></div><div class="wrapper"><header id="Header" class="bg-dark"><div class="container-fluid"><nav id="Navigation" class="fixed-top navbar-dark bg-dark navbar navbar-expand-lg dropdown-hover"><a class="navbar-brand" href="#">UI Kit</a> <button data-target="#NavbarResponsive" aria-controls="NavbarResponsive" class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div id="NavbarResponsive" class="collapse navbar-collapse"><ul class="navbar-nav mr-auto nav-fill w-100"><li class="nav-item active"><a class="nav-link js-scrollTo" href="#PageTopAnchor">Home <span class="sr-only">(current)</span></a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Slider">Slider</a></li><li class="nav-item dropdown"><a id="NavbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a><div class="dropdown-menu bg-dark" aria-labelledby="NavbarDropdown"><a class="dropdown-item" href="#">Action</a> <a class="dropdown-item js-scrollTo" href="#AccordionList">Scroll to AccordionList</a><div class="dropdown-divider"></div><a class="dropdown-item" href="https://google.com" target="_blank" rel="nofollow">Go to Google.com</a></div></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Content">Content</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#List">List</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#AccordionList">Accordion List</a></li><li><form class="form-inline my-2 my-lg-0"><input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit"><i class="fas fa-search"></i> <span class="sr-only">Search</span></button></form></li></ul></div></nav></div></header><main id="MainContent" class="page-content"><section id="Slider" class="element site__elements__sliderelement"><div class="element-container container-fluid"><div id="Carousel{$ID}" class="carousel slide js-carousel d-none d-sm-block" data-indicators="true" data-arrows="true"><div class="carousel-inner"><div class="carousel-item active"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #1</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #2</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #3</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div></div></div></div></section><section id="Lightbox" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Lightbox Demo</h2><div class="typography"><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="That's first link">Click me to start</a></p><p><a href="../src/img/photo2.jpg" data-toggle="lightbox" data-lightbox-gallery="demo">Use data-toggle="lightbox" attribute to attach lightbox action and href to specify URL.</a></p><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="Use data-title attribute to specify lightbox title">Use data-lightbox-gallery="YOUR_GALLERY_NAME" to group ligthboxes and use next/prev arrows</a></p><p data-toggle="lightbox" data-href="https://youtu.be/GgnClrx8N2k" data-lightbox-gallery="demo" data-title="Yes you can link vimeo and youtube videos as long as AJAX content">You can use data-href attribute to specify link and attach lightbox to another element</p></div></div></div></section><section id="Content" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Content Demo</h2><div class="typography"><h3><i class="fas fa-search"></i> Quick start</h3><ol><li><p>Clone quick start repository</p><pre>git clone https://github.com/a2nt/webpack-bootstrap-ui-kit-quick-start.git</pre></li><li><p>Install npm packages</p><pre>
|
<!doctype html><html lang="en"><head><title>Webpack Bootstrap 4 UI Demo</title><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="description" content=""><meta name="author" content=""><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app.css" rel="stylesheet"><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_SilverShop.Page.CheckoutPageController.css" rel="stylesheet"><link href="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/css/app_Site.Controllers.MapElementController.css" rel="stylesheet"></head><body data-default-lng="0" data-default-lat="0" class="is-offlines"><noscript><div class="main-bn">Please, enable javascript.</div></noscript><div id="PageTopAnchor"></div><div class="flyout-FlyoutUI"><i class="fas fa-times flyout-FlyoutUI__close"></i><h2 class="flyout-FlyoutUI__title"><i class="fas fa-asterisk"></i> Flyout Demo</h2><div class="flyout-FlyoutUI__content typography"><p>Lipsum .... .... ....</p></div></div><div class="wrapper"><header id="Header" class="bg-dark"><div class="container-fluid"><nav id="Navigation" class="fixed-top navbar-dark bg-dark navbar navbar-expand-lg dropdown-hover"><a class="navbar-brand" href="#">UI Kit</a> <button data-target="#NavbarResponsive" aria-controls="NavbarResponsive" class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div id="NavbarResponsive" class="collapse navbar-collapse"><ul class="navbar-nav mr-auto nav-fill w-100"><li class="nav-item active"><a class="nav-link js-scrollTo" href="#PageTopAnchor">Home <span class="sr-only">(current)</span></a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Slider">Slider</a></li><li class="nav-item dropdown"><a id="NavbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a><div class="dropdown-menu bg-dark" aria-labelledby="NavbarDropdown"><a class="dropdown-item" href="#">Action</a> <a class="dropdown-item js-scrollTo" href="#AccordionList">Scroll to AccordionList</a><div class="dropdown-divider"></div><a class="dropdown-item" href="https://google.com" target="_blank" rel="nofollow">Go to Google.com</a></div></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#Content">Content</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#List">List</a></li><li class="nav-item"><a class="nav-link js-scrollTo" href="#AccordionList">Accordion List</a></li><li><form class="form-inline my-2 my-lg-0"><input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit"><i class="fas fa-search"></i> <span class="sr-only">Search</span></button></form></li></ul></div></nav></div></header><main id="MainContent" class="page-content"><section id="Slider" class="element site__elements__sliderelement"><div class="element-container container-fluid"><div id="Carousel{$ID}" class="carousel slide js-carousel d-none d-sm-block" data-indicators="true" data-arrows="true"><div class="carousel-inner"><div class="carousel-item active"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #1</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #2</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div><div class="carousel-item"><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn-primary"><img class="d-block w-100" src="https://placehold.it/1200x600" alt="$Headline"></a><div class="carousel-caption"><div class="carousel-caption-container"><h2 class="carousel-title">$Headline #3</h2><p class="carousel-content">$Description</p><p><a href="$PageLink.Link" title="$PageLink.MenuTitle.XML" class="btn btn-default btn-lg"><i class="fas fa-bars"></i> Learn More</a></p></div></div></div></div></div></div></section><section id="Lightbox" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Lightbox Demo</h2><div class="typography"><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="That's first link">Click me to start</a></p><p><a href="../src/img/photo2.jpg" data-toggle="lightbox" data-lightbox-gallery="demo">Use data-toggle="lightbox" attribute to attach lightbox action and href to specify URL.</a></p><p><a href="../src/img/photo1.png" data-toggle="lightbox" data-lightbox-gallery="demo" data-title="Use data-title attribute to specify lightbox title">Use data-lightbox-gallery="YOUR_GALLERY_NAME" to group ligthboxes and use next/prev arrows</a></p><p data-toggle="lightbox" data-href="https://youtu.be/GgnClrx8N2k" data-lightbox-gallery="demo" data-title="Yes you can link vimeo and youtube videos as long as AJAX content">You can use data-href attribute to specify link and attach lightbox to another element</p></div></div></div></section><section id="Content" class="element dnadesign__elemental__models__elementcontent"><div class="element-container container"><div class="content-element__content"><h2 class="content-element__title">Content Demo</h2><div class="typography"><h3><i class="fas fa-search"></i> Quick start</h3><ol><li><p>Clone quick start repository</p><pre>git clone https://github.com/a2nt/webpack-bootstrap-ui-kit-quick-start.git</pre></li><li><p>Install npm packages</p><pre>
|
||||||
cd ./webpack-bootstrap-ui-kit-quick-start.git
|
cd ./webpack-bootstrap-ui-kit-quick-start.git
|
||||||
npm install
|
npm install
|
||||||
</pre></li><li><p>Edit ./src files</p></li><li><p>Start development server at https://127.0.0.1:8001/:</p><pre>yarn start</pre><p>Compile:</p><pre>yarn build</pre></li></ol><h2><i class="fas fa-search"></i> Header #2 <i class="fas fa-search"></i></h2><p><img src="https://placehold.it/200x200" alt="Test Image" class="image right">Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><ol><li>First<ul><li>First</li><li>Second<ol><li>First</li><li>Second</li><li>Third</li></ol><ul><li>First</li><li>Second</li><li>Third</li></ul></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ul></li><li><p>{paragraph} Second</p><p>{paragraph} Second #2</p></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ol><h2 class="text-center">Table #1: Default</h2><table><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table><p class="text-justify">Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><h2 class="text-center">Table #2: Border-less</h2><table class="table-none"><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table></div></div></div></section><section id="List" class="element dnadesign__elementallist__model__elementlist bg-dark"><div class="element-container container"><h2 class="list-element__title">Content Header</h2><div class="typography">Some content ...</div><div class="list-element__container row" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div></div></div></section><section id="AccordionList" class="element site__elements__accordion"><div class="element-container container"><h2 class="list-element__title">Accordion demo</h2><div class="typography">Some content ...</div><div id="AccordionExample" class="list-element__container row accordion" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading1" class="card-header"><button data-target="#Collapse1" aria-controls="Collapse1" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #1</h2></button></div><div id="Collapse1" aria-labelledby="Heading1" data-parent="#AccordionExample" class="collapse"><div class="card-body"><div class="typography"><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading2"><button data-target="#Collapse2" aria-controls="Collapse2" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse2" class="collapse" aria-labelledby="Heading2" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading3"><button data-target="#Collapse3" aria-controls="Collapse3" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #3</h2></button></div><div id="Collapse3" class="collapse" aria-labelledby="Heading3" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading4" class="card-header"><button data-target="#Collapse4" aria-controls="Collapse4" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse4" class="collapse" aria-labelledby="Heading4" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div></div></div></section><section id="MapElement" class="element site__elements__mapelement"><div class="element-container container"><h2 class="content-element__title">Find Location</h2><div class="typography"><p>Use _consts.js to change Google Maps to Mapbox.</p></div><div class="mapAPI-map-container" data-map-zoom="12" data-key="" data-map-style="mapbox://styles/mapbox/streets-v9" data-geojson="{"type":"MarkerCollection","features":[{"id":4,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin4\" data-id=\"4\" class=\"location\">\n <div class=\"fn\">Office #1<\/div>\n <div class=\"addr\">17 Lakeside Drive<\/div>\n \n \n \n <div class=\"d-none\"> U<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8827743,-74.4276612\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-74.4276612,40.8827743]}},{"id":3,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin3\" data-id=\"3\" class=\"location\">\n <div class=\"fn\">Office #2<\/div>\n <div class=\"addr\">Flower Hill Cemetery<\/div>\n \n \n \n <div class=\"d-none\"> N<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.7884708,-74.0249253\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-74.0249253,40.7884708]}},{"id":2,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin2\" data-id=\"2\" class=\"location\">\n <div class=\"fn\">Office #3<\/div>\n <div class=\"addr\">555 Phoenix Road<\/div>\n \n \n \n <div class=\"d-none\"> U<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8527479,-78.2475576\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-78.2475576,40.8527479]}},{"id":1,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin1\" data-id=\"1\" class=\"location\">\n <div class=\"fn\">Office #4<\/div>\n <div class=\"addr\">15 East Hadley Road<\/div>\n \n \n \n <div class=\"d-none\"> U<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/42.3297023,-72.5552186\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-72.5552186,42.3297023]}}]}" data-fly-to-marker="true" data-fly-to-bounds="false"><div class="mapAPI-map"></div></div><div class="locations"><div class="row"><div class="col-sm-3"><div id="MapPin4" data-id="4" class="location"><div class="fn">Office #1</div><div class="addr">17 Lakeside Drive</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8827743,-74.4276612" target="_blank">Get Directions »</a></div></div></div><div class="col-sm-3"><div id="MapPin3" data-id="3" class="location"><div class="fn">Office #2</div><div class="addr">Flower Hill Cemetery</div><div class="d-none">N</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.7884708,-74.0249253" target="_blank">Get Directions »</a></div></div></div><div class="col-sm-3"><div id="MapPin2" data-id="2" class="location"><div class="fn">Office #3</div><div class="addr">555 Phoenix Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8527479,-78.2475576" target="_blank">Get Directions »</a></div></div></div><div class="col-sm-3"><div id="MapPin1" data-id="1" class="location"><div class="fn">Office #4</div><div class="addr">15 East Hadley Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/42.3297023,-72.5552186" target="_blank">Get Directions »</a></div></div></div></div></div></div></section></main></div><footer id="Footer" class="footer site-footer"><div class="wrapper"><div class="container"><div class="row"><div class="col-sm-3">Col #1</div><div class="col-sm-3">Col #2</div><div class="col-sm-3">Col #3</div><div class="col-sm-3">Col #4</div></div></div></div><div class="footer"><div class="container"><div class="row"><div class="col-sm-8 d-flex"><div class="copyright">Copyright © 2019 - Tony Air (A2nt) Webpack Bootstrap 4 UI Kit</div><nav class="footer-nav"><ul class="list-inline d-flex"><li><a href="#">Sitemap</a></li><li><a href="#">Privacy Policy</a></li></ul></nav></div><div class="col-sm-4 text-right"><div class="credits footer__credits"><a href="https://github.com/a2nt" target="_blank" rel="nofollow"><span>Developed by</span> Tony Air</a></div></div></div></div></div></footer><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.0/css/all.css" media="all"><script src="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app.js"></script><script src="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_SilverShop.Page.CheckoutPageController.js"></script><script src="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_Site.Controllers.MapElementController.js"></script></body></html>
|
</pre></li><li><p>Edit ./src files</p></li><li><p>Start development server at https://127.0.0.1:8001/:</p><pre>yarn start</pre><p>Compile:</p><pre>yarn build</pre></li></ol><h2><i class="fas fa-search"></i> Header #2 <i class="fas fa-search"></i></h2><p><img src="https://placehold.it/200x200" alt="Test Image" class="image right">Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><ol><li>First<ul><li>First</li><li>Second<ol><li>First</li><li>Second</li><li>Third</li></ol><ul><li>First</li><li>Second</li><li>Third</li></ul></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ul></li><li><p>{paragraph} Second</p><p>{paragraph} Second #2</p></li><li><p>Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></li></ol><h2 class="text-center">Table #1: Default</h2><table><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table><p class="text-justify">Content Text Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p><h2 class="text-center">Table #2: Border-less</h2><table class="table-none"><thead><tr><th>#1</th><th>#2</th><th>#3</th></tr></thead><tbody><tr><th>#1-1</th><td>#1-2</td><td>#1-3</td></tr><tr><td>#2-1</td><td>#2-2</td><td>#2-3</td></tr><tr><th>#3-1</th><td>#3-2</td><td>#3-3</td></tr></tbody></table></div></div></div></section><section id="List" class="element dnadesign__elementallist__model__elementlist bg-dark"><div class="element-container container"><h2 class="list-element__title">Content Header</h2><div class="typography">Some content ...</div><div class="list-element__container row" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-3"><div class="element-container"><div class="content-element__content"><div class="typography"><img src="https://placehold.it/300x300" alt="Some kind image"></div></div></div></div></div></div></section><section id="AccordionList" class="element site__elements__accordion"><div class="element-container container"><h2 class="list-element__title">Accordion demo</h2><div class="typography">Some content ...</div><div id="AccordionExample" class="list-element__container row accordion" data-listelement-count="4"><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading1" class="card-header"><button data-target="#Collapse1" aria-controls="Collapse1" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #1</h2></button></div><div id="Collapse1" aria-labelledby="Heading1" data-parent="#AccordionExample" class="collapse"><div class="card-body"><div class="typography"><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading2"><button data-target="#Collapse2" aria-controls="Collapse2" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse2" class="collapse" aria-labelledby="Heading2" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div class="card-header" id="Heading3"><button data-target="#Collapse3" aria-controls="Collapse3" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #3</h2></button></div><div id="Collapse3" class="collapse" aria-labelledby="Heading3" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div><div class="element dnadesign__elemental__models__elementcontent block col-md-12 card"><div class="element-container"><div class="content-element__content"><div id="Heading4" class="card-header"><button data-target="#Collapse4" aria-controls="Collapse4" class="btn btn-link collapsed" type="button" data-toggle="collapse" aria-expanded="false"><h2 class="element__title">Content Header #2</h2></button></div><div id="Collapse4" class="collapse" aria-labelledby="Heading4" data-parent="#AccordionExample"><div class="card-body"><div class="typography"><p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p></div></div></div></div></div></div></div></div></section><section id="MapElement" class="element site__elements__mapelement"><div class="element-container container"><h2 class="content-element__title">Find Location</h2><div class="typography"><p>Use _consts.js to change Google Maps to Mapbox.</p></div><div class="mapAPI-map-container" data-map-zoom="12" data-key="" data-map-style="mapbox://styles/mapbox/streets-v9" data-geojson="{"type":"MarkerCollection","features":[{"id":4,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin4\" data-id=\"4\" class=\"location\">\n <div class=\"fn\">Office #1<\/div>\n <div class=\"addr\">17 Lakeside Drive<\/div>\n \n \n \n <div class=\"d-none\"> U<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8827743,-74.4276612\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-74.4276612,40.8827743]}},{"id":3,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin3\" data-id=\"3\" class=\"location\">\n <div class=\"fn\">Office #2<\/div>\n <div class=\"addr\">Flower Hill Cemetery<\/div>\n \n \n \n <div class=\"d-none\"> N<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.7884708,-74.0249253\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-74.0249253,40.7884708]}},{"id":2,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin2\" data-id=\"2\" class=\"location\">\n <div class=\"fn\">Office #3<\/div>\n <div class=\"addr\">555 Phoenix Road<\/div>\n \n \n \n <div class=\"d-none\"> U<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/40.8527479,-78.2475576\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-78.2475576,40.8527479]}},{"id":1,"type":"Feature","icon":"<i class=\"fas fa-map-marker-alt\"><\/i>","properties":{"content":"<div id=\"MapPin1\" data-id=\"1\" class=\"location\">\n <div class=\"fn\">Office #4<\/div>\n <div class=\"addr\">15 East Hadley Road<\/div>\n \n \n \n <div class=\"d-none\"> U<\/div>\n \n \n \n <div class=\"dir-link\">\n <a href=\"https:\/\/www.google.com\/maps\/dir\/Current+Location\/42.3297023,-72.5552186\" target=\"_blank\">Get Directions &raquo;<\/a>\n <\/div>\n<\/div>\n"},"geometry":{"type":"Point","coordinates":[-72.5552186,42.3297023]}}]}" data-fly-to-marker="true" data-fly-to-bounds="false"><div class="mapAPI-map"></div></div><div class="locations"><div class="row"><div class="col-sm-3"><div id="MapPin4" data-id="4" class="location"><div class="fn">Office #1</div><div class="addr">17 Lakeside Drive</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8827743,-74.4276612" target="_blank">Get Directions »</a></div></div></div><div class="col-sm-3"><div id="MapPin3" data-id="3" class="location"><div class="fn">Office #2</div><div class="addr">Flower Hill Cemetery</div><div class="d-none">N</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.7884708,-74.0249253" target="_blank">Get Directions »</a></div></div></div><div class="col-sm-3"><div id="MapPin2" data-id="2" class="location"><div class="fn">Office #3</div><div class="addr">555 Phoenix Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/40.8527479,-78.2475576" target="_blank">Get Directions »</a></div></div></div><div class="col-sm-3"><div id="MapPin1" data-id="1" class="location"><div class="fn">Office #4</div><div class="addr">15 East Hadley Road</div><div class="d-none">U</div><div class="dir-link"><a href="https://www.google.com/maps/dir/Current+Location/42.3297023,-72.5552186" target="_blank">Get Directions »</a></div></div></div></div></div></div></section></main></div><footer id="Footer" class="footer site-footer"><div class="wrapper"><div class="container"><div class="row"><div class="col-sm-3">Col #1</div><div class="col-sm-3">Col #2</div><div class="col-sm-3">Col #3</div><div class="col-sm-3">Col #4</div></div></div></div><div class="footer"><div class="container"><div class="row"><div class="col-sm-8 d-flex"><div class="copyright">Copyright © 2019 - Tony Air (A2nt) Webpack Bootstrap 4 UI Kit</div><nav class="footer-nav"><ul class="list-inline d-flex"><li><a href="#">Sitemap</a></li><li><a href="#">Privacy Policy</a></li></ul></nav></div><div class="col-sm-4 text-right"><div class="credits footer__credits"><a href="https://github.com/a2nt" target="_blank" rel="nofollow"><span>Developed by</span> Tony Air</a></div></div></div></div></div></footer><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.0/css/all.css" media="all"><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app.js"></script><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_SilverShop.Page.CheckoutPageController.js"></script><script src="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist/js/app_Site.Controllers.MapElementController.js"></script></body></html>
|
2
dist/js/app.js
vendored
2
dist/js/app.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/app.js.map
vendored
2
dist/js/app.js.map
vendored
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
|||||||
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/SilverShop.Page.CheckoutPageController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),i=o("./src/js/_events.js"),a=o.n(i),s=(o("./src/scss/_components/_ui.map.scss"),o("./src/js/_consts.js")),l=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();!function(e){var t="jsMapAPI",o=t,n=e("body"),r=s.a.MAP_DRIVER,i=window,u=function(){function s(i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,u=new r;l.$el=e(i);var c=l.$el,p=c.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),console.log(t+": initializing "+u.getName()+"..."),u.init(c,p),l.drv=u,c.on(a.a.MAPAPILOADED,(function(e){l.map=u.getMap(),p.geojson?(console.log(t+": setting up geocode data"),u.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),u.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),u.addMarker([p.lng,p.lat],p)),c.data(o,l),c.addClass(t+"-active"),c.trigger(a.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==i.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,u._jQueryInterface},e(i).on(a.a.AJAX+" "+a.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(r.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),i=o("./src/js/_events.js"),a=o.n(i),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},r=t.outerWidth(),i=t.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=i,n.x=r;break;case"left center":n.y=i/2,n.x=r;break;case"left bottom":n.y=0,n.x=r;break;case"center top":n.y=i,n.x=r/2;break;case"center center":n.y=i/2,n.x=r/2;break;case"center bottom":n.y=0,n.x=r/2;break;case"right top":n.y=i,n.x=0;break;case"right center":n.y=i/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=i/2,n.x=r/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},u=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var c={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return u(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,r=window;n.$el=t,n.config=o,n.markers=[],r["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,r=o.find(".mapAPI-map"),i=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},u=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(r[0],{zoom:i,center:s,fullscreenControl:!0,styles:u}),t.default_zoom=i,r.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(a.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,r={lat:t[1],lng:t[0]},i=new n.MarkerUI({position:r,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(r,o.content),t.trigger(a.a.MAPMARKERCLICK)}});return n.markers.push(i),i}},{key:"showPopup",value:function(t,o){var n=this,r=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),r.css({opacity:"0"}),r.removeClass("d-none"),r.find(".mapboxgl-popup-content .html").html(o),r.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),r.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(a.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var r=n.id,i=n.geometry.coordinates,a=n.properties.content;t.addMarker(i,{id:r,content:a,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:i[1],lng:i[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(r.a)};t.a=c},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/SilverShop.Page.CheckoutPageController.js":function(e,t,o){"use strict";o.r(t);o("./src/js/_components/_ui.map.api.js")},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
|
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/SilverShop.Page.CheckoutPageController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),a=o("./src/js/_events.js"),i=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"),r=s.a.MAP_DRIVER,a=window,u=function(){function s(a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,u=new r;l.$el=e(a);var c=l.$el,p=c.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),console.log(t+": initializing "+u.getName()+"..."),u.init(c,p),l.drv=u,c.on(i.a.MAPAPILOADED,(function(e){l.map=u.getMap(),p.geojson?(console.log(t+": setting up geocode data"),u.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),u.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),u.addMarker([p.lng,p.lat],p)),c.data(o,l),c.addClass(t+"-active"),c.trigger(i.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==a.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,u._jQueryInterface},e(a).on(i.a.AJAX+" "+i.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(r.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),r=o.n(n),a=o("./src/js/_events.js"),i=o.n(a),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},r=t.outerWidth(),a=t.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=a,n.x=r;break;case"left center":n.y=a/2,n.x=r;break;case"left bottom":n.y=0,n.x=r;break;case"center top":n.y=a,n.x=r/2;break;case"center center":n.y=a/2,n.x=r/2;break;case"center bottom":n.y=0,n.x=r/2;break;case"right top":n.y=a,n.x=0;break;case"right center":n.y=a/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=a/2,n.x=r/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},u=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var c={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return u(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,r=window;n.$el=t,n.config=o,n.markers=[],r["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,r=o.find(".mapAPI-map"),a=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},u=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(r[0],{zoom:a,center:s,fullscreenControl:!0,styles:u}),t.default_zoom=a,r.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(i.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,r={lat:t[1],lng:t[0]},a=new n.MarkerUI({position:r,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(r,o.content),t.trigger(i.a.MAPMARKERCLICK)}});return n.markers.push(a),a}},{key:"showPopup",value:function(t,o){var n=this,r=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),r.css({opacity:"0"}),r.removeClass("d-none"),r.find(".mapboxgl-popup-content .html").html(o),r.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),r.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(i.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var r=n.id,a=n.geometry.coordinates,i=n.properties.content;t.addMarker(a,{id:r,content:i,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:a[1],lng:a[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(r.a)};t.a=c},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/SilverShop.Page.CheckoutPageController.js":function(e,t,o){"use strict";o.r(t);o("./src/js/_components/_ui.map.api.js")},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
|
||||||
//# sourceMappingURL=app_SilverShop.Page.CheckoutPageController.js.map
|
//# sourceMappingURL=app_SilverShop.Page.CheckoutPageController.js.map
|
@ -1 +1 @@
|
|||||||
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/SilverShop.Page.CheckoutPageController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","jQuery","parseJSON","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS"],"mappings":"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","file":"js/app_SilverShop.Page.CheckoutPageController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/SilverShop.Page.CheckoutPageController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['style'] = config['style']\n ? jQuery.parseJSON(config['style'])\n : null;\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport '../_components/_ui.map.api';\n","module.exports = jQuery;"],"sourceRoot":""}
|
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/SilverShop.Page.CheckoutPageController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","jQuery","parseJSON","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS"],"mappings":"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","file":"js/app_SilverShop.Page.CheckoutPageController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/SilverShop.Page.CheckoutPageController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['style'] = config['style']\n ? jQuery.parseJSON(config['style'])\n : null;\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport '../_components/_ui.map.api';\n","module.exports = jQuery;"],"sourceRoot":""}
|
@ -1,2 +1,2 @@
|
|||||||
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/Site.Controllers.MapElementController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/scss/_components/_ui.map.scss"),o("./src/js/_consts.js")),l=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();!function(e){var t="jsMapAPI",o=t,n=e("body"),i=s.a.MAP_DRIVER,a=window,c=function(){function s(a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,c=new i;l.$el=e(a);var u=l.$el,p=u.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),console.log(t+": initializing "+c.getName()+"..."),c.init(u,p),l.drv=c,u.on(r.a.MAPAPILOADED,(function(e){l.map=c.getMap(),p.geojson?(console.log(t+": setting up geocode data"),c.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),c.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),c.addMarker([p.lng,p.lat],p)),u.data(o,l),u.addClass(t+"-active"),u.trigger(r.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==a.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,c._jQueryInterface},e(a).on(r.a.AJAX+" "+r.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(i.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},i=t.outerWidth(),a=t.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=a,n.x=i;break;case"left center":n.y=a/2,n.x=i;break;case"left bottom":n.y=0,n.x=i;break;case"center top":n.y=a,n.x=i/2;break;case"center center":n.y=a/2,n.x=i/2;break;case"center bottom":n.y=0,n.x=i/2;break;case"right top":n.y=a,n.x=0;break;case"right center":n.y=a/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=a/2,n.x=i/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var u={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return c(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,i=window;n.$el=t,n.config=o,n.markers=[],i["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,i=o.find(".mapAPI-map"),a=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},c=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(i[0],{zoom:a,center:s,fullscreenControl:!0,styles:c}),t.default_zoom=a,i.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(r.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,i={lat:t[1],lng:t[0]},a=new n.MarkerUI({position:i,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(i,o.content),t.trigger(r.a.MAPMARKERCLICK)}});return n.markers.push(a),a}},{key:"showPopup",value:function(t,o){var n=this,i=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),i.css({opacity:"0"}),i.removeClass("d-none"),i.find(".mapboxgl-popup-content .html").html(o),i.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),i.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(r.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var i=n.id,a=n.geometry.coordinates,r=n.properties.content;t.addMarker(a,{id:i,content:r,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:a[1],lng:a[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(i.a)};t.a=u},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/Site.Controllers.MapElementController.js":function(e,t,o){"use strict";o.r(t);var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/js/_components/_ui.map.api.js"),function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}());var l=function(e){var t=window,o=(document,e("body")),n=function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return s(t,null,[{key:"init",value:function(){this.dispose(),console.log("Initializing: LocationUI")}},{key:"initMap",value:function(){e(".mapAPI-map-container").find(".marker").on(""+r.a.MAPMARKERCLICK,(function(t){var n=e(t.currentTarget).data("id");o.find(".locations .location").removeClass("active"),o.find('.locations .location[data-id="'+n+'"]').addClass("active")})),o.find(".locations .location").on("click",(function(t){var n=e(t.currentTarget).data("id");o.find("#Marker"+n).click()})),e(".mapAPI-map-container").on(r.a.MAPPOPUPCLOSE,(function(e){o.find(".locations .location").removeClass("active")}))}},{key:"dispose",value:function(){console.log("Destroying: LocationUI")}}]),t}();return e(t).on(r.a.AJAX+" "+r.a.LOADED,(function(){n.init()})),e(t).on(r.a.MAPLOADED,(function(){n.initMap()})),n}(i.a);t.default=l},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
|
!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="/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist",o(o.s="./src/js/types/Site.Controllers.MapElementController.js")}({"./src/js/_components/_ui.map.api.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/scss/_components/_ui.map.scss"),o("./src/js/_consts.js")),l=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();!function(e){var t="jsMapAPI",o=t,n=e("body"),i=s.a.MAP_DRIVER,a=window,c=function(){function s(a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var l=this,c=new i;l.$el=e(a);var u=l.$el,p=u.data();p.center=[p.lng?p.lng:n.data("default-lng"),p.lat?p.lat:n.data("default-lat")],p.style=p.style?jQuery.parseJSON(p.style):null,p["font-family"]=n.css("font-family"),console.log(t+": initializing "+c.getName()+"..."),c.init(u,p),l.drv=c,u.on(r.a.MAPAPILOADED,(function(e){l.map=c.getMap(),p.geojson?(console.log(t+": setting up geocode data"),c.addGeoJson(p)):p.address?(console.log(p.address),console.log(t+": setting up address marker"),c.geocode(p.address,(function(e){console.log(e)}))):p.lat&&p.lng&&(console.log(t+": setting up single lat/lng marker"),p.icon||(p.icon='<i class="fas fa-map-marker-alt"></i>'),c.addMarker([p.lng,p.lat],p)),u.data(o,l),u.addClass(t+"-active"),u.trigger(r.a.MAPLOADED),console.log(t+": Map is loaded")}))}return l(s,[{key:"getMap",value:function(){return ui.map}},{key:"dispose",value:function(){this.$el=null,e.removeData(this.$el[0],o),this.$el.removeClass(t+"-active")}}],[{key:"_jQueryInterface",value:function(){if(void 0!==a.localStorage)return this.each((function(){var t=e(this),n=t.data(o);n||(n=new s(this),t.data(o,n))}))}}]),s}();e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=JQUERY_NO_CONFLICT,c._jQueryInterface},e(a).on(r.a.AJAX+" "+r.a.LOADED,(function(){e(".mapAPI-map-container").jsMapAPI()}))}(i.a)},"./src/js/_consts.js":function(e,t,o){"use strict";var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var l={init:function(){return function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=o;return n.setMap(e.map),n.position=e.position,n.html=e.html?e.html:'<div class="mapboxgl-marker"><i class="marker-icon fas fa-map-marker-alt"></i></div>',n.divClass=e.divClass,n.align=e.align,n.isDebugMode=e.debug,n.onClick=e.onClick,n.onMouseOver=e.onMouseOver,n.isBoolean=function(e){return"boolean"==typeof e},n.isNotUndefined=function(e){return void 0!==e},n.hasContent=function(e){return e.length>0},n.isString=function(e){return"string"==typeof e},n.isFunction=function(e){return"function"==typeof e},o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,google.maps.OverlayView),s(t,[{key:"onAdd",value:function(){var e=this;e.div=document.createElement("div"),e.div.style.position="absolute",e.isNotUndefined(e.divClass)&&e.hasContent(e.divClass)&&(e.div.className=e.divClass),e.isNotUndefined(e.html)&&e.hasContent(e.html)&&e.isString(e.html)&&(e.div.innerHTML=e.html),e.isBoolean(e.isDebugMode)&&e.isDebugMode&&(e.div.className="debug-mode",e.div.innerHTML='<div style="height: 10px; width: 10px; background: red; border-radius: 100%;"></div><div style="position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;">Debug mode</div>',e.div.setAttribute("style","position: absolute;border: 5px dashed red;height: 150px;width: 150px;display: flex;justify-content: center;align-items: center;")),e.getPanes().overlayMouseTarget.appendChild(e.div),google.maps.event.addDomListener(e.div,"click",(function(t){google.maps.event.trigger(e,"click"),e.isFunction(e.onClick)&&e.onClick(),t.stopPropagation()})),google.maps.event.addDomListener(e.div,"mouseover",(function(t){google.maps.event.trigger(e,"mouseover"),e.isFunction(e.onMouseOver)&&e.onMouseOver(),t.stopPropagation()}))}},{key:"draw",value:function(){var e=this,t=$(e.div).find(".mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup");t.length||(t=$(e.div));var o=e.getProjection().fromLatLngToDivPixel(new google.maps.LatLng(e.position)),n={y:void 0,x:void 0},i=t.outerWidth(),a=t.outerHeight();switch(Array.isArray(e.align)?e.align.join(" "):""){case"left top":n.y=a,n.x=i;break;case"left center":n.y=a/2,n.x=i;break;case"left bottom":n.y=0,n.x=i;break;case"center top":n.y=a,n.x=i/2;break;case"center center":n.y=a/2,n.x=i/2;break;case"center bottom":n.y=0,n.x=i/2;break;case"right top":n.y=a,n.x=0;break;case"right center":n.y=a/2,n.x=0;break;case"right bottom":n.y=0,n.x=0;break;default:n.y=a/2,n.x=i/2}e.div.style.top=o.y-n.y+"px",e.div.style.left=o.x-n.x+"px"}},{key:"getPosition",value:function(){return this.position}},{key:"getDiv",value:function(){return this.div}},{key:"setPosition",value:function(e,t){this.position=e,this.align=t,this.draw()}}]),t}()}},c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();var u={ENVS:["xs","sm","md","lg","xl","xxl","xxxl"],MAP_DRIVER:function(e){return function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return c(t,[{key:"getName",value:function(){return"GoogleMapsDriver"}},{key:"init",value:function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=this,i=window;n.$el=t,n.config=o,n.markers=[],i["init"+n.getName()]=function(){n.googleApiLoaded()},e("body").append('<script async defer src="https://maps.googleapis.com/maps/api/js?key='+o.key+"&callback=init"+n.getName()+'"><\/script>')}},{key:"googleApiLoaded",value:function(){var t=this,o=t.$el,n=t.config,i=o.find(".mapAPI-map"),a=n.mapZoom?n.mapZoom:10,s=n.center?{lat:n.center[1],lng:n.center[0]}:{lat:0,lng:0},c=n.style?n.style:null;console.log(t.getName()+": API is loaded"),t.MarkerUI=l.init(e),t.map=new google.maps.Map(i[0],{zoom:a,center:s,fullscreenControl:!0,styles:c}),t.default_zoom=a,i.addClass("mapboxgl-map"),t.popup=new t.MarkerUI({map:t.map,align:["center","top"],divClass:"mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none",html:'<div class="mapboxgl-popup-tip"></div><div class="mapboxgl-popup-content"><div class="mapboxgl-popup-close-button" type="button" aria-label="Close popup">×</div><div class="html"></div></div>'}),t.geocoder=new google.maps.Geocoder,o.trigger(r.a.MAPAPILOADED)}},{key:"addMarker",value:function(t,o){var n=this,i={lat:t[1],lng:t[0]},a=new n.MarkerUI({position:i,map:n.map,align:["center","top"],html:'<div class="mapboxgl-marker"><div id="Marker'+o.id+'" data-id="'+o.id+'" class="marker">'+o.icon+"</div></div>",onClick:function(){var t=e("#Marker"+o.id);n.showPopup(i,o.content),t.trigger(r.a.MAPMARKERCLICK)}});return n.markers.push(a),a}},{key:"showPopup",value:function(t,o){var n=this,i=e(n.popup.getDiv());n.config.flyToMarker&&(n.map.setCenter(t),n.map.setZoom(18)),i.css({opacity:"0"}),i.removeClass("d-none"),i.find(".mapboxgl-popup-content .html").html(o),i.find(".mapboxgl-popup-close-button").on("click",(function(e){e.preventDefault(),n.hidePopup()})),n.popup.setPosition(t,["center","top"]),i.css({"margin-top":"-1rem",opacity:"1"})}},{key:"hidePopup",value:function(){e(this.popup.getDiv()).addClass("d-none"),this.restoreBounds(),this.$el.trigger(r.a.MAPPOPUPCLOSE)}},{key:"geocode",value:function(e,t){var o=this;o.geocoder.geocode({address:e},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Geocode was not successful for the following reason: "+n)}))}},{key:"reverseGeocode",value:function(e,t){var o=this;o.geocoder.geocode({location:latlng},(function(e,n){if("OK"===n)return"function"==typeof t&&t(e),e;console.error(o.getName()+": Reverse Geocoding was not successful for the following reason: "+n)}))}},{key:"addGeoJson",value:function(e){var t=this,o=(e.geojson.features[0].geometry.coordinates,new google.maps.LatLngBounds);e.geojson.features.forEach((function(n){var i=n.id,a=n.geometry.coordinates,r=n.properties.content;t.addMarker(a,{id:i,content:r,icon:n.icon,flyToMarker:e.flyToMarker}),o.extend({lat:a[1],lng:a[0]})})),t.map.fitBounds(o,{padding:30}),t.default_bounds=o,t.default_zoom=t.map.getZoom()}},{key:"getMap",value:function(){return this.map}},{key:"getPopup",value:function(){return this.popup}},{key:"restoreBounds",value:function(){var e=this;e.default_bounds?e.map.fitBounds(e.default_bounds,{padding:30}):(e.markers[0]&&e.map.setCenter(e.markers[0].getPosition()),e.restoreZoom())}},{key:"restoreZoom",value:function(){this.map.setZoom(this.default_zoom)}}]),t}()}(i.a)};t.a=u},"./src/js/_events.js":function(e,t){e.exports={AJAX:"ajax-load",LOADED:"load",MAPLOADED:"map-loaded",MAPAPILOADED:"map-api-loaded",MAPMARKERCLICK:"map-marker-click",MAPPOPUPCLOSE:"map-popup-close",SCROLL:"scroll",RESIZE:"resize",SET_TARGET_UPDATE:"set-target-update",RESTORE_FIELD:"restore-field",FORM_INIT_BASICS:"form-basics",FORM_INIT_STEPPED:"form-init-stepped",FORM_INIT_VALIDATE:"form-init-validate",FORM_INIT_VALIDATE_FIELD:"form-init-validate-field",FORM_INIT_STORAGE:"form-init-storage",FORM_VALIDATION_FAILED:"form-validation-failed",FORM_STEPPED_NEW_STEP:"form-new-step",FORM_STEPPED_FIRST_STEP:"form-first-step",FORM_STEPPED_LAST_STEP:"form-last-step",FORM_FIELDS:"input,textarea,select"}},"./src/js/types/Site.Controllers.MapElementController.js":function(e,t,o){"use strict";o.r(t);var n=o("jquery"),i=o.n(n),a=o("./src/js/_events.js"),r=o.n(a),s=(o("./src/js/_components/_ui.map.api.js"),function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}());var l=function(e){var t=window,o=(document,e("body")),n=function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}return s(t,null,[{key:"init",value:function(){this.dispose(),console.log("Initializing: LocationUI")}},{key:"initMap",value:function(){e(".mapAPI-map-container").find(".marker").on(""+r.a.MAPMARKERCLICK,(function(t){var n=e(t.currentTarget).data("id");o.find(".locations .location").removeClass("active"),o.find('.locations .location[data-id="'+n+'"]').addClass("active")})),o.find(".locations .location").on("click",(function(t){var n=e(t.currentTarget).data("id");o.find("#Marker"+n).click()})),e(".mapAPI-map-container").on(r.a.MAPPOPUPCLOSE,(function(e){o.find(".locations .location").removeClass("active")}))}},{key:"dispose",value:function(){console.log("Destroying: LocationUI")}}]),t}();return e(t).on(r.a.AJAX+" "+r.a.LOADED,(function(){n.init()})),e(t).on(r.a.MAPLOADED,(function(){n.initMap()})),n}(i.a);t.default=l},"./src/scss/_components/_ui.map.scss":function(e,t){},jquery:function(e,t){e.exports=jQuery}});
|
||||||
//# sourceMappingURL=app_Site.Controllers.MapElementController.js.map
|
//# sourceMappingURL=app_Site.Controllers.MapElementController.js.map
|
@ -1 +1 @@
|
|||||||
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/Site.Controllers.MapElementController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","jQuery","parseJSON","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS","LocationUI","$Body","dispose","currentTarget","click","initMap"],"mappings":"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","file":"js/app_Site.Controllers.MapElementController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/Site.Controllers.MapElementController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['style'] = config['style']\n ? jQuery.parseJSON(config['style'])\n : null;\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\n// Mapbox API\nimport '../_components/_ui.map.api';\n\nconst LocationUI = (($) => {\n // Constants\n const W = window;\n const D = document;\n const $Body = $('body');\n\n const NAME = 'LocationUI';\n class LocationUI {\n // Static methods\n\n static init() {\n this.dispose();\n console.log(`Initializing: ${NAME}`);\n }\n\n static initMap() {\n $('.mapAPI-map-container').find('.marker').on(`${Events.MAPMARKERCLICK}`, (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find('.locations .location').removeClass('active');\n $Body.find(`.locations .location[data-id=\"${ id }\"]`).addClass('active');\n });\n\n $Body.find('.locations .location').on('click', (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find(`#Marker${id}`).click();\n });\n\n $('.mapAPI-map-container').on(Events.MAPPOPUPCLOSE, (e) => {\n $Body.find('.locations .location').removeClass('active');\n });\n }\n\n static dispose() {\n console.log(`Destroying: ${NAME}`);\n }\n }\n\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n LocationUI.init();\n });\n\n $(W).on(Events.MAPLOADED, () => {\n LocationUI.initMap();\n });\n\n return LocationUI;\n\n})($);\n\nexport default LocationUI;\n","module.exports = jQuery;"],"sourceRoot":""}
|
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/_components/_ui.map.api.js","webpack:///./src/js/_components/drivers/_map.google.marker.js","webpack:///./src/js/_components/drivers/_map.google.js","webpack:///./src/js/_consts.js","webpack:///./src/js/_events.js","webpack:///./src/js/types/Site.Controllers.MapElementController.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","$","NAME","DATA_KEY","$BODY","MAP_DRIVER","CONSTS","W","window","MapAPI","el","ui","this","Drv","$el","config","data","jQuery","parseJSON","css","console","log","getName","init","drv","on","Events","MAPAPILOADED","e","map","getMap","addGeoJson","geocode","result","addMarker","addClass","trigger","MAPLOADED","removeData","removeClass","localStorage","each","fn","_jQueryInterface","Constructor","noConflict","JQUERY_NO_CONFLICT","AJAX","LOADED","jsMapAPI","Obj","options","setMap","position","html","divClass","align","isDebugMode","debug","onClick","onMouseOver","isBoolean","arg","isNotUndefined","hasContent","length","isString","isFunction","google","maps","OverlayView","div","document","createElement","style","className","innerHTML","setAttribute","getPanes","overlayMouseTarget","appendChild","event","addDomListener","stopPropagation","$div","find","positionInPixels","getProjection","fromLatLngToDivPixel","LatLng","offset","y","undefined","x","divWidth","outerWidth","divHeight","outerHeight","Array","isArray","join","top","left","draw","ENVS","markers","googleApiLoaded","append","$mapDiv","zoom","center","lat","lng","MarkerUI","Map","fullscreenControl","styles","default_zoom","popup","geocoder","Geocoder","crds","pos","marker","showPopup","MAPMARKERCLICK","push","content","$popup","getDiv","setCenter","setZoom","opacity","preventDefault","hidePopup","setPosition","restoreBounds","MAPPOPUPCLOSE","addr","callback","address","results","status","error","latLng","location","latlng","bounds","features","geometry","coordinates","LatLngBounds","forEach","id","properties","icon","flyToMarker","extend","fitBounds","padding","default_bounds","getZoom","getPosition","restoreZoom","SCROLL","RESIZE","SET_TARGET_UPDATE","RESTORE_FIELD","FORM_INIT_BASICS","FORM_INIT_STEPPED","FORM_INIT_VALIDATE","FORM_INIT_VALIDATE_FIELD","FORM_INIT_STORAGE","FORM_VALIDATION_FAILED","FORM_STEPPED_NEW_STEP","FORM_STEPPED_FIRST_STEP","FORM_STEPPED_LAST_STEP","FORM_FIELDS","LocationUI","$Body","dispose","currentTarget","click","initMap"],"mappings":"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","file":"js/app_Site.Controllers.MapElementController.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/mnt/data/srv/dist/repositories/webpack-bootstrap-ui-kit/dist\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/js/types/Site.Controllers.MapElementController.js\");\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\nimport '../../scss/_components/_ui.map.scss';\n\nimport CONSTS from 'js/_consts';\n\nconst MapAPI = (($) => {\n // Constants\n const NAME = 'jsMapAPI';\n const DATA_KEY = NAME;\n const $BODY = $('body');\n\n const MAP_DRIVER = CONSTS['MAP_DRIVER'];\n const W = window;\n\n class MapAPI {\n // Constructor\n constructor(el) {\n const ui = this;\n const Drv = new MAP_DRIVER();\n\n ui.$el = $(el);\n\n const $el = ui.$el;\n const config = $el.data();\n\n config['center'] = [\n config['lng'] ? config['lng'] : $BODY.data('default-lng'),\n config['lat'] ? config['lat'] : $BODY.data('default-lat'),\n ];\n\n config['style'] = config['style']\n ? jQuery.parseJSON(config['style'])\n : null;\n\n config['font-family'] = $BODY.css('font-family');\n\n console.log(`${NAME}: initializing ${Drv.getName()}...`);\n Drv.init($el, config);\n ui.drv = Drv;\n\n $el.on(Events.MAPAPILOADED, (e) => {\n ui.map = Drv.getMap();\n\n if (config['geojson']) {\n console.log(`${NAME}: setting up geocode data`);\n Drv.addGeoJson(config);\n } else if (config['address']) {\n console.log(config['address']);\n console.log(`${NAME}: setting up address marker`);\n Drv.geocode(config['address'], (result) => {\n console.log(result);\n });\n } else if (config['lat'] && config['lng']) {\n console.log(`${NAME}: setting up single lat/lng marker`);\n\n if (!config['icon']) {\n config['icon'] = '<i class=\"fas fa-map-marker-alt\"></i>';\n }\n\n Drv.addMarker([config['lng'], config['lat']], config);\n }\n\n $el.data(DATA_KEY, ui);\n $el.addClass(`${NAME}-active`);\n\n $el.trigger(Events.MAPLOADED);\n console.log(`${NAME}: Map is loaded`);\n });\n }\n\n // Public methods\n getMap() {\n return ui.map;\n }\n\n dispose() {\n const ui = this;\n\n ui.$el = null;\n $.removeData(ui.$el[0], DATA_KEY);\n\n ui.$el.removeClass(`${NAME}-active`);\n }\n\n static _jQueryInterface() {\n if (typeof W.localStorage !== 'undefined') {\n return this.each(function() {\n // attach functionality to el\n const $el = $(this);\n let data = $el.data(DATA_KEY);\n\n if (!data) {\n data = new MapAPI(this);\n $el.data(DATA_KEY, data);\n }\n });\n }\n }\n }\n\n // jQuery interface\n $.fn[NAME] = MapAPI._jQueryInterface;\n $.fn[NAME].Constructor = MapAPI;\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return MapAPI._jQueryInterface;\n };\n\n // auto-apply\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n $('.mapAPI-map-container').jsMapAPI();\n });\n\n return MapAPI;\n})($);\n\nexport default MapAPI;\n","const Obj = {\n init: () => {\n class GoogleMapsHtmlOverlay extends google.maps.OverlayView {\n constructor(options) {\n super();\n const ui = this;\n\n ui.setMap(options.map);\n ui.position = options.position;\n ui.html = options.html\n ? options.html\n : '<div class=\"mapboxgl-marker\"><i class=\"marker-icon fas fa-map-marker-alt\"></i></div>';\n ui.divClass = options.divClass;\n ui.align = options.align;\n ui.isDebugMode = options.debug;\n ui.onClick = options.onClick;\n ui.onMouseOver = options.onMouseOver;\n\n ui.isBoolean = (arg) => {\n if (typeof arg === 'boolean') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isNotUndefined = (arg) => {\n if (typeof arg !== 'undefined') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.hasContent = (arg) => {\n if (arg.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isString = (arg) => {\n if (typeof arg === 'string') {\n return true;\n } else {\n return false;\n }\n };\n\n ui.isFunction = (arg) => {\n if (typeof arg === 'function') {\n return true;\n } else {\n return false;\n }\n };\n }\n onAdd() {\n const ui = this;\n\n // Create div element.\n ui.div = document.createElement('div');\n ui.div.style.position = 'absolute';\n\n // Validate and set custom div class\n if (ui.isNotUndefined(ui.divClass) && ui.hasContent(ui.divClass))\n ui.div.className = ui.divClass;\n\n // Validate and set custom HTML\n if (\n ui.isNotUndefined(ui.html) &&\n ui.hasContent(ui.html) &&\n ui.isString(ui.html)\n )\n ui.div.innerHTML = ui.html;\n\n // If debug mode is enabled custom content will be replaced with debug content\n if (ui.isBoolean(ui.isDebugMode) && ui.isDebugMode) {\n ui.div.className = 'debug-mode';\n ui.div.innerHTML =\n '<div style=\"height: 10px; width: 10px; background: red; border-radius: 100%;\"></div>' +\n '<div style=\"position: absolute; top: 5px; padding: 5px; width: 130px; text-align: center; font-size: 18px; text-transform: uppercase; font-weight: bolder; background: red; color: white; font-family: Arial;\">Debug mode</div>';\n ui.div.setAttribute(\n 'style',\n 'position: absolute;' +\n 'border: 5px dashed red;' +\n 'height: 150px;' +\n 'width: 150px;' +\n 'display: flex;' +\n 'justify-content: center;' +\n 'align-items: center;',\n );\n }\n\n // Add element to clickable layer\n ui.getPanes().overlayMouseTarget.appendChild(ui.div);\n\n // Add listeners to the element.\n google.maps.event.addDomListener(ui.div, 'click', (event) => {\n google.maps.event.trigger(ui, 'click');\n if (ui.isFunction(ui.onClick)) ui.onClick();\n event.stopPropagation();\n });\n\n google.maps.event.addDomListener(ui.div, 'mouseover', (event) => {\n google.maps.event.trigger(ui, 'mouseover');\n if (ui.isFunction(ui.onMouseOver)) ui.onMouseOver();\n event.stopPropagation();\n });\n }\n\n draw() {\n const ui = this;\n let $div = $(ui.div).find(\n '.mapboxgl-marker,.marker-pin,.mapboxgl-popup,.popup',\n );\n if (!$div.length) {\n $div = $(ui.div);\n }\n\n // Calculate position of div\n const positionInPixels = ui\n .getProjection()\n .fromLatLngToDivPixel(new google.maps.LatLng(ui.position));\n\n // Align HTML overlay relative to original position\n const offset = {\n y: undefined,\n x: undefined,\n };\n const divWidth = $div.outerWidth();\n const divHeight = $div.outerHeight();\n\n switch (Array.isArray(ui.align) ? ui.align.join(' ') : '') {\n case 'left top':\n offset.y = divHeight;\n offset.x = divWidth;\n break;\n case 'left center':\n offset.y = divHeight / 2;\n offset.x = divWidth;\n break;\n case 'left bottom':\n offset.y = 0;\n offset.x = divWidth;\n break;\n case 'center top':\n offset.y = divHeight;\n offset.x = divWidth / 2;\n break;\n case 'center center':\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n case 'center bottom':\n offset.y = 0;\n offset.x = divWidth / 2;\n break;\n case 'right top':\n offset.y = divHeight;\n offset.x = 0;\n break;\n case 'right center':\n offset.y = divHeight / 2;\n offset.x = 0;\n break;\n case 'right bottom':\n offset.y = 0;\n offset.x = 0;\n break;\n default:\n offset.y = divHeight / 2;\n offset.x = divWidth / 2;\n break;\n }\n\n // Set position\n ui.div.style.top = `${positionInPixels.y - offset.y}px`;\n ui.div.style.left = `${positionInPixels.x - offset.x}px`;\n }\n\n getPosition() {\n const ui = this;\n return ui.position;\n }\n\n getDiv() {\n const ui = this;\n return ui.div;\n }\n\n setPosition(position, align) {\n const ui = this;\n ui.position = position;\n ui.align = align;\n ui.draw();\n }\n }\n return GoogleMapsHtmlOverlay;\n },\n};\n\nexport default Obj;\n","'use strict';\n\nimport $ from 'jquery';\nimport Events from '../../_events';\nimport MarkerUI from './_map.google.marker';\n\nconst GoogleMapsDriver = (($) => {\n class GoogleMapsDriver {\n getName() {\n return 'GoogleMapsDriver';\n }\n\n init($el, config = []) {\n const ui = this;\n const W = window;\n\n ui.$el = $el;\n ui.config = config;\n ui.markers = [];\n\n W[`init${ui.getName()}`] = () => {\n ui.googleApiLoaded();\n };\n\n $('body').append(\n `<script async defer src=\"https://maps.googleapis.com/maps/api/js?key=${\n config['key']\n }&callback=init${ui.getName()}\"></script>`,\n );\n }\n\n googleApiLoaded() {\n const ui = this;\n\n const $el = ui.$el;\n const config = ui.config;\n const $mapDiv = $el.find('.mapAPI-map');\n\n const zoom = config['mapZoom'] ? config['mapZoom'] : 10;\n const center = config['center']\n ? {\n lat: config['center'][1],\n lng: config['center'][0],\n }\n : {\n lat: 0,\n lng: 0,\n };\n const style = config['style'] ? config['style'] : null;\n\n console.log(`${ui.getName()}: API is loaded`);\n // init fontawesome icons\n ui.MarkerUI = MarkerUI.init($);\n\n ui.map = new google.maps.Map($mapDiv[0], {\n zoom,\n center,\n fullscreenControl: true,\n styles: style,\n });\n\n ui.default_zoom = zoom;\n\n $mapDiv.addClass('mapboxgl-map');\n\n ui.popup = new ui.MarkerUI({\n map: ui.map,\n align: ['center', 'top'],\n divClass: 'mapboxgl-popup popup mapboxgl-popup-anchor-bottom d-none',\n html:\n '<div class=\"mapboxgl-popup-tip\"></div><div class=\"mapboxgl-popup-content\">' +\n '<div class=\"mapboxgl-popup-close-button\" type=\"button\" aria-label=\"Close popup\">×</div>' +\n '<div class=\"html\"></div>' +\n '</div>',\n });\n\n ui.geocoder = new google.maps.Geocoder();\n\n $el.trigger(Events.MAPAPILOADED);\n }\n\n addMarker(crds, config) {\n const ui = this;\n\n const pos = {\n lat: crds[1],\n lng: crds[0],\n };\n\n const marker = new ui.MarkerUI({\n position: pos,\n map: ui.map,\n align: ['center', 'top'],\n html: `<div class=\"mapboxgl-marker\"><div id=\"Marker${config['id']}\" data-id=\"${config['id']}\" class=\"marker\">${config['icon']}</div></div>`,\n onClick: () => {\n const $el = $(`#Marker${config['id']}`);\n ui.showPopup(pos, config['content']);\n\n $el.trigger(Events.MAPMARKERCLICK);\n },\n });\n\n ui.markers.push(marker);\n\n return marker;\n }\n\n showPopup(pos, content) {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n if (ui.config['flyToMarker']) {\n ui.map.setCenter(pos); // panTo\n ui.map.setZoom(18);\n }\n\n // keep it hidden to render content\n $popup.css({\n opacity: '0',\n });\n $popup.removeClass('d-none');\n\n $popup.find('.mapboxgl-popup-content .html').html(content);\n\n $popup.find('.mapboxgl-popup-close-button').on('click', (e) => {\n e.preventDefault();\n ui.hidePopup();\n });\n\n // set position when content was rendered\n ui.popup.setPosition(pos, ['center', 'top']);\n\n // display popup\n $popup.css({\n 'margin-top': '-1rem',\n opacity: '1',\n });\n }\n\n hidePopup() {\n const ui = this;\n const $popup = $(ui.popup.getDiv());\n\n $popup.addClass('d-none');\n ui.restoreBounds();\n\n ui.$el.trigger(Events.MAPPOPUPCLOSE);\n }\n\n geocode(addr, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n address: addr,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].geometry.location;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Geocode was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n reverseGeocode(latLng, callback) {\n const ui = this;\n\n ui.geocoder.geocode(\n {\n location: latlng,\n },\n (results, status) => {\n if (status === 'OK') {\n //results[0].formatted_address;\n\n if (typeof callback === 'function') {\n callback(results);\n }\n\n return results;\n } else {\n console.error(\n `${ui.getName()}: Reverse Geocoding was not successful for the following reason: ${status}`,\n );\n }\n },\n );\n }\n\n addGeoJson(config) {\n const ui = this;\n\n const firstMarker = config['geojson'].features[0].geometry.coordinates;\n //Map.setCenter(firstMarker);\n const bounds = new google.maps.LatLngBounds();\n\n // add markers to map\n config['geojson'].features.forEach((marker) => {\n const id = marker.id;\n const crds = marker.geometry.coordinates;\n const content = marker.properties.content;\n\n ui.addMarker(crds, {\n id,\n content,\n icon: marker.icon,\n flyToMarker: config['flyToMarker'],\n });\n\n bounds.extend({\n lat: crds[1],\n lng: crds[0],\n });\n });\n\n ui.map.fitBounds(bounds, {\n padding: 30,\n }); //panToBounds\n\n ui.default_bounds = bounds;\n ui.default_zoom = ui.map.getZoom();\n }\n\n getMap() {\n const ui = this;\n return ui.map;\n }\n\n getPopup() {\n const ui = this;\n return ui.popup;\n }\n\n restoreBounds() {\n const ui = this;\n\n if (ui.default_bounds) {\n ui.map.fitBounds(ui.default_bounds, {\n padding: 30,\n }); //panToBounds\n } else {\n if (ui.markers[0]) {\n ui.map.setCenter(ui.markers[0].getPosition());\n }\n\n ui.restoreZoom();\n }\n }\n\n restoreZoom() {\n const ui = this;\n\n ui.map.setZoom(ui.default_zoom);\n }\n }\n\n return GoogleMapsDriver;\n})($);\n\nexport default GoogleMapsDriver;\n","/**\n * Add your global events here\n */\n\nimport MAP_DRIVER from './_components/drivers/_map.google';\n//import MAP_DRIVER from './_components/drivers/_map.mapbox';\n\nconst CONSTS = {\n ENVS: [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n 'xxl',\n 'xxxl',\n ],\n MAP_DRIVER,\n};\n\nexport default CONSTS;\n","/**\n * Add your global events here\n */\n\nmodule.exports = {\n AJAX: 'ajax-load',\n LOADED: 'load',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select',\n};\n","\"use strict\";\n\nimport $ from 'jquery';\nimport Events from '../_events';\n\n// Mapbox API\nimport '../_components/_ui.map.api';\n\nconst LocationUI = (($) => {\n // Constants\n const W = window;\n const D = document;\n const $Body = $('body');\n\n const NAME = 'LocationUI';\n class LocationUI {\n // Static methods\n\n static init() {\n this.dispose();\n console.log(`Initializing: ${NAME}`);\n }\n\n static initMap() {\n $('.mapAPI-map-container').find('.marker').on(`${Events.MAPMARKERCLICK}`, (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find('.locations .location').removeClass('active');\n $Body.find(`.locations .location[data-id=\"${ id }\"]`).addClass('active');\n });\n\n $Body.find('.locations .location').on('click', (e) => {\n const $el = $(e.currentTarget);\n const id = $el.data('id');\n\n $Body.find(`#Marker${id}`).click();\n });\n\n $('.mapAPI-map-container').on(Events.MAPPOPUPCLOSE, (e) => {\n $Body.find('.locations .location').removeClass('active');\n });\n }\n\n static dispose() {\n console.log(`Destroying: ${NAME}`);\n }\n }\n\n $(W).on(`${Events.AJAX} ${Events.LOADED}`, () => {\n LocationUI.init();\n });\n\n $(W).on(Events.MAPLOADED, () => {\n LocationUI.initMap();\n });\n\n return LocationUI;\n\n})($);\n\nexport default LocationUI;\n","module.exports = jQuery;"],"sourceRoot":""}
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@a2nt/ss-bootstrap-ui-webpack-boilerplate",
|
"name": "@a2nt/ss-bootstrap-ui-webpack-boilerplate",
|
||||||
"version": "1.6.9",
|
"version": "1.7.0",
|
||||||
"author": "Tony Air <tony@twma.pro>",
|
"author": "Tony Air <tony@twma.pro>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"description": "This UI Kit allows you to build Bootstrap 4 webapp with some extra UI features. It's easy to extend and easy to convert HTML templates to CMS templates.",
|
"description": "This UI Kit allows you to build Bootstrap 4 webapp with some extra UI features. It's easy to extend and easy to convert HTML templates to CMS templates.",
|
||||||
|
@ -15,7 +15,7 @@ import FormBasics from './_components/_ui.form.basics';
|
|||||||
import SmoothScroll from 'smooth-scroll';
|
import SmoothScroll from 'smooth-scroll';
|
||||||
const smoothScroll = SmoothScroll();
|
const smoothScroll = SmoothScroll();
|
||||||
|
|
||||||
const MainUI = ($ => {
|
const MainUI = (($) => {
|
||||||
// Constants
|
// Constants
|
||||||
const W = window;
|
const W = window;
|
||||||
const D = document;
|
const D = document;
|
||||||
@ -174,7 +174,7 @@ const MainUI = ($ => {
|
|||||||
//
|
//
|
||||||
|
|
||||||
// scroll links
|
// scroll links
|
||||||
$('.js-scrollTo').on('click', e => {
|
$('.js-scrollTo').on('click', (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const el = e.currentTarget;
|
const el = e.currentTarget;
|
||||||
const $el = $(e.currentTarget);
|
const $el = $(e.currentTarget);
|
||||||
@ -203,7 +203,7 @@ const MainUI = ($ => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// data-set links
|
// data-set links
|
||||||
$('[data-set-target]').on('click', e => {
|
$('[data-set-target]').on('click', (e) => {
|
||||||
const $el = $(e.currentTarget);
|
const $el = $(e.currentTarget);
|
||||||
const $target = $($el.data('set-target'));
|
const $target = $($el.data('set-target'));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user