@esri/solutions-components 0.8.23 → 0.8.24
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/arcgis-login.cjs.entry.js +1 -1
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +1 -1
- package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/{calcite-avatar.cjs.entry.js → calcite-avatar_2.cjs.entry.js} +62 -0
- package/dist/cjs/calcite-block_5.cjs.entry.js +12 -3
- package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +419 -0
- package/dist/cjs/{calcite-dropdown_4.cjs.entry.js → calcite-dropdown_2.cjs.entry.js} +12 -435
- package/dist/cjs/calcite-flow_6.cjs.entry.js +23 -27
- package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +56 -36
- package/dist/cjs/feature-list.cjs.entry.js +4 -3
- package/dist/cjs/{helpers-9347ad83.js → helpers-618a3f7d.js} +2 -1
- package/dist/cjs/instant-apps-create.cjs.entry.js +266 -0
- package/dist/cjs/instant-apps-export.cjs.entry.js +31 -16
- package/dist/cjs/instant-apps-header.cjs.entry.js +3 -2
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +11 -4
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +1 -1
- 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 +2 -2
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-landing-page.cjs.entry.js +45 -9
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-sign-in.cjs.entry.js +168 -0
- package/dist/cjs/{languageSwitcher-395021d6.js → languageSwitcher-b9a1485c.js} +3 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/public-notification.cjs.entry.js +3 -3
- package/dist/cjs/resources-fa37e40f.js +26 -0
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/arcgis-login/arcgis-login.js +1 -1
- package/dist/collection/components/basemap-gallery/basemap-gallery.js +1 -1
- package/dist/collection/components/buffer-tools/buffer-tools.js +1 -1
- package/dist/collection/components/card-manager/card-manager.js +1 -1
- package/dist/collection/components/create-feature/create-feature.js +1 -1
- package/dist/collection/components/create-related-feature/create-related-feature.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +56 -45
- package/dist/collection/components/feature-details/feature-details.js +56 -13
- package/dist/collection/components/feature-list/feature-list.js +22 -3
- package/dist/collection/components/layer-list/layer-list.js +6 -13
- package/dist/collection/components/public-notification/public-notification.js +3 -3
- package/dist/collection/demos/crowdsource-reporter.html +22 -15
- package/dist/collection/utils/interfaces.ts +1 -0
- package/dist/components/arcgis-login.js +1 -1
- package/dist/components/basemap-gallery2.js +1 -1
- package/dist/components/buffer-tools2.js +1 -1
- package/dist/components/calcite-navigation-user.js +1 -99
- package/dist/components/card-manager2.js +1 -1
- package/dist/components/create-feature2.js +1 -1
- package/dist/components/create-related-feature2.js +1 -1
- package/dist/components/crowdsource-manager.js +1 -1
- package/dist/components/crowdsource-reporter.js +57 -37
- package/dist/components/feature-details2.js +16 -12
- package/dist/components/feature-list2.js +5 -3
- package/dist/components/helpers.js +3 -2
- package/dist/components/instant-apps-ckeditor-wrapper2.js +1 -1
- package/dist/components/instant-apps-create.js +317 -0
- package/dist/components/instant-apps-export.js +32 -16
- package/dist/components/instant-apps-filter-list2.js +6 -1
- package/dist/components/instant-apps-header2.js +3 -2
- package/dist/components/instant-apps-interactive-legend-classic2.js +12 -5
- package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +2 -2
- package/dist/components/instant-apps-landing-page.js +91 -16
- package/dist/components/instant-apps-language-translator2.js +3 -1
- package/dist/components/instant-apps-sign-in.js +11 -0
- package/dist/components/instant-apps-sign-in2.js +243 -0
- package/dist/components/instant-apps-social-share2.js +8 -2
- package/dist/components/layer-list2.js +6 -13
- package/dist/{esm/calcite-navigation-user.entry.js → components/navigation-user.js} +46 -9
- package/dist/components/public-notification.js +3 -3
- package/dist/esm/arcgis-login.entry.js +1 -1
- package/dist/esm/basemap-gallery_7.entry.js +1 -1
- package/dist/esm/buffer-tools_3.entry.js +1 -1
- package/dist/esm/{calcite-avatar.entry.js → calcite-avatar_2.entry.js} +64 -3
- package/dist/esm/calcite-block_5.entry.js +12 -3
- package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
- package/dist/esm/calcite-color-picker.entry.js +1 -1
- package/dist/esm/calcite-dropdown-group_2.entry.js +414 -0
- package/dist/esm/{calcite-dropdown_4.entry.js → calcite-dropdown_2.entry.js} +2 -423
- package/dist/esm/calcite-flow_6.entry.js +23 -27
- package/dist/esm/card-manager_3.entry.js +1 -1
- package/dist/esm/crowdsource-manager.entry.js +1 -1
- package/dist/esm/crowdsource-reporter.entry.js +56 -36
- package/dist/esm/feature-list.entry.js +4 -3
- package/dist/esm/{helpers-a5a81b9d.js → helpers-61b05164.js} +3 -2
- package/dist/esm/instant-apps-create.entry.js +262 -0
- package/dist/esm/instant-apps-export.entry.js +31 -16
- package/dist/esm/instant-apps-header.entry.js +3 -2
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +11 -4
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/instant-apps-interactive-legend.entry.js +1 -1
- package/dist/esm/instant-apps-landing-page.entry.js +46 -10
- package/dist/esm/instant-apps-language-switcher.entry.js +1 -1
- package/dist/esm/instant-apps-language-translator.entry.js +1 -1
- package/dist/esm/instant-apps-sign-in.entry.js +164 -0
- package/dist/esm/{languageSwitcher-a4a615e4.js → languageSwitcher-d60f03b2.js} +3 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/public-notification.entry.js +3 -3
- package/dist/esm/resources-16800cce.js +24 -0
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/{utils-6419e941.js → utils-251cb6de.js} +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-create/instant-apps-create.css +150 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +16 -9
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-landing-page/instant-apps-landing-page.css +19 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-sign-in/instant-apps-sign-in.css +98 -0
- package/dist/solutions-components/demos/crowdsource-reporter.html +22 -15
- package/dist/solutions-components/p-1251dcc6.entry.js +6 -0
- package/dist/solutions-components/{p-88495699.entry.js → p-16730f05.entry.js} +1 -1
- package/dist/solutions-components/p-1ae3b886.entry.js +17 -0
- package/dist/solutions-components/{p-63460d51.entry.js → p-1ff9eb95.entry.js} +1 -1
- package/dist/solutions-components/{p-8f6e0ae5.entry.js → p-26eb1225.entry.js} +1 -1
- package/dist/solutions-components/{p-3a2e0188.entry.js → p-2c044250.entry.js} +2 -2
- package/dist/solutions-components/p-314dc933.entry.js +6 -0
- package/dist/solutions-components/p-50741707.entry.js +6 -0
- package/dist/solutions-components/p-614ebce7.js +6 -0
- package/dist/solutions-components/{p-df73649e.entry.js → p-77cd573b.entry.js} +1 -1
- package/dist/solutions-components/{p-c95dcdf7.entry.js → p-7883b885.entry.js} +3 -3
- package/dist/solutions-components/p-79e2e203.entry.js +6 -0
- package/dist/solutions-components/{p-968a6fd8.entry.js → p-7b17e929.entry.js} +1 -1
- package/dist/solutions-components/p-80b3eb6b.entry.js +6 -0
- package/dist/solutions-components/p-84913712.js +6 -0
- package/dist/solutions-components/p-8c500fd7.entry.js +6 -0
- package/dist/solutions-components/{p-fe9d6d06.js → p-9f56c02c.js} +1 -1
- package/dist/solutions-components/{p-667c022f.entry.js → p-af4be4ce.entry.js} +1 -1
- package/dist/solutions-components/p-bb2e669d.entry.js +6 -0
- package/dist/solutions-components/p-c41997d5.js +11 -0
- package/dist/solutions-components/p-c512fcfb.entry.js +6 -0
- package/dist/solutions-components/{p-21d6360a.entry.js → p-c7f0e7a8.entry.js} +1 -1
- package/dist/solutions-components/{p-64da5bb8.entry.js → p-cbf0dada.entry.js} +3 -3
- package/dist/solutions-components/{p-9c7d4343.entry.js → p-cd91c3e7.entry.js} +1 -1
- package/dist/solutions-components/p-ceba37d3.entry.js +11 -0
- package/dist/solutions-components/{p-09b769b7.entry.js → p-d8a15e32.entry.js} +1 -1
- package/dist/solutions-components/p-d8da6406.entry.js +6 -0
- package/dist/solutions-components/p-da6b3c8a.entry.js +6 -0
- package/dist/solutions-components/{p-60f1055e.entry.js → p-e2400b0d.entry.js} +1 -1
- package/dist/solutions-components/p-e78be59a.entry.js +6 -0
- package/dist/solutions-components/p-f35cc7ae.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +1 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +18 -7
- package/dist/types/components/feature-details/feature-details.d.ts +13 -1
- package/dist/types/components/feature-list/feature-list.d.ts +4 -0
- package/dist/types/components/layer-list/layer-list.d.ts +1 -1
- package/dist/types/components.d.ts +25 -2
- package/dist/types/preact.d.ts +7 -2
- package/dist/types/utils/interfaces.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/calcite-navigation-user.cjs.entry.js +0 -73
- package/dist/solutions-components/p-08a1e120.js +0 -6
- package/dist/solutions-components/p-3283660c.entry.js +0 -6
- package/dist/solutions-components/p-33647277.entry.js +0 -6
- package/dist/solutions-components/p-3af0764f.entry.js +0 -6
- package/dist/solutions-components/p-41d288c0.entry.js +0 -6
- package/dist/solutions-components/p-599dcc29.js +0 -6
- package/dist/solutions-components/p-64b4b579.entry.js +0 -11
- package/dist/solutions-components/p-ab96dd27.entry.js +0 -6
- package/dist/solutions-components/p-bb0c7be3.entry.js +0 -17
- package/dist/solutions-components/p-bb8e3add.entry.js +0 -11
- package/dist/solutions-components/p-c36bb8ca.entry.js +0 -6
- package/dist/solutions-components/p-cbe166fc.entry.js +0 -6
- package/dist/solutions-components/p-eab95aa4.entry.js +0 -6
- package/dist/solutions-components/p-f6a1673c.entry.js +0 -6
@@ -81,18 +81,6 @@ const CrowdsourceReporter = class {
|
|
81
81
|
await this.setMapView();
|
82
82
|
});
|
83
83
|
}
|
84
|
-
/**
|
85
|
-
* On Feature details change update the Layer title and the current selected layer id
|
86
|
-
* @param evt Event hold the details of current feature graphic in the info-card
|
87
|
-
*/
|
88
|
-
async selectionChanged(evt) {
|
89
|
-
void this.updatingFeatureDetails(true);
|
90
|
-
await this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
91
|
-
void this.highlightOnMap(evt.detail.selectedFeature[0]);
|
92
|
-
this._selectedFeatureIndex = evt.detail.selectedFeatureIndex;
|
93
|
-
//update the feature details to reflect the like, dislike and comment values
|
94
|
-
await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
|
95
|
-
}
|
96
84
|
//--------------------------------------------------------------------------
|
97
85
|
//
|
98
86
|
// Functions (lifecycle)
|
@@ -109,9 +97,9 @@ const CrowdsourceReporter = class {
|
|
109
97
|
await this._initModules();
|
110
98
|
await this._getTranslations();
|
111
99
|
await ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.when(async () => {
|
112
|
-
//set configured
|
100
|
+
//set configured layers array which are enabled for data collection
|
113
101
|
this._layers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
114
|
-
return this.reportingOptions[layerId].
|
102
|
+
return this.reportingOptions[layerId].visible;
|
115
103
|
}) : [];
|
116
104
|
await this.setMapView();
|
117
105
|
}));
|
@@ -121,7 +109,7 @@ const CrowdsourceReporter = class {
|
|
121
109
|
*/
|
122
110
|
render() {
|
123
111
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
124
|
-
return (h(Host, { key: '
|
112
|
+
return (h(Host, { key: '25711a088216a3fcf2aa5d39b81ebd124f004306' }, this._reportSubmitted && h("calcite-alert", { key: 'b8cf62929599eb873a52c7e7a9b056e25fd86c2a', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '6411e0e7b57fd58f8ba7987331271f0494ba113b', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '67b28ad1e3493427227d2d59548a5eac80041dea', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '3ad206c32a217e6a9a5bb1e638ef3160fbff5db2', slot: "title" }, this._translations.error), h("div", { key: '7580dd6b3f81a9b0c4263fb9e71e2031e199b41d', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '7be4c3b5d07e9f30551d19990462bb3d1152b2a3', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '41c01a889ed6732cf7dabf0945fbfb261a0f3a3b', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '29bca2310f6877ec976fbe49ac39413593202a4d', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '8a7860934cebec53462c46e0d979268c75fb9705', slot: "title" }, this._translations.error), h("div", { key: 'd675ee393e81f5104d87391075a9ae89b4077a45', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '1fce11b73759bc751de763e040d15d85a3fb347d' }, h("calcite-shell", { key: '71634d0d1b0fcbe92813ff9b514ec4e752bd3fd1', "content-behind": true }, this._getReporter())), this.filterModal()));
|
125
113
|
}
|
126
114
|
//--------------------------------------------------------------------------
|
127
115
|
//
|
@@ -156,6 +144,14 @@ const CrowdsourceReporter = class {
|
|
156
144
|
layer.set('visible', !layerId || (layer.id === layerId));
|
157
145
|
});
|
158
146
|
}
|
147
|
+
/**
|
148
|
+
* Returns the layers configuration
|
149
|
+
* @param layerId string layerId of the selected layer
|
150
|
+
* @returns Configuration for the layerId
|
151
|
+
*/
|
152
|
+
_getLayersConfig(layerId) {
|
153
|
+
return this.reportingOptions && this.reportingOptions[layerId] ? this.reportingOptions[layerId] : null;
|
154
|
+
}
|
159
155
|
/**
|
160
156
|
* Get the reporter app functionality
|
161
157
|
* @protected
|
@@ -279,7 +275,10 @@ const CrowdsourceReporter = class {
|
|
279
275
|
* @protected
|
280
276
|
*/
|
281
277
|
getChooseCategoryFlowItem() {
|
282
|
-
|
278
|
+
const onlyReportingLayers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
279
|
+
return this.reportingOptions[layerId].visible && this.reportingOptions[layerId].reporting && this._layerItemsHash[layerId] && this._layerItemsHash[layerId].supportsAdd;
|
280
|
+
}) : [];
|
281
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { slot: "message" }, this._translations.chooseCategoryMsg)), h("layer-list", { class: "height-full", layers: onlyReportingLayers, mapView: this.mapView, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
|
283
282
|
}
|
284
283
|
/**
|
285
284
|
* Get Feature create form of the selected feature layer
|
@@ -438,16 +437,22 @@ const CrowdsourceReporter = class {
|
|
438
437
|
const layersListed = evt.detail;
|
439
438
|
//consider only the layers listed in the layer-list component
|
440
439
|
const allMapLayers = await getAllLayers(this.mapView);
|
440
|
+
const reportingEnabledLayerIds = [];
|
441
441
|
this._validLayers = [];
|
442
442
|
allMapLayers.forEach((eachLayer) => {
|
443
|
+
var _a;
|
443
444
|
if (layersListed.includes(eachLayer.id)) {
|
444
445
|
this._validLayers.push(eachLayer);
|
446
|
+
//create list of reporting enabled layers
|
447
|
+
if (((_a = this._getLayersConfig(eachLayer.id)) === null || _a === void 0 ? void 0 : _a.reporting) && this._layerItemsHash[eachLayer.id] && this._layerItemsHash[eachLayer.id].supportsAdd) {
|
448
|
+
reportingEnabledLayerIds.push(eachLayer.id);
|
449
|
+
}
|
445
450
|
}
|
446
451
|
});
|
447
452
|
//handleMap click on layer list loaded
|
448
453
|
this.handleMapClick();
|
449
|
-
//
|
450
|
-
this._hasValidLayers =
|
454
|
+
//When we have any reporting layer then only show the create report button on layerList
|
455
|
+
this._hasValidLayers = reportingEnabledLayerIds.length > 0;
|
451
456
|
//navigate to the feature details if URL params found
|
452
457
|
if (!this._urlParamsLoaded) {
|
453
458
|
this._urlParamsLoaded = true;
|
@@ -475,8 +480,9 @@ const CrowdsourceReporter = class {
|
|
475
480
|
backFromSelectedPanel() {
|
476
481
|
this._updatedProgressBarStatus = 0.25;
|
477
482
|
const updatedFlowItems = [...this._flowItems];
|
478
|
-
// when
|
479
|
-
if (updatedFlowItems[updatedFlowItems.length - 1]
|
483
|
+
// when back from comment details or add comment page don't clear the highlighted feature of map
|
484
|
+
if (!(updatedFlowItems[updatedFlowItems.length - 1] === 'comment-details' ||
|
485
|
+
updatedFlowItems[updatedFlowItems.length - 1] === 'add-comment')) {
|
480
486
|
this.clearHighlights();
|
481
487
|
}
|
482
488
|
updatedFlowItems.pop();
|
@@ -521,6 +527,19 @@ const CrowdsourceReporter = class {
|
|
521
527
|
async updatingFeatureDetails(isLoading) {
|
522
528
|
this._showLoadingIndicator = isLoading;
|
523
529
|
}
|
530
|
+
/**
|
531
|
+
* On Feature details change update the Layer title and the current selected layer id
|
532
|
+
* @param evt Event hold the details of current feature graphic from the feature-details
|
533
|
+
* @protected
|
534
|
+
*/
|
535
|
+
async selectionChanged(evt) {
|
536
|
+
void this.updatingFeatureDetails(true);
|
537
|
+
await this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
538
|
+
void this.highlightOnMap(evt.detail.selectedFeature[0]);
|
539
|
+
this._selectedFeatureIndex = evt.detail.selectedFeatureIndex;
|
540
|
+
//update the feature details to reflect the like, dislike and comment values
|
541
|
+
await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
|
542
|
+
}
|
524
543
|
/**
|
525
544
|
* When comment is selected from list store that and show comment details
|
526
545
|
* @param evt Event which has details of selected feature
|
@@ -538,10 +557,11 @@ const CrowdsourceReporter = class {
|
|
538
557
|
* @protected
|
539
558
|
*/
|
540
559
|
getFeatureListFlowItem(layerId, layerName) {
|
541
|
-
var _a;
|
560
|
+
var _a, _b;
|
542
561
|
const layerExpressions = (_a = this.layerExpressions) === null || _a === void 0 ? void 0 : _a.filter((exp) => exp.id === this._selectedLayerId);
|
562
|
+
const canCreateReports = ((_b = this._getLayersConfig(this._selectedLayerId)) === null || _b === void 0 ? void 0 : _b.reporting) && this._layerItemsHash[this._selectedLayerId].supportsAdd;
|
543
563
|
const showFilterIcon = (layerExpressions === null || layerExpressions === void 0 ? void 0 : layerExpressions.length) > 0;
|
544
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: this._toggleFilter.bind(this), slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports &&
|
564
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: this._toggleFilter.bind(this), slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && canCreateReports &&
|
545
565
|
h("calcite-button", { appearance: "solid", onClick: this.navigateToCreateFeature.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnHover: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, ref: el => this._featureList = el, selectedLayerId: layerId, sortingInfo: this._updatedSorting }))));
|
546
566
|
}
|
547
567
|
/**
|
@@ -549,8 +569,9 @@ const CrowdsourceReporter = class {
|
|
549
569
|
* @returns Node
|
550
570
|
*/
|
551
571
|
getFeatureDetailsFlowItem() {
|
552
|
-
|
553
|
-
|
572
|
+
var _a;
|
573
|
+
const showCommentBtn = ((_a = this._getLayersConfig(this._selectedLayerId)) === null || _a === void 0 ? void 0 : _a.comment) && this._selectedLayer.relationships.length > 0;
|
574
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "s", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("calcite-panel", null, h("feature-details", { class: 'full-height', graphics: this._selectedFeature, layerItemsHash: this._layerItemsHash, mapView: this.mapView, onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions }), showCommentBtn &&
|
554
575
|
h("calcite-button", { appearance: "solid", onClick: () => this._flowItems = [...this._flowItems, "add-comment"], slot: "footer", width: "full" }, this._translations.comment))));
|
555
576
|
}
|
556
577
|
/**
|
@@ -588,13 +609,14 @@ const CrowdsourceReporter = class {
|
|
588
609
|
* @param selectedFeature Graphic currently shown in feature details
|
589
610
|
*/
|
590
611
|
async setCurrentFeature(selectedFeature) {
|
612
|
+
var _a;
|
591
613
|
this._currentFeature = selectedFeature;
|
592
614
|
if (selectedFeature && selectedFeature.layer) {
|
593
615
|
const layer = selectedFeature.layer;
|
594
616
|
void this.setSelectedLayer(layer.id, layer.title);
|
595
617
|
this._currentFeatureId = selectedFeature.attributes[layer.objectIdField];
|
596
618
|
// check if comments are configured and relationship is present then only get the related table
|
597
|
-
const isCommentTablePresent = this.
|
619
|
+
const isCommentTablePresent = ((_a = this._getLayersConfig(layer.id)) === null || _a === void 0 ? void 0 : _a.comment) && layer.relationships.length > 0;
|
598
620
|
if (isCommentTablePresent) {
|
599
621
|
await this.getRelatedTable();
|
600
622
|
}
|
@@ -708,12 +730,12 @@ const CrowdsourceReporter = class {
|
|
708
730
|
await this.setSelectedFeatures(reportingLayerGraphics);
|
709
731
|
//if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
|
710
732
|
// eslint-disable-next-line unicorn/prefer-ternary
|
711
|
-
if (this._flowItems.length && this._flowItems
|
712
|
-
this._flowItems = [...this._flowItems, "feature-details"];
|
733
|
+
if (this._flowItems.length && this._flowItems.includes("feature-details")) {
|
734
|
+
this._flowItems = [...this._flowItems.slice(0, this._flowItems.indexOf("feature-details") + 1)];
|
735
|
+
await this.highlightOnMap(clickedGraphics[0]);
|
713
736
|
}
|
714
737
|
else {
|
715
|
-
this._flowItems = [...this._flowItems];
|
716
|
-
void this.highlightOnMap(clickedGraphics[0]);
|
738
|
+
this._flowItems = [...this._flowItems, "feature-details"];
|
717
739
|
}
|
718
740
|
}
|
719
741
|
// if clicked graphic's layer is from non reporting layers then show popup on map
|
@@ -756,13 +778,10 @@ const CrowdsourceReporter = class {
|
|
756
778
|
* @returns array of editable layer ids
|
757
779
|
*/
|
758
780
|
reduceToConfiguredLayers(hash) {
|
759
|
-
var _a;
|
760
|
-
const configuredLayers = ((_a = this._layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this._layers : [];
|
761
781
|
return Object.keys(hash).reduce((prev, cur) => {
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
}
|
782
|
+
// check if reporting options exists consider the visible prop if else just check the supports Add
|
783
|
+
const showLayer = this.reportingOptions ? this._getLayersConfig(cur).visible
|
784
|
+
: hash[cur].supportsAdd;
|
766
785
|
if (showLayer) {
|
767
786
|
prev.push(cur);
|
768
787
|
}
|
@@ -783,18 +802,19 @@ const CrowdsourceReporter = class {
|
|
783
802
|
}
|
784
803
|
});
|
785
804
|
this._editableLayerIds = this.reduceToConfiguredLayers(layerItemsHash);
|
805
|
+
this._layerItemsHash = layerItemsHash;
|
786
806
|
}
|
787
807
|
/**
|
788
808
|
* renders feature list
|
789
809
|
* @protected
|
790
810
|
*/
|
791
811
|
async renderFeaturesList() {
|
812
|
+
this._flowItems = ['feature-list'];
|
792
813
|
const evt = {
|
793
814
|
detail: this._editableLayerIds
|
794
815
|
};
|
795
816
|
await this.layerListLoaded(evt);
|
796
817
|
void this.setSelectedLayer(this._validLayers[0].id, this._validLayers[0].title);
|
797
|
-
this._flowItems = ['feature-list'];
|
798
818
|
}
|
799
819
|
/**
|
800
820
|
* Updates the share url for current selected feature
|
@@ -31,6 +31,7 @@ const FeatureList = class {
|
|
31
31
|
this.whereClause = undefined;
|
32
32
|
this.textSize = "large";
|
33
33
|
this.showInitialLoading = true;
|
34
|
+
this.showErrorWhenNoFeatures = true;
|
34
35
|
this._featureItems = [];
|
35
36
|
this._featuresCount = 0;
|
36
37
|
this._isLoading = false;
|
@@ -98,9 +99,9 @@ const FeatureList = class {
|
|
98
99
|
* Renders the component.
|
99
100
|
*/
|
100
101
|
render() {
|
101
|
-
return (h("calcite-panel", { key: '
|
102
|
-
h("calcite-notice", { key: '
|
103
|
-
h("div", { key: '
|
102
|
+
return (h("calcite-panel", { key: '6184d07592669fd8884996475b7eeb26e0604790', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: '282127215213a28b9cfdf484aaf5730145b6bb55', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
|
103
|
+
h("calcite-notice", { key: '25fcfeb1d19a089b092050515c3d69401bc17dc8', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: '2ac81a338df9d0e0f43c659a24be0c9b7b95d027', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '70453e8ded4f859076a5f00d8f04152cd78278d8', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
|
104
|
+
h("div", { key: 'db1003ace54cd599acefad04e94fe54248327126', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: '67764a051381b0e7ef26dbd16dc9226d7e152c20', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
|
104
105
|
}
|
105
106
|
//--------------------------------------------------------------------------
|
106
107
|
//
|
@@ -234,7 +234,8 @@ async function handleFilter(data, info, infoIndex, filterMode, parentLegendEleme
|
|
234
234
|
const [FeatureFilter, FeatureEffect] = await loadModules(['esri/layers/support/FeatureFilter', 'esri/layers/support/FeatureEffect']);
|
235
235
|
const { queryExpressions, fLayerView } = data;
|
236
236
|
generateQueryExpressions(data, info, infoIndex, parentLegendElementInfo);
|
237
|
-
const
|
237
|
+
const sep = queryExpressions.every(expression => expression && expression.includes('<>')) ? ' AND ' : ' OR ';
|
238
|
+
const where = queryExpressions.join(sep);
|
238
239
|
const timeExtent = (_b = (_a = fLayerView === null || fLayerView === void 0 ? void 0 : fLayerView.filter) === null || _a === void 0 ? void 0 : _a.timeExtent) !== null && _b !== void 0 ? _b : null;
|
239
240
|
const { type } = filterMode;
|
240
241
|
if (type === 'filter') {
|
@@ -877,4 +878,4 @@ function getExistingFilter(fLayerView) {
|
|
877
878
|
return (fLayerView === null || fLayerView === void 0 ? void 0 : fLayerView.filter) || ((_a = fLayerView === null || fLayerView === void 0 ? void 0 : fLayerView.featureEffect) === null || _a === void 0 ? void 0 : _a.filter);
|
878
879
|
}
|
879
880
|
|
880
|
-
export {
|
881
|
+
export { getParentLegendElementInfoData as a, getCategoryData as b, checkNoneSelected as c, handleFeatureCount as d, generateData as e, createInteractiveLegendDataForLayer as f, getTheme as g, handleFilterChange as h, interactiveLegendState as i, handleFilter as j, getIntLegendLayerData as k, checkNestedUniqueSymbolLegendElement as l, checkRelationshipRamp as m, showAllNestedUniqueSymbol as n, showAll as o, getMergedEffect as p, getCategoriesArray as q, checkNestedUniqueSymbol as r, store as s, calculateTotalFeatureCountForNestedSymbols as t, updateStore as u, validateInteractivity as v, calculateTotalCount as w, getNestedInfoData as x, zoomTo as z };
|
@@ -0,0 +1,262 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
import { r as registerInstance, h, H as Host, g as getElement } from './index-ba5da2b0.js';
|
7
|
+
import { g as getMessages } from './locale-69333b8e.js';
|
8
|
+
import { l as loadModules } from './loadModules-496086ee.js';
|
9
|
+
import { g as getMode } from './mode-66911cb5.js';
|
10
|
+
import './languageUtil-36f8f4ef.js';
|
11
|
+
import './esri-loader-2bf735ed.js';
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Product Glyphs
|
15
|
+
* SVGs and product colors located at:
|
16
|
+
* https://github.com/ArcGIS/esri-product-logos
|
17
|
+
*/
|
18
|
+
const glyphs = {
|
19
|
+
'instant-apps': {
|
20
|
+
path: 'M11.206 4.805v-1.38a2.231 2.231 0 0 1 2.23-2.231h13.168a2.231 2.231 0 0 1 2.231 2.23v11.15a2.231 2.231 0 0 1-2.23 2.231h-1.398V5.555a.75.75 0 0 0-.75-.75zM30.94 27.204l-5.447-4.41a.211.211 0 0 0-.344.164v2.225H8.197a1.344 1.344 0 0 1-1.344-1.344V11.665a.75.75 0 0 1 .75-.75h9.872a.75.75 0 0 1 .75.75l-.003 7.534a2.422 2.422 0 0 1-.798 1.796l-.945.855h4.3a1.075 1.075 0 0 0 1.074-1.075v-10.54a2.231 2.231 0 0 0-2.23-2.23H5.354a2.148 2.148 0 0 0-2.13 2.23v16.507a2.231 2.231 0 0 0 2.23 2.231l19.695-.003v2.725a.211.211 0 0 0 .344.164l5.447-4.41a.158.158 0 0 0 0-.245z',
|
21
|
+
fill: '#83a238',
|
22
|
+
},
|
23
|
+
'map-viewer': {
|
24
|
+
path: 'M21.647 13.706A1.647 1.647 0 1 1 20 15.353a1.647 1.647 0 0 1 1.647-1.647zM19 19.083A1.917 1.917 0 1 1 17.082 21 1.917 1.917 0 0 1 19 19.082zm7.684 3.393a2.433 2.433 0 0 1-.64 1.776l-.01.012c-1.045 1.134-3.215 1.8-5.738 1.8-3.815 0-5.054-1.485-8.586-1.828a6.765 6.765 0 0 1 .566-4.07c.98-1.674 2.445-1.568 3.41-2.724.967-1.157.033-3.384 1.397-4.748 1.539-1.538 3.44-.12 4.57-2.542.877-1.884 1.84-2.98 3.68-3.35a.39.39 0 0 1 .047.07c.132.695 1.097 11.68 1.304 15.604zM6.208 8.864A3.054 3.054 0 0 1 8.115 6.17s2.425-.88 3.09-1.029a2.637 2.637 0 0 1 .314-.01 4.967 4.967 0 0 1 1.157.157l.404.095a7.26 7.26 0 0 0-.238 3.294c.188 1.354.657 2.399-.066 4.361-1.003 2.721-2.901 2.585-3.857 4.562-1.285 2.657.21 6.226-2.182 6.835l.004.002.003.003c-.801.114-1.363.22-1.663.272zm21.549-5.09a.055.055 0 0 0-.022-.037.058.058 0 0 0-.037-.01l-7.37 1.025-8.771-2.742a.227.227 0 0 0-.162.01L3.594 5.566a.054.054 0 0 0-.032.045L1.58 29a41.592 41.592 0 0 1 9.115-1.285c2.765.094 6.646 2.287 10.29 2.177 3.51-.108 8.582-2.382 9.564-2.836a.054.054 0 0 0 .03-.056z',
|
25
|
+
fill: '#3DB8FF',
|
26
|
+
},
|
27
|
+
'story-maps': {
|
28
|
+
path: 'M25.5 0C23.015 0 21 .953 21 3.433v8.517a1.467 1.467 0 0 0 .43 1.038l3.837 3.827a.33.33 0 0 0 .466 0l3.836-3.827A1.467 1.467 0 0 0 30 11.95V3.433C30 .953 27.985 0 25.5 0zm0 8.1a2.6 2.6 0 1 1 2.6-2.599A2.599 2.599 0 0 1 25.5 8.1zm-7.856.453c.294-.153.312-.457.312-.788v-2.31a.104.104 0 0 0-.129-.1 6.128 6.128 0 0 0-2.248 1.19.14.14 0 0 1-.167.008c-3.437-2.283-8.543-1.52-12.131-.988-.432.064-1.762.34-2.164.424A.146.146 0 0 0 1 6.133V26.69a.147.147 0 0 0 .05.11.134.134 0 0 0 .116.035A36.394 36.394 0 0 1 9.5 25.781c3.283.054 4.403.96 4.967 1.513l.915.897a.164.164 0 0 0 .23 0l.916-.897a5.98 5.98 0 0 1 3.972-1.47 25.341 25.341 0 0 1 5.715.516c.718.109 1.46.22 2.186.312l1.251.16a.308.308 0 0 0 .348-.305v-7.375a.161.161 0 0 0-.303-.077l-.107.2a7.218 7.218 0 0 1-6.902 3.766 10.455 10.455 0 0 0-5.688.796V9.454a.89.89 0 0 1 .332-.693 2.058 2.058 0 0 1 .312-.208zM14 23.817c-3.071-1.38-5.998-.808-9.447-.293l-.253.036a.263.263 0 0 1-.3-.259V8.525a.098.098 0 0 1 .084-.097l.804-.115c2.518-.372 6.303-1.048 8.708.515a.89.89 0 0 1 .404.746z',
|
29
|
+
fill: '#4fbaa9',
|
30
|
+
},
|
31
|
+
'dashboards': {
|
32
|
+
path: 'M25.819 28H23.18a.181.181 0 0 1-.181-.181V13.18a.181.181 0 0 1 .181-.181h2.638a.181.181 0 0 1 .181.181V27.82a.181.181 0 0 1-.181.181zM21 27.816v-9.631a.184.184 0 0 0-.184-.185h-2.631a.184.184 0 0 0-.185.184v9.631a.184.184 0 0 0 .184.185h2.631a.184.184 0 0 0 .185-.184zm9.82.184a.18.18 0 0 0 .18-.18v-7.64a.18.18 0 0 0-.18-.18h-2.64a.18.18 0 0 0-.18.18v7.64a.18.18 0 0 0 .18.18zM7 9.267v10.475c.706.033 3.538-1.718 4.274-4.7.679-2.751 3.485-2.864 4.443-2.94 1.766-.14 3.588-.607 4.566-2.798A.216.216 0 0 0 20.085 9H7.267A.267.267 0 0 0 7 9.267zm18.997-1.053A4.411 4.411 0 0 0 21.63 4H2.684A.684.684 0 0 0 2 4.684V21.81A3.19 3.19 0 0 0 5.19 25h9.565a.245.245 0 0 0 .245-.245v-2.362a.393.393 0 0 0-.393-.393H6.38A1.385 1.385 0 0 1 5 20.619V7.349A.348.348 0 0 1 5.348 7h16.324A1.346 1.346 0 0 1 23 8.363v1.28a.357.357 0 0 0 .357.357h2.599a.046.046 0 0 0 .046-.046z',
|
33
|
+
fill: '#ee9e01',
|
34
|
+
},
|
35
|
+
'experience-builder': {
|
36
|
+
path: 'M30.85 12.82l-2.85 5v7.44A1.78 1.78 0 0 1 26.22 27H25V7.75a.76.76 0 0 0-.75-.75H12V1.31a.28.28 0 0 1 .42-.25L17.51 4h8.71A1.78 1.78 0 0 1 28 5.78v4.42l2.54 1.47a.83.83 0 0 1 .31 1.15zM12 18h8v-6h-8zm7.62 5H7.75a.76.76 0 0 1-.75-.75V4H5.78A1.78 1.78 0 0 0 4 5.78V13l-2.89 5a.85.85 0 0 0 .31 1.15L4 20.59v4.61A1.78 1.78 0 0 0 5.78 27h8.62l5.18 3a.28.28 0 0 0 .42-.24v-6.39a.38.38 0 0 0-.38-.37z',
|
37
|
+
fill: '#09b8ca',
|
38
|
+
},
|
39
|
+
// extra glyphs
|
40
|
+
'geoBIM': {
|
41
|
+
path: 'M17.802 21.398l6.2 2.557-5.14 2.133a.772.772 0 0 1-1.06-.717zM9.311 7.868a.604.604 0 0 1-.003-1.122L16 4.169l8.12 3.148-8.119 3.184zm-3.5 1.541l8.387 3.413v12.554a.772.772 0 0 1-1.06.717l-6.297-2.736a1.639 1.639 0 0 1-1.03-1.521zM3.844 6.03a1.316 1.316 0 0 0-.827 1.22v17.395a1.316 1.316 0 0 0 .827 1.221L16 30.888l12.983-5.317v-2.423l-7.156-3.023 7.156-2.963v-1.95l-5.101-2.2-3.867 1.516L24 16.123l-6.199 2.505v-5.711l.073-.122 11.108-4.487v-1.95l-12.47-5.047a1.384 1.384 0 0 0-1.027 0z',
|
42
|
+
fill: '#11ad1d',
|
43
|
+
},
|
44
|
+
'notebooks': {
|
45
|
+
path: 'M2.941 25A.906.906 0 0 1 2 24.135v-.271A.906.906 0 0 1 2.941 23h3.118a.906.906 0 0 1 .941.864v.271a.906.906 0 0 1-.941.865zm3.118-8A.906.906 0 0 0 7 16.135v-.271A.906.906 0 0 0 6.059 15H2.941a.906.906 0 0 0-.941.864v.271a.906.906 0 0 0 .941.865zm0-8A.906.906 0 0 0 7 8.135v-.271A.906.906 0 0 0 6.059 7H2.941A.906.906 0 0 0 2 7.864v.271A.906.906 0 0 0 2.941 9zm9.44 16h-3.726a.773.773 0 0 1-.773-.774V6.171A.172.172 0 0 1 11.172 6H15.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H5.342A1.345 1.345 0 0 0 4 4.343V5h2.059A2.904 2.904 0 0 1 9 7.858v.277A2.907 2.907 0 0 1 6.059 11H4v2h2.059A2.907 2.907 0 0 1 9 15.864v.271A2.907 2.907 0 0 1 6.059 19H4v2h2.059A2.907 2.907 0 0 1 9 23.864v.271A2.907 2.907 0 0 1 6.059 27H4v1.405a.595.595 0 0 0 .595.595H15.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5zM20 3.5v2a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 .5.5v18a.5.5 0 0 1-.5.5h-4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-25a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.499.5z',
|
46
|
+
fill: '#6e6e6e',
|
47
|
+
},
|
48
|
+
'sites': {
|
49
|
+
path: 'M2.656 29A.656.656 0 0 1 2 28.344V6.185A3.189 3.189 0 0 1 5.185 3H29.72a.281.281 0 0 1 .281.281v22.53A3.194 3.194 0 0 1 26.81 29zm2.838-3h21.211a.295.295 0 0 0 .296-.295V13.494a.493.493 0 0 0-.493-.494H5v12.506a.494.494 0 0 0 .494.494zM23 9.91a.09.09 0 0 0 .09.09h3.82a.09.09 0 0 0 .09-.09V6.026A.026.026 0 0 0 26.974 6h-3.948a.026.026 0 0 0-.026.026zM6.633 6A1.597 1.597 0 0 0 5 7.595V10h14.523A.477.477 0 0 0 20 9.523V6.477A.477.477 0 0 0 19.523 6zM16 22v-5h7v5zm-7-2v-3h3v3z',
|
50
|
+
fill: '#7842ed',
|
51
|
+
},
|
52
|
+
'webAppBuilder': {
|
53
|
+
path: 'M15.044 19.974a.188.188 0 0 1-.192-.001l-3.762-2.35a.188.188 0 0 1-.09-.16v-4.098a.188.188 0 0 1 .096-.163l3.761-2.178a.188.188 0 0 1 .182-.001l3.863 2.179a.188.188 0 0 1 .098.165v4.095a.187.187 0 0 1-.092.161zm15.13-1.04a.052.052 0 0 0 .099.022 8.048 8.048 0 0 0 .67-3.147 7.155 7.155 0 0 0-3.507-6.213L17.59 3.768a4.054 4.054 0 0 0-1.968-.627 3.95 3.95 0 0 0-1.894.485c-.607.334-1.132.67-1.278.754a2.951 2.951 0 0 0-1.39 2.506v1.078a.2.2 0 0 0 .307.167l1.365-.87a4.988 4.988 0 0 1 2.319-.792 4.62 4.62 0 0 1 2.219.792s8.442 5.017 9.392 5.576a7.045 7.045 0 0 1 3.513 6.084zM9.546 23.55l.947-.547a.2.2 0 0 0 0-.345l-1.369-.79a4.326 4.326 0 0 1-2.13-3.842V7.286a7.16 7.16 0 0 1 3.63-6.083l.081-.05a.025.025 0 0 0-.012-.045l-.25-.005a8.333 8.333 0 0 0-3.887.994A7.102 7.102 0 0 0 3.069 8.31v10.786a3.96 3.96 0 0 0 1.89 3.362c.894.545 1.605.974 1.81 1.092a2.787 2.787 0 0 0 2.777 0zm4.383 6.37l9.997-5.773a3.959 3.959 0 0 0 1.967-3.32c.021-.929.034-1.604.034-1.806a2.786 2.786 0 0 0-1.39-2.406l-1.123-.57a.2.2 0 0 0-.289.177v1.604a4.45 4.45 0 0 1-2.218 3.842l-3.708 2.14a3.366 3.366 0 0 1-.256.135L11.6 27.128a6.427 6.427 0 0 1-3.343.938 7.137 7.137 0 0 1-3.513-1.038c-.09-.052-.38-.226-.797-.479a.094.094 0 0 0-.134.12 7.182 7.182 0 0 0 2.942 3.25 7.241 7.241 0 0 0 3.587 1.028 7.243 7.243 0 0 0 3.587-1.028z',
|
54
|
+
fill: '#09b8ca',
|
55
|
+
},
|
56
|
+
'urban': {
|
57
|
+
path: 'M32 14l-4 .003a1 1 0 0 0-1 1V21a1 1 0 0 1-1 1h-2V5.451l-7.598-3.335A1 1 0 0 0 15 3.03V25a1 1 0 0 1-1 1h-2V11.24h-.02L7.5 9l-4.48 2.24H3V20H0v4h5a1 1 0 0 0 1-1V12.717L7.5 12l1.5.717V28a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V6.094l3 1.317V24a2 2 0 0 0 2 2h5.02A1.977 1.977 0 0 0 30 24.024V17h2z',
|
58
|
+
fill: '#3DB8FF',
|
59
|
+
},
|
60
|
+
};
|
61
|
+
/**
|
62
|
+
* Format glyphs as SVGs
|
63
|
+
*/
|
64
|
+
const productGlyphs = new Map();
|
65
|
+
Object.keys(glyphs).forEach(glyph => {
|
66
|
+
productGlyphs[glyph] = `<svg viewBox="0 0 32 32" width="32" height="32" fill="${glyphs[glyph].fill}"><path d="${glyphs[glyph].path}"/></svg>`;
|
67
|
+
});
|
68
|
+
function getProductGlyph(name) {
|
69
|
+
return productGlyphs[name] || '';
|
70
|
+
}
|
71
|
+
|
72
|
+
const instantAppsCreateCss = ":host{display:block;--instant-apps-create-action-background:var(--calcite-color-foreground-1);--instant-apps-create-action-background-hover:var(--calcite-color-foreground-2);--instant-apps-create-action-background-press:var(--calcite-color-foreground-3);--instant-apps-create-action-height:100%;--instant-apps-create-action-width:fit-content;--instant-apps-create-action-icon-color:var(--calcite-color-text-3);--instant-apps-create-action-icon-hover-color:var(--calcite-color-text-1);--instant-apps-create-background:var(--calcite-color-foreground-1);--instant-apps-create-text-color:var(--calcite-color-text-1);--instant-apps-create-popover-width:450px}.instant-apps-create{height:100%}.instant-apps-create *{box-sizing:border-box}.instant-apps-create__popover-container,.instant-apps-create__inline-container{padding:1rem 1.5rem;background:var(--instant-apps-create-background);--calcite-color-text-1:var(--instant-apps-create-text-color)}.instant-apps-create__popover-container{width:var(--instant-apps-create-popover-width)}.instant-apps-create calcite-popover{--calcite-color-foreground-1:var(--instant-apps-create-background)}.instant-apps-create calcite-button:last-of-type{margin-top:0.5rem}.instant-apps-create__header h3{margin:0;font-weight:var(--calcite-font-weight-medium)}.instant-apps-create__header p{margin:0;padding:0 0 0.5rem 0;font-weight:var(--calcite-font-weight-normal)}.instant-apps-create__options{display:flex;justify-content:space-between;align-items:center;flex-direction:column}.instant-apps-create__option{display:flex;color:inherit;text-decoration:inherit;height:-moz-fit-content;height:fit-content;margin-bottom:0.5rem;cursor:pointer;--calcite-color-text-link:var(--calcite-color-text-1);align-items:stretch;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);outline-offset:0;outline-color:transparent;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out}.instant-apps-create__option:first-of-type{margin-top:0.5rem}.instant-apps-create__option:last-of-type{margin-bottom:0}.instant-apps-create__option:hover{outline:1px solid var(--calcite-color-border-1);outline-offset:2px}.instant-apps-create__option-icon{display:flex;background:var(--calcite-color-foreground-2);color:var(--calcite-color-text-1);font-size:1.25rem;background-color:var(--calcite-color-background);justify-content:center;align-items:center;flex:1 1 auto;max-width:5rem;min-width:5rem;height:auto}.instant-apps-create__option-icon svg{display:block;overflow-clip-margin:content-box;overflow:hidden}.instant-apps-create__option-text{min-height:2rem;font-size:0.75rem;color:var(--calcite-color-text-2);padding:0.75rem 0 0 0.75rem}.instant-apps-create__option-text-wrapper{display:flex;align-items:center}.instant-apps-create__option-text h3{margin:0;font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium)}.instant-apps-create__option-text calcite-icon{margin-left:0.25rem;color:rgb(126, 126, 126);--tw-translate-x:0px;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0;transition-property:all;transition-duration:150ms;transition-timing-function:ease-in-out;transition-delay:0s}a:hover .instant-apps-create__option-text calcite-icon{opacity:1;--tw-translate-x:0.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.instant-apps-create__option-text p{margin:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-3);line-height:1.35;min-height:3rem}";
|
73
|
+
const InstantAppsCreateStyle0 = instantAppsCreateCss;
|
74
|
+
|
75
|
+
const CSS = {
|
76
|
+
baseDark: 'instant-apps-create calcite-mode-dark',
|
77
|
+
baseLight: 'instant-apps-create calcite-mode-light',
|
78
|
+
inlineContainer: 'instant-apps-create__inline-container',
|
79
|
+
popoverContainer: 'instant-apps-create__popover-container',
|
80
|
+
hidden: 'instant-apps-create__visually-hidden',
|
81
|
+
header: 'instant-apps-create__header',
|
82
|
+
options: 'instant-apps-create__options',
|
83
|
+
option: 'instant-apps-create__option',
|
84
|
+
optionIcon: 'instant-apps-create__option-icon',
|
85
|
+
optionText: 'instant-apps-create__option-text',
|
86
|
+
optionTextWrapper: 'instant-apps-create__option-text-wrapper',
|
87
|
+
optionTitle: 'instant-apps-create__option-title',
|
88
|
+
optionSubtitle: 'instant-apps-create__option-subtitle',
|
89
|
+
optionLink: 'instant-apps-create__option-link',
|
90
|
+
};
|
91
|
+
const InstantAppsCreate = class {
|
92
|
+
constructor(hostRef) {
|
93
|
+
registerInstance(this, hostRef);
|
94
|
+
this.popoverIcon = 'grid';
|
95
|
+
this.mode = 'inline';
|
96
|
+
this.popoverPositioning = 'absolute';
|
97
|
+
this.popoverPlacement = 'auto';
|
98
|
+
this.showHeader = true;
|
99
|
+
this.content = undefined;
|
100
|
+
this.options = ['instant-apps', 'map-viewer', 'story-maps', 'experience-builder', 'dashboards'];
|
101
|
+
this.portal = undefined;
|
102
|
+
this.baseClass = CSS.baseLight;
|
103
|
+
this.messages = {};
|
104
|
+
this.CreateOptionsLookup = undefined;
|
105
|
+
}
|
106
|
+
contentChanged() {
|
107
|
+
Object.keys(this.CreateOptionsLookup).forEach(key => {
|
108
|
+
this.CreateOptionsLookup[key].href = this.hrefLookup(key);
|
109
|
+
});
|
110
|
+
}
|
111
|
+
componentWillLoad() {
|
112
|
+
this.baseClass = getMode(this.el) === 'dark' ? CSS.baseDark : CSS.baseLight;
|
113
|
+
this.initializeModules();
|
114
|
+
return getMessages(this).then(() => {
|
115
|
+
this.initializePredefinedOptions();
|
116
|
+
});
|
117
|
+
}
|
118
|
+
disconnectedCallback() {
|
119
|
+
var _a, _b;
|
120
|
+
(_a = this.handles) === null || _a === void 0 ? void 0 : _a.removeAll();
|
121
|
+
(_b = this.handles) === null || _b === void 0 ? void 0 : _b.destroy();
|
122
|
+
this.handles = null;
|
123
|
+
}
|
124
|
+
render() {
|
125
|
+
const mode = this.mode === 'popover' ? this.renderPopover() : this.renderPanel();
|
126
|
+
return (h(Host, null, h("div", { class: this.baseClass }, mode)));
|
127
|
+
}
|
128
|
+
async initializeModules() {
|
129
|
+
const [Handles] = await loadModules(['esri/core/Handles']);
|
130
|
+
this.handles = new Handles();
|
131
|
+
return Promise.resolve();
|
132
|
+
}
|
133
|
+
initializePredefinedOptions() {
|
134
|
+
const { instantApps, instantAppsDesc, mapViewer, mapViewerDesc, arcgisStoryMaps, storyMapsDesc, experienceBuilder, experienceBuilderDesc, dashboards, dashboardsDesc } = this.messages;
|
135
|
+
this.CreateOptionsLookup = {
|
136
|
+
'instant-apps': {
|
137
|
+
title: instantApps,
|
138
|
+
subtitle: instantAppsDesc,
|
139
|
+
img: getProductGlyph('instant-apps'),
|
140
|
+
href: this.hrefLookup('instant-apps'),
|
141
|
+
},
|
142
|
+
'map-viewer': {
|
143
|
+
title: mapViewer,
|
144
|
+
subtitle: mapViewerDesc,
|
145
|
+
img: getProductGlyph('map-viewer'),
|
146
|
+
href: this.hrefLookup('map-viewer'),
|
147
|
+
},
|
148
|
+
'story-maps': {
|
149
|
+
title: arcgisStoryMaps,
|
150
|
+
subtitle: storyMapsDesc,
|
151
|
+
img: getProductGlyph('story-maps'),
|
152
|
+
href: this.hrefLookup('story-maps'),
|
153
|
+
},
|
154
|
+
'experience-builder': {
|
155
|
+
title: experienceBuilder,
|
156
|
+
subtitle: experienceBuilderDesc,
|
157
|
+
img: getProductGlyph('experience-builder'),
|
158
|
+
href: this.hrefLookup('experience-builder'),
|
159
|
+
},
|
160
|
+
'dashboards': {
|
161
|
+
title: dashboards,
|
162
|
+
subtitle: dashboardsDesc,
|
163
|
+
img: getProductGlyph('dashboards'),
|
164
|
+
href: this.hrefLookup('dashboards'),
|
165
|
+
},
|
166
|
+
};
|
167
|
+
}
|
168
|
+
hrefLookup(predefined) {
|
169
|
+
var _a, _b;
|
170
|
+
const portalUrl = this.getBaseUrl(this.portal);
|
171
|
+
const env = this._getEnvironment(portalUrl);
|
172
|
+
const contentParam = this.contentHref();
|
173
|
+
switch (predefined) {
|
174
|
+
case 'instant-apps':
|
175
|
+
return `${portalUrl}/apps/instantgallery/index.html?${contentParam}`;
|
176
|
+
case 'dashboards':
|
177
|
+
return `${portalUrl}/apps/dashboards/new#id=${(_b = (_a = this.content) === null || _a === void 0 ? void 0 : _a.portalItem) === null || _b === void 0 ? void 0 : _b.id}`;
|
178
|
+
case 'map-viewer':
|
179
|
+
return `${portalUrl}/apps/mapviewer/index.html?${contentParam}`;
|
180
|
+
case 'story-maps':
|
181
|
+
return `https://storymaps${env === 'prod' ? '' : env}.arcgis.com/stories/new?${contentParam}`;
|
182
|
+
case 'experience-builder':
|
183
|
+
return `https://experience${env === 'prod' ? '' : env}.arcgis.com/builder/page/template/?${contentParam}`;
|
184
|
+
}
|
185
|
+
return '';
|
186
|
+
}
|
187
|
+
contentHref() {
|
188
|
+
var _a, _b, _c, _d, _e;
|
189
|
+
if (((_b = (_a = this === null || this === void 0 ? void 0 : this.content) === null || _a === void 0 ? void 0 : _a.portalItem) === null || _b === void 0 ? void 0 : _b.type) === 'Web Map') {
|
190
|
+
return `webmap=${this.content.portalItem.id}`;
|
191
|
+
}
|
192
|
+
else if (((_d = (_c = this === null || this === void 0 ? void 0 : this.content) === null || _c === void 0 ? void 0 : _c.portalItem) === null || _d === void 0 ? void 0 : _d.type) === 'Web Scene') {
|
193
|
+
return `webscene=${this.content.portalItem.id}`;
|
194
|
+
}
|
195
|
+
else if (typeof ((_e = this === null || this === void 0 ? void 0 : this.content) === null || _e === void 0 ? void 0 : _e.fetchMembers) === 'function') {
|
196
|
+
return `group=${this.content.id}`;
|
197
|
+
}
|
198
|
+
else {
|
199
|
+
return '';
|
200
|
+
}
|
201
|
+
}
|
202
|
+
// getBaseUrl
|
203
|
+
getBaseUrl(portal) {
|
204
|
+
if (!portal) {
|
205
|
+
return '';
|
206
|
+
}
|
207
|
+
const { customBaseUrl, portalHostname, urlKey } = portal;
|
208
|
+
const { protocol } = location;
|
209
|
+
const url = urlKey ? `${urlKey}.${customBaseUrl}` : portalHostname;
|
210
|
+
return `${protocol}//${url}`;
|
211
|
+
}
|
212
|
+
_getEnvironment(url) {
|
213
|
+
var _a;
|
214
|
+
let hostname = null;
|
215
|
+
try {
|
216
|
+
hostname = (_a = new URL(url)) === null || _a === void 0 ? void 0 : _a.hostname;
|
217
|
+
}
|
218
|
+
catch (e) { }
|
219
|
+
if (hostname == null || hostname.indexOf('arcgis.com') === -1) {
|
220
|
+
return 'dev';
|
221
|
+
}
|
222
|
+
else {
|
223
|
+
return (hostname.indexOf('devext') !== -1 && 'dev') || (hostname.indexOf('qaext') !== -1 && 'qa') || 'prod';
|
224
|
+
}
|
225
|
+
}
|
226
|
+
renderPopover() {
|
227
|
+
var _a, _b;
|
228
|
+
const panel = this.renderPanel();
|
229
|
+
return [
|
230
|
+
h("calcite-popover", { referenceElement: "create-popover-btn", overlayPositioning: this.popoverPositioning, placement: this.popoverPlacement, autoClose: true, ref: (el) => (this.popoverEl = el) }, panel),
|
231
|
+
h("calcite-action", { id: "create-popover-btn", alignment: "center", icon: this.popoverIcon, title: (_a = this.messages) === null || _a === void 0 ? void 0 : _a.create, text: (_b = this.messages) === null || _b === void 0 ? void 0 : _b.create }),
|
232
|
+
];
|
233
|
+
}
|
234
|
+
renderPanel() {
|
235
|
+
const header = this.showHeader ? this.renderHeader() : null;
|
236
|
+
const options = this.renderOptions();
|
237
|
+
const panelClass = this.mode === 'inline' ? CSS.inlineContainer : CSS.popoverContainer;
|
238
|
+
return (h("div", { class: panelClass }, header, options));
|
239
|
+
}
|
240
|
+
renderHeader() {
|
241
|
+
const { create, createSubheading } = this.messages;
|
242
|
+
return (h("div", { class: CSS.header }, h("h3", null, create), h("p", null, createSubheading)));
|
243
|
+
}
|
244
|
+
renderOptions() {
|
245
|
+
return h("nav", null, this.options.map(option => this.renderOption(option)));
|
246
|
+
}
|
247
|
+
renderOption(option) {
|
248
|
+
var _a;
|
249
|
+
if (typeof option === 'string') {
|
250
|
+
option = (_a = this === null || this === void 0 ? void 0 : this.CreateOptionsLookup) === null || _a === void 0 ? void 0 : _a[option];
|
251
|
+
}
|
252
|
+
const { title, subtitle, img, href } = option || {};
|
253
|
+
return (h("a", { class: CSS.option, href: href, target: "_blank" }, h("span", { class: CSS.optionIcon, innerHTML: img }), h("span", { class: CSS.optionText }, h("span", { class: CSS.optionTextWrapper }, h("h3", { class: CSS.optionTitle }, title), h("calcite-icon", { scale: "s", icon: "launch" })), h("p", { class: CSS.optionSubtitle }, subtitle))));
|
254
|
+
}
|
255
|
+
get el() { return getElement(this); }
|
256
|
+
static get watchers() { return {
|
257
|
+
"content": ["contentChanged"]
|
258
|
+
}; }
|
259
|
+
};
|
260
|
+
InstantAppsCreate.style = InstantAppsCreateStyle0;
|
261
|
+
|
262
|
+
export { InstantAppsCreate as instant_apps_create };
|