@esri/solutions-components 0.10.35 → 0.10.37
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +1 -0
- package/dist/cjs/calcite-action-pad_2.cjs.entry.js +2 -2
- package/dist/cjs/calcite-alert_5.cjs.entry.js +3 -3
- package/dist/cjs/calcite-block_5.cjs.entry.js +2 -2
- package/dist/cjs/card-manager_3.cjs.entry.js +2 -2
- package/dist/cjs/{constants-0a4fc296.js → constants-51cf394f.js} +57 -1
- package/dist/cjs/crowdsource-manager.cjs.entry.js +25 -29
- package/dist/cjs/{downloadUtils-20637f89.js → downloadUtils-76bc7e30.js} +6 -5
- package/dist/cjs/feature-list.cjs.entry.js +3 -3
- package/dist/cjs/{helpers-415179ad.js → helpers-afcac967.js} +1 -1
- package/dist/cjs/{index.es-a242cb45.js → index.es-8336efed.js} +2 -2
- package/dist/cjs/instant-apps-app-guide.cjs.entry.js +26 -13
- package/dist/cjs/instant-apps-export.cjs.entry.js +1086 -59
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +8 -4
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +10 -5
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +52 -12
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +9 -3
- package/dist/cjs/instant-apps-landing-page.cjs.entry.js +19 -13
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +3 -2
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-measurement.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-popover.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-sign-in.cjs.entry.js +13 -9
- package/dist/cjs/instant-apps-splash.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-time-filter.cjs.entry.js +11 -9
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
- package/dist/cjs/{popupUtils-d477705b.js → popupUtils-bc762034.js} +1 -1
- package/dist/cjs/public-notification.cjs.entry.js +2 -2
- package/dist/cjs/solution-item-accordion.cjs.entry.js +7 -3
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +27 -29
- package/dist/collection/components/map-legend/map-legend.js +1 -0
- package/dist/collection/components/solution-item-accordion/solution-item-accordion.js +7 -3
- package/dist/collection/demos/solution-item-accordion.html +32 -0
- package/dist/collection/utils/downloadUtils.js +5 -3
- package/dist/collection/utils/downloadUtils.ts +6 -3
- package/dist/collection/utils/test/downloadUtils.spec.tsx +10 -12
- package/dist/components/crowdsource-manager.js +26 -29
- package/dist/components/downloadUtils.js +5 -4
- package/dist/components/instant-apps-app-guide.js +28 -14
- package/dist/components/instant-apps-export.js +1119 -76
- package/dist/components/instant-apps-interactive-legend-classic2.js +8 -4
- package/dist/components/instant-apps-interactive-legend-count2.js +6 -3
- package/dist/components/instant-apps-interactive-legend-layer-element-caption2.js +5 -2
- package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +52 -12
- package/dist/components/instant-apps-interactive-legend.js +13 -4
- package/dist/components/instant-apps-landing-page.js +19 -13
- package/dist/components/instant-apps-language-switcher.js +3 -1
- package/dist/components/instant-apps-language-translator2.js +57 -1
- package/dist/components/instant-apps-measurement-tool2.js +2 -2
- package/dist/components/instant-apps-measurement.js +2 -2
- package/dist/components/instant-apps-popover.js +1 -1
- package/dist/components/instant-apps-scoreboard.js +1 -1
- package/dist/components/instant-apps-sign-in2.js +14 -9
- package/dist/components/instant-apps-social-share2.js +2 -2
- package/dist/components/instant-apps-splash.js +1 -1
- package/dist/components/instant-apps-time-filter.js +11 -9
- package/dist/components/map-legend2.js +1 -0
- package/dist/components/solution-item-accordion.js +7 -3
- package/dist/components/store.js +1 -1
- package/dist/esm/basemap-gallery_7.entry.js +1 -0
- package/dist/esm/calcite-action-pad_2.entry.js +2 -2
- package/dist/esm/calcite-alert_5.entry.js +3 -3
- package/dist/esm/calcite-block_5.entry.js +2 -2
- package/dist/esm/card-manager_3.entry.js +2 -2
- package/dist/esm/{constants-045d6a1b.js → constants-886c7c2c.js} +57 -1
- package/dist/esm/crowdsource-manager.entry.js +25 -29
- package/dist/esm/{downloadUtils-e266e98d.js → downloadUtils-bc7a4ba1.js} +6 -5
- package/dist/esm/feature-list.entry.js +3 -3
- package/dist/esm/{helpers-f9bf9c0b.js → helpers-91087955.js} +1 -1
- package/dist/esm/{index.es-c5f258e2.js → index.es-0d189a34.js} +2 -2
- package/dist/esm/instant-apps-app-guide.entry.js +26 -13
- package/dist/esm/instant-apps-export.entry.js +1086 -59
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +8 -4
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +10 -5
- package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +1 -1
- package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +52 -12
- package/dist/esm/instant-apps-interactive-legend.entry.js +9 -3
- package/dist/esm/instant-apps-landing-page.entry.js +19 -13
- package/dist/esm/instant-apps-language-switcher.entry.js +3 -2
- package/dist/esm/instant-apps-language-translator.entry.js +1 -1
- package/dist/esm/instant-apps-measurement.entry.js +2 -2
- package/dist/esm/instant-apps-popover.entry.js +1 -1
- package/dist/esm/instant-apps-scoreboard.entry.js +1 -1
- package/dist/esm/instant-apps-sign-in.entry.js +13 -9
- package/dist/esm/instant-apps-splash.entry.js +1 -1
- package/dist/esm/instant-apps-time-filter.entry.js +11 -9
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +2 -2
- package/dist/esm/{popupUtils-4570096e.js → popupUtils-03dc398a.js} +1 -1
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/solution-item-accordion.entry.js +7 -3
- package/dist/esm/solutions-components.js +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-app-guide/instant-apps-app-guide.css +0 -5
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-export/instant-apps-export.css +4 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-classic/instant-apps-interactive-legend-classic.css +14 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-count/instant-apps-interactive-legend-count.css +9 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-layer-element-caption/instant-apps-interactive-legend-layer-element-caption.css +5 -3
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-legend-element-caption/instant-apps-interactive-legend-legend-element-caption.css +29 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-landing-page/instant-apps-landing-page.css +8 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-sign-in/instant-apps-sign-in.css +22 -0
- package/dist/solutions-components/demos/solution-item-accordion.html +32 -0
- package/dist/solutions-components/{p-cb3199f9.entry.js → p-04ab956c.entry.js} +1 -1
- package/dist/solutions-components/p-1e14b3d0.entry.js +6 -0
- package/dist/solutions-components/p-2542d5c9.entry.js +6 -0
- package/dist/solutions-components/{p-70ecc979.entry.js → p-374ddead.entry.js} +1 -1
- package/dist/solutions-components/{p-146acd9a.entry.js → p-3fc18283.entry.js} +1 -1
- package/dist/solutions-components/p-43699470.entry.js +6 -0
- package/dist/solutions-components/p-5585dcd3.entry.js +6 -0
- package/dist/solutions-components/{p-3a513c67.entry.js → p-5b3c0418.entry.js} +1 -1
- package/dist/solutions-components/{p-f7e7b830.entry.js → p-6438d1ea.entry.js} +1 -1
- package/dist/solutions-components/{p-a568af9f.js → p-6f606cdb.js} +1 -1
- package/dist/solutions-components/p-720de4db.entry.js +6 -0
- package/dist/solutions-components/p-750b3277.entry.js +6 -0
- package/dist/solutions-components/p-8779ee41.entry.js +6 -0
- package/dist/solutions-components/p-90fc786f.entry.js +6 -0
- package/dist/solutions-components/p-97fe6ec5.entry.js +6 -0
- package/dist/solutions-components/{p-43165ebd.entry.js → p-9c170b30.entry.js} +1 -1
- package/dist/solutions-components/{p-b4c49411.entry.js → p-9c4fef09.entry.js} +1 -1
- package/dist/solutions-components/p-a5b751e2.entry.js +6 -0
- package/dist/solutions-components/{p-89046451.entry.js → p-aac0c89c.entry.js} +1 -1
- package/dist/solutions-components/p-af573e0d.js +6 -0
- package/dist/solutions-components/p-bb8b1ee2.entry.js +6 -0
- package/dist/solutions-components/{p-b79f296d.entry.js → p-c48be45f.entry.js} +2 -2
- package/dist/solutions-components/p-ca3cbd29.entry.js +6 -0
- package/dist/solutions-components/p-cd482a33.js +21 -0
- package/dist/solutions-components/p-ceb1030b.js +6 -0
- package/dist/solutions-components/{p-b86b2664.entry.js → p-d2612c30.entry.js} +1 -1
- package/dist/solutions-components/{p-29047e77.entry.js → p-e1391389.entry.js} +1 -1
- package/dist/solutions-components/{p-588adf13.entry.js → p-e345f9c4.entry.js} +1 -1
- package/dist/solutions-components/p-f3b71784.entry.js +6 -0
- package/dist/solutions-components/{p-759d0beb.entry.js → p-f728af86.entry.js} +1 -1
- package/dist/solutions-components/{p-46c8015c.js → p-ff9e28d1.js} +30 -30
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/downloadUtils.ts +6 -3
- package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +10 -12
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +4 -7
- package/package.json +8 -7
- package/dist/solutions-components/p-07a194e6.entry.js +0 -6
- package/dist/solutions-components/p-14d78748.entry.js +0 -6
- package/dist/solutions-components/p-2360802a.js +0 -21
- package/dist/solutions-components/p-24e3f09f.entry.js +0 -6
- package/dist/solutions-components/p-3a33ef72.entry.js +0 -6
- package/dist/solutions-components/p-402301cb.js +0 -6
- package/dist/solutions-components/p-41a6f03d.entry.js +0 -6
- package/dist/solutions-components/p-4db86c5e.entry.js +0 -6
- package/dist/solutions-components/p-5eb9a413.entry.js +0 -6
- package/dist/solutions-components/p-750f234e.entry.js +0 -6
- package/dist/solutions-components/p-7e97d4d6.entry.js +0 -6
- package/dist/solutions-components/p-7eb5d31a.js +0 -6
- package/dist/solutions-components/p-90d2aadc.entry.js +0 -6
- package/dist/solutions-components/p-b78a4ce7.entry.js +0 -6
- package/dist/solutions-components/p-ecf642c2.entry.js +0 -6
- package/dist/solutions-components/p-efb4cb43.entry.js +0 -6
@@ -142,6 +142,22 @@ export class CrowdsourceManager {
|
|
142
142
|
// Watch handlers
|
143
143
|
//
|
144
144
|
//--------------------------------------------------------------------------
|
145
|
+
/**
|
146
|
+
* Adjust layout based on current appLayout value
|
147
|
+
*/
|
148
|
+
appLayoutWatchHandler(newAppLayout, oldAppLayout) {
|
149
|
+
if (newAppLayout !== oldAppLayout) {
|
150
|
+
this._setActiveLayout(newAppLayout);
|
151
|
+
// update the layer if table selected while switching to map view
|
152
|
+
if (this.appLayout === "mapView" && this._layer.isTable) {
|
153
|
+
void this._mapCard.updateLayer();
|
154
|
+
}
|
155
|
+
if (this._isMapViewOnLoad) {
|
156
|
+
void this._layerTable.refresh();
|
157
|
+
this._isMapViewOnLoad = false;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
}
|
145
161
|
/**
|
146
162
|
* When true the map zoom tools will be available
|
147
163
|
*/
|
@@ -210,7 +226,7 @@ export class CrowdsourceManager {
|
|
210
226
|
layer && await layer.when(() => {
|
211
227
|
// on render if no layer is present and only one table is present in map and app is in map view layer then change it to split layout
|
212
228
|
if (this._layerIds.length === 0 && this.appLayout === 'mapView' && layer.isTable) {
|
213
|
-
this.
|
229
|
+
this.appLayout = "splitView";
|
214
230
|
}
|
215
231
|
this._layer = layer;
|
216
232
|
this._initLayerExpressions();
|
@@ -243,7 +259,7 @@ export class CrowdsourceManager {
|
|
243
259
|
render() {
|
244
260
|
// only avoid border when we have a header color that is not white
|
245
261
|
const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
|
246
|
-
return (h(Host, { key: '
|
262
|
+
return (h(Host, { key: 'ace73bfa1aa7d460f1cba60d13e94c4f47f77bd0' }, h("calcite-shell", { key: 'f14e70be762bf236be566111b45e40a42f0997f7', class: "position-relative" }, h("calcite-panel", { key: '0dde9426295a780b6a12cd98513f655914c0dab5', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
|
247
263
|
}
|
248
264
|
/**
|
249
265
|
* Called after each render
|
@@ -476,10 +492,9 @@ export class CrowdsourceManager {
|
|
476
492
|
const cardManagerHeight = isTableLayout && this.mapInfos?.length > 1 ? "adjusted-height-100-51" : isMapLayout || isTableLayout ? "height-full" : (this._numSelected > 0 && !this._isMobile) ? "height-50" : !this._showInformationHeader ? "adjusted-height-50_25" : !this._isPortraitMobile ? "height-50" : "height-full";
|
477
493
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
478
494
|
return (h("div", { class: `width-50 height-full ${themeClass}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, customInfoText: this.customInfoText, enableCreateFeatures: this._enableCreateFeatures && !this._isMobile, enableEditGeometry: this?._mapInfo?.enableEditGeometry, isMobile: this._isPortraitMobile, layer: this._layer, mapView: this?._mapView, onBackFromCreateWorkFlow: () => {
|
479
|
-
this._changeLayout(this.appLayout);
|
480
495
|
this._showInformationHeader = true;
|
481
496
|
}, onCreateWorkFlowStarted: () => {
|
482
|
-
this.
|
497
|
+
this.appLayout = this._layer.isTable ? "tableView" : "mapView";
|
483
498
|
this._showInformationHeader = false;
|
484
499
|
}, onFeatureOrRecordSubmitted: () => void this._layerTable.refresh(), selectedFeaturesIds: this._layerTable?.selectedIds, selectingFeatureFromMap: this.appLayout === "mapView", zoomAndScrollToSelected: this.zoomAndScrollToSelected })));
|
485
500
|
}
|
@@ -517,7 +532,7 @@ export class CrowdsourceManager {
|
|
517
532
|
const icon = this._getDividerIcon(layoutMode, panelOpen);
|
518
533
|
const tooltip = panelOpen ? this._translations.close : this._translations.open;
|
519
534
|
const id = "toggle-layout";
|
520
|
-
return (h(Fragment, null, h("calcite-action", { active: this.appLayout === 'splitView', class: "toggle-node", icon: "browser", id: "browser-action", onClick: () => { this.
|
535
|
+
return (h(Fragment, null, h("calcite-action", { active: this.appLayout === 'splitView', class: "toggle-node", icon: "browser", id: "browser-action", onClick: () => { this.appLayout = "splitView"; }, text: "" }), h("calcite-tooltip", { placement: "right", "reference-element": "browser-action" }, h("span", null, this._translations.splitView)), h("calcite-action", { active: this.appLayout === 'tableView', class: "toggle-node", icon: "dock-left", id: "dock-left-action", onClick: () => { this.appLayout = "tableView"; }, text: "" }), h("calcite-tooltip", { placement: "right", "reference-element": "dock-left-action" }, h("span", null, this._translations.tableView)), h("calcite-action", { active: this.appLayout === 'mapView', class: "toggle-node", disabled: this._layerIds?.length === 0, icon: "browser-map", id: "browser-map-action", onClick: () => { this.appLayout = "mapView"; }, text: "" }), h("calcite-tooltip", { placement: "right", "reference-element": "browser-map-action" }, h("span", null, this._translations.mapView)), h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), slot: "actions-end", text: "" }), h("calcite-tooltip", { placement: "bottom", "reference-element": id }, h("span", null, tooltip))));
|
521
536
|
}
|
522
537
|
/**
|
523
538
|
* Show filter component in modal
|
@@ -590,7 +605,7 @@ export class CrowdsourceManager {
|
|
590
605
|
if (this._isMobile) {
|
591
606
|
this.showHideMapPopupAndTable(!this._isMobile);
|
592
607
|
this._isPortraitMobile = !!window.matchMedia("(orientation: portrait)").matches;
|
593
|
-
this.
|
608
|
+
this.appLayout = "splitView";
|
594
609
|
}
|
595
610
|
else {
|
596
611
|
this._isPortraitMobile = false;
|
@@ -606,34 +621,14 @@ export class CrowdsourceManager {
|
|
606
621
|
_toggleLayout() {
|
607
622
|
this._panelOpen = !this._panelOpen;
|
608
623
|
}
|
609
|
-
/**
|
610
|
-
* Changes the layout mode
|
611
|
-
* @param appLayout selected active app layout
|
612
|
-
*
|
613
|
-
* @protected
|
614
|
-
*/
|
615
|
-
_changeLayout(appLayout) {
|
616
|
-
if (this.appLayout !== appLayout) {
|
617
|
-
this._setActiveLayout(appLayout);
|
618
|
-
this.appLayout = appLayout;
|
619
|
-
// update the layer if table selected while switching to map view
|
620
|
-
if (this.appLayout === "mapView" && this._layer.isTable) {
|
621
|
-
void this._mapCard.updateLayer();
|
622
|
-
}
|
623
|
-
if (this._isMapViewOnLoad) {
|
624
|
-
void this._layerTable.refresh();
|
625
|
-
this._isMapViewOnLoad = false;
|
626
|
-
}
|
627
|
-
}
|
628
|
-
}
|
629
624
|
/**
|
630
625
|
* shows the map in card view
|
631
626
|
*
|
632
627
|
* @protected
|
633
628
|
*/
|
634
629
|
_showMapInCardView() {
|
635
|
-
if (this.appLayout
|
636
|
-
const fullMapView = document.getElementById('full-map-view')
|
630
|
+
if (this.appLayout !== "mapView") {
|
631
|
+
const fullMapView = document.getElementById('full-map-view')?.childNodes[0];
|
637
632
|
const splitMapClass = document.getElementById('card-mapView');
|
638
633
|
if (fullMapView) {
|
639
634
|
splitMapClass.appendChild(fullMapView);
|
@@ -646,7 +641,7 @@ export class CrowdsourceManager {
|
|
646
641
|
* @protected
|
647
642
|
*/
|
648
643
|
_showMapInFullView() {
|
649
|
-
const splitMap = document.getElementById('card-mapView')
|
644
|
+
const splitMap = document.getElementById('card-mapView')?.childNodes[0];
|
650
645
|
const fullMapViewClass = document.getElementById('full-map-view');
|
651
646
|
if (splitMap) {
|
652
647
|
fullMapViewClass.appendChild(splitMap);
|
@@ -1501,6 +1496,9 @@ export class CrowdsourceManager {
|
|
1501
1496
|
static get elementRef() { return "el"; }
|
1502
1497
|
static get watchers() {
|
1503
1498
|
return [{
|
1499
|
+
"propName": "appLayout",
|
1500
|
+
"methodName": "appLayoutWatchHandler"
|
1501
|
+
}, {
|
1504
1502
|
"propName": "enableZoom",
|
1505
1503
|
"methodName": "enableZoomWatchHandler"
|
1506
1504
|
}, {
|
@@ -64,6 +64,8 @@ export class SolutionItemAccordion {
|
|
64
64
|
"Web Scene",
|
65
65
|
"Feature Layer (hosted, view)",
|
66
66
|
"Feature Layer (hosted)",
|
67
|
+
"Table (hosted, view)",
|
68
|
+
"Table (hosted)",
|
67
69
|
"Tile Layer",
|
68
70
|
"CSV",
|
69
71
|
"Microsoft Excel",
|
@@ -119,7 +121,7 @@ export class SolutionItemAccordion {
|
|
119
121
|
* Renders the component.
|
120
122
|
*/
|
121
123
|
render() {
|
122
|
-
return (h(Host, { key: '
|
124
|
+
return (h(Host, { key: 'bf7f34f247fd1936435394aa8740bfc1136325ed' }, this._getAccordion()));
|
123
125
|
}
|
124
126
|
//--------------------------------------------------------------------------
|
125
127
|
//
|
@@ -251,8 +253,10 @@ export class SolutionItemAccordion {
|
|
251
253
|
_getTypeForDisplay(type, typeKeywords) {
|
252
254
|
let _type = type;
|
253
255
|
if (type === "Feature Service") {
|
254
|
-
|
255
|
-
|
256
|
+
const isView = typeKeywords.indexOf("View Service") > -1;
|
257
|
+
const isTable = typeKeywords.indexOf("Table") > -1;
|
258
|
+
_type = isView && isTable ? "Table (hosted, view)" : isTable ? "Table (hosted)" :
|
259
|
+
isView ? "Feature Layer (hosted, view)" : "Feature Layer (hosted)";
|
256
260
|
}
|
257
261
|
if (type === "Web Mapping Application") {
|
258
262
|
_type = typeKeywords.indexOf("configurableApp") > -1 ?
|
@@ -135,6 +135,38 @@
|
|
135
135
|
],
|
136
136
|
"snippet": "A feature layer view used to share volunteers and clearing activities with the Adopt-A-Catch Basin site."
|
137
137
|
},
|
138
|
+
{
|
139
|
+
"id": "aa2a7f901eb9492a829ab918cd38318d",
|
140
|
+
"type": "Feature Service",
|
141
|
+
"title": "CatchBasinVolunteers_public_table",
|
142
|
+
"typeKeywords": [
|
143
|
+
"ArcGIS Server",
|
144
|
+
"Data",
|
145
|
+
"Feature Access",
|
146
|
+
"Feature Service",
|
147
|
+
"Multilayer",
|
148
|
+
"Service",
|
149
|
+
"Hosted Service",
|
150
|
+
"View Service",
|
151
|
+
"Table"
|
152
|
+
],
|
153
|
+
"snippet": "A feature table view"
|
154
|
+
},
|
155
|
+
{
|
156
|
+
"id": "bb2a7f901eb9492a829ab918cd38318d",
|
157
|
+
"type": "Feature Service",
|
158
|
+
"title": "CatchBasinVolunteers_table",
|
159
|
+
"typeKeywords": [
|
160
|
+
"ArcGIS Server",
|
161
|
+
"Data",
|
162
|
+
"Feature Access",
|
163
|
+
"Feature Service",
|
164
|
+
"Multilayer",
|
165
|
+
"Service",
|
166
|
+
"Table"
|
167
|
+
],
|
168
|
+
"snippet": "A feature table"
|
169
|
+
},
|
138
170
|
{
|
139
171
|
"id": "cb7f74af39c64abfbe7c7fc5b69587b1",
|
140
172
|
"type": "Feature Service",
|
@@ -23,6 +23,7 @@ import { exportCSV } from "./csvUtils";
|
|
23
23
|
import { exportPDF } from "./pdfUtils";
|
24
24
|
import { loadModules } from "./loadModules";
|
25
25
|
import { queryFeaturesByID } from "./queryUtils";
|
26
|
+
import { Sanitizer } from "@esri/arcgis-html-sanitizer";
|
26
27
|
import * as common from "@esri/solution-common";
|
27
28
|
const lineSeparatorChar = "|";
|
28
29
|
import { queryRelated } from "@esri/arcgis-rest-feature-layer";
|
@@ -145,12 +146,13 @@ export function _cleanupLabel(labelText) {
|
|
145
146
|
labelText = labelText.replace(/<\/p>/gi, "");
|
146
147
|
// Replace \n with the line separator character
|
147
148
|
labelText = labelText.replace(/\n/gi, "|");
|
148
|
-
// Remove
|
149
|
+
// Remove tricky stuff
|
150
|
+
const sanitizer = new Sanitizer();
|
151
|
+
labelText = sanitizer.sanitize(labelText);
|
152
|
+
// Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace
|
149
153
|
labelText = labelText
|
150
154
|
.replace(/<[\s.]*[^<>]*\/?>/gi, "")
|
151
155
|
.replace(/\xA0/gi, " ")
|
152
|
-
.replace(/</gi, "<")
|
153
|
-
.replace(/>/gi, ">")
|
154
156
|
.replace(/ /gi, " ");
|
155
157
|
// Trim each line
|
156
158
|
labelText = labelText.replace(/\s*\|\s*/g, "|");
|
@@ -21,6 +21,7 @@ import { ILabel, exportPDF } from "./pdfUtils";
|
|
21
21
|
import { loadModules } from "./loadModules";
|
22
22
|
import { queryFeaturesByID } from "./queryUtils";
|
23
23
|
import { IExportInfo, IExportInfos } from "../utils/interfaces";
|
24
|
+
import { Sanitizer } from "@esri/arcgis-html-sanitizer";
|
24
25
|
import * as common from "@esri/solution-common";
|
25
26
|
|
26
27
|
export { ILabel } from "./pdfUtils";
|
@@ -277,12 +278,14 @@ export function _cleanupLabel(
|
|
277
278
|
// Replace \n with the line separator character
|
278
279
|
labelText = labelText.replace(/\n/gi, "|");
|
279
280
|
|
280
|
-
// Remove
|
281
|
+
// Remove tricky stuff
|
282
|
+
const sanitizer = new Sanitizer();
|
283
|
+
labelText = sanitizer.sanitize(labelText);
|
284
|
+
|
285
|
+
// Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace
|
281
286
|
labelText = labelText
|
282
287
|
.replace(/<[\s.]*[^<>]*\/?>/gi, "")
|
283
288
|
.replace(/\xA0/gi, " ")
|
284
|
-
.replace(/</gi, "<")
|
285
|
-
.replace(/>/gi, ">")
|
286
289
|
.replace(/ /gi, " ");
|
287
290
|
|
288
291
|
// Trim each line
|
@@ -93,8 +93,16 @@ describe("downloadUtils", () => {
|
|
93
93
|
|
94
94
|
it("handles some special characters", () => {
|
95
95
|
const labelText =
|
96
|
-
"<div style='text-align: left;'><{NAME}><br />{STREET}<br/>{CITY}, {STATE}
|
97
|
-
const expectedCleanedText = "
|
96
|
+
"<div style='text-align: left;'><{NAME}><br />{STREET}<br/>{CITY}, {STATE}\xA0{ZIP}<br></div>";
|
97
|
+
const expectedCleanedText = "<{NAME}>|{STREET}|{CITY}, {STATE} {ZIP}";
|
98
|
+
|
99
|
+
const result: string = downloadUtils._cleanupLabel(labelText);
|
100
|
+
expect(result).toEqual(expectedCleanedText);
|
101
|
+
});
|
102
|
+
|
103
|
+
it("handles embedded script tag", () => {
|
104
|
+
const labelText = "<scrip<script>is removed</script>t>alert(123)</script>";
|
105
|
+
const expectedCleanedText = "<scrip<script>is removed</script>t>alert(123)</script>";
|
98
106
|
|
99
107
|
const result: string = downloadUtils._cleanupLabel(labelText);
|
100
108
|
expect(result).toEqual(expectedCleanedText);
|
@@ -188,16 +196,6 @@ describe("downloadUtils", () => {
|
|
188
196
|
expect(result.format).toEqual(expectedLabelSpec);
|
189
197
|
});
|
190
198
|
|
191
|
-
it("handles some special characters", () => {
|
192
|
-
const popupInfo =
|
193
|
-
"<div style='text-align: left;'><{NAME}><br />{STREET}<br/>{CITY}, {STATE} {ZIP}<br></div>";
|
194
|
-
const expectedLabelSpec = "<{NAME}>|{STREET}|{CITY}, {STATE} {ZIP}";
|
195
|
-
|
196
|
-
const result: downloadUtils.ILabelFormat = downloadUtils._convertPopupTextToLabelSpec(popupInfo);
|
197
|
-
expect(result.type).toEqual("pattern");
|
198
|
-
expect(result.format).toEqual(expectedLabelSpec);
|
199
|
-
});
|
200
|
-
|
201
199
|
});
|
202
200
|
|
203
201
|
describe("_convertPopupArcadeToLabelSpec", () => {
|
@@ -190,6 +190,22 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
190
190
|
// Watch handlers
|
191
191
|
//
|
192
192
|
//--------------------------------------------------------------------------
|
193
|
+
/**
|
194
|
+
* Adjust layout based on current appLayout value
|
195
|
+
*/
|
196
|
+
appLayoutWatchHandler(newAppLayout, oldAppLayout) {
|
197
|
+
if (newAppLayout !== oldAppLayout) {
|
198
|
+
this._setActiveLayout(newAppLayout);
|
199
|
+
// update the layer if table selected while switching to map view
|
200
|
+
if (this.appLayout === "mapView" && this._layer.isTable) {
|
201
|
+
void this._mapCard.updateLayer();
|
202
|
+
}
|
203
|
+
if (this._isMapViewOnLoad) {
|
204
|
+
void this._layerTable.refresh();
|
205
|
+
this._isMapViewOnLoad = false;
|
206
|
+
}
|
207
|
+
}
|
208
|
+
}
|
193
209
|
/**
|
194
210
|
* When true the map zoom tools will be available
|
195
211
|
*/
|
@@ -258,7 +274,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
258
274
|
layer && await layer.when(() => {
|
259
275
|
// on render if no layer is present and only one table is present in map and app is in map view layer then change it to split layout
|
260
276
|
if (this._layerIds.length === 0 && this.appLayout === 'mapView' && layer.isTable) {
|
261
|
-
this.
|
277
|
+
this.appLayout = "splitView";
|
262
278
|
}
|
263
279
|
this._layer = layer;
|
264
280
|
this._initLayerExpressions();
|
@@ -291,7 +307,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
291
307
|
render() {
|
292
308
|
// only avoid border when we have a header color that is not white
|
293
309
|
const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
|
294
|
-
return (h(Host, { key: '
|
310
|
+
return (h(Host, { key: 'ace73bfa1aa7d460f1cba60d13e94c4f47f77bd0' }, h("calcite-shell", { key: 'f14e70be762bf236be566111b45e40a42f0997f7', class: "position-relative" }, h("calcite-panel", { key: '0dde9426295a780b6a12cd98513f655914c0dab5', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
|
295
311
|
}
|
296
312
|
/**
|
297
313
|
* Called after each render
|
@@ -524,10 +540,9 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
524
540
|
const cardManagerHeight = isTableLayout && this.mapInfos?.length > 1 ? "adjusted-height-100-51" : isMapLayout || isTableLayout ? "height-full" : (this._numSelected > 0 && !this._isMobile) ? "height-50" : !this._showInformationHeader ? "adjusted-height-50_25" : !this._isPortraitMobile ? "height-50" : "height-full";
|
525
541
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
526
542
|
return (h("div", { class: `width-50 height-full ${themeClass}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, customInfoText: this.customInfoText, enableCreateFeatures: this._enableCreateFeatures && !this._isMobile, enableEditGeometry: this?._mapInfo?.enableEditGeometry, isMobile: this._isPortraitMobile, layer: this._layer, mapView: this?._mapView, onBackFromCreateWorkFlow: () => {
|
527
|
-
this._changeLayout(this.appLayout);
|
528
543
|
this._showInformationHeader = true;
|
529
544
|
}, onCreateWorkFlowStarted: () => {
|
530
|
-
this.
|
545
|
+
this.appLayout = this._layer.isTable ? "tableView" : "mapView";
|
531
546
|
this._showInformationHeader = false;
|
532
547
|
}, onFeatureOrRecordSubmitted: () => void this._layerTable.refresh(), selectedFeaturesIds: this._layerTable?.selectedIds, selectingFeatureFromMap: this.appLayout === "mapView", zoomAndScrollToSelected: this.zoomAndScrollToSelected })));
|
533
548
|
}
|
@@ -565,7 +580,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
565
580
|
const icon = this._getDividerIcon(layoutMode, panelOpen);
|
566
581
|
const tooltip = panelOpen ? this._translations.close : this._translations.open;
|
567
582
|
const id = "toggle-layout";
|
568
|
-
return (h(Fragment, null, h("calcite-action", { active: this.appLayout === 'splitView', class: "toggle-node", icon: "browser", id: "browser-action", onClick: () => { this.
|
583
|
+
return (h(Fragment, null, h("calcite-action", { active: this.appLayout === 'splitView', class: "toggle-node", icon: "browser", id: "browser-action", onClick: () => { this.appLayout = "splitView"; }, text: "" }), h("calcite-tooltip", { placement: "right", "reference-element": "browser-action" }, h("span", null, this._translations.splitView)), h("calcite-action", { active: this.appLayout === 'tableView', class: "toggle-node", icon: "dock-left", id: "dock-left-action", onClick: () => { this.appLayout = "tableView"; }, text: "" }), h("calcite-tooltip", { placement: "right", "reference-element": "dock-left-action" }, h("span", null, this._translations.tableView)), h("calcite-action", { active: this.appLayout === 'mapView', class: "toggle-node", disabled: this._layerIds?.length === 0, icon: "browser-map", id: "browser-map-action", onClick: () => { this.appLayout = "mapView"; }, text: "" }), h("calcite-tooltip", { placement: "right", "reference-element": "browser-map-action" }, h("span", null, this._translations.mapView)), h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), slot: "actions-end", text: "" }), h("calcite-tooltip", { placement: "bottom", "reference-element": id }, h("span", null, tooltip))));
|
569
584
|
}
|
570
585
|
/**
|
571
586
|
* Show filter component in modal
|
@@ -638,7 +653,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
638
653
|
if (this._isMobile) {
|
639
654
|
this.showHideMapPopupAndTable(!this._isMobile);
|
640
655
|
this._isPortraitMobile = !!window.matchMedia("(orientation: portrait)").matches;
|
641
|
-
this.
|
656
|
+
this.appLayout = "splitView";
|
642
657
|
}
|
643
658
|
else {
|
644
659
|
this._isPortraitMobile = false;
|
@@ -654,34 +669,14 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
654
669
|
_toggleLayout() {
|
655
670
|
this._panelOpen = !this._panelOpen;
|
656
671
|
}
|
657
|
-
/**
|
658
|
-
* Changes the layout mode
|
659
|
-
* @param appLayout selected active app layout
|
660
|
-
*
|
661
|
-
* @protected
|
662
|
-
*/
|
663
|
-
_changeLayout(appLayout) {
|
664
|
-
if (this.appLayout !== appLayout) {
|
665
|
-
this._setActiveLayout(appLayout);
|
666
|
-
this.appLayout = appLayout;
|
667
|
-
// update the layer if table selected while switching to map view
|
668
|
-
if (this.appLayout === "mapView" && this._layer.isTable) {
|
669
|
-
void this._mapCard.updateLayer();
|
670
|
-
}
|
671
|
-
if (this._isMapViewOnLoad) {
|
672
|
-
void this._layerTable.refresh();
|
673
|
-
this._isMapViewOnLoad = false;
|
674
|
-
}
|
675
|
-
}
|
676
|
-
}
|
677
672
|
/**
|
678
673
|
* shows the map in card view
|
679
674
|
*
|
680
675
|
* @protected
|
681
676
|
*/
|
682
677
|
_showMapInCardView() {
|
683
|
-
if (this.appLayout
|
684
|
-
const fullMapView = document.getElementById('full-map-view')
|
678
|
+
if (this.appLayout !== "mapView") {
|
679
|
+
const fullMapView = document.getElementById('full-map-view')?.childNodes[0];
|
685
680
|
const splitMapClass = document.getElementById('card-mapView');
|
686
681
|
if (fullMapView) {
|
687
682
|
splitMapClass.appendChild(fullMapView);
|
@@ -694,7 +689,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
694
689
|
* @protected
|
695
690
|
*/
|
696
691
|
_showMapInFullView() {
|
697
|
-
const splitMap = document.getElementById('card-mapView')
|
692
|
+
const splitMap = document.getElementById('card-mapView')?.childNodes[0];
|
698
693
|
const fullMapViewClass = document.getElementById('full-map-view');
|
699
694
|
if (splitMap) {
|
700
695
|
fullMapViewClass.appendChild(splitMap);
|
@@ -779,6 +774,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
779
774
|
this._translations = messages[0];
|
780
775
|
}
|
781
776
|
static get watchers() { return {
|
777
|
+
"appLayout": ["appLayoutWatchHandler"],
|
782
778
|
"enableZoom": ["enableZoomWatchHandler"],
|
783
779
|
"hideMapOnLoad": ["hideMapOnLoadWatchHandler"]
|
784
780
|
}; }
|
@@ -839,6 +835,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
839
835
|
"_layerIds": [32],
|
840
836
|
"_isLoading": [32]
|
841
837
|
}, [[8, "featureSelectionChange", "featureSelectionChange"], [8, "popupClosed", "popupClosed"], [8, "layoutChanged", "layoutChanged"], [8, "mapChanged", "mapChanged"], [8, "layerSelectionChange", "layerSelectionChange"], [8, "idsFound", "idsFound"]], {
|
838
|
+
"appLayout": ["appLayoutWatchHandler"],
|
842
839
|
"enableZoom": ["enableZoomWatchHandler"],
|
843
840
|
"hideMapOnLoad": ["hideMapOnLoadWatchHandler"]
|
844
841
|
}]);
|
@@ -7,8 +7,8 @@ import { g as getDefaultExportFromCjs } from './_commonjsHelpers.js';
|
|
7
7
|
import { getAssetPath } from '@stencil/core/internal/client';
|
8
8
|
import { l as loadModules } from './loadModules.js';
|
9
9
|
import { q as queryFeaturesByID } from './queryUtils.js';
|
10
|
+
import { S as Sanitizer } from './index2.js';
|
10
11
|
import './solution-resource.js';
|
11
|
-
import './index2.js';
|
12
12
|
import { _ as __assign$1, r as request, c as cleanUrl, g as getJson } from './restHelpersGet.js';
|
13
13
|
|
14
14
|
/** @license
|
@@ -2541,12 +2541,13 @@ function _cleanupLabel(labelText) {
|
|
2541
2541
|
labelText = labelText.replace(/<\/p>/gi, "");
|
2542
2542
|
// Replace \n with the line separator character
|
2543
2543
|
labelText = labelText.replace(/\n/gi, "|");
|
2544
|
-
// Remove
|
2544
|
+
// Remove tricky stuff
|
2545
|
+
const sanitizer = new Sanitizer();
|
2546
|
+
labelText = sanitizer.sanitize(labelText);
|
2547
|
+
// Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace
|
2545
2548
|
labelText = labelText
|
2546
2549
|
.replace(/<[\s.]*[^<>]*\/?>/gi, "")
|
2547
2550
|
.replace(/\xA0/gi, " ")
|
2548
|
-
.replace(/</gi, "<")
|
2549
|
-
.replace(/>/gi, ">")
|
2550
2551
|
.replace(/ /gi, " ");
|
2551
2552
|
// Trim each line
|
2552
2553
|
labelText = labelText.replace(/\s*\|\s*/g, "|");
|
@@ -19,16 +19,19 @@ import { d as defineCustomElement$2 } from './scrim.js';
|
|
19
19
|
class AppGuideViewModel {
|
20
20
|
constructor() {
|
21
21
|
this.pages = [];
|
22
|
+
this.headerText = '';
|
23
|
+
this.pages = [];
|
22
24
|
}
|
23
|
-
|
24
|
-
this.pages =
|
25
|
+
setPages(pages) {
|
26
|
+
this.pages = pages;
|
27
|
+
this.setDefaultHeaderText();
|
25
28
|
}
|
26
|
-
|
27
|
-
this.
|
29
|
+
setDefaultHeaderText() {
|
30
|
+
this.headerText = !!this.pages.length ? this.pages[0].title : '';
|
28
31
|
}
|
29
32
|
}
|
30
33
|
|
31
|
-
const instantAppsAppGuideCss = ":host{--instant-apps-app-guide-width:300px;--instant-apps-app-guide-height:400px;--instant-apps-app-guide-list-item-bubble-size:22px;width:var(--instant-apps-app-guide-width);height:var(--instant-apps-app-guide-height);display:block}:host calcite-panel{max-width:var(--instant-apps-app-guide-width);max-height:var(--instant-apps-app-guide-height);display:flex}:host calcite-carousel{flex:1;overflow:scroll;height:-moz-fit-content;height:fit-content;background-color:var(--calcite-color-foreground-1)}:host [slot=header-content]{display:flex;gap:var(--calcite-spacing-sm);padding-inline-start:0.25rem
|
34
|
+
const instantAppsAppGuideCss = ":host{--instant-apps-app-guide-width:300px;--instant-apps-app-guide-height:400px;--instant-apps-app-guide-list-item-bubble-size:22px;width:var(--instant-apps-app-guide-width);height:var(--instant-apps-app-guide-height);display:block}:host calcite-panel{max-width:var(--instant-apps-app-guide-width);max-height:var(--instant-apps-app-guide-height);display:flex}:host calcite-carousel{flex:1;overflow:scroll;height:-moz-fit-content;height:fit-content;background-color:var(--calcite-color-foreground-1)}:host [slot=header-content]{display:flex;gap:var(--calcite-spacing-sm);padding-inline-start:0.25rem;font-weight:var(--calcite-font-weight-bold)}:host calcite-carousel-item{flex-grow:1;display:flex;flex-direction:column}:host .instant-apps-app-guide__content-wrapper{padding-block-start:0.5rem;padding-inline:0.5rem;flex-shrink:1;flex-grow:0}:host calcite-icon{--calcite-ui-icon-color:var(--calcite-color-brand)}:host .instant-apps-app-guide__content-list{counter-set:item-counter;margin-inline:0;padding-inline-start:var(--calcite-spacing-xxxl);padding-inline-end:var(--calcite-spacing-lg);position:relative}:host .instant-apps-app-guide__content-list .instant-apps-app-guide__content-list--item{counter-increment:item-counter;margin-block-start:var(--calcite-spacing-lg);display:flex;align-items:flex-start}:host .instant-apps-app-guide__content-list .instant-apps-app-guide__content-list--item::before{content:counter(item-counter);background-color:var(--calcite-color-text-2);color:var(--calcite-color-text-inverse);line-height:var(--calcite-font-line-height-fixed-xl);width:var(--instant-apps-app-guide-list-item-bubble-size);left:0;border-radius:var(--calcite-corner-radius-pill);display:flex;justify-content:center;font-size:var(--calcite-font-size-sm);position:absolute;max-height:var(--instant-apps-app-guide-list-item-bubble-size)}:host .instant-apps-app-guide__content-list .instant-apps-app-guide__content-list--item::marker{color:var(--calcite-color-transparent)}";
|
32
35
|
const InstantAppsAppGuideStyle0 = instantAppsAppGuideCss;
|
33
36
|
|
34
37
|
const CSS = {
|
@@ -41,6 +44,9 @@ const InstantAppsAppGuide$1 = /*@__PURE__*/ proxyCustomElement(class InstantApps
|
|
41
44
|
super();
|
42
45
|
this.__registerHost();
|
43
46
|
this.__attachShadow();
|
47
|
+
/**
|
48
|
+
* Private Variables
|
49
|
+
*/
|
44
50
|
this._viewModel = new AppGuideViewModel();
|
45
51
|
this.header = true;
|
46
52
|
this.data = undefined;
|
@@ -48,19 +54,25 @@ const InstantAppsAppGuide$1 = /*@__PURE__*/ proxyCustomElement(class InstantApps
|
|
48
54
|
this.headerText = undefined;
|
49
55
|
}
|
50
56
|
watchPropHandler(newValue) {
|
51
|
-
this.
|
52
|
-
|
57
|
+
this._setContent(newValue);
|
58
|
+
}
|
59
|
+
watchStateHandler(newValue) {
|
60
|
+
this._viewModel.headerText = newValue;
|
53
61
|
}
|
54
|
-
|
55
|
-
|
56
|
-
this._viewModel.pages = (this === null || this === void 0 ? void 0 : this.data) || [];
|
57
|
-
this.headerText = (_c = (_b = (_a = this === null || this === void 0 ? void 0 : this.data) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : (_d = this === null || this === void 0 ? void 0 : this.messages) === null || _d === void 0 ? void 0 : _d.headerText;
|
62
|
+
componentWillLoad() {
|
63
|
+
this._setContent(this === null || this === void 0 ? void 0 : this.data);
|
58
64
|
}
|
59
65
|
componentDidLoad() {
|
60
66
|
getMessages(this);
|
61
67
|
}
|
62
68
|
render() {
|
63
|
-
|
69
|
+
const pages = this._renderAppGuidePages(this._viewModel.pages);
|
70
|
+
const header = this._renderAppGuideHeader();
|
71
|
+
return (h(Host, { key: 'a6969274bbb9e917869c4c09910ef04b2d40c49a' }, h("calcite-panel", { key: 'f203f430978eed0db5aa0058ae53bd811ba0fdfe', scale: "s" }, header, h("calcite-carousel", { key: 'afd572b169f27b03616e568b9146cb2e52f04cae', onCalciteCarouselChange: () => this._updateHeaderText(), ref: el => this._carouselRef = el, "arrow-type": this._getArrowType() }, pages))));
|
72
|
+
}
|
73
|
+
_setContent(content) {
|
74
|
+
this._viewModel.setPages(content);
|
75
|
+
this.headerText = this._viewModel.headerText;
|
64
76
|
}
|
65
77
|
_updateHeaderText() {
|
66
78
|
var _a;
|
@@ -102,7 +114,8 @@ const InstantAppsAppGuide$1 = /*@__PURE__*/ proxyCustomElement(class InstantApps
|
|
102
114
|
}
|
103
115
|
get el() { return this; }
|
104
116
|
static get watchers() { return {
|
105
|
-
"data": ["watchPropHandler"]
|
117
|
+
"data": ["watchPropHandler"],
|
118
|
+
"headerText": ["watchStateHandler"]
|
106
119
|
}; }
|
107
120
|
static get style() { return InstantAppsAppGuideStyle0; }
|
108
121
|
}, [1, "instant-apps-app-guide", {
|
@@ -111,7 +124,8 @@ const InstantAppsAppGuide$1 = /*@__PURE__*/ proxyCustomElement(class InstantApps
|
|
111
124
|
"messages": [32],
|
112
125
|
"headerText": [32]
|
113
126
|
}, undefined, {
|
114
|
-
"data": ["watchPropHandler"]
|
127
|
+
"data": ["watchPropHandler"],
|
128
|
+
"headerText": ["watchStateHandler"]
|
115
129
|
}]);
|
116
130
|
function defineCustomElement$1() {
|
117
131
|
if (typeof customElements === "undefined") {
|