@geotrekce/geotrek-rando-widget 0.4.0 → 0.4.1
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/geotrek-rando-widget.cjs.js +1 -1
- package/dist/cjs/geotrek-rando-widget.cjs.js.br +0 -0
- package/dist/cjs/geotrek-rando-widget.cjs.js.gz +0 -0
- package/dist/cjs/grw-app.cjs.entry.js +1 -1
- 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-filters_12.cjs.entry.js → grw-filters_11.cjs.entry.js} +71 -113
- package/dist/cjs/grw-filters_11.cjs.entry.js.br +0 -0
- package/dist/cjs/{grw-filters_12.cjs.entry.js.gz → grw-filters_11.cjs.entry.js.gz} +0 -0
- package/dist/cjs/grw-filters_11.cjs.entry.js.map +1 -0
- package/dist/cjs/grw-touristic-content-card-provider.cjs.entry.js +62 -0
- package/dist/cjs/grw-touristic-content-card-provider.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-touristic-content-card-provider.cjs.entry.js.gz +0 -0
- package/dist/cjs/grw-touristic-content-card-provider.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js.br +0 -0
- package/dist/cjs/loader.cjs.js.gz +0 -0
- package/dist/collection/components/grw-app/grw-app.js +1 -1
- 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/store/grw-touristic-contents-provider.js +118 -5
- package/dist/collection/store/grw-touristic-contents-provider.js.br +0 -0
- package/dist/collection/store/grw-touristic-contents-provider.js.gz +0 -0
- package/dist/collection/store/grw-touristic-contents-provider.js.map +1 -1
- package/dist/esm/geotrek-rando-widget.js +1 -1
- package/dist/esm/geotrek-rando-widget.js.br +0 -0
- package/dist/esm/geotrek-rando-widget.js.gz +0 -0
- package/dist/esm/grw-app.entry.js +1 -1
- 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-filters_12.entry.js → grw-filters_11.entry.js} +71 -112
- package/dist/esm/grw-filters_11.entry.js.br +0 -0
- package/dist/esm/{grw-filters_12.entry.js.gz → grw-filters_11.entry.js.gz} +0 -0
- package/dist/esm/grw-filters_11.entry.js.map +1 -0
- package/dist/esm/grw-touristic-content-card-provider.entry.js +58 -0
- package/dist/esm/grw-touristic-content-card-provider.entry.js.br +0 -0
- package/dist/esm/grw-touristic-content-card-provider.entry.js.gz +0 -0
- package/dist/esm/grw-touristic-content-card-provider.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.js.br +0 -0
- package/dist/esm/loader.js.gz +0 -0
- package/dist/esm-es5/geotrek-rando-widget.js +1 -1
- package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
- package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
- package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
- 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-filters_12.entry.js → grw-filters_11.entry.js} +2 -2
- package/dist/esm-es5/grw-filters_11.entry.js.br +0 -0
- package/dist/esm-es5/{grw-filters_12.entry.js.gz → grw-filters_11.entry.js.gz} +0 -0
- package/dist/{geotrek-rando-widget/p-388ecec9.entry.js.map → esm-es5/grw-filters_11.entry.js.map} +1 -1
- package/dist/esm-es5/grw-touristic-content-card-provider.entry.js +2 -0
- package/dist/esm-es5/grw-touristic-content-card-provider.entry.js.br +0 -0
- package/dist/esm-es5/grw-touristic-content-card-provider.entry.js.gz +0 -0
- package/dist/esm-es5/grw-touristic-content-card-provider.entry.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.br +0 -0
- package/dist/esm-es5/loader.js.gz +0 -0
- package/dist/esm-es5/loader.js.map +1 -1
- 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/geotrek-rando-widget.esm.js.map +1 -1
- package/dist/geotrek-rando-widget/p-25f721ea.entry.js +2 -0
- package/dist/geotrek-rando-widget/p-25f721ea.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-25f721ea.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-25f721ea.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/{p-388ecec9.entry.js → p-45ef5fe2.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-45ef5fe2.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/{p-388ecec9.entry.js.gz → p-45ef5fe2.entry.js.gz} +0 -0
- package/dist/geotrek-rando-widget/p-45ef5fe2.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/{p-da75716b.system.entry.js → p-4c42d37c.system.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-4c42d37c.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-4c42d37c.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-da75716b.system.entry.js.map → p-4c42d37c.system.entry.js.map} +1 -1
- package/dist/geotrek-rando-widget/p-6aec743d.system.entry.js +2 -0
- package/dist/geotrek-rando-widget/p-6aec743d.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-6aec743d.system.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-6aec743d.system.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-779274fa.entry.js +2 -0
- package/dist/geotrek-rando-widget/p-779274fa.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-779274fa.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/{p-790f5a62.entry.js.map → p-779274fa.entry.js.map} +1 -1
- package/dist/geotrek-rando-widget/{p-b94b6924.system.entry.js → p-a2afc234.system.entry.js} +2 -2
- package/dist/geotrek-rando-widget/p-a2afc234.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/{p-b94b6924.system.entry.js.gz → p-a2afc234.system.entry.js.gz} +0 -0
- package/dist/geotrek-rando-widget/p-a2afc234.system.entry.js.map +1 -0
- package/dist/geotrek-rando-widget/p-cc8a7df2.system.js +1 -1
- package/dist/geotrek-rando-widget/p-cc8a7df2.system.js.br +0 -0
- package/dist/geotrek-rando-widget/p-cc8a7df2.system.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-cc8a7df2.system.js.map +1 -1
- package/dist/types/components.d.ts +31 -19
- package/dist/types/store/grw-touristic-contents-provider.d.ts +6 -0
- package/package.json +1 -1
- package/dist/cjs/grw-filters_12.cjs.entry.js.br +0 -0
- package/dist/cjs/grw-filters_12.cjs.entry.js.map +0 -1
- package/dist/esm/grw-filters_12.entry.js.br +0 -0
- package/dist/esm/grw-filters_12.entry.js.map +0 -1
- package/dist/esm-es5/grw-filters_12.entry.js.br +0 -0
- package/dist/esm-es5/grw-filters_12.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-388ecec9.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-790f5a62.entry.js +0 -2
- package/dist/geotrek-rando-widget/p-790f5a62.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-790f5a62.entry.js.gz +0 -0
- package/dist/geotrek-rando-widget/p-b94b6924.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-b94b6924.system.entry.js.map +0 -1
- package/dist/geotrek-rando-widget/p-da75716b.system.entry.js.br +0 -0
- package/dist/geotrek-rando-widget/p-da75716b.system.entry.js.gz +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-9e4fe3f0.js');
|
|
6
|
+
const store = require('./store-d20ae78f.js');
|
|
7
|
+
|
|
8
|
+
const GrwTouristicContentProvider = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
index.registerInstance(this, hostRef);
|
|
11
|
+
this.controller = new AbortController();
|
|
12
|
+
this.signal = this.controller.signal;
|
|
13
|
+
this.init = { cache: 'default', signal: this.signal };
|
|
14
|
+
this.languages = 'fr';
|
|
15
|
+
this.api = undefined;
|
|
16
|
+
this.touristicContentId = undefined;
|
|
17
|
+
}
|
|
18
|
+
connectedCallback() {
|
|
19
|
+
if (!store.state.api) {
|
|
20
|
+
store.state.api = this.api;
|
|
21
|
+
store.state.languages = this.languages.split(',');
|
|
22
|
+
store.state.language = store.state.languages[0];
|
|
23
|
+
}
|
|
24
|
+
this.handleTouristicContent();
|
|
25
|
+
}
|
|
26
|
+
handleTouristicContent() {
|
|
27
|
+
const requests = [];
|
|
28
|
+
requests.push(!store.state.cities ? fetch(`${store.state.api}city/?language=${store.state.language}&fields=id,name&published=true&page_size=999`, this.init) : new Response('null'));
|
|
29
|
+
requests.push(!store.state.touristicContentCategories
|
|
30
|
+
? fetch(`${store.state.api}touristiccontent_category/?language=${store.state.language}&published=true&fields=id,label,pictogram&page_size=999`, this.init)
|
|
31
|
+
: new Response('null'));
|
|
32
|
+
Promise.all([
|
|
33
|
+
...requests,
|
|
34
|
+
fetch(`${store.state.api}touristiccontent/${this.touristicContentId}/?language=${store.state.language}&published=true&fields=id,name,attachments,description,description_teaser,category,geometry,cities,pdf,practical_info,contact,email,website`, this.init),
|
|
35
|
+
])
|
|
36
|
+
.then(responses => Promise.all(responses.map(response => response.json())))
|
|
37
|
+
.then(([cities, touristicContentCategory, touristicContent]) => {
|
|
38
|
+
store.state.trekNetworkError = false;
|
|
39
|
+
if (cities) {
|
|
40
|
+
store.state.cities = cities.results;
|
|
41
|
+
}
|
|
42
|
+
if (touristicContentCategory) {
|
|
43
|
+
store.state.touristicContentCategories = touristicContentCategory.results;
|
|
44
|
+
}
|
|
45
|
+
store.state.currentTouristicContent = touristicContent;
|
|
46
|
+
})
|
|
47
|
+
.catch(() => {
|
|
48
|
+
store.state.trekNetworkError = true;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
disconnectedCallback() {
|
|
52
|
+
this.controller.abort();
|
|
53
|
+
store.state.trekNetworkError = false;
|
|
54
|
+
}
|
|
55
|
+
render() {
|
|
56
|
+
return index.h(index.Host, null);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
exports.grw_touristic_content_card_provider = GrwTouristicContentProvider;
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=grw-touristic-content-card-provider.cjs.entry.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"grw-touristic-content-card-provider.entry.cjs.js","mappings":";;;;;;;MAOa,2BAA2B;;;IAItC,eAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,WAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,SAAI,GAAgB,EAAE,KAAK,EAAgC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;qBALxE,IAAI;;;;EAOxB,iBAAiB;IACf,IAAI,CAACA,WAAK,CAAC,GAAG,EAAE;MACdA,WAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;MACrBA,WAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;MAC5CA,WAAK,CAAC,QAAQ,GAAGA,WAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACrC;IACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;GAC/B;EAED,sBAAsB;IACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,CAACA,WAAK,CAAC,MAAM,GAAG,KAAK,CAAC,GAAGA,WAAK,CAAC,GAAG,kBAAkBA,WAAK,CAAC,QAAQ,8CAA8C,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACnK,QAAQ,CAAC,IAAI,CACX,CAACA,WAAK,CAAC,0BAA0B;QAC7B,KAAK,CAAC,GAAGA,WAAK,CAAC,GAAG,uCAAuCA,WAAK,CAAC,QAAQ,yDAAyD,EAAE,IAAI,CAAC,IAAI,CAAC;QAC5I,IAAI,QAAQ,CAAC,MAAM,CAAC,CACzB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC;MACV,GAAG,QAAQ;MACX,KAAK,CACH,GAAGA,WAAK,CAAC,GAAG,oBAAoB,IAAI,CAAC,kBAAkB,cAAcA,WAAK,CAAC,QAAQ,6IAA6I,EAChO,IAAI,CAAC,IAAI,CACV;KACF,CAAC;OACC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;OAC1E,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,wBAAwB,EAAE,gBAAgB,CAAC;MACzDA,WAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;MAE/B,IAAI,MAAM,EAAE;QACVA,WAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;OAC/B;MACD,IAAI,wBAAwB,EAAE;QAC5BA,WAAK,CAAC,0BAA0B,GAAG,wBAAwB,CAAC,OAAO,CAAC;OACrE;MACDA,WAAK,CAAC,uBAAuB,GAAG,gBAAgB,CAAC;KAClD,CAAC;OACD,KAAK,CAAC;MACLA,WAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAC/B,CAAC,CAAC;GACN;EAED,oBAAoB;IAClB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACxBA,WAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;GAChC;EAED,MAAM;IACJ,OAAOC,QAACC,UAAI,OAAQ,CAAC;GACtB;;;;;","names":["state","h","Host"],"sources":["./src/store/grw-touristic-content-provider.tsx"],"sourcesContent":["import { Build, Component, h, Host, Prop } from '@stencil/core';\nimport state from 'store/store';\n\n@Component({\n tag: 'grw-touristic-content-card-provider',\n shadow: true,\n})\nexport class GrwTouristicContentProvider {\n @Prop() languages = 'fr';\n @Prop() api: string;\n @Prop() touristicContentId: string;\n controller = new AbortController();\n signal = this.controller.signal;\n init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: this.signal };\n\n connectedCallback() {\n if (!state.api) {\n state.api = this.api;\n state.languages = this.languages.split(',');\n state.language = state.languages[0];\n }\n this.handleTouristicContent();\n }\n\n handleTouristicContent() {\n const requests = [];\n requests.push(!state.cities ? fetch(`${state.api}city/?language=${state.language}&fields=id,name&published=true&page_size=999`, this.init) : new Response('null'));\n requests.push(\n !state.touristicContentCategories\n ? fetch(`${state.api}touristiccontent_category/?language=${state.language}&published=true&fields=id,label,pictogram&page_size=999`, this.init)\n : new Response('null'),\n );\n\n Promise.all([\n ...requests,\n fetch(\n `${state.api}touristiccontent/${this.touristicContentId}/?language=${state.language}&published=true&fields=id,name,attachments,description,description_teaser,category,geometry,cities,pdf,practical_info,contact,email,website`,\n this.init,\n ),\n ])\n .then(responses => Promise.all(responses.map(response => response.json())))\n .then(([cities, touristicContentCategory, touristicContent]) => {\n state.trekNetworkError = false;\n\n if (cities) {\n state.cities = cities.results;\n }\n if (touristicContentCategory) {\n state.touristicContentCategories = touristicContentCategory.results;\n }\n state.currentTouristicContent = touristicContent;\n })\n .catch(() => {\n state.trekNetworkError = true;\n });\n }\n\n disconnectedCallback() {\n this.controller.abort();\n state.trekNetworkError = false;\n }\n\n render() {\n return <Host></Host>;\n }\n}\n"],"version":3}
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -30,7 +30,7 @@ const patchEsm = () => {
|
|
|
30
30
|
const defineCustomElements = (win, options) => {
|
|
31
31
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
32
32
|
return patchEsm().then(() => {
|
|
33
|
-
return index.bootstrapLazy([["grw-app.cjs",[[0,"grw-app",{"appWidth":[1,"app-width"],"appHeight":[1,"app-height"],"api":[1],"languages":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1],"center":[1],"zoom":[2],"nameLayer":[1,"name-layer"],"urlLayer":[1,"url-layer"],"attributionLayer":[1,"attribution-layer"],"weather":[4],"colorPrimaryApp":[1,"color-primary-app"],"colorOnPrimary":[1,"color-on-primary"],"colorSurface":[1,"color-surface"],"colorOnSurface":[1,"color-on-surface"],"colorSurfaceVariant":[1,"color-surface-variant"],"colorOnSurfaceVariant":[1,"color-on-surface-variant"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorBackground":[1,"color-background"],"colorSurfaceContainerHigh":[1,"color-surface-container-high"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"fabBackgroundColor":[1,"fab-background-color"],"fabColor":[1,"fab-color"],"colorTrekLine":[1,"color-trek-line"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"useGradient":[4,"use-gradient"],"treks":[4],"touristicContents":[4,"touristic-contents"],"touristicEvents":[4,"touristic-events"],"showTrek":[32],"showTouristicContent":[32],"showTouristicEvent":[32],"showHomeMap":[32],"showTrekMap":[32],"showTouristicContentMap":[32],"showTouristicEventMap":[32],"showFilters":[32],"isLargeView":[32],"currentTrekId":[32],"currentTouristicContentId":[32],"currentTouristicEventId":[32]},[[8,"trekCardPress","onTrekCardPress"],[8,"parentTrekPress","onParentTrekPress"],[8,"touristicContentCardPress","onTouristicContentCardPress"],[8,"touristicEventCardPress","onTouristiceEventCardPress"],[9,"resize","onWindowResize"],[8,"centerOnMap","onCenterOnMap"]]]]],["grw-select-language.cjs",[[1,"grw-select-language"]]],["grw-touristic-event-card-provider.cjs",[[1,"grw-touristic-event-card-provider",{"languages":[1],"api":[1],"touristicEventId":[1,"touristic-event-id"]}]]],["grw-filter.cjs",[[1,"grw-filter",{"filterType":[1,"filter-type"],"filterName":[1,"filter-name"],"filterPlaceholder":[1,"filter-placeholder"],"filterNameProperty":[1,"filter-name-property"],"segment":[1]},[[8,"resetFilter","onResetFilter"]]]]],["grw-information-desk_6.cjs",[[1,"grw-information-desk",{"informationDesk":[16],"displayShortDescription":[32]}],[1,"grw-poi",{"poi":[16],"displayShortDescription":[32],"displayFullscreen":[32]}],[1,"grw-sensitive-area-detail",{"sensitiveArea":[16]}],[1,"grw-touristic-event-card",{"touristicEvent":[16],"displayFullscreen":[32]}],[1,"grw-touristic-content-card",{"touristicContent":[16],"isLargeView":[4,"is-large-view"],"isInsideHorizontalList":[4,"is-inside-horizontal-list"],"displayFullscreen":[32]},[[1,"mouseover","handleMouseOver"],[1,"mouseleave","handleMouseLeave"]]],[1,"grw-trek-card",{"trek":[16],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"isStep":[4,"is-step"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"departureCity":[32]},[[1,"mouseover","handleMouseOver"],[1,"mouseleave","handleMouseLeave"]]]]],["grw-
|
|
33
|
+
return index.bootstrapLazy([["grw-app.cjs",[[0,"grw-app",{"appWidth":[1,"app-width"],"appHeight":[1,"app-height"],"api":[1],"languages":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1],"center":[1],"zoom":[2],"nameLayer":[1,"name-layer"],"urlLayer":[1,"url-layer"],"attributionLayer":[1,"attribution-layer"],"weather":[4],"colorPrimaryApp":[1,"color-primary-app"],"colorOnPrimary":[1,"color-on-primary"],"colorSurface":[1,"color-surface"],"colorOnSurface":[1,"color-on-surface"],"colorSurfaceVariant":[1,"color-surface-variant"],"colorOnSurfaceVariant":[1,"color-on-surface-variant"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorBackground":[1,"color-background"],"colorSurfaceContainerHigh":[1,"color-surface-container-high"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"fabBackgroundColor":[1,"fab-background-color"],"fabColor":[1,"fab-color"],"colorTrekLine":[1,"color-trek-line"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"useGradient":[4,"use-gradient"],"treks":[4],"touristicContents":[4,"touristic-contents"],"touristicEvents":[4,"touristic-events"],"showTrek":[32],"showTouristicContent":[32],"showTouristicEvent":[32],"showHomeMap":[32],"showTrekMap":[32],"showTouristicContentMap":[32],"showTouristicEventMap":[32],"showFilters":[32],"isLargeView":[32],"currentTrekId":[32],"currentTouristicContentId":[32],"currentTouristicEventId":[32]},[[8,"trekCardPress","onTrekCardPress"],[8,"parentTrekPress","onParentTrekPress"],[8,"touristicContentCardPress","onTouristicContentCardPress"],[8,"touristicEventCardPress","onTouristiceEventCardPress"],[9,"resize","onWindowResize"],[8,"centerOnMap","onCenterOnMap"]]]]],["grw-select-language.cjs",[[1,"grw-select-language"]]],["grw-touristic-content-card-provider.cjs",[[1,"grw-touristic-content-card-provider",{"languages":[1],"api":[1],"touristicContentId":[1,"touristic-content-id"]}]]],["grw-touristic-event-card-provider.cjs",[[1,"grw-touristic-event-card-provider",{"languages":[1],"api":[1],"touristicEventId":[1,"touristic-event-id"]}]]],["grw-filter.cjs",[[1,"grw-filter",{"filterType":[1,"filter-type"],"filterName":[1,"filter-name"],"filterPlaceholder":[1,"filter-placeholder"],"filterNameProperty":[1,"filter-name-property"],"segment":[1]},[[8,"resetFilter","onResetFilter"]]]]],["grw-information-desk_6.cjs",[[1,"grw-information-desk",{"informationDesk":[16],"displayShortDescription":[32]}],[1,"grw-poi",{"poi":[16],"displayShortDescription":[32],"displayFullscreen":[32]}],[1,"grw-sensitive-area-detail",{"sensitiveArea":[16]}],[1,"grw-touristic-event-card",{"touristicEvent":[16],"displayFullscreen":[32]}],[1,"grw-touristic-content-card",{"touristicContent":[16],"isLargeView":[4,"is-large-view"],"isInsideHorizontalList":[4,"is-inside-horizontal-list"],"displayFullscreen":[32]},[[1,"mouseover","handleMouseOver"],[1,"mouseleave","handleMouseLeave"]]],[1,"grw-trek-card",{"trek":[16],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"isStep":[4,"is-step"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"departureCity":[32]},[[1,"mouseover","handleMouseOver"],[1,"mouseleave","handleMouseLeave"]]]]],["grw-filters_11.cjs",[[1,"grw-trek-detail",{"trek":[16],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"colorBackground":[1,"color-background"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"weather":[4],"isLargeView":[4,"is-large-view"],"currentTrek":[32],"difficulty":[32],"route":[32],"practice":[32],"themes":[32],"labels":[32],"sources":[32],"accessibilities":[32],"accessibilityLevel":[32],"displayFullscreen":[32],"cities":[32],"options":[32]}],[1,"grw-filters",{"handleFilters":[16],"selectedSegment":[32]}],[1,"grw-touristic-contents-list",{"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"touristicContentsToDisplay":[32]}],[1,"grw-treks-list",{"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"isLargeView":[4,"is-large-view"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"treksToDisplay":[32]}],[1,"grw-map",{"nameLayer":[1,"name-layer"],"urlLayer":[1,"url-layer"],"attributionLayer":[1,"attribution-layer"],"center":[1],"zoom":[2],"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorBackground":[1,"color-background"],"colorTrekLine":[1,"color-trek-line"],"colorSensitiveArea":[1,"color-sensitive-area"],"colorPoiIcon":[1,"color-poi-icon"],"useGradient":[4,"use-gradient"],"resetStoreOnDisconnected":[4,"reset-store-on-disconnected"],"isLargeView":[4,"is-large-view"],"mapIsReady":[32]},[[8,"centerOnMap","onCenterOnMap"],[8,"stepsIsInViewport","stepsIsInViewport"],[8,"descriptionIsInViewport","descriptionIsInViewport"],[8,"parkingIsInViewport","parkingIsInViewport"],[8,"informationDeskIsInViewport","onInformationDesksIsInViewport"],[8,"sensitiveAreaIsInViewport","sensitiveAreaIsInViewport"],[8,"poiIsInViewport","poiIsInViewport"],[8,"touristicContentsIsInViewport","touristicContentsIsInViewport"],[8,"touristicEventsIsInViewport","touristicEventsIsInViewport"],[8,"cardTrekMouseOver","onCardTrekMouseOver"],[8,"cardTrekMouseLeave","onCardTrekMouseLeave"],[8,"cardTouristicContentMouseOver","onTouristicContentMouseOver"],[8,"cardTouristicContentMouseLeave","onTouristicContentMouseLeave"]]],[1,"grw-search"],[1,"grw-touristic-content-detail",{"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"colorBackground":[1,"color-background"],"isLargeView":[4,"is-large-view"],"displayFullscreen":[32]}],[1,"grw-touristic-contents-provider",{"languages":[1],"api":[1],"touristicContentId":[1,"touristic-content-id"],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1]}],[1,"grw-touristic-event-detail",{"colorPrimaryApp":[1,"color-primary-app"],"colorOnSurface":[1,"color-on-surface"],"colorPrimaryContainer":[1,"color-primary-container"],"colorOnPrimaryContainer":[1,"color-on-primary-container"],"colorSecondaryContainer":[1,"color-secondary-container"],"colorOnSecondaryContainer":[1,"color-on-secondary-container"],"colorSurfaceContainerLow":[1,"color-surface-container-low"],"colorBackground":[1,"color-background"],"isLargeView":[4,"is-large-view"],"displayFullscreen":[32]}],[1,"grw-trek-provider",{"languages":[1],"api":[1],"trekId":[1,"trek-id"]}],[1,"grw-treks-provider",{"languages":[1],"api":[1],"inBbox":[1,"in-bbox"],"cities":[1],"districts":[1],"structures":[1],"themes":[1],"portals":[1],"routes":[1],"practices":[1]}]]]], options);
|
|
34
34
|
});
|
|
35
35
|
};
|
|
36
36
|
|
|
Binary file
|
|
Binary file
|
|
@@ -312,7 +312,7 @@ export class GrwApp {
|
|
|
312
312
|
'--app-width': this.appWidth,
|
|
313
313
|
'--app-height': this.appHeight,
|
|
314
314
|
'--header-height': Number(this.treks) + Number(this.touristicContents) + Number(this.touristicEvents) > 1 ? '136px' : '64px',
|
|
315
|
-
} }, !state.currentTreks && !state.currentTrek && !state.currentTouristicContent && !state.currentTouristicEvent && !state.touristicContents && (h("div", { class: "init-loader-container" }, h("span", { class: "loader" }))), this.treks && !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent && !state.treks && (h("grw-treks-provider", { api: this.api, languages: this.languages, "in-bbox": this.inBbox, cities: this.cities, districts: this.districts, structures: this.structures, themes: this.themes, portals: this.portals, routes: this.routes, practices: this.practices })), this.showTrek && this.currentTrekId && !state.currentTrek && (h("grw-trek-provider", { api: this.api, languages: this.languages, "trek-id": this.currentTrekId })), this.showTouristicContent && this.currentTouristicContentId && (h("grw-touristic-content-
|
|
315
|
+
} }, !state.currentTreks && !state.currentTrek && !state.currentTouristicContent && !state.currentTouristicEvent && !state.touristicContents && (h("div", { class: "init-loader-container" }, h("span", { class: "loader" }))), this.treks && !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent && !state.treks && (h("grw-treks-provider", { api: this.api, languages: this.languages, "in-bbox": this.inBbox, cities: this.cities, districts: this.districts, structures: this.structures, themes: this.themes, portals: this.portals, routes: this.routes, practices: this.practices })), this.showTrek && this.currentTrekId && !state.currentTrek && (h("grw-trek-provider", { api: this.api, languages: this.languages, "trek-id": this.currentTrekId })), this.showTouristicContent && this.currentTouristicContentId && (h("grw-touristic-content-provider", { api: this.api, languages: this.languages, "touristic-content-id": this.currentTouristicContentId })), this.showTouristicEvent && this.currentTouristicEventId && (h("grw-touristic-event-provider", { api: this.api, languages: this.languages, "touristic-event-id": this.currentTouristicEventId })), this.touristicContents && !state.touristicContents && !this.showTouristicContent && (h("grw-touristic-contents-provider", { api: this.api, languages: this.languages, "in-bbox": this.inBbox, cities: this.cities, districts: this.districts, structures: this.structures, themes: this.themes, portals: this.portals })), (state.currentTreks || state.currentTrek || state.touristicContents || state.currentTouristicContent || state.currentTouristicEvent) && (h("div", { class: "app-container" }, h("div", { class: `${this.isLargeView ? 'large-view-header-container' : 'header-container'}${this.showTrek || this.showTouristicContent || this.showTouristicEvent ? ' header-detail' : ''}` }, Number(this.treks) + Number(this.touristicContents) + Number(this.touristicEvents) > 1 && !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent && (h("div", { class: "segmented-buttons-container" }, this.treks && (h("label", { class: `segment${state.mode === 'treks' ? ' selected-segment' : ''}`, onClick: () => this.changeMode('treks') }, translate[state.language].home.segment.treks)), this.touristicContents && (h("label", { class: `segment${state.mode === 'touristicContents' ? ' selected-segment' : ''}`, onClick: () => this.changeMode('touristicContents') }, translate[state.language].home.segment.touristicContents)))), !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent ? (h("div", { class: "handle-search-filters-container" }, h("div", { class: "handle-search-container" }, h("grw-search", null)), h("div", { class: "handle-filters-container" }, h("button", { onClick: () => this.handleFilters(), class: "handle-filters-button" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined margin-right-icon" }, "filter_list"), translate[state.language].filter)))) : (h("div", { class: "arrow-back-container" }, h("button", { onClick: () => this.handleBackButton(), class: "arrow-back-icon" }, h("span", { translate: false, class: "material-symbols material-symbols-outlined" }, "arrow_back"))))), h("div", { class: `content-container ${this.showTrek ? 'content-trek' : 'content-treks'}` }, h("div", { class: this.isLargeView ? 'large-view-app-treks-list-container' : 'app-treks-list-container', style: { display: this.showTrek || this.showTouristicContent || this.showTouristicEvent ? 'none' : 'flex', position: this.showTrek ? 'absolute' : 'relative' } }, state.mode === 'treks' && this.treks && (h("grw-treks-list", { "reset-store-on-disconnected": "false", "is-large-view": this.isLargeView, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-secondary-container": this.colorSecondaryContainer, "color-on-secondary-container": this.colorOnSecondaryContainer, "color-surface-container-low": this.colorSurfaceContainerLow })), state.mode === 'touristicContents' && this.touristicContents && (h("grw-touristic-contents-list", { "reset-store-on-disconnected": "false", "is-large-view": this.isLargeView, "color-primary-app": this.colorPrimaryApp, "color-on-surface": this.colorOnSurface, "color-secondary-container": this.colorSecondaryContainer, "color-on-secondary-container": this.colorOnSecondaryContainer, "color-surface-container-low": this.colorSurfaceContainerLow }))), ((this.showTrek && !state.currentTrek) ||
|
|
316
316
|
(this.showTouristicContent && !state.currentTouristicContent) ||
|
|
317
317
|
(this.showTouristicEvent && !state.currentTouristicEvent)) && (h("div", { class: this.isLargeView ? 'large-view-loader-container' : 'loader-container' }, h("span", { class: "loader" }))), state.currentTrek && (h("div", { class: this.isLargeView ? 'large-view-app-trek-detail-container' : 'app-trek-detail-container' }, h("grw-trek-detail", { style: {
|
|
318
318
|
visibility: (!this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grw-app.js","sourceRoot":"","sources":["../../../src/components/grw-app/grw-app.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Listen, State, Prop, Element, Watch } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\nimport { mode } from 'types/types';\nimport { handleTouristicContentsFiltersAndSearch, handleTreksFiltersAndSearch, touristicContentsFilters, treksFilters } from 'utils/utils';\n\n@Component({\n tag: 'grw-app',\n styleUrls: ['grw-app.scss'],\n shadow: false,\n})\nexport class GrwApp {\n @Element() appElement: HTMLElement;\n @State() showTrek = false;\n @State() showTouristicContent = false;\n @State() showTouristicEvent = false;\n @State() showHomeMap = false;\n @State() showTrekMap = false;\n @State() showTouristicContentMap = false;\n @State() showTouristicEventMap = false;\n @State() showFilters = false;\n @State() isLargeView = false;\n @State() currentTrekId: number;\n @State() currentTouristicContentId: number;\n @State() currentTouristicEventId: number;\n @Prop() appWidth: string = '100%';\n @Prop() appHeight: string = '100vh';\n @Prop() api: string;\n @Prop() languages = 'fr';\n @Prop() inBbox: string;\n @Prop() cities: string;\n @Prop() districts: string;\n @Prop() structures: string;\n @Prop() themes: string;\n @Prop() portals: string;\n @Prop() routes: string;\n @Prop() practices: string;\n @Prop() center: string;\n @Prop() zoom: number;\n @Prop() nameLayer: string;\n @Prop() urlLayer: string;\n @Prop() attributionLayer: string;\n @Prop() weather = false;\n\n @Prop() colorPrimaryApp = '#6750a4';\n @Prop() colorOnPrimary = '#ffffff';\n @Prop() colorSurface = '#1c1b1f';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSurfaceVariant = '#fef7ff';\n @Prop() colorOnSurfaceVariant = '#1c1b1f';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorBackground = '#fef7ff';\n @Prop() colorSurfaceContainerHigh = '#ece6f0';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() fabBackgroundColor = '#eaddff';\n @Prop() fabColor = '#21005d';\n\n @Prop() colorTrekLine = '#6b0030';\n @Prop() colorSensitiveArea = '#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\n @Prop() useGradient = false;\n\n @Prop() treks = true;\n @Prop() touristicContents = false;\n @Prop() touristicEvents = false;\n\n largeViewSize = 1024;\n handlePopStateBind: (event: any) => void = this.handlePopState.bind(this);\n\n @Listen('trekCardPress', { target: 'window' })\n onTrekCardPress(event: CustomEvent<number>) {\n this.currentTouristicContentId = null;\n this.showTouristicContent = false;\n state.currentTouristicContent = null;\n this.currentTouristicEventId = null;\n this.showTouristicEvent = false;\n state.currentTouristicEvent = null;\n const parentTrek = state.parentTrekId ? state.parentTrekId : state.currentTrekSteps ? this.currentTrekId : null;\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n if (state.currentTrekSteps) {\n url.searchParams.set('parenttrek', parentTrek.toString());\n }\n window.history.pushState({}, '', url);\n }\n\n @Listen('parentTrekPress', { target: 'window' })\n onParentTrekPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n url.searchParams.delete('parenttrek');\n window.history.pushState({}, '', url);\n }\n\n @Listen('touristicContentCardPress', { target: 'window' })\n onTouristicContentCardPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = null;\n this.showTrek = false;\n this.currentTouristicContentId = event.detail;\n this.showTouristicContent = true;\n this.showTouristicContentMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n url.searchParams.set('touristiccontent', this.currentTouristicContentId.toString());\n window.history.pushState({}, '', url);\n }\n\n @Listen('touristicEventCardPress', { target: 'window' })\n onTouristiceEventCardPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = null;\n this.showTrek = false;\n this.currentTouristicEventId = event.detail;\n this.showTouristicEvent = true;\n this.showTouristicEventMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n url.searchParams.set('touristicevent', this.currentTouristicEventId.toString());\n window.history.pushState({}, '', url);\n }\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.handleView();\n }\n\n @Listen('centerOnMap', { target: 'window' })\n onCenterOnMap() {\n if (!this.isLargeView) {\n this.showTrekMap = true;\n }\n }\n\n @Watch('isLargeView')\n watchPropHandler() {\n window.dispatchEvent(new window.Event('resize'));\n }\n\n componentWillLoad() {\n if (this.treks) {\n state.mode = 'treks';\n } else if (this.touristicContents) {\n state.mode = 'touristicContents';\n }\n const url = new URL(window.location.toString());\n const trekParam = url.searchParams.get('trek');\n const parentTrekId = url.searchParams.get('parenttrek');\n const touristicContentParam = url.searchParams.get('touristiccontent');\n const touristicEventParam = url.searchParams.get('touristicevent');\n if (trekParam) {\n window.history.replaceState({ isInitialHistoryWithDetails: true }, '', url);\n state.parentTrekId = parentTrekId ? Number(parentTrekId) : null;\n this.currentTrekId = Number(trekParam);\n this.showTrek = true;\n } else if (touristicContentParam) {\n window.history.replaceState({ isInitialHistoryWithDetails: true }, '', url);\n this.currentTouristicContentId = Number(touristicContentParam);\n this.showTouristicContent = true;\n } else if (touristicEventParam) {\n window.history.replaceState({ isInitialHistoryWithDetails: true }, '', url);\n this.currentTouristicEventId = Number(touristicEventParam);\n this.showTouristicEvent = true;\n }\n }\n\n componentDidLoad() {\n onChange('trekNetworkError', () => {\n if (state.trekNetworkError) {\n const urlRedirect = new URL(window.location.toString());\n urlRedirect.searchParams.delete('trek');\n urlRedirect.searchParams.delete('parenttrek');\n urlRedirect.searchParams.delete('touristiccontent');\n urlRedirect.searchParams.delete('touristicevent');\n window.history.replaceState({}, '', urlRedirect);\n this.onDetailsClose();\n }\n });\n window.addEventListener('popstate', this.handlePopStateBind, false);\n this.handleView();\n }\n\n onDetailsClose() {\n this.currentTouristicContentId = null;\n this.showTouristicContent = false;\n this.showTouristicContentMap = false;\n this.showTouristicEvent = false;\n this.showTouristicEventMap = false;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n\n state.currentTrek = null;\n state.currentTrekSteps = null;\n state.parentTrekId = null;\n this.currentTrekId = null;\n this.showTrek = false;\n }\n\n handleView() {\n this.isLargeView = this.appElement.getBoundingClientRect().width >= this.largeViewSize;\n this.showHomeMap = this.isLargeView;\n this.showTrekMap = this.isLargeView;\n }\n\n handleFilters() {\n this.showFilters = !this.showFilters;\n }\n\n handleBackButton() {\n if (window.history.state && window.history.state.isInitialHistoryWithDetails) {\n this.onDetailsClose();\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n url.searchParams.delete('touristiccontent');\n url.searchParams.delete('touristicevent');\n window.history.pushState({}, '', url);\n } else {\n window.history.back();\n }\n }\n\n handlePopState() {\n const url = new URL(window.location.toString());\n const trekParam = Number(url.searchParams.get('trek'));\n const touristicContentParam = url.searchParams.get('touristiccontent');\n const touristicEventParam = url.searchParams.get('touristicevent');\n if (trekParam && this.currentTrekId !== trekParam) {\n this.currentTouristicContentId = null;\n this.showTouristicContent = false;\n this.showTouristicEvent = false;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n state.currentTrek = null;\n this.currentTrekId = trekParam;\n this.showTrek = true;\n } else if (!trekParam && !touristicContentParam && !touristicEventParam) {\n this.onDetailsClose();\n }\n }\n\n handleShowMap() {\n if (this.currentTrekId) {\n this.showTrekMap = !this.showTrekMap;\n } else if (this.showTouristicContent) {\n this.showTouristicContentMap = !this.showTouristicContentMap;\n } else if (this.showTouristicEvent) {\n this.showTouristicEventMap = !this.showTouristicEventMap;\n } else {\n this.showHomeMap = !this.showHomeMap;\n }\n }\n\n getMapVisibilityIconButton() {\n let mapIconButton: string;\n\n if (this.showTrek) {\n mapIconButton = this.showTrekMap ? 'summarize' : 'map';\n } else if (this.showTouristicContent) {\n mapIconButton = this.showTouristicContentMap ? 'summarize' : 'map';\n } else if (this.showTouristicEvent) {\n mapIconButton = this.showTouristicEventMap ? 'summarize' : 'map';\n } else {\n mapIconButton = this.showHomeMap ? 'list' : 'map';\n }\n\n return mapIconButton;\n }\n\n getMapVisibilityLabelButton() {\n let mapLabelButton: string;\n\n if (this.showTrek) {\n mapLabelButton = this.showTrekMap ? translate[state.language].showDetails : translate[state.language].showRoute;\n } else if (this.showTouristicContent) {\n mapLabelButton = this.showTouristicContentMap ? translate[state.language].showDetails : translate[state.language].showMap;\n } else if (this.showTouristicEvent) {\n mapLabelButton = this.showTouristicEventMap ? translate[state.language].showDetails : translate[state.language].showMap;\n } else {\n mapLabelButton = this.showHomeMap ? translate[state.language].showList : translate[state.language].showMap;\n }\n\n return mapLabelButton;\n }\n\n disconnectedCallback() {\n reset();\n window.removeEventListener('popstate', this.handlePopStateBind);\n }\n\n changeMode(mode: mode) {\n state.searchValue = '';\n if (mode === 'treks') {\n treksFilters.forEach(filter => {\n state[filter.property].forEach(currentFilter => (currentFilter.selected = false));\n });\n state.selectedActivitiesFilters = 0;\n state.selectedThemesFilters = 0;\n state.selectedLocationFilters = 0;\n state.currentTreks = handleTreksFiltersAndSearch();\n } else if (mode === 'touristicContents') {\n touristicContentsFilters.forEach(filter => {\n state[filter.property].forEach(currentFilter => (currentFilter.selected = false));\n });\n state.selectedActivitiesFilters = 0;\n state.selectedLocationFilters = 0;\n state.currentTouristicContents = handleTouristicContentsFiltersAndSearch();\n }\n state.mode = mode;\n }\n\n render() {\n return (\n <Host\n style={{\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-primary': this.colorOnPrimary,\n '--color-surface': this.colorSurface,\n '--color-on-surface': this.colorOnSurface,\n '--color-surface-variant': this.colorSurfaceVariant,\n '--color-on-surface-variant': this.colorOnSurfaceVariant,\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 '--color-surface-container-high': this.colorSurfaceContainerHigh,\n '--color-surface-container-low': this.colorSurfaceContainerLow,\n '--fab-background-color': this.fabBackgroundColor,\n '--fab-color': this.fabColor,\n '--app-width': this.appWidth,\n '--app-height': this.appHeight,\n '--header-height': Number(this.treks) + Number(this.touristicContents) + Number(this.touristicEvents) > 1 ? '136px' : '64px',\n }}\n >\n {!state.currentTreks && !state.currentTrek && !state.currentTouristicContent && !state.currentTouristicEvent && !state.touristicContents && (\n <div class=\"init-loader-container\">\n <span class=\"loader\"></span>\n </div>\n )}\n {this.treks && !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent && !state.treks && (\n <grw-treks-provider\n api={this.api}\n languages={this.languages}\n in-bbox={this.inBbox}\n cities={this.cities}\n districts={this.districts}\n structures={this.structures}\n themes={this.themes}\n portals={this.portals}\n routes={this.routes}\n practices={this.practices}\n ></grw-treks-provider>\n )}\n {this.showTrek && this.currentTrekId && !state.currentTrek && (\n <grw-trek-provider api={this.api} languages={this.languages} trek-id={this.currentTrekId}></grw-trek-provider>\n )}\n {this.showTouristicContent && this.currentTouristicContentId && (\n <grw-touristic-content-card-provider\n api={this.api}\n languages={this.languages}\n touristic-content-id={this.currentTouristicContentId}\n ></grw-touristic-content-card-provider>\n )}\n {this.showTouristicEvent && this.currentTouristicEventId && (\n <grw-touristic-event-provider api={this.api} languages={this.languages} touristic-event-id={this.currentTouristicEventId}></grw-touristic-event-provider>\n )}\n {this.touristicContents && !state.touristicContents && !this.showTouristicContent && (\n <grw-touristic-content-provider api={this.api} languages={this.languages}></grw-touristic-content-provider>\n )}\n {(state.currentTreks || state.currentTrek || state.touristicContents || state.currentTouristicContent || state.currentTouristicEvent) && (\n <div class=\"app-container\">\n <div\n class={`${this.isLargeView ? 'large-view-header-container' : 'header-container'}${\n this.showTrek || this.showTouristicContent || this.showTouristicEvent ? ' header-detail' : ''\n }`}\n >\n {Number(this.treks) + Number(this.touristicContents) + Number(this.touristicEvents) > 1 && !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent && (\n <div class=\"segmented-buttons-container\">\n {this.treks && (\n <label class={`segment${state.mode === 'treks' ? ' selected-segment' : ''}`} onClick={() => this.changeMode('treks')}>\n {translate[state.language].home.segment.treks}\n </label>\n )}\n {this.touristicContents && (\n <label class={`segment${state.mode === 'touristicContents' ? ' selected-segment' : ''}`} onClick={() => this.changeMode('touristicContents')}>\n {translate[state.language].home.segment.touristicContents}\n </label>\n )}\n </div>\n )}\n {!this.showTrek && !this.showTouristicContent && !this.showTouristicEvent ? (\n <div class=\"handle-search-filters-container\">\n <div class=\"handle-search-container\">\n <grw-search></grw-search>\n </div>\n <div class=\"handle-filters-container\">\n <button onClick={() => this.handleFilters()} class=\"handle-filters-button\">\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined margin-right-icon\">\n filter_list\n </span>\n {translate[state.language].filter}\n </button>\n </div>\n </div>\n ) : (\n <div class=\"arrow-back-container\">\n <button onClick={() => this.handleBackButton()} class=\"arrow-back-icon\">\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined\">\n arrow_back\n </span>\n </button>\n </div>\n )}\n </div>\n\n <div class={`content-container ${this.showTrek ? 'content-trek' : 'content-treks'}`}>\n <div\n class={this.isLargeView ? 'large-view-app-treks-list-container' : 'app-treks-list-container'}\n style={{ display: this.showTrek || this.showTouristicContent || this.showTouristicEvent ? 'none' : 'flex', position: this.showTrek ? 'absolute' : 'relative' }}\n >\n {state.mode === 'treks' && this.treks && (\n <grw-treks-list\n reset-store-on-disconnected=\"false\"\n is-large-view={this.isLargeView}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-secondary-container={this.colorSecondaryContainer}\n color-on-secondary-container={this.colorOnSecondaryContainer}\n color-surface-container-low={this.colorSurfaceContainerLow}\n ></grw-treks-list>\n )}\n {state.mode === 'touristicContents' && this.touristicContents && (\n <grw-touristic-contents-list\n reset-store-on-disconnected=\"false\"\n is-large-view={this.isLargeView}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-secondary-container={this.colorSecondaryContainer}\n color-on-secondary-container={this.colorOnSecondaryContainer}\n color-surface-container-low={this.colorSurfaceContainerLow}\n ></grw-touristic-contents-list>\n )}\n </div>\n {((this.showTrek && !state.currentTrek) ||\n (this.showTouristicContent && !state.currentTouristicContent) ||\n (this.showTouristicEvent && !state.currentTouristicEvent)) && (\n <div class={this.isLargeView ? 'large-view-loader-container' : 'loader-container'}>\n <span class=\"loader\"></span>\n </div>\n )}\n {state.currentTrek && (\n <div class={this.isLargeView ? 'large-view-app-trek-detail-container' : 'app-trek-detail-container'}>\n <grw-trek-detail\n style={{\n visibility: (!this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTrekMap ? '1' : '0',\n }}\n reset-store-on-disconnected=\"false\"\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n weather={this.weather}\n is-large-view={this.isLargeView}\n ></grw-trek-detail>\n </div>\n )}\n {this.showTouristicContent && (\n <div class={this.isLargeView ? 'large-view-app-touristic-content-detail-container' : 'app-touristic-content-detail-container'}>\n <grw-touristic-content-detail\n style={{\n visibility: !this.showTouristicContentMap || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTouristicContentMap ? '1' : '0',\n }}\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n is-large-view={this.isLargeView}\n ></grw-touristic-content-detail>\n </div>\n )}\n {this.showTouristicEvent && (\n <div class={this.isLargeView ? 'large-view-app-touristic-event-detail-container' : 'app-touristic-event-detail-container'}>\n <grw-touristic-event-detail\n style={{\n visibility: !this.showTouristicEventMap || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTouristicEventMap ? '1' : '0',\n }}\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n is-large-view={this.isLargeView}\n ></grw-touristic-event-detail>\n </div>\n )}\n <grw-map\n reset-store-on-disconnected=\"false\"\n class={this.isLargeView ? 'large-view-app-map-container' : 'app-map-container'}\n style={{\n visibility:\n (this.showHomeMap && !this.showTrek) ||\n (this.showTrekMap && this.showTrek) ||\n (this.showTouristicContentMap && this.showTouristicContent) ||\n (this.showTouristicEventMap && this.showTouristicEvent) ||\n this.isLargeView\n ? 'visible'\n : 'hidden',\n zIndex: this.showHomeMap || this.showTrekMap || this.showTouristicContentMap || this.showTouristicEventMap ? '1' : '0',\n }}\n center={this.center}\n zoom={this.zoom}\n name-layer={this.nameLayer}\n url-layer={this.urlLayer}\n attribution-layer={this.attributionLayer}\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-background={this.colorBackground}\n color-trek-line={this.colorTrekLine}\n color-sensitive-area={this.colorSensitiveArea}\n color-poi-icon={this.colorPoiIcon}\n is-large-view={this.isLargeView}\n use-gradient={this.useGradient}\n ></grw-map>\n </div>\n {((!this.showTrek && !this.showTouristicContent && !this.showTouristicEvent) ||\n (this.showTrek && state.currentTrek) ||\n (this.showTouristicContent && state.currentTouristicContent) ||\n (this.showTouristicEvent && state.currentTouristicEvent)) && (\n <div class=\"map-visibility-button-container\">\n <button onClick={() => this.handleShowMap()} class=\"map-visibility-button\" style={{ display: this.isLargeView ? 'none' : 'flex' }}>\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined\">\n {this.getMapVisibilityIconButton()}\n </span>\n {this.getMapVisibilityLabelButton()}\n </button>\n </div>\n )}\n </div>\n )}\n {!this.showTrek && this.showFilters && <grw-filters handleFilters={() => this.handleFilters()}></grw-filters>}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"grw-app.js","sourceRoot":"","sources":["../../../src/components/grw-app/grw-app.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Listen, State, Prop, Element, Watch } from '@stencil/core';\nimport { translate } from 'i18n/i18n';\nimport state, { onChange, reset } from 'store/store';\nimport { mode } from 'types/types';\nimport { handleTouristicContentsFiltersAndSearch, handleTreksFiltersAndSearch, touristicContentsFilters, treksFilters } from 'utils/utils';\n\n@Component({\n tag: 'grw-app',\n styleUrls: ['grw-app.scss'],\n shadow: false,\n})\nexport class GrwApp {\n @Element() appElement: HTMLElement;\n @State() showTrek = false;\n @State() showTouristicContent = false;\n @State() showTouristicEvent = false;\n @State() showHomeMap = false;\n @State() showTrekMap = false;\n @State() showTouristicContentMap = false;\n @State() showTouristicEventMap = false;\n @State() showFilters = false;\n @State() isLargeView = false;\n @State() currentTrekId: number;\n @State() currentTouristicContentId: number;\n @State() currentTouristicEventId: number;\n @Prop() appWidth: string = '100%';\n @Prop() appHeight: string = '100vh';\n @Prop() api: string;\n @Prop() languages = 'fr';\n @Prop() inBbox: string;\n @Prop() cities: string;\n @Prop() districts: string;\n @Prop() structures: string;\n @Prop() themes: string;\n @Prop() portals: string;\n @Prop() routes: string;\n @Prop() practices: string;\n @Prop() center: string;\n @Prop() zoom: number;\n @Prop() nameLayer: string;\n @Prop() urlLayer: string;\n @Prop() attributionLayer: string;\n @Prop() weather = false;\n\n @Prop() colorPrimaryApp = '#6750a4';\n @Prop() colorOnPrimary = '#ffffff';\n @Prop() colorSurface = '#1c1b1f';\n @Prop() colorOnSurface = '#49454e';\n @Prop() colorSurfaceVariant = '#fef7ff';\n @Prop() colorOnSurfaceVariant = '#1c1b1f';\n @Prop() colorPrimaryContainer = '#eaddff';\n @Prop() colorOnPrimaryContainer = '#21005e';\n @Prop() colorSecondaryContainer = '#e8def8';\n @Prop() colorOnSecondaryContainer = '#1d192b';\n @Prop() colorBackground = '#fef7ff';\n @Prop() colorSurfaceContainerHigh = '#ece6f0';\n @Prop() colorSurfaceContainerLow = '#f7f2fa';\n @Prop() fabBackgroundColor = '#eaddff';\n @Prop() fabColor = '#21005d';\n\n @Prop() colorTrekLine = '#6b0030';\n @Prop() colorSensitiveArea = '#4974a5';\n @Prop() colorPoiIcon = '#974c6e';\n @Prop() useGradient = false;\n\n @Prop() treks = true;\n @Prop() touristicContents = false;\n @Prop() touristicEvents = false;\n\n largeViewSize = 1024;\n handlePopStateBind: (event: any) => void = this.handlePopState.bind(this);\n\n @Listen('trekCardPress', { target: 'window' })\n onTrekCardPress(event: CustomEvent<number>) {\n this.currentTouristicContentId = null;\n this.showTouristicContent = false;\n state.currentTouristicContent = null;\n this.currentTouristicEventId = null;\n this.showTouristicEvent = false;\n state.currentTouristicEvent = null;\n const parentTrek = state.parentTrekId ? state.parentTrekId : state.currentTrekSteps ? this.currentTrekId : null;\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n if (state.currentTrekSteps) {\n url.searchParams.set('parenttrek', parentTrek.toString());\n }\n window.history.pushState({}, '', url);\n }\n\n @Listen('parentTrekPress', { target: 'window' })\n onParentTrekPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = event.detail;\n this.showTrek = true;\n this.showTrekMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.set('trek', this.currentTrekId.toString());\n url.searchParams.delete('parenttrek');\n window.history.pushState({}, '', url);\n }\n\n @Listen('touristicContentCardPress', { target: 'window' })\n onTouristicContentCardPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = null;\n this.showTrek = false;\n this.currentTouristicContentId = event.detail;\n this.showTouristicContent = true;\n this.showTouristicContentMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n url.searchParams.set('touristiccontent', this.currentTouristicContentId.toString());\n window.history.pushState({}, '', url);\n }\n\n @Listen('touristicEventCardPress', { target: 'window' })\n onTouristiceEventCardPress(event: CustomEvent<number>) {\n state.currentTrek = null;\n this.currentTrekId = null;\n this.showTrek = false;\n this.currentTouristicEventId = event.detail;\n this.showTouristicEvent = true;\n this.showTouristicEventMap = false;\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n url.searchParams.set('touristicevent', this.currentTouristicEventId.toString());\n window.history.pushState({}, '', url);\n }\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.handleView();\n }\n\n @Listen('centerOnMap', { target: 'window' })\n onCenterOnMap() {\n if (!this.isLargeView) {\n this.showTrekMap = true;\n }\n }\n\n @Watch('isLargeView')\n watchPropHandler() {\n window.dispatchEvent(new window.Event('resize'));\n }\n\n componentWillLoad() {\n if (this.treks) {\n state.mode = 'treks';\n } else if (this.touristicContents) {\n state.mode = 'touristicContents';\n }\n const url = new URL(window.location.toString());\n const trekParam = url.searchParams.get('trek');\n const parentTrekId = url.searchParams.get('parenttrek');\n const touristicContentParam = url.searchParams.get('touristiccontent');\n const touristicEventParam = url.searchParams.get('touristicevent');\n if (trekParam) {\n window.history.replaceState({ isInitialHistoryWithDetails: true }, '', url);\n state.parentTrekId = parentTrekId ? Number(parentTrekId) : null;\n this.currentTrekId = Number(trekParam);\n this.showTrek = true;\n } else if (touristicContentParam) {\n window.history.replaceState({ isInitialHistoryWithDetails: true }, '', url);\n this.currentTouristicContentId = Number(touristicContentParam);\n this.showTouristicContent = true;\n } else if (touristicEventParam) {\n window.history.replaceState({ isInitialHistoryWithDetails: true }, '', url);\n this.currentTouristicEventId = Number(touristicEventParam);\n this.showTouristicEvent = true;\n }\n }\n\n componentDidLoad() {\n onChange('trekNetworkError', () => {\n if (state.trekNetworkError) {\n const urlRedirect = new URL(window.location.toString());\n urlRedirect.searchParams.delete('trek');\n urlRedirect.searchParams.delete('parenttrek');\n urlRedirect.searchParams.delete('touristiccontent');\n urlRedirect.searchParams.delete('touristicevent');\n window.history.replaceState({}, '', urlRedirect);\n this.onDetailsClose();\n }\n });\n window.addEventListener('popstate', this.handlePopStateBind, false);\n this.handleView();\n }\n\n onDetailsClose() {\n this.currentTouristicContentId = null;\n this.showTouristicContent = false;\n this.showTouristicContentMap = false;\n this.showTouristicEvent = false;\n this.showTouristicEventMap = false;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n\n state.currentTrek = null;\n state.currentTrekSteps = null;\n state.parentTrekId = null;\n this.currentTrekId = null;\n this.showTrek = false;\n }\n\n handleView() {\n this.isLargeView = this.appElement.getBoundingClientRect().width >= this.largeViewSize;\n this.showHomeMap = this.isLargeView;\n this.showTrekMap = this.isLargeView;\n }\n\n handleFilters() {\n this.showFilters = !this.showFilters;\n }\n\n handleBackButton() {\n if (window.history.state && window.history.state.isInitialHistoryWithDetails) {\n this.onDetailsClose();\n const url = new URL(window.location.toString());\n url.searchParams.delete('trek');\n url.searchParams.delete('touristiccontent');\n url.searchParams.delete('touristicevent');\n window.history.pushState({}, '', url);\n } else {\n window.history.back();\n }\n }\n\n handlePopState() {\n const url = new URL(window.location.toString());\n const trekParam = Number(url.searchParams.get('trek'));\n const touristicContentParam = url.searchParams.get('touristiccontent');\n const touristicEventParam = url.searchParams.get('touristicevent');\n if (trekParam && this.currentTrekId !== trekParam) {\n this.currentTouristicContentId = null;\n this.showTouristicContent = false;\n this.showTouristicEvent = false;\n state.currentTouristicContent = null;\n state.currentTouristicEvent = null;\n state.currentTrek = null;\n this.currentTrekId = trekParam;\n this.showTrek = true;\n } else if (!trekParam && !touristicContentParam && !touristicEventParam) {\n this.onDetailsClose();\n }\n }\n\n handleShowMap() {\n if (this.currentTrekId) {\n this.showTrekMap = !this.showTrekMap;\n } else if (this.showTouristicContent) {\n this.showTouristicContentMap = !this.showTouristicContentMap;\n } else if (this.showTouristicEvent) {\n this.showTouristicEventMap = !this.showTouristicEventMap;\n } else {\n this.showHomeMap = !this.showHomeMap;\n }\n }\n\n getMapVisibilityIconButton() {\n let mapIconButton: string;\n\n if (this.showTrek) {\n mapIconButton = this.showTrekMap ? 'summarize' : 'map';\n } else if (this.showTouristicContent) {\n mapIconButton = this.showTouristicContentMap ? 'summarize' : 'map';\n } else if (this.showTouristicEvent) {\n mapIconButton = this.showTouristicEventMap ? 'summarize' : 'map';\n } else {\n mapIconButton = this.showHomeMap ? 'list' : 'map';\n }\n\n return mapIconButton;\n }\n\n getMapVisibilityLabelButton() {\n let mapLabelButton: string;\n\n if (this.showTrek) {\n mapLabelButton = this.showTrekMap ? translate[state.language].showDetails : translate[state.language].showRoute;\n } else if (this.showTouristicContent) {\n mapLabelButton = this.showTouristicContentMap ? translate[state.language].showDetails : translate[state.language].showMap;\n } else if (this.showTouristicEvent) {\n mapLabelButton = this.showTouristicEventMap ? translate[state.language].showDetails : translate[state.language].showMap;\n } else {\n mapLabelButton = this.showHomeMap ? translate[state.language].showList : translate[state.language].showMap;\n }\n\n return mapLabelButton;\n }\n\n disconnectedCallback() {\n reset();\n window.removeEventListener('popstate', this.handlePopStateBind);\n }\n\n changeMode(mode: mode) {\n state.searchValue = '';\n if (mode === 'treks') {\n treksFilters.forEach(filter => {\n state[filter.property].forEach(currentFilter => (currentFilter.selected = false));\n });\n state.selectedActivitiesFilters = 0;\n state.selectedThemesFilters = 0;\n state.selectedLocationFilters = 0;\n state.currentTreks = handleTreksFiltersAndSearch();\n } else if (mode === 'touristicContents') {\n touristicContentsFilters.forEach(filter => {\n state[filter.property].forEach(currentFilter => (currentFilter.selected = false));\n });\n state.selectedActivitiesFilters = 0;\n state.selectedLocationFilters = 0;\n state.currentTouristicContents = handleTouristicContentsFiltersAndSearch();\n }\n state.mode = mode;\n }\n\n render() {\n return (\n <Host\n style={{\n '--color-primary-app': this.colorPrimaryApp,\n '--color-on-primary': this.colorOnPrimary,\n '--color-surface': this.colorSurface,\n '--color-on-surface': this.colorOnSurface,\n '--color-surface-variant': this.colorSurfaceVariant,\n '--color-on-surface-variant': this.colorOnSurfaceVariant,\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 '--color-surface-container-high': this.colorSurfaceContainerHigh,\n '--color-surface-container-low': this.colorSurfaceContainerLow,\n '--fab-background-color': this.fabBackgroundColor,\n '--fab-color': this.fabColor,\n '--app-width': this.appWidth,\n '--app-height': this.appHeight,\n '--header-height': Number(this.treks) + Number(this.touristicContents) + Number(this.touristicEvents) > 1 ? '136px' : '64px',\n }}\n >\n {!state.currentTreks && !state.currentTrek && !state.currentTouristicContent && !state.currentTouristicEvent && !state.touristicContents && (\n <div class=\"init-loader-container\">\n <span class=\"loader\"></span>\n </div>\n )}\n {this.treks && !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent && !state.treks && (\n <grw-treks-provider\n api={this.api}\n languages={this.languages}\n in-bbox={this.inBbox}\n cities={this.cities}\n districts={this.districts}\n structures={this.structures}\n themes={this.themes}\n portals={this.portals}\n routes={this.routes}\n practices={this.practices}\n ></grw-treks-provider>\n )}\n {this.showTrek && this.currentTrekId && !state.currentTrek && (\n <grw-trek-provider api={this.api} languages={this.languages} trek-id={this.currentTrekId}></grw-trek-provider>\n )}\n {this.showTouristicContent && this.currentTouristicContentId && (\n <grw-touristic-content-provider api={this.api} languages={this.languages} touristic-content-id={this.currentTouristicContentId}></grw-touristic-content-provider>\n )}\n {this.showTouristicEvent && this.currentTouristicEventId && (\n <grw-touristic-event-provider api={this.api} languages={this.languages} touristic-event-id={this.currentTouristicEventId}></grw-touristic-event-provider>\n )}\n {this.touristicContents && !state.touristicContents && !this.showTouristicContent && (\n <grw-touristic-contents-provider\n api={this.api}\n languages={this.languages}\n in-bbox={this.inBbox}\n cities={this.cities}\n districts={this.districts}\n structures={this.structures}\n themes={this.themes}\n portals={this.portals}\n ></grw-touristic-contents-provider>\n )}\n {(state.currentTreks || state.currentTrek || state.touristicContents || state.currentTouristicContent || state.currentTouristicEvent) && (\n <div class=\"app-container\">\n <div\n class={`${this.isLargeView ? 'large-view-header-container' : 'header-container'}${\n this.showTrek || this.showTouristicContent || this.showTouristicEvent ? ' header-detail' : ''\n }`}\n >\n {Number(this.treks) + Number(this.touristicContents) + Number(this.touristicEvents) > 1 && !this.showTrek && !this.showTouristicContent && !this.showTouristicEvent && (\n <div class=\"segmented-buttons-container\">\n {this.treks && (\n <label class={`segment${state.mode === 'treks' ? ' selected-segment' : ''}`} onClick={() => this.changeMode('treks')}>\n {translate[state.language].home.segment.treks}\n </label>\n )}\n {this.touristicContents && (\n <label class={`segment${state.mode === 'touristicContents' ? ' selected-segment' : ''}`} onClick={() => this.changeMode('touristicContents')}>\n {translate[state.language].home.segment.touristicContents}\n </label>\n )}\n </div>\n )}\n {!this.showTrek && !this.showTouristicContent && !this.showTouristicEvent ? (\n <div class=\"handle-search-filters-container\">\n <div class=\"handle-search-container\">\n <grw-search></grw-search>\n </div>\n <div class=\"handle-filters-container\">\n <button onClick={() => this.handleFilters()} class=\"handle-filters-button\">\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined margin-right-icon\">\n filter_list\n </span>\n {translate[state.language].filter}\n </button>\n </div>\n </div>\n ) : (\n <div class=\"arrow-back-container\">\n <button onClick={() => this.handleBackButton()} class=\"arrow-back-icon\">\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined\">\n arrow_back\n </span>\n </button>\n </div>\n )}\n </div>\n\n <div class={`content-container ${this.showTrek ? 'content-trek' : 'content-treks'}`}>\n <div\n class={this.isLargeView ? 'large-view-app-treks-list-container' : 'app-treks-list-container'}\n style={{ display: this.showTrek || this.showTouristicContent || this.showTouristicEvent ? 'none' : 'flex', position: this.showTrek ? 'absolute' : 'relative' }}\n >\n {state.mode === 'treks' && this.treks && (\n <grw-treks-list\n reset-store-on-disconnected=\"false\"\n is-large-view={this.isLargeView}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-secondary-container={this.colorSecondaryContainer}\n color-on-secondary-container={this.colorOnSecondaryContainer}\n color-surface-container-low={this.colorSurfaceContainerLow}\n ></grw-treks-list>\n )}\n {state.mode === 'touristicContents' && this.touristicContents && (\n <grw-touristic-contents-list\n reset-store-on-disconnected=\"false\"\n is-large-view={this.isLargeView}\n color-primary-app={this.colorPrimaryApp}\n color-on-surface={this.colorOnSurface}\n color-secondary-container={this.colorSecondaryContainer}\n color-on-secondary-container={this.colorOnSecondaryContainer}\n color-surface-container-low={this.colorSurfaceContainerLow}\n ></grw-touristic-contents-list>\n )}\n </div>\n {((this.showTrek && !state.currentTrek) ||\n (this.showTouristicContent && !state.currentTouristicContent) ||\n (this.showTouristicEvent && !state.currentTouristicEvent)) && (\n <div class={this.isLargeView ? 'large-view-loader-container' : 'loader-container'}>\n <span class=\"loader\"></span>\n </div>\n )}\n {state.currentTrek && (\n <div class={this.isLargeView ? 'large-view-app-trek-detail-container' : 'app-trek-detail-container'}>\n <grw-trek-detail\n style={{\n visibility: (!this.showTrekMap && this.showTrek) || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTrekMap ? '1' : '0',\n }}\n reset-store-on-disconnected=\"false\"\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n weather={this.weather}\n is-large-view={this.isLargeView}\n ></grw-trek-detail>\n </div>\n )}\n {this.showTouristicContent && (\n <div class={this.isLargeView ? 'large-view-app-touristic-content-detail-container' : 'app-touristic-content-detail-container'}>\n <grw-touristic-content-detail\n style={{\n visibility: !this.showTouristicContentMap || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTouristicContentMap ? '1' : '0',\n }}\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n is-large-view={this.isLargeView}\n ></grw-touristic-content-detail>\n </div>\n )}\n {this.showTouristicEvent && (\n <div class={this.isLargeView ? 'large-view-app-touristic-event-detail-container' : 'app-touristic-event-detail-container'}>\n <grw-touristic-event-detail\n style={{\n visibility: !this.showTouristicEventMap || this.isLargeView ? 'visible' : 'hidden',\n zIndex: !this.showTouristicEventMap ? '1' : '0',\n }}\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-surface-container-low={this.colorSurfaceContainerLow}\n color-background={this.colorBackground}\n is-large-view={this.isLargeView}\n ></grw-touristic-event-detail>\n </div>\n )}\n <grw-map\n reset-store-on-disconnected=\"false\"\n class={this.isLargeView ? 'large-view-app-map-container' : 'app-map-container'}\n style={{\n visibility:\n (this.showHomeMap && !this.showTrek) ||\n (this.showTrekMap && this.showTrek) ||\n (this.showTouristicContentMap && this.showTouristicContent) ||\n (this.showTouristicEventMap && this.showTouristicEvent) ||\n this.isLargeView\n ? 'visible'\n : 'hidden',\n zIndex: this.showHomeMap || this.showTrekMap || this.showTouristicContentMap || this.showTouristicEventMap ? '1' : '0',\n }}\n center={this.center}\n zoom={this.zoom}\n name-layer={this.nameLayer}\n url-layer={this.urlLayer}\n attribution-layer={this.attributionLayer}\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-background={this.colorBackground}\n color-trek-line={this.colorTrekLine}\n color-sensitive-area={this.colorSensitiveArea}\n color-poi-icon={this.colorPoiIcon}\n is-large-view={this.isLargeView}\n use-gradient={this.useGradient}\n ></grw-map>\n </div>\n {((!this.showTrek && !this.showTouristicContent && !this.showTouristicEvent) ||\n (this.showTrek && state.currentTrek) ||\n (this.showTouristicContent && state.currentTouristicContent) ||\n (this.showTouristicEvent && state.currentTouristicEvent)) && (\n <div class=\"map-visibility-button-container\">\n <button onClick={() => this.handleShowMap()} class=\"map-visibility-button\" style={{ display: this.isLargeView ? 'none' : 'flex' }}>\n {/* @ts-ignore */}\n <span translate={false} class=\"material-symbols material-symbols-outlined\">\n {this.getMapVisibilityIconButton()}\n </span>\n {this.getMapVisibilityLabelButton()}\n </button>\n </div>\n )}\n </div>\n )}\n {!this.showTrek && this.showFilters && <grw-filters handleFilters={() => this.handleFilters()}></grw-filters>}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -8,6 +8,12 @@ export class GrwTouristicContentsProvider {
|
|
|
8
8
|
this.languages = 'fr';
|
|
9
9
|
this.api = undefined;
|
|
10
10
|
this.touristicContentId = undefined;
|
|
11
|
+
this.inBbox = undefined;
|
|
12
|
+
this.cities = undefined;
|
|
13
|
+
this.districts = undefined;
|
|
14
|
+
this.structures = undefined;
|
|
15
|
+
this.themes = undefined;
|
|
16
|
+
this.portals = undefined;
|
|
11
17
|
}
|
|
12
18
|
connectedCallback() {
|
|
13
19
|
if (!state.api) {
|
|
@@ -18,16 +24,21 @@ export class GrwTouristicContentsProvider {
|
|
|
18
24
|
this.handleTouristicContents();
|
|
19
25
|
}
|
|
20
26
|
handleTouristicContents() {
|
|
27
|
+
let touristicContentsRequest = `${state.api}touristiccontent/?language=${state.language}&published=true`;
|
|
28
|
+
this.inBbox && (touristicContentsRequest += `&in_bbox=${this.inBbox}`);
|
|
29
|
+
this.cities && (touristicContentsRequest += `&cities=${this.cities}`);
|
|
30
|
+
this.districts && (touristicContentsRequest += `&districts=${this.districts}`);
|
|
31
|
+
this.structures && (touristicContentsRequest += `&structures=${this.structures}`);
|
|
32
|
+
this.themes && (touristicContentsRequest += `&themes=${this.themes}`);
|
|
33
|
+
this.portals && (touristicContentsRequest += `&portals=${this.portals}`);
|
|
34
|
+
touristicContentsRequest += `&fields=id,name,attachments,category,geometry,cities,districts&page_size=999`;
|
|
21
35
|
const requests = [];
|
|
22
36
|
requests.push(!state.cities ? fetch(`${state.api}city/?language=${state.language}&fields=id,name&published=true&page_size=999`, this.init) : new Response('null'));
|
|
23
37
|
requests.push(!state.districts ? fetch(`${state.api}district/?language=${state.language}&fields=id,name&published=true&page_size=999`, this.init) : new Response('null')),
|
|
24
38
|
requests.push(!state.touristicContentCategories
|
|
25
39
|
? fetch(`${state.api}touristiccontent_category/?language=${state.language}&published=true&fields=id,label,pictogram&page_size=999`, this.init)
|
|
26
40
|
: new Response('null'));
|
|
27
|
-
Promise.all([
|
|
28
|
-
...requests,
|
|
29
|
-
fetch(`${state.api}touristiccontent/?language=${state.language}&published=true&fields=id,name,attachments,category,geometry,cities,districts&page_size=999`, this.init),
|
|
30
|
-
])
|
|
41
|
+
Promise.all([...requests, fetch(touristicContentsRequest, this.init)])
|
|
31
42
|
.then(responses => Promise.all(responses.map(response => response.json())))
|
|
32
43
|
.then(([cities, districts, touristicContentCategory, touristicContents]) => {
|
|
33
44
|
state.trekNetworkError = false;
|
|
@@ -55,7 +66,7 @@ export class GrwTouristicContentsProvider {
|
|
|
55
66
|
render() {
|
|
56
67
|
return h(Host, null);
|
|
57
68
|
}
|
|
58
|
-
static get is() { return "grw-touristic-
|
|
69
|
+
static get is() { return "grw-touristic-contents-provider"; }
|
|
59
70
|
static get encapsulation() { return "shadow"; }
|
|
60
71
|
static get properties() {
|
|
61
72
|
return {
|
|
@@ -110,6 +121,108 @@ export class GrwTouristicContentsProvider {
|
|
|
110
121
|
},
|
|
111
122
|
"attribute": "touristic-content-id",
|
|
112
123
|
"reflect": false
|
|
124
|
+
},
|
|
125
|
+
"inBbox": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"mutable": false,
|
|
128
|
+
"complexType": {
|
|
129
|
+
"original": "string",
|
|
130
|
+
"resolved": "string",
|
|
131
|
+
"references": {}
|
|
132
|
+
},
|
|
133
|
+
"required": false,
|
|
134
|
+
"optional": false,
|
|
135
|
+
"docs": {
|
|
136
|
+
"tags": [],
|
|
137
|
+
"text": ""
|
|
138
|
+
},
|
|
139
|
+
"attribute": "in-bbox",
|
|
140
|
+
"reflect": false
|
|
141
|
+
},
|
|
142
|
+
"cities": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"mutable": false,
|
|
145
|
+
"complexType": {
|
|
146
|
+
"original": "string",
|
|
147
|
+
"resolved": "string",
|
|
148
|
+
"references": {}
|
|
149
|
+
},
|
|
150
|
+
"required": false,
|
|
151
|
+
"optional": false,
|
|
152
|
+
"docs": {
|
|
153
|
+
"tags": [],
|
|
154
|
+
"text": ""
|
|
155
|
+
},
|
|
156
|
+
"attribute": "cities",
|
|
157
|
+
"reflect": false
|
|
158
|
+
},
|
|
159
|
+
"districts": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"mutable": false,
|
|
162
|
+
"complexType": {
|
|
163
|
+
"original": "string",
|
|
164
|
+
"resolved": "string",
|
|
165
|
+
"references": {}
|
|
166
|
+
},
|
|
167
|
+
"required": false,
|
|
168
|
+
"optional": false,
|
|
169
|
+
"docs": {
|
|
170
|
+
"tags": [],
|
|
171
|
+
"text": ""
|
|
172
|
+
},
|
|
173
|
+
"attribute": "districts",
|
|
174
|
+
"reflect": false
|
|
175
|
+
},
|
|
176
|
+
"structures": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"mutable": false,
|
|
179
|
+
"complexType": {
|
|
180
|
+
"original": "string",
|
|
181
|
+
"resolved": "string",
|
|
182
|
+
"references": {}
|
|
183
|
+
},
|
|
184
|
+
"required": false,
|
|
185
|
+
"optional": false,
|
|
186
|
+
"docs": {
|
|
187
|
+
"tags": [],
|
|
188
|
+
"text": ""
|
|
189
|
+
},
|
|
190
|
+
"attribute": "structures",
|
|
191
|
+
"reflect": false
|
|
192
|
+
},
|
|
193
|
+
"themes": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"mutable": false,
|
|
196
|
+
"complexType": {
|
|
197
|
+
"original": "string",
|
|
198
|
+
"resolved": "string",
|
|
199
|
+
"references": {}
|
|
200
|
+
},
|
|
201
|
+
"required": false,
|
|
202
|
+
"optional": false,
|
|
203
|
+
"docs": {
|
|
204
|
+
"tags": [],
|
|
205
|
+
"text": ""
|
|
206
|
+
},
|
|
207
|
+
"attribute": "themes",
|
|
208
|
+
"reflect": false
|
|
209
|
+
},
|
|
210
|
+
"portals": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"mutable": false,
|
|
213
|
+
"complexType": {
|
|
214
|
+
"original": "string",
|
|
215
|
+
"resolved": "string",
|
|
216
|
+
"references": {}
|
|
217
|
+
},
|
|
218
|
+
"required": false,
|
|
219
|
+
"optional": false,
|
|
220
|
+
"docs": {
|
|
221
|
+
"tags": [],
|
|
222
|
+
"text": ""
|
|
223
|
+
},
|
|
224
|
+
"attribute": "portals",
|
|
225
|
+
"reflect": false
|
|
113
226
|
}
|
|
114
227
|
};
|
|
115
228
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grw-touristic-contents-provider.js","sourceRoot":"","sources":["../../src/store/grw-touristic-contents-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,MAAM,aAAa,CAAC;AAMhC,MAAM,OAAO,4BAA4B;;
|
|
1
|
+
{"version":3,"file":"grw-touristic-contents-provider.js","sourceRoot":"","sources":["../../src/store/grw-touristic-contents-provider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Build, Component, h, Host, Prop } from '@stencil/core';\nimport state from 'store/store';\n\n@Component({\n tag: 'grw-touristic-contents-provider',\n shadow: true,\n})\nexport class GrwTouristicContentsProvider {\n @Prop() languages = 'fr';\n @Prop() api: string;\n @Prop() touristicContentId: string;\n @Prop() inBbox: string;\n @Prop() cities: string;\n @Prop() districts: string;\n @Prop() structures: string;\n @Prop() themes: string;\n @Prop() portals: string;\n controller = new AbortController();\n signal = this.controller.signal;\n init: RequestInit = { cache: Build.isDev ? 'force-cache' : 'default', signal: this.signal };\n\n connectedCallback() {\n if (!state.api) {\n state.api = this.api;\n state.languages = this.languages.split(',');\n state.language = state.languages[0];\n }\n this.handleTouristicContents();\n }\n\n handleTouristicContents() {\n let touristicContentsRequest = `${state.api}touristiccontent/?language=${state.language}&published=true`;\n this.inBbox && (touristicContentsRequest += `&in_bbox=${this.inBbox}`);\n this.cities && (touristicContentsRequest += `&cities=${this.cities}`);\n this.districts && (touristicContentsRequest += `&districts=${this.districts}`);\n this.structures && (touristicContentsRequest += `&structures=${this.structures}`);\n this.themes && (touristicContentsRequest += `&themes=${this.themes}`);\n this.portals && (touristicContentsRequest += `&portals=${this.portals}`);\n\n touristicContentsRequest += `&fields=id,name,attachments,category,geometry,cities,districts&page_size=999`;\n\n const requests = [];\n requests.push(!state.cities ? fetch(`${state.api}city/?language=${state.language}&fields=id,name&published=true&page_size=999`, this.init) : new Response('null'));\n requests.push(!state.districts ? fetch(`${state.api}district/?language=${state.language}&fields=id,name&published=true&page_size=999`, this.init) : new Response('null')),\n requests.push(\n !state.touristicContentCategories\n ? fetch(`${state.api}touristiccontent_category/?language=${state.language}&published=true&fields=id,label,pictogram&page_size=999`, this.init)\n : new Response('null'),\n );\n\n Promise.all([...requests, fetch(touristicContentsRequest, this.init)])\n .then(responses => Promise.all(responses.map(response => response.json())))\n .then(([cities, districts, touristicContentCategory, touristicContents]) => {\n state.trekNetworkError = false;\n\n if (cities) {\n state.cities = cities.results;\n }\n if (districts) {\n state.districts = districts.results;\n }\n if (touristicContentCategory) {\n state.touristicContentCategories = touristicContentCategory.results;\n }\n state.currentTouristicContents = touristicContents.results;\n state.touristicContentsWithinBounds = touristicContents.results;\n state.touristicContents = touristicContents.results;\n })\n .catch(() => {\n state.trekNetworkError = true;\n });\n }\n\n disconnectedCallback() {\n this.controller.abort();\n state.trekNetworkError = false;\n }\n\n render() {\n return <Host></Host>;\n }\n}\n"]}
|