@geotrekce/geotrek-rando-widget 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/grw-app.cjs.entry.js +5 -5
- package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
- package/dist/cjs/grw-common-button_27.cjs.entry.js +496 -374
- package/dist/cjs/grw-common-button_27.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-common-button_27.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-common-button_27.cjs.entry.js.map +1 -1
- package/dist/cjs/grw-information-desk_3.cjs.entry.js +1 -1
- package/dist/cjs/grw-information-desk_3.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-information-desk_3.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-poi_3.cjs.entry.js +58 -38
- package/dist/cjs/grw-poi_3.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-poi_3.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-poi_3.cjs.entry.js.map +1 -1
- package/dist/cjs/{i18n-2df02bcf.js → i18n-736691e8.js} +5 -1
- package/dist/cjs/i18n-736691e8.js.br +0 -0
- package/dist/cjs/i18n-736691e8.js.gz +0 -0
- package/dist/cjs/i18n-736691e8.js.map +1 -0
- package/dist/collection/components/grw-app/grw-app.js +4 -4
- package/dist/collection/components/grw-app/grw-app.js.br +0 -0
- package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
- package/dist/collection/components/grw-app/grw-app.js.map +1 -1
- package/dist/collection/components/grw-common-button/grw-common-button.css +1 -0
- package/dist/collection/components/grw-common-button/grw-common-button.css.br +0 -0
- package/dist/collection/components/grw-common-button/grw-common-button.css.gz +0 -0
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js +104 -77
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.br +0 -0
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.gz +0 -0
- package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.map +1 -1
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js +185 -143
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.br +0 -0
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.gz +0 -0
- package/dist/collection/components/grw-outdoor-site-detail/grw-outdoor-site-detail.js.map +1 -1
- package/dist/collection/components/grw-poi-detail/grw-poi.js +31 -23
- package/dist/collection/components/grw-poi-detail/grw-poi.js.br +0 -0
- package/dist/collection/components/grw-poi-detail/grw-poi.js.gz +0 -0
- package/dist/collection/components/grw-poi-detail/grw-poi.js.map +1 -1
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js +13 -7
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.br +0 -0
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.gz +0 -0
- package/dist/collection/components/grw-touristic-content-card/grw-touristic-content-card.js.map +1 -1
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js +24 -16
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.br +0 -0
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.gz +0 -0
- package/dist/collection/components/grw-touristic-content-detail/grw-touristic-content-detail.js.map +1 -1
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js +13 -7
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.br +0 -0
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.gz +0 -0
- package/dist/collection/components/grw-touristic-event-card/grw-touristic-event-card.js.map +1 -1
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js +24 -16
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.br +0 -0
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.gz +0 -0
- package/dist/collection/components/grw-touristic-event-detail/grw-touristic-event-detail.js.map +1 -1
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +157 -120
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
- package/dist/collection/i18n/i18n.js +4 -0
- package/dist/collection/i18n/i18n.js.br +0 -0
- package/dist/collection/i18n/i18n.js.gz +0 -0
- package/dist/collection/i18n/i18n.js.map +1 -1
- package/dist/collection/stories/App.js +2 -1
- package/dist/collection/stories/App.js.br +0 -0
- package/dist/collection/stories/App.js.gz +0 -0
- package/dist/collection/stories/App.stories.js +1 -0
- package/dist/collection/stories/App.stories.js.br +0 -0
- package/dist/collection/stories/App.stories.js.gz +0 -0
- package/dist/esm/grw-app.entry.js +5 -5
- package/dist/esm/grw-app.entry.js.br +0 -0
- package/dist/esm/grw-app.entry.js.gz +0 -0
- package/dist/esm/grw-app.entry.js.map +1 -1
- package/dist/esm/grw-common-button_27.entry.js +496 -374
- package/dist/esm/grw-common-button_27.entry.js.br +0 -0
- package/dist/esm/grw-common-button_27.entry.js.gz +0 -0
- package/dist/esm/grw-common-button_27.entry.js.map +1 -1
- package/dist/esm/grw-information-desk_3.entry.js +1 -1
- package/dist/esm/grw-information-desk_3.entry.js.br +0 -0
- package/dist/esm/grw-information-desk_3.entry.js.gz +0 -0
- package/dist/esm/grw-poi_3.entry.js +58 -38
- package/dist/esm/grw-poi_3.entry.js.br +0 -0
- package/dist/esm/grw-poi_3.entry.js.gz +0 -0
- package/dist/esm/grw-poi_3.entry.js.map +1 -1
- package/dist/esm/{i18n-9a7ac609.js → i18n-84192695.js} +5 -1
- package/dist/esm/i18n-84192695.js.br +0 -0
- package/dist/esm/i18n-84192695.js.gz +0 -0
- package/dist/esm/i18n-84192695.js.map +1 -0
- package/dist/esm-es5/grw-app.entry.js +1 -1
- package/dist/esm-es5/grw-app.entry.js.br +0 -0
- package/dist/esm-es5/grw-app.entry.js.gz +0 -0
- package/dist/esm-es5/grw-app.entry.js.map +1 -1
- package/dist/esm-es5/grw-common-button_27.entry.js +3 -3
- package/dist/esm-es5/grw-common-button_27.entry.js.br +0 -0
- package/dist/esm-es5/grw-common-button_27.entry.js.gz +0 -0
- package/dist/esm-es5/grw-common-button_27.entry.js.map +1 -1
- package/dist/esm-es5/grw-information-desk_3.entry.js +1 -1
- package/dist/esm-es5/grw-information-desk_3.entry.js.br +0 -0
- package/dist/esm-es5/grw-information-desk_3.entry.js.gz +0 -0
- package/dist/esm-es5/grw-poi_3.entry.js +1 -1
- package/dist/esm-es5/grw-poi_3.entry.js.br +0 -0
- package/dist/esm-es5/grw-poi_3.entry.js.gz +0 -0
- package/dist/esm-es5/grw-poi_3.entry.js.map +1 -1
- package/dist/esm-es5/i18n-84192695.js +2 -0
- package/dist/esm-es5/i18n-84192695.js.br +0 -0
- package/dist/esm-es5/i18n-84192695.js.gz +0 -0
- package/dist/esm-es5/i18n-84192695.js.map +1 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-989276bc.entry.js → p-2ed1025e.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-2ed1025e.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-2ed1025e.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-6f7d6ea5.system.entry.js → p-3ea6b596.system.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-3ea6b596.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-3ea6b596.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js +10 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-45fc47d9.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js +2 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-5d955904.system.js.map +1 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js +2 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6b64ae12.js.map +1 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js +2 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-76e3667f.system.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-775aaaa7.system.js +1 -1
- package/dist/geotrek-rando-widget/p-775aaaa7.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-775aaaa7.system.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-6ac9b3f1.entry.js → p-9d7b3f9a.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-9d7b3f9a.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-9d7b3f9a.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-9d7b3f9a.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js +10 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-bee90815.system.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js +2 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-c61ad2b7.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/{p-01061bf4.system.entry.js → p-f3a9a20f.system.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-f3a9a20f.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-f3a9a20f.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-f3a9a20f.system.entry.js.map +1 -0
- package/dist/types/components/grw-outdoor-course-detail/grw-outdoor-course-detail.d.ts +3 -0
- package/dist/types/components/grw-outdoor-site-detail/grw-outdoor-site-detail.d.ts +3 -0
- package/dist/types/components/grw-poi-detail/grw-poi.d.ts +2 -0
- package/dist/types/components/grw-touristic-content-card/grw-touristic-content-card.d.ts +2 -0
- package/dist/types/components/grw-touristic-content-detail/grw-touristic-content-detail.d.ts +2 -0
- package/dist/types/components/grw-touristic-event-card/grw-touristic-event-card.d.ts +2 -0
- package/dist/types/components/grw-touristic-event-detail/grw-touristic-event-detail.d.ts +2 -0
- package/dist/types/components/grw-trek-detail/grw-trek-detail.d.ts +1 -0
- package/dist/types/i18n/i18n.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cjs/i18n-2df02bcf.js.br +0 -0
- package/dist/cjs/i18n-2df02bcf.js.gz +0 -0
- package/dist/cjs/i18n-2df02bcf.js.map +0 -1
- package/dist/esm/i18n-9a7ac609.js.br +0 -0
- package/dist/esm/i18n-9a7ac609.js.gz +0 -0
- package/dist/esm/i18n-9a7ac609.js.map +0 -1
- package/dist/esm-es5/i18n-9a7ac609.js +0 -2
- package/dist/esm-es5/i18n-9a7ac609.js.br +0 -0
- package/dist/esm-es5/i18n-9a7ac609.js.gz +0 -0
- package/dist/esm-es5/i18n-9a7ac609.js.map +0 -1
- package/dist/geotrek-rando-widget/p-01061bf4.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-01061bf4.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-01061bf4.system.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-105ea0c8.js +0 -2
- package/dist/geotrek-rando-widget/p-105ea0c8.js.br +0 -0
- package/dist/geotrek-rando-widget/p-105ea0c8.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-105ea0c8.js.map +0 -1
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js +0 -2
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-2b7b2f0b.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-6ac9b3f1.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6ac9b3f1.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6ac9b3f1.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-6f7d6ea5.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6f7d6ea5.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js +0 -10
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-7e28980f.system.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-989276bc.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-989276bc.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js +0 -10
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-a2af6c11.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-b4942f58.system.js +0 -2
- package/dist/geotrek-rando-widget/p-b4942f58.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-b4942f58.system.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-b4942f58.system.js.map +0 -1
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js +0 -2
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-c5a341b3.system.entry.js.map +0 -1
- /package/dist/geotrek-rando-widget/{p-989276bc.entry.js.map → p-2ed1025e.entry.js.map} +0 -0
- /package/dist/geotrek-rando-widget/{p-6f7d6ea5.system.entry.js.map → p-3ea6b596.system.entry.js.map} +0 -0
|
@@ -27,97 +27,116 @@ export class GrwOutdoorCourseDetail {
|
|
|
27
27
|
this.currentOutdoorCourse = undefined;
|
|
28
28
|
this.offline = false;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
this.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
pagination: { el: this.paginationElImagesRef },
|
|
38
|
-
allowTouchMove: false,
|
|
39
|
-
keyboard: false,
|
|
40
|
-
loop: true,
|
|
41
|
-
});
|
|
42
|
-
this.swiperImagesRef.onfullscreenchange = () => {
|
|
43
|
-
this.displayFullscreen = !this.displayFullscreen;
|
|
44
|
-
this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();
|
|
45
|
-
};
|
|
46
|
-
this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {
|
|
47
|
-
modules: [FreeMode, Mousewheel, Scrollbar],
|
|
48
|
-
slidesPerView: 1.5,
|
|
49
|
-
spaceBetween: 20,
|
|
50
|
-
grabCursor: true,
|
|
51
|
-
freeMode: true,
|
|
52
|
-
mousewheel: { forceToAxis: true },
|
|
53
|
-
scrollbar: {
|
|
54
|
-
draggable: true,
|
|
55
|
-
hide: false,
|
|
56
|
-
el: this.touristicContentsSwiperScrollbar,
|
|
57
|
-
},
|
|
58
|
-
breakpointsBase: 'container',
|
|
59
|
-
breakpoints: {
|
|
60
|
-
'540': {
|
|
61
|
-
slidesPerView: 2.5,
|
|
30
|
+
handleSwipers() {
|
|
31
|
+
if (this.swiperImagesRef && !this.swiperImages) {
|
|
32
|
+
this.swiperImages = new Swiper(this.swiperImagesRef, {
|
|
33
|
+
modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],
|
|
34
|
+
navigation: {
|
|
35
|
+
prevEl: this.prevElImagesRef,
|
|
36
|
+
nextEl: this.nextElImagesRef,
|
|
62
37
|
},
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
38
|
+
pagination: { el: this.paginationElImagesRef },
|
|
39
|
+
allowTouchMove: false,
|
|
40
|
+
keyboard: false,
|
|
41
|
+
loop: true,
|
|
42
|
+
});
|
|
43
|
+
this.swiperImagesRef.onfullscreenchange = () => {
|
|
44
|
+
this.displayFullscreen = !this.displayFullscreen;
|
|
45
|
+
this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (this.swiperTouristicContentsRef && !this.swiperTouristicContents) {
|
|
49
|
+
this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {
|
|
50
|
+
modules: [FreeMode, Mousewheel, Scrollbar],
|
|
51
|
+
slidesPerView: 1.5,
|
|
52
|
+
spaceBetween: 20,
|
|
53
|
+
grabCursor: true,
|
|
54
|
+
freeMode: true,
|
|
55
|
+
mousewheel: { forceToAxis: true },
|
|
56
|
+
scrollbar: {
|
|
57
|
+
draggable: true,
|
|
58
|
+
hide: false,
|
|
59
|
+
el: this.touristicContentsSwiperScrollbar,
|
|
82
60
|
},
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
freeMode: true,
|
|
92
|
-
mousewheel: { forceToAxis: true },
|
|
93
|
-
scrollbar: {
|
|
94
|
-
draggable: true,
|
|
95
|
-
hide: false,
|
|
96
|
-
el: this.poisSwiperScrollbar,
|
|
97
|
-
},
|
|
98
|
-
breakpointsBase: 'container',
|
|
99
|
-
breakpoints: {
|
|
100
|
-
'540': {
|
|
101
|
-
slidesPerView: 2.5,
|
|
61
|
+
breakpointsBase: 'container',
|
|
62
|
+
breakpoints: {
|
|
63
|
+
'540': {
|
|
64
|
+
slidesPerView: 2.5,
|
|
65
|
+
},
|
|
66
|
+
'1024': {
|
|
67
|
+
slidesPerView: 4,
|
|
68
|
+
},
|
|
102
69
|
},
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
if (this.
|
|
70
|
+
loop: false,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (this.swiperTouristicEventsRef && !this.swiperTouristicEvents) {
|
|
74
|
+
this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {
|
|
75
|
+
modules: [FreeMode, Mousewheel, Scrollbar],
|
|
76
|
+
slidesPerView: 1.5,
|
|
77
|
+
spaceBetween: 20,
|
|
78
|
+
grabCursor: true,
|
|
79
|
+
freeMode: true,
|
|
80
|
+
mousewheel: { forceToAxis: true },
|
|
81
|
+
scrollbar: {
|
|
82
|
+
draggable: true,
|
|
83
|
+
hide: false,
|
|
84
|
+
el: this.touristicEventsSwiperScrollbar,
|
|
85
|
+
},
|
|
86
|
+
breakpointsBase: 'container',
|
|
87
|
+
breakpoints: {
|
|
88
|
+
'540': {
|
|
89
|
+
slidesPerView: 2.5,
|
|
90
|
+
},
|
|
91
|
+
'1024': {
|
|
92
|
+
slidesPerView: 4,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
loop: false,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if (this.swiperPoisRef && !this.swiperPois) {
|
|
99
|
+
this.swiperPois = new Swiper(this.swiperPoisRef, {
|
|
100
|
+
modules: [FreeMode, Mousewheel, Scrollbar],
|
|
101
|
+
slidesPerView: 1.5,
|
|
102
|
+
spaceBetween: 20,
|
|
103
|
+
grabCursor: true,
|
|
104
|
+
freeMode: true,
|
|
105
|
+
mousewheel: { forceToAxis: true },
|
|
106
|
+
scrollbar: {
|
|
107
|
+
draggable: true,
|
|
108
|
+
hide: false,
|
|
109
|
+
el: this.poisSwiperScrollbar,
|
|
110
|
+
},
|
|
111
|
+
breakpointsBase: 'container',
|
|
112
|
+
breakpoints: {
|
|
113
|
+
'540': {
|
|
114
|
+
slidesPerView: 2.5,
|
|
115
|
+
},
|
|
116
|
+
'1024': {
|
|
117
|
+
slidesPerView: 4,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
loop: false,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
handleObservers() {
|
|
125
|
+
if (this.poiRef && !this.poiObserver) {
|
|
107
126
|
this.poiObserver = new IntersectionObserver(entries => {
|
|
108
127
|
const isIntersecting = entries[0].isIntersecting;
|
|
109
128
|
this.poiIsInViewport.emit(isIntersecting);
|
|
110
129
|
}, { threshold });
|
|
111
130
|
this.poiObserver.observe(this.poiRef);
|
|
112
131
|
}
|
|
113
|
-
if (this.touristicContentsRef) {
|
|
132
|
+
if (this.touristicContentsRef && !this.touristicContentObserver) {
|
|
114
133
|
this.touristicContentObserver = new IntersectionObserver(entries => {
|
|
115
134
|
const isIntersecting = entries[0].isIntersecting;
|
|
116
135
|
this.touristicContentsIsInViewport.emit(isIntersecting);
|
|
117
136
|
}, { threshold });
|
|
118
137
|
this.touristicContentObserver.observe(this.touristicContentsRef);
|
|
119
138
|
}
|
|
120
|
-
if (this.touristicEventsRef) {
|
|
139
|
+
if (this.touristicEventsRef && !this.touristicEventObserver) {
|
|
121
140
|
this.touristicEventObserver = new IntersectionObserver(entries => {
|
|
122
141
|
const isIntersecting = entries[0].isIntersecting;
|
|
123
142
|
this.touristicEventsIsInViewport.emit(isIntersecting);
|
|
@@ -125,6 +144,14 @@ export class GrwOutdoorCourseDetail {
|
|
|
125
144
|
this.touristicEventObserver.observe(this.touristicEventsRef);
|
|
126
145
|
}
|
|
127
146
|
}
|
|
147
|
+
componentDidUpdate() {
|
|
148
|
+
this.handleObservers();
|
|
149
|
+
this.handleSwipers();
|
|
150
|
+
}
|
|
151
|
+
componentDidLoad() {
|
|
152
|
+
this.handleObservers();
|
|
153
|
+
this.handleSwipers();
|
|
154
|
+
}
|
|
128
155
|
async connectedCallback() {
|
|
129
156
|
if (state.currentOutdoorCourse) {
|
|
130
157
|
this.currentOutdoorCourse = state.currentOutdoorCourse;
|
|
@@ -154,7 +181,7 @@ export class GrwOutdoorCourseDetail {
|
|
|
154
181
|
const outdoorRatings = state.outdoorRatings && this.currentOutdoorCourse && state.outdoorRatings.filter(outdoorRating => this.currentOutdoorCourse.ratings.includes(outdoorRating.id));
|
|
155
182
|
const currentOutdoorCoursesRatingsScales = outdoorRatings && [...new Set(outdoorRatings.map(outdoorRating => outdoorRating.scale))];
|
|
156
183
|
const outdoorRatingsScales = currentOutdoorCoursesRatingsScales && state.outdoorRatingsScale.filter(outdoorRatingsScale => currentOutdoorCoursesRatingsScales.includes(outdoorRatingsScale.id));
|
|
157
|
-
return (h(Host, { key: '
|
|
184
|
+
return (h(Host, { key: '16232f04af82f7e5899dfacc097434c45732690e', style: {
|
|
158
185
|
'--font-family': this.fontFamily,
|
|
159
186
|
'--color-primary-app': this.colorPrimaryApp,
|
|
160
187
|
'--color-on-surface': this.colorOnSurface,
|
package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.br
CHANGED
|
Binary file
|
package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.gz
CHANGED
|
Binary file
|
package/dist/collection/components/grw-outdoor-course-detail/grw-outdoor-course-detail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grw-outdoor-course-detail.js","sourceRoot":"","sources":["../../../src/components/grw-outdoor-course-detail/grw-outdoor-course-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Build, Component, Host, Prop, State, getAssetPath, h, Event, EventEmitter } from '@stencil/core';\nimport { OutdoorCourse } from 'components';\nimport state, { onChange } from 'store/store';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel, Scrollbar } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport { translate } from 'i18n/i18n';\nimport TimelapseIcon from '../../assets/timelapse.svg';\nimport OpenInFullIcon from '../../assets/open_in_full.svg';\nimport MovingIcon from '../../assets/moving.svg';\nimport DownloadIcon from '../../assets/download.svg';\nimport WarningIcon from '../../assets/warning.svg';\nimport { formatAscent, formatDuration, formatLength } from 'utils/utils';\n\nconst threshold = 1;\n\n@Component({\n tag: 'grw-outdoor-course-detail',\n styleUrl: 'grw-outdoor-course-detail.scss',\n shadow: true,\n})\nexport class GrwOutdoorCourseDetail {\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() weather = false;\n\n @State() displayFullscreen = false;\n @State() currentOutdoorCourse: OutdoorCourse;\n @State() offline = false;\n\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @Event() touristicContentsIsInViewport: EventEmitter<boolean>;\n @Event() touristicEventsIsInViewport: EventEmitter<boolean>;\n\n outdoorCourseDetailContainerRef?: HTMLElement;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperImages?: Swiper;\n\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n\n swiperTouristicContents?: Swiper;\n swiperTouristicEvents?: Swiper;\n swiperTouristicContentsRef?: HTMLDivElement;\n swiperTouristicEventsRef?: HTMLDivElement;\n touristicContentsRef?: HTMLDivElement;\n touristicEventsRef?: HTMLDivElement;\n touristicContentsSwiperScrollbar?: HTMLDivElement;\n touristicEventsSwiperScrollbar?: HTMLDivElement;\n swiperPois?: Swiper;\n poiRef?: HTMLDivElement;\n swiperPoisRef?: HTMLDivElement;\n poisOptionRef?: HTMLAnchorElement;\n poisSwiperScrollbar?: HTMLDivElement;\n\n poiObserver: IntersectionObserver;\n touristicContentObserver: IntersectionObserver;\n touristicEventObserver: IntersectionObserver;\n\n componentDidLoad() {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n\n this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicEventsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.poisSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n },\n loop: false,\n });\n\n if (this.poiRef) {\n this.poiObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.poiIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef) {\n this.touristicContentObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicContentsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef) {\n this.touristicEventObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicEventsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicEventObserver.observe(this.touristicEventsRef);\n }\n }\n\n async connectedCallback() {\n if (state.currentOutdoorCourse) {\n this.currentOutdoorCourse = state.currentOutdoorCourse;\n this.offline = this.currentOutdoorCourse.offline;\n }\n\n onChange('currentOutdoorCourse', async () => {\n if (state.currentOutdoorCourse) {\n this.currentOutdoorCourse = state.currentOutdoorCourse;\n this.offline = this.currentOutdoorCourse.offline;\n }\n });\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (this.currentOutdoorCourse.attachments && this.currentOutdoorCourse.attachments[0] && this.currentOutdoorCourse.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const type = state.outdoorCourseTypes && this.currentOutdoorCourse && state.outdoorCourseTypes.find(type => type.id === this.currentOutdoorCourse.type);\n const city = state.cities && state.cities.find(city => city.id === this.currentOutdoorCourse.cities[0]);\n const outdoorRatings =\n state.outdoorRatings && this.currentOutdoorCourse && state.outdoorRatings.filter(outdoorRating => this.currentOutdoorCourse.ratings.includes(outdoorRating.id));\n const currentOutdoorCoursesRatingsScales = outdoorRatings && [...new Set(outdoorRatings.map(outdoorRating => outdoorRating.scale))];\n const outdoorRatingsScales =\n currentOutdoorCoursesRatingsScales && state.outdoorRatingsScale.filter(outdoorRatingsScale => currentOutdoorCoursesRatingsScales.includes(outdoorRatingsScale.id));\n\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '244px'\n : '204px',\n }}\n >\n {this.currentOutdoorCourse && (\n <div part=\"outdoor-course-detail-container\" class=\"outdoor-course-detail-container\" ref={el => (this.outdoorCourseDetailContainerRef = el)}>\n <div part=\"outdoor-course-images-container\" class=\"outdoor-course-images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.currentOutdoorCourse.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.currentOutdoorCourse.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"outdoor-course-close-fullscreen-button\" class=\"outdoor-course-close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"outdoor-course-close-fullcreen-icon\" class=\"outdoor-course-close-fullcreen-icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"outdoor-course-image-legend\" class=\"outdoor-course-image-legend\">\n {legend}\n </div>\n <img\n part=\"outdoor-course-img\"\n class=\"outdoor-course-img\"\n src={this.offline ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'outdoor-course-img default-outdoor-course-img';\n event.target.src = defaultImageSrc;\n }}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <img part=\"outdoor-course-img\" class=\"outdoor-course-img default-outdoor-course-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\n )}\n </div>\n <div>\n <div part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n </div>\n <div part=\"outdoor-course-name\" class=\"outdoor-course-name\">\n {this.currentOutdoorCourse.name}\n </div>\n <div part=\"sub-container\" class=\"sub-container\">\n <div part=\"icons-labels-container\" class=\"icons-labels-container\">\n {type && (\n <div part=\"icon-label\" class=\"icon-label type\">\n {type.pictogram && <img part=\"icon\" class=\"icon\" src={type.pictogram} alt=\"\" />}\n <span part=\"label\" class=\"label\">\n {type.name}\n </span>\n </div>\n )}\n <div part=\"icon-label\" class=\"icon-label duration\">\n <span part=\"icon\" class=\"icon\" innerHTML={TimelapseIcon}></span>\n <span part=\"label\" class=\"label\">\n {formatDuration(this.currentOutdoorCourse.duration)}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label length\">\n <span part=\"icon\" class=\"icon\" innerHTML={OpenInFullIcon}></span>\n <span part=\"label\" class=\"label\">\n {formatLength(this.currentOutdoorCourse.length)}\n </span>\n </div>\n {this.currentOutdoorCourse.max_elevation && (\n <div part=\"icon-label\" class=\"icon-label ascent\">\n <span part=\"icon\" class=\"icon\" innerHTML={MovingIcon}></span>\n <span part=\"label\" class=\"label\">\n {formatAscent(this.currentOutdoorCourse.max_elevation)}\n </span>\n </div>\n )}\n {outdoorRatings &&\n outdoorRatingsScales.map(outdoorRatingsScale => (\n <div part=\"row\" class=\"row\">\n {`${outdoorRatingsScale.name} : ${outdoorRatings\n .filter(outdoorRating => outdoorRating.scale === outdoorRatingsScale.id)\n .map(rating => rating.name)\n .join(', ')}`}\n </div>\n ))}\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].downloads}\n </div>\n <div part=\"links-container\" class=\"links-container\">\n <a\n href={`${this.currentOutdoorCourse.pdf}${\n state.portalsFromProviders && state.portalsFromProviders.length === 1 ? '?portal=' + state.portalsFromProviders[0] : ''\n }`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentOutdoorCourse.description && (\n <div part=\"description-container\" class=\"description-container\">\n <div part=\"description-title\" class=\"description-title\" ref={el => (this.descriptionRef = el)}>\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={this.currentOutdoorCourse.description}></div>\n </div>\n )}\n {this.currentOutdoorCourse && this.currentOutdoorCourse.cities && this.currentOutdoorCourse.cities.length > 0 && (\n <div part=\"departure-container\" class=\"departure-container\">\n <div part=\"departure-title\" class=\"departure-title\">\n {translate[state.language].departure} : \n </div>\n <div part=\"departure\" innerHTML={city.name}></div>\n </div>\n )}\n {this.currentOutdoorCourse.cities && this.currentOutdoorCourse.cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].crossedCities} : \n </div>\n <div part=\"cities\" innerHTML={this.currentOutdoorCourse.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name).join(', ')}></div>\n </div>\n )}\n {this.currentOutdoorCourse.advice && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\">\n <div part=\"advice-title\" class=\"advice-title\" ref={el => (this.recommendationRef = el)}>\n {translate[state.language].recommendations}\n </div>\n {this.currentOutdoorCourse.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={WarningIcon}></span>\n <div part=\"advice\" class=\"advice\" innerHTML={this.currentOutdoorCourse.advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {this.currentOutdoorCourse.accessibility && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\">\n <div part=\"accessibilites-title\" class=\"accessibilities-title\">\n {translate[state.language].accessibility}\n </div>\n <div part=\"accessibilities\" innerHTML={this.currentOutdoorCourse.accessibility}></div>\n </div>\n </div>\n )}\n {state.trekTouristicContents && state.trekTouristicContents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\">\n <div part=\"touristic-content-title\" class=\"touristic-content-title\" ref={el => (this.touristicContentsRef = el)}>\n {translate[state.language].touristicContents(state.trekTouristicContents.length)}\n </div>\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicContents.map(touristicContent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-content-card\n exportparts=\"touristic-content-card,touristic-content-img-container,swiper-touristic-content,swiper-wrapper,swiper-slide,touristic-content-img,default-touristic-content-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-content-sub-container,touristic-content-category-container,touristic-content-category-img,touristic-content-category-name,touristic-content-name,touristic-content-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicContent={touristicContent}\n isInsideHorizontalList={true}\n ></grw-touristic-content-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicEvents && state.trekTouristicEvents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\">\n <div part=\"touristic-event-title\" class=\"touristic-event-title\" ref={el => (this.touristicEventsRef = el)}>\n {translate[state.language].touristicEvents(state.trekTouristicEvents.length)}\n </div>\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicEvents.map(touristicEvent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-event-card\n exportparts=\"touristic-event-card,touristic-event-img-container,swiper-touristic-event,swiper-wrapper,swiper-slide,touristic-event-img,default-touristic-event-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-event-sub-container,touristic-event-sub-container,touristic-event-type-img,touristic-event-type-name,touristic-event-name,touristic-event-date-container,touristic-event-date,touristic-event-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicEvent={touristicEvent}\n isInsideHorizontalList={true}\n ></grw-touristic-event-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicEventsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\">\n <div part=\"pois-title\" class=\"pois-title\" ref={el => (this.poiRef = el)}>\n {translate[state.language].pois(state.currentPois.length)}\n </div>\n <div part=\"swiper-pois\" class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-poi\n exportparts=\"poi-type-img-container,poi-type,swiper-poi,swiper-wrapper,swiper-slide,poi-img,default-poi-img,swiper-pagination,swiper-button-prev,swiper-button-next,poi-sub-container,poi-name,poi-description,handle-poi-description\"\n poi={poi}\n ></grw-poi>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.poisSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.weather && city && !this.offline && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weather-container\" class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${city.id}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"grw-outdoor-course-detail.js","sourceRoot":"","sources":["../../../src/components/grw-outdoor-course-detail/grw-outdoor-course-detail.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Build, Component, Host, Prop, State, getAssetPath, h, Event, EventEmitter } from '@stencil/core';\nimport { OutdoorCourse } from 'components';\nimport state, { onChange } from 'store/store';\nimport Swiper, { Navigation, Pagination, Keyboard, FreeMode, Mousewheel, Scrollbar } from 'swiper';\nimport CloseIcon from '../../assets/close.svg';\nimport { translate } from 'i18n/i18n';\nimport TimelapseIcon from '../../assets/timelapse.svg';\nimport OpenInFullIcon from '../../assets/open_in_full.svg';\nimport MovingIcon from '../../assets/moving.svg';\nimport DownloadIcon from '../../assets/download.svg';\nimport WarningIcon from '../../assets/warning.svg';\nimport { formatAscent, formatDuration, formatLength } from 'utils/utils';\n\nconst threshold = 1;\n\n@Component({\n tag: 'grw-outdoor-course-detail',\n styleUrl: 'grw-outdoor-course-detail.scss',\n shadow: true,\n})\nexport class GrwOutdoorCourseDetail {\n @Prop() fontFamily = 'Roboto';\n @Prop() colorPrimaryApp = '#6b0030';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() colorBackground = '#fef7ff';\n @Prop() isLargeView = false;\n @Prop() weather = false;\n\n @State() displayFullscreen = false;\n @State() currentOutdoorCourse: OutdoorCourse;\n @State() offline = false;\n\n @Event() poiIsInViewport: EventEmitter<boolean>;\n @Event() touristicContentsIsInViewport: EventEmitter<boolean>;\n @Event() touristicEventsIsInViewport: EventEmitter<boolean>;\n\n outdoorCourseDetailContainerRef?: HTMLElement;\n swiperImagesRef?: HTMLDivElement;\n prevElImagesRef?: HTMLDivElement;\n nextElImagesRef?: HTMLDivElement;\n paginationElImagesRef?: HTMLDivElement;\n swiperImages?: Swiper;\n\n presentationRef?: HTMLDivElement;\n descriptionRef?: HTMLDivElement;\n recommendationRef?: HTMLDivElement;\n\n swiperTouristicContents?: Swiper;\n swiperTouristicEvents?: Swiper;\n swiperTouristicContentsRef?: HTMLDivElement;\n swiperTouristicEventsRef?: HTMLDivElement;\n touristicContentsRef?: HTMLDivElement;\n touristicEventsRef?: HTMLDivElement;\n touristicContentsSwiperScrollbar?: HTMLDivElement;\n touristicEventsSwiperScrollbar?: HTMLDivElement;\n swiperPois?: Swiper;\n poiRef?: HTMLDivElement;\n swiperPoisRef?: HTMLDivElement;\n poisOptionRef?: HTMLAnchorElement;\n poisSwiperScrollbar?: HTMLDivElement;\n\n poiObserver: IntersectionObserver;\n touristicContentObserver: IntersectionObserver;\n touristicEventObserver: IntersectionObserver;\n\n handleSwipers() {\n if (this.swiperImagesRef && !this.swiperImages) {\n this.swiperImages = new Swiper(this.swiperImagesRef, {\n modules: [Navigation, Pagination, Keyboard, FreeMode, Mousewheel],\n navigation: {\n prevEl: this.prevElImagesRef,\n nextEl: this.nextElImagesRef,\n },\n pagination: { el: this.paginationElImagesRef },\n allowTouchMove: false,\n keyboard: false,\n loop: true,\n });\n this.swiperImagesRef.onfullscreenchange = () => {\n this.displayFullscreen = !this.displayFullscreen;\n this.displayFullscreen ? this.swiperImages.keyboard.enable() : this.swiperImages.keyboard.disable();\n };\n }\n\n if (this.swiperTouristicContentsRef && !this.swiperTouristicContents) {\n this.swiperTouristicContents = new Swiper(this.swiperTouristicContentsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicContentsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperTouristicEventsRef && !this.swiperTouristicEvents) {\n this.swiperTouristicEvents = new Swiper(this.swiperTouristicEventsRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.touristicEventsSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n if (this.swiperPoisRef && !this.swiperPois) {\n this.swiperPois = new Swiper(this.swiperPoisRef, {\n modules: [FreeMode, Mousewheel, Scrollbar],\n slidesPerView: 1.5,\n spaceBetween: 20,\n grabCursor: true,\n freeMode: true,\n mousewheel: { forceToAxis: true },\n scrollbar: {\n draggable: true,\n hide: false,\n el: this.poisSwiperScrollbar,\n },\n breakpointsBase: 'container',\n breakpoints: {\n '540': {\n slidesPerView: 2.5,\n },\n '1024': {\n slidesPerView: 4,\n },\n },\n loop: false,\n });\n }\n }\n\n handleObservers() {\n if (this.poiRef && !this.poiObserver) {\n this.poiObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.poiIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.poiObserver.observe(this.poiRef);\n }\n\n if (this.touristicContentsRef && !this.touristicContentObserver) {\n this.touristicContentObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicContentsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicContentObserver.observe(this.touristicContentsRef);\n }\n if (this.touristicEventsRef && !this.touristicEventObserver) {\n this.touristicEventObserver = new IntersectionObserver(\n entries => {\n const isIntersecting = entries[0].isIntersecting;\n this.touristicEventsIsInViewport.emit(isIntersecting);\n },\n { threshold },\n );\n this.touristicEventObserver.observe(this.touristicEventsRef);\n }\n }\n\n componentDidUpdate() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n componentDidLoad() {\n this.handleObservers();\n this.handleSwipers();\n }\n\n async connectedCallback() {\n if (state.currentOutdoorCourse) {\n this.currentOutdoorCourse = state.currentOutdoorCourse;\n this.offline = this.currentOutdoorCourse.offline;\n }\n\n onChange('currentOutdoorCourse', async () => {\n if (state.currentOutdoorCourse) {\n this.currentOutdoorCourse = state.currentOutdoorCourse;\n this.offline = this.currentOutdoorCourse.offline;\n }\n });\n }\n\n handleFullscreen(close: boolean = false) {\n if (!close) {\n if (this.currentOutdoorCourse.attachments && this.currentOutdoorCourse.attachments[0] && this.currentOutdoorCourse.attachments[0].url) {\n this.swiperImagesRef.requestFullscreen();\n }\n } else {\n (document as any).exitFullscreen();\n }\n }\n\n render() {\n const defaultImageSrc = getAssetPath(`${Build.isDev ? '/' : ''}assets/default-image.svg`);\n const type = state.outdoorCourseTypes && this.currentOutdoorCourse && state.outdoorCourseTypes.find(type => type.id === this.currentOutdoorCourse.type);\n const city = state.cities && state.cities.find(city => city.id === this.currentOutdoorCourse.cities[0]);\n const outdoorRatings =\n state.outdoorRatings && this.currentOutdoorCourse && state.outdoorRatings.filter(outdoorRating => this.currentOutdoorCourse.ratings.includes(outdoorRating.id));\n const currentOutdoorCoursesRatingsScales = outdoorRatings && [...new Set(outdoorRatings.map(outdoorRating => outdoorRating.scale))];\n const outdoorRatingsScales =\n currentOutdoorCoursesRatingsScales && state.outdoorRatingsScale.filter(outdoorRatingsScale => currentOutdoorCoursesRatingsScales.includes(outdoorRatingsScale.id));\n\n return (\n <Host\n style={{\n '--font-family': this.fontFamily,\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-surface': this.colorOnSurface,\n '--color-primary-container': this.colorPrimaryContainer,\n '--color-on-primary-container': this.colorOnPrimaryContainer,\n '--color-secondary-container': this.colorSecondaryContainer,\n '--color-on-secondary-container': this.colorOnSecondaryContainer,\n '--color-background': this.colorBackground,\n '--detail-bottom-space-height': this.isLargeView\n ? state.languages && state.languages.length > 1\n ? '44px'\n : '12px'\n : state.languages && state.languages.length > 1\n ? '244px'\n : '204px',\n }}\n >\n {this.currentOutdoorCourse && (\n <div part=\"outdoor-course-detail-container\" class=\"outdoor-course-detail-container\" ref={el => (this.outdoorCourseDetailContainerRef = el)}>\n <div part=\"outdoor-course-images-container\" class=\"outdoor-course-images-container\" ref={el => (this.presentationRef = el)}>\n <div part=\"swiper-images\" class=\"swiper swiper-images\" ref={el => (this.swiperImagesRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {this.currentOutdoorCourse.attachments.filter(attachment => attachment.type === 'image').length > 0 ? (\n this.currentOutdoorCourse.attachments\n .filter(attachment => attachment.type === 'image')\n .map(attachment => {\n const legend = [attachment.legend, attachment.author].filter(Boolean).join(' - ');\n return (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n {this.displayFullscreen && (\n <div part=\"outdoor-course-close-fullscreen-button\" class=\"outdoor-course-close-fullscreen-button\" onClick={() => this.handleFullscreen(true)}>\n <span part=\"outdoor-course-close-fullcreen-icon\" class=\"outdoor-course-close-fullcreen-icon\" innerHTML={CloseIcon}></span>\n </div>\n )}\n <div part=\"outdoor-course-image-legend\" class=\"outdoor-course-image-legend\">\n {legend}\n </div>\n <img\n part=\"outdoor-course-img\"\n class=\"outdoor-course-img\"\n src={this.offline ? attachment.thumbnail : attachment.url}\n loading=\"lazy\"\n onClick={() => this.handleFullscreen()}\n /* @ts-ignore */\n onerror={event => {\n event.target.onerror = null;\n event.target.className = 'outdoor-course-img default-outdoor-course-img';\n event.target.src = defaultImageSrc;\n }}\n alt={attachment.legend}\n />\n </div>\n );\n })\n ) : (\n <img part=\"outdoor-course-img\" class=\"outdoor-course-img default-outdoor-course-img\" src={defaultImageSrc} loading=\"lazy\" alt=\"\" />\n )}\n </div>\n <div>\n <div part=\"swiper-pagination\" class=\"swiper-pagination\" ref={el => (this.paginationElImagesRef = el)}></div>\n <div part=\"swiper-button-prev\" class=\"swiper-button-prev\" ref={el => (this.prevElImagesRef = el)}></div>\n <div part=\"swiper-button-next\" class=\"swiper-button-next\" ref={el => (this.nextElImagesRef = el)}></div>\n </div>\n </div>\n </div>\n <div part=\"outdoor-course-name\" class=\"outdoor-course-name\">\n {this.currentOutdoorCourse.name}\n </div>\n <div part=\"sub-container\" class=\"sub-container\">\n <div part=\"icons-labels-container\" class=\"icons-labels-container\">\n {type && (\n <div part=\"icon-label\" class=\"icon-label type\">\n {type.pictogram && <img part=\"icon\" class=\"icon\" src={type.pictogram} alt=\"\" />}\n <span part=\"label\" class=\"label\">\n {type.name}\n </span>\n </div>\n )}\n <div part=\"icon-label\" class=\"icon-label duration\">\n <span part=\"icon\" class=\"icon\" innerHTML={TimelapseIcon}></span>\n <span part=\"label\" class=\"label\">\n {formatDuration(this.currentOutdoorCourse.duration)}\n </span>\n </div>\n <div part=\"icon-label\" class=\"icon-label length\">\n <span part=\"icon\" class=\"icon\" innerHTML={OpenInFullIcon}></span>\n <span part=\"label\" class=\"label\">\n {formatLength(this.currentOutdoorCourse.length)}\n </span>\n </div>\n {this.currentOutdoorCourse.max_elevation && (\n <div part=\"icon-label\" class=\"icon-label ascent\">\n <span part=\"icon\" class=\"icon\" innerHTML={MovingIcon}></span>\n <span part=\"label\" class=\"label\">\n {formatAscent(this.currentOutdoorCourse.max_elevation)}\n </span>\n </div>\n )}\n {outdoorRatings &&\n outdoorRatingsScales.map(outdoorRatingsScale => (\n <div part=\"row\" class=\"row\">\n {`${outdoorRatingsScale.name} : ${outdoorRatings\n .filter(outdoorRating => outdoorRating.scale === outdoorRatingsScale.id)\n .map(rating => rating.name)\n .join(', ')}`}\n </div>\n ))}\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"downloads-container\" class=\"downloads-container\">\n <div part=\"download-title\" class=\"download-title\">\n {translate[state.language].downloads}\n </div>\n <div part=\"links-container\" class=\"links-container\">\n <a\n href={`${this.currentOutdoorCourse.pdf}${\n state.portalsFromProviders && state.portalsFromProviders.length === 1 ? '?portal=' + state.portalsFromProviders[0] : ''\n }`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span part=\"icon\" class=\"icon\" innerHTML={DownloadIcon}></span>\n <span part=\"label\" class=\"label\">\n PDF\n </span>\n </a>\n </div>\n </div>\n <div part=\"divider\" class=\"divider\"></div>\n {this.currentOutdoorCourse.description && (\n <div part=\"description-container\" class=\"description-container\">\n <div part=\"description-title\" class=\"description-title\" ref={el => (this.descriptionRef = el)}>\n {translate[state.language].description}\n </div>\n <div part=\"description\" class=\"description\" innerHTML={this.currentOutdoorCourse.description}></div>\n </div>\n )}\n {this.currentOutdoorCourse && this.currentOutdoorCourse.cities && this.currentOutdoorCourse.cities.length > 0 && (\n <div part=\"departure-container\" class=\"departure-container\">\n <div part=\"departure-title\" class=\"departure-title\">\n {translate[state.language].departure} : \n </div>\n <div part=\"departure\" innerHTML={city.name}></div>\n </div>\n )}\n {this.currentOutdoorCourse.cities && this.currentOutdoorCourse.cities.length > 0 && (\n <div part=\"cities-container\" class=\"cities-container\">\n <div part=\"cities-title\" class=\"cities-title\">\n {translate[state.language].crossedCities} : \n </div>\n <div part=\"cities\" innerHTML={this.currentOutdoorCourse.cities.map(currentCity => state.cities.find(city => city.id === currentCity)?.name).join(', ')}></div>\n </div>\n )}\n {this.currentOutdoorCourse.advice && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"advice-container\" class=\"advice-container\">\n <div part=\"advice-title\" class=\"advice-title\" ref={el => (this.recommendationRef = el)}>\n {translate[state.language].recommendations}\n </div>\n {this.currentOutdoorCourse.advice && (\n <div part=\"current-advice-container\" class=\"current-advice-container\">\n <span part=\"icon\" class=\"icon\" innerHTML={WarningIcon}></span>\n <div part=\"advice\" class=\"advice\" innerHTML={this.currentOutdoorCourse.advice}></div>\n </div>\n )}\n </div>\n </div>\n )}\n {this.currentOutdoorCourse.accessibility && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"accessibilities-container\" class=\"accessibilities-container\">\n <div part=\"accessibilites-title\" class=\"accessibilities-title\">\n {translate[state.language].accessibility}\n </div>\n <div part=\"accessibilities\" innerHTML={this.currentOutdoorCourse.accessibility}></div>\n </div>\n </div>\n )}\n {state.trekTouristicContents && state.trekTouristicContents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-content-container\" class=\"touristic-content-container\">\n <div part=\"touristic-content-title\" class=\"touristic-content-title\" ref={el => (this.touristicContentsRef = el)}>\n {translate[state.language].touristicContents(state.trekTouristicContents.length)}\n </div>\n <div part=\"swiper-touristic-content\" class=\"swiper swiper-touristic-content\" ref={el => (this.swiperTouristicContentsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicContents.map(touristicContent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-content-card\n exportparts=\"touristic-content-card,touristic-content-img-container,swiper-touristic-content,swiper-wrapper,swiper-slide,touristic-content-img,default-touristic-content-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-content-sub-container,touristic-content-category-container,touristic-content-category-img,touristic-content-category-name,touristic-content-name,touristic-content-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicContent={touristicContent}\n isInsideHorizontalList={true}\n ></grw-touristic-content-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicContentsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.trekTouristicEvents && state.trekTouristicEvents.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"touristic-event-container\" class=\"touristic-event-container\">\n <div part=\"touristic-event-title\" class=\"touristic-event-title\" ref={el => (this.touristicEventsRef = el)}>\n {translate[state.language].touristicEvents(state.trekTouristicEvents.length)}\n </div>\n <div part=\"swiper-touristic-event\" class=\"swiper swiper-touristic-event\" ref={el => (this.swiperTouristicEventsRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.trekTouristicEvents.map(touristicEvent => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-touristic-event-card\n exportparts=\"touristic-event-card,touristic-event-img-container,swiper-touristic-event,swiper-wrapper,swiper-slide,touristic-event-img,default-touristic-event-img,swiper-pagination,swiper-button-prev,swiper-button-next,touristic-event-sub-container,touristic-event-sub-container,touristic-event-type-img,touristic-event-type-name,touristic-event-name,touristic-event-date-container,touristic-event-date,touristic-event-more-detail-container,more-details-button\"\n fontFamily={this.fontFamily}\n touristicEvent={touristicEvent}\n isInsideHorizontalList={true}\n ></grw-touristic-event-card>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.touristicEventsSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {state.currentPois && state.currentPois.length > 0 && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"pois-container\" class=\"pois-container\">\n <div part=\"pois-title\" class=\"pois-title\" ref={el => (this.poiRef = el)}>\n {translate[state.language].pois(state.currentPois.length)}\n </div>\n <div part=\"swiper-pois\" class=\"swiper swiper-pois\" ref={el => (this.swiperPoisRef = el)}>\n <div part=\"swiper-wrapper\" class=\"swiper-wrapper\">\n {state.currentPois.map(poi => (\n <div part=\"swiper-slide\" class=\"swiper-slide\">\n <grw-poi\n exportparts=\"poi-type-img-container,poi-type,swiper-poi,swiper-wrapper,swiper-slide,poi-img,default-poi-img,swiper-pagination,swiper-button-prev,swiper-button-next,poi-sub-container,poi-name,poi-description,handle-poi-description\"\n poi={poi}\n ></grw-poi>\n </div>\n ))}\n </div>\n <div part=\"swiper-scrollbar\" class=\"swiper-scrollbar\" ref={el => (this.poisSwiperScrollbar = el)}></div>\n </div>\n </div>\n </div>\n )}\n {this.weather && city && !this.offline && (\n <div>\n <div part=\"divider\" class=\"divider\"></div>\n <div part=\"weather-container\" class=\"weather-container\">\n <iframe height=\"150\" frameborder=\"0\" src={`https://meteofrance.com/widget/prevision/${city.id}0#${this.colorPrimaryApp}`}></iframe>\n </div>\n </div>\n )}\n <div part=\"detail-bottom-space\" class=\"detail-bottom-space\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
|