@esri/solutions-components 0.8.23 → 0.8.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/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
@@ -85,7 +85,7 @@ const CardManager = class {
|
|
85
85
|
var _a, _b;
|
86
86
|
const featuresClass = ((_a = this._graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "" : "display-none";
|
87
87
|
const messageClass = ((_b = this._graphics) === null || _b === void 0 ? void 0 : _b.length) > 0 ? "display-none" : "";
|
88
|
-
return (index.h(index.Host, { key: '
|
88
|
+
return (index.h(index.Host, { key: '343554e5408de156f1973f6d1e3daa8f1ba90675' }, index.h("div", { key: '1852562a795002314236052351cab7c29d36854e', class: "overflow-auto height-full" }, index.h("calcite-shell", { key: '684f013e4397bc50743526357384f782a88a5cd3', class: "position-relative " + featuresClass }, index.h("div", { key: 'db6d9f4be5448b5596b22f2a4f49c6baefa88466' }, index.h("info-card", { key: 'be5cec81cae7ca00a5b57c8d9590541f78b67fbd', graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), index.h("calcite-shell", { key: 'df34e0ae6978298130970c60d21203f52fa32e4b', class: "position-relative " + messageClass }, index.h("div", { key: '9525a95dd21745e211ebf888da44eca6a6c17721', class: "padding-1" }, index.h("calcite-notice", { key: 'ade0e0a2f09bbe7b7bda6fdb2ce65ba81121e633', icon: "table", open: true }, index.h("div", { key: 'd6fce2d657e23738720e004177c510c3273017f4', slot: "message" }, this._translations.selectFeaturesToStart)))))));
|
89
89
|
}
|
90
90
|
//--------------------------------------------------------------------------
|
91
91
|
//
|
@@ -199,7 +199,7 @@ const CrowdsourceManager = class {
|
|
199
199
|
render() {
|
200
200
|
// only avoid border when we have a header color that is not white
|
201
201
|
const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
|
202
|
-
return (index.h(index.Host, { key: '
|
202
|
+
return (index.h(index.Host, { key: '0f06df71cc424887b8dc4b4929670d94b6548085' }, index.h("calcite-shell", { key: 'c81a570fb771650de6193e45ffbebd03544eaf2e', class: "position-relative" }, index.h("calcite-panel", { key: '5e67c2bf9ed0df0080629989f93e89a145349abc', class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
203
203
|
}
|
204
204
|
/**
|
205
205
|
* Called after each render
|
@@ -85,18 +85,6 @@ const CrowdsourceReporter = class {
|
|
85
85
|
await this.setMapView();
|
86
86
|
});
|
87
87
|
}
|
88
|
-
/**
|
89
|
-
* On Feature details change update the Layer title and the current selected layer id
|
90
|
-
* @param evt Event hold the details of current feature graphic in the info-card
|
91
|
-
*/
|
92
|
-
async selectionChanged(evt) {
|
93
|
-
void this.updatingFeatureDetails(true);
|
94
|
-
await this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
95
|
-
void this.highlightOnMap(evt.detail.selectedFeature[0]);
|
96
|
-
this._selectedFeatureIndex = evt.detail.selectedFeatureIndex;
|
97
|
-
//update the feature details to reflect the like, dislike and comment values
|
98
|
-
await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
|
99
|
-
}
|
100
88
|
//--------------------------------------------------------------------------
|
101
89
|
//
|
102
90
|
// Functions (lifecycle)
|
@@ -113,9 +101,9 @@ const CrowdsourceReporter = class {
|
|
113
101
|
await this._initModules();
|
114
102
|
await this._getTranslations();
|
115
103
|
await ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.when(async () => {
|
116
|
-
//set configured
|
104
|
+
//set configured layers array which are enabled for data collection
|
117
105
|
this._layers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
118
|
-
return this.reportingOptions[layerId].
|
106
|
+
return this.reportingOptions[layerId].visible;
|
119
107
|
}) : [];
|
120
108
|
await this.setMapView();
|
121
109
|
}));
|
@@ -125,7 +113,7 @@ const CrowdsourceReporter = class {
|
|
125
113
|
*/
|
126
114
|
render() {
|
127
115
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
128
|
-
return (index.h(index.Host, { key: '
|
116
|
+
return (index.h(index.Host, { key: '25711a088216a3fcf2aa5d39b81ebd124f004306' }, this._reportSubmitted && index.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" }, index.h("div", { key: '6411e0e7b57fd58f8ba7987331271f0494ba113b', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && index.h("calcite-alert", { key: '67b28ad1e3493427227d2d59548a5eac80041dea', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, index.h("div", { key: '3ad206c32a217e6a9a5bb1e638ef3160fbff5db2', slot: "title" }, this._translations.error), index.h("div", { key: '7580dd6b3f81a9b0c4263fb9e71e2031e199b41d', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && index.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" }, index.h("div", { key: '41c01a889ed6732cf7dabf0945fbfb261a0f3a3b', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && index.h("calcite-alert", { key: '29bca2310f6877ec976fbe49ac39413593202a4d', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, index.h("div", { key: '8a7860934cebec53462c46e0d979268c75fb9705', slot: "title" }, this._translations.error), index.h("div", { key: 'd675ee393e81f5104d87391075a9ae89b4077a45', slot: "message" }, this._translations.addingCommentFailedMsg)), index.h("div", { key: '1fce11b73759bc751de763e040d15d85a3fb347d' }, index.h("calcite-shell", { key: '71634d0d1b0fcbe92813ff9b514ec4e752bd3fd1', "content-behind": true }, this._getReporter())), this.filterModal()));
|
129
117
|
}
|
130
118
|
//--------------------------------------------------------------------------
|
131
119
|
//
|
@@ -160,6 +148,14 @@ const CrowdsourceReporter = class {
|
|
160
148
|
layer.set('visible', !layerId || (layer.id === layerId));
|
161
149
|
});
|
162
150
|
}
|
151
|
+
/**
|
152
|
+
* Returns the layers configuration
|
153
|
+
* @param layerId string layerId of the selected layer
|
154
|
+
* @returns Configuration for the layerId
|
155
|
+
*/
|
156
|
+
_getLayersConfig(layerId) {
|
157
|
+
return this.reportingOptions && this.reportingOptions[layerId] ? this.reportingOptions[layerId] : null;
|
158
|
+
}
|
163
159
|
/**
|
164
160
|
* Get the reporter app functionality
|
165
161
|
* @protected
|
@@ -283,7 +279,10 @@ const CrowdsourceReporter = class {
|
|
283
279
|
* @protected
|
284
280
|
*/
|
285
281
|
getChooseCategoryFlowItem() {
|
286
|
-
|
282
|
+
const onlyReportingLayers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
283
|
+
return this.reportingOptions[layerId].visible && this.reportingOptions[layerId].reporting && this._layerItemsHash[layerId] && this._layerItemsHash[layerId].supportsAdd;
|
284
|
+
}) : [];
|
285
|
+
return (index.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(), index.h("calcite-panel", { "full-height": true, "full-width": true }, index.h("div", { class: "progress-bar" }, index.h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), index.h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, index.h("div", { slot: "message" }, this._translations.chooseCategoryMsg)), index.h("layer-list", { class: "height-full", layers: onlyReportingLayers, mapView: this.mapView, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
|
287
286
|
}
|
288
287
|
/**
|
289
288
|
* Get Feature create form of the selected feature layer
|
@@ -442,16 +441,22 @@ const CrowdsourceReporter = class {
|
|
442
441
|
const layersListed = evt.detail;
|
443
442
|
//consider only the layers listed in the layer-list component
|
444
443
|
const allMapLayers = await mapViewUtils.getAllLayers(this.mapView);
|
444
|
+
const reportingEnabledLayerIds = [];
|
445
445
|
this._validLayers = [];
|
446
446
|
allMapLayers.forEach((eachLayer) => {
|
447
|
+
var _a;
|
447
448
|
if (layersListed.includes(eachLayer.id)) {
|
448
449
|
this._validLayers.push(eachLayer);
|
450
|
+
//create list of reporting enabled layers
|
451
|
+
if (((_a = this._getLayersConfig(eachLayer.id)) === null || _a === void 0 ? void 0 : _a.reporting) && this._layerItemsHash[eachLayer.id] && this._layerItemsHash[eachLayer.id].supportsAdd) {
|
452
|
+
reportingEnabledLayerIds.push(eachLayer.id);
|
453
|
+
}
|
449
454
|
}
|
450
455
|
});
|
451
456
|
//handleMap click on layer list loaded
|
452
457
|
this.handleMapClick();
|
453
|
-
//
|
454
|
-
this._hasValidLayers =
|
458
|
+
//When we have any reporting layer then only show the create report button on layerList
|
459
|
+
this._hasValidLayers = reportingEnabledLayerIds.length > 0;
|
455
460
|
//navigate to the feature details if URL params found
|
456
461
|
if (!this._urlParamsLoaded) {
|
457
462
|
this._urlParamsLoaded = true;
|
@@ -479,8 +484,9 @@ const CrowdsourceReporter = class {
|
|
479
484
|
backFromSelectedPanel() {
|
480
485
|
this._updatedProgressBarStatus = 0.25;
|
481
486
|
const updatedFlowItems = [...this._flowItems];
|
482
|
-
// when
|
483
|
-
if (updatedFlowItems[updatedFlowItems.length - 1]
|
487
|
+
// when back from comment details or add comment page don't clear the highlighted feature of map
|
488
|
+
if (!(updatedFlowItems[updatedFlowItems.length - 1] === 'comment-details' ||
|
489
|
+
updatedFlowItems[updatedFlowItems.length - 1] === 'add-comment')) {
|
484
490
|
this.clearHighlights();
|
485
491
|
}
|
486
492
|
updatedFlowItems.pop();
|
@@ -525,6 +531,19 @@ const CrowdsourceReporter = class {
|
|
525
531
|
async updatingFeatureDetails(isLoading) {
|
526
532
|
this._showLoadingIndicator = isLoading;
|
527
533
|
}
|
534
|
+
/**
|
535
|
+
* On Feature details change update the Layer title and the current selected layer id
|
536
|
+
* @param evt Event hold the details of current feature graphic from the feature-details
|
537
|
+
* @protected
|
538
|
+
*/
|
539
|
+
async selectionChanged(evt) {
|
540
|
+
void this.updatingFeatureDetails(true);
|
541
|
+
await this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
542
|
+
void this.highlightOnMap(evt.detail.selectedFeature[0]);
|
543
|
+
this._selectedFeatureIndex = evt.detail.selectedFeatureIndex;
|
544
|
+
//update the feature details to reflect the like, dislike and comment values
|
545
|
+
await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
|
546
|
+
}
|
528
547
|
/**
|
529
548
|
* When comment is selected from list store that and show comment details
|
530
549
|
* @param evt Event which has details of selected feature
|
@@ -542,10 +561,11 @@ const CrowdsourceReporter = class {
|
|
542
561
|
* @protected
|
543
562
|
*/
|
544
563
|
getFeatureListFlowItem(layerId, layerName) {
|
545
|
-
var _a;
|
564
|
+
var _a, _b;
|
546
565
|
const layerExpressions = (_a = this.layerExpressions) === null || _a === void 0 ? void 0 : _a.filter((exp) => exp.id === this._selectedLayerId);
|
566
|
+
const canCreateReports = ((_b = this._getLayersConfig(this._selectedLayerId)) === null || _b === void 0 ? void 0 : _b.reporting) && this._layerItemsHash[this._selectedLayerId].supportsAdd;
|
547
567
|
const showFilterIcon = (layerExpressions === null || layerExpressions === void 0 ? void 0 : layerExpressions.length) > 0;
|
548
|
-
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), index.h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && index.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 &&
|
568
|
+
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), index.h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && index.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 &&
|
549
569
|
index.h("calcite-button", { appearance: "solid", onClick: this.navigateToCreateFeature.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), index.h("calcite-panel", { "full-height": true }, index.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 }))));
|
550
570
|
}
|
551
571
|
/**
|
@@ -553,8 +573,9 @@ const CrowdsourceReporter = class {
|
|
553
573
|
* @returns Node
|
554
574
|
*/
|
555
575
|
getFeatureDetailsFlowItem() {
|
556
|
-
|
557
|
-
|
576
|
+
var _a;
|
577
|
+
const showCommentBtn = ((_a = this._getLayersConfig(this._selectedLayerId)) === null || _a === void 0 ? void 0 : _a.comment) && this._selectedLayer.relationships.length > 0;
|
578
|
+
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), index.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(), index.h("calcite-panel", null, index.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 &&
|
558
579
|
index.h("calcite-button", { appearance: "solid", onClick: () => this._flowItems = [...this._flowItems, "add-comment"], slot: "footer", width: "full" }, this._translations.comment))));
|
559
580
|
}
|
560
581
|
/**
|
@@ -592,13 +613,14 @@ const CrowdsourceReporter = class {
|
|
592
613
|
* @param selectedFeature Graphic currently shown in feature details
|
593
614
|
*/
|
594
615
|
async setCurrentFeature(selectedFeature) {
|
616
|
+
var _a;
|
595
617
|
this._currentFeature = selectedFeature;
|
596
618
|
if (selectedFeature && selectedFeature.layer) {
|
597
619
|
const layer = selectedFeature.layer;
|
598
620
|
void this.setSelectedLayer(layer.id, layer.title);
|
599
621
|
this._currentFeatureId = selectedFeature.attributes[layer.objectIdField];
|
600
622
|
// check if comments are configured and relationship is present then only get the related table
|
601
|
-
const isCommentTablePresent = this.
|
623
|
+
const isCommentTablePresent = ((_a = this._getLayersConfig(layer.id)) === null || _a === void 0 ? void 0 : _a.comment) && layer.relationships.length > 0;
|
602
624
|
if (isCommentTablePresent) {
|
603
625
|
await this.getRelatedTable();
|
604
626
|
}
|
@@ -712,12 +734,12 @@ const CrowdsourceReporter = class {
|
|
712
734
|
await this.setSelectedFeatures(reportingLayerGraphics);
|
713
735
|
//if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
|
714
736
|
// eslint-disable-next-line unicorn/prefer-ternary
|
715
|
-
if (this._flowItems.length && this._flowItems
|
716
|
-
this._flowItems = [...this._flowItems, "feature-details"];
|
737
|
+
if (this._flowItems.length && this._flowItems.includes("feature-details")) {
|
738
|
+
this._flowItems = [...this._flowItems.slice(0, this._flowItems.indexOf("feature-details") + 1)];
|
739
|
+
await this.highlightOnMap(clickedGraphics[0]);
|
717
740
|
}
|
718
741
|
else {
|
719
|
-
this._flowItems = [...this._flowItems];
|
720
|
-
void this.highlightOnMap(clickedGraphics[0]);
|
742
|
+
this._flowItems = [...this._flowItems, "feature-details"];
|
721
743
|
}
|
722
744
|
}
|
723
745
|
// if clicked graphic's layer is from non reporting layers then show popup on map
|
@@ -760,13 +782,10 @@ const CrowdsourceReporter = class {
|
|
760
782
|
* @returns array of editable layer ids
|
761
783
|
*/
|
762
784
|
reduceToConfiguredLayers(hash) {
|
763
|
-
var _a;
|
764
|
-
const configuredLayers = ((_a = this._layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this._layers : [];
|
765
785
|
return Object.keys(hash).reduce((prev, cur) => {
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
}
|
786
|
+
// check if reporting options exists consider the visible prop if else just check the supports Add
|
787
|
+
const showLayer = this.reportingOptions ? this._getLayersConfig(cur).visible
|
788
|
+
: hash[cur].supportsAdd;
|
770
789
|
if (showLayer) {
|
771
790
|
prev.push(cur);
|
772
791
|
}
|
@@ -787,18 +806,19 @@ const CrowdsourceReporter = class {
|
|
787
806
|
}
|
788
807
|
});
|
789
808
|
this._editableLayerIds = this.reduceToConfiguredLayers(layerItemsHash);
|
809
|
+
this._layerItemsHash = layerItemsHash;
|
790
810
|
}
|
791
811
|
/**
|
792
812
|
* renders feature list
|
793
813
|
* @protected
|
794
814
|
*/
|
795
815
|
async renderFeaturesList() {
|
816
|
+
this._flowItems = ['feature-list'];
|
796
817
|
const evt = {
|
797
818
|
detail: this._editableLayerIds
|
798
819
|
};
|
799
820
|
await this.layerListLoaded(evt);
|
800
821
|
void this.setSelectedLayer(this._validLayers[0].id, this._validLayers[0].title);
|
801
|
-
this._flowItems = ['feature-list'];
|
802
822
|
}
|
803
823
|
/**
|
804
824
|
* Updates the share url for current selected feature
|
@@ -35,6 +35,7 @@ const FeatureList = class {
|
|
35
35
|
this.whereClause = undefined;
|
36
36
|
this.textSize = "large";
|
37
37
|
this.showInitialLoading = true;
|
38
|
+
this.showErrorWhenNoFeatures = true;
|
38
39
|
this._featureItems = [];
|
39
40
|
this._featuresCount = 0;
|
40
41
|
this._isLoading = false;
|
@@ -102,9 +103,9 @@ const FeatureList = class {
|
|
102
103
|
* Renders the component.
|
103
104
|
*/
|
104
105
|
render() {
|
105
|
-
return (index.h("calcite-panel", { key: '
|
106
|
-
index.h("calcite-notice", { key: '
|
107
|
-
index.h("div", { key: '
|
106
|
+
return (index.h("calcite-panel", { key: '6184d07592669fd8884996475b7eeb26e0604790', "full-height": true, "full-width": true }, this._isLoading && index.h("calcite-loader", { key: '282127215213a28b9cfdf484aaf5730145b6bb55', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
|
107
|
+
index.h("calcite-notice", { key: '25fcfeb1d19a089b092050515c3d69401bc17dc8', class: "error-msg", icon: "feature-details", kind: "info", open: true }, index.h("div", { key: '2ac81a338df9d0e0f43c659a24be0c9b7b95d027', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), index.h("calcite-list", { key: '70453e8ded4f859076a5f00d8f04152cd78278d8', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
|
108
|
+
index.h("div", { key: 'db1003ace54cd599acefad04e94fe54248327126', class: "width-full", slot: "footer" }, index.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 }))));
|
108
109
|
}
|
109
110
|
//--------------------------------------------------------------------------
|
110
111
|
//
|
@@ -236,7 +236,8 @@ async function handleFilter(data, info, infoIndex, filterMode, parentLegendEleme
|
|
236
236
|
const [FeatureFilter, FeatureEffect] = await loadModules.loadModules(['esri/layers/support/FeatureFilter', 'esri/layers/support/FeatureEffect']);
|
237
237
|
const { queryExpressions, fLayerView } = data;
|
238
238
|
generateQueryExpressions(data, info, infoIndex, parentLegendElementInfo);
|
239
|
-
const
|
239
|
+
const sep = queryExpressions.every(expression => expression && expression.includes('<>')) ? ' AND ' : ' OR ';
|
240
|
+
const where = queryExpressions.join(sep);
|
240
241
|
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;
|
241
242
|
const { type } = filterMode;
|
242
243
|
if (type === 'filter') {
|
@@ -0,0 +1,266 @@
|
|
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
|
+
'use strict';
|
7
|
+
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
9
|
+
|
10
|
+
const index = require('./index-79b35510.js');
|
11
|
+
const locale = require('./locale-3fd260e3.js');
|
12
|
+
const loadModules = require('./loadModules-b28900c2.js');
|
13
|
+
const mode = require('./mode-d6c12b38.js');
|
14
|
+
require('./languageUtil-da436671.js');
|
15
|
+
require('./esri-loader-fce6a9cb.js');
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Product Glyphs
|
19
|
+
* SVGs and product colors located at:
|
20
|
+
* https://github.com/ArcGIS/esri-product-logos
|
21
|
+
*/
|
22
|
+
const glyphs = {
|
23
|
+
'instant-apps': {
|
24
|
+
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',
|
25
|
+
fill: '#83a238',
|
26
|
+
},
|
27
|
+
'map-viewer': {
|
28
|
+
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',
|
29
|
+
fill: '#3DB8FF',
|
30
|
+
},
|
31
|
+
'story-maps': {
|
32
|
+
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',
|
33
|
+
fill: '#4fbaa9',
|
34
|
+
},
|
35
|
+
'dashboards': {
|
36
|
+
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',
|
37
|
+
fill: '#ee9e01',
|
38
|
+
},
|
39
|
+
'experience-builder': {
|
40
|
+
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',
|
41
|
+
fill: '#09b8ca',
|
42
|
+
},
|
43
|
+
// extra glyphs
|
44
|
+
'geoBIM': {
|
45
|
+
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',
|
46
|
+
fill: '#11ad1d',
|
47
|
+
},
|
48
|
+
'notebooks': {
|
49
|
+
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',
|
50
|
+
fill: '#6e6e6e',
|
51
|
+
},
|
52
|
+
'sites': {
|
53
|
+
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',
|
54
|
+
fill: '#7842ed',
|
55
|
+
},
|
56
|
+
'webAppBuilder': {
|
57
|
+
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',
|
58
|
+
fill: '#09b8ca',
|
59
|
+
},
|
60
|
+
'urban': {
|
61
|
+
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',
|
62
|
+
fill: '#3DB8FF',
|
63
|
+
},
|
64
|
+
};
|
65
|
+
/**
|
66
|
+
* Format glyphs as SVGs
|
67
|
+
*/
|
68
|
+
const productGlyphs = new Map();
|
69
|
+
Object.keys(glyphs).forEach(glyph => {
|
70
|
+
productGlyphs[glyph] = `<svg viewBox="0 0 32 32" width="32" height="32" fill="${glyphs[glyph].fill}"><path d="${glyphs[glyph].path}"/></svg>`;
|
71
|
+
});
|
72
|
+
function getProductGlyph(name) {
|
73
|
+
return productGlyphs[name] || '';
|
74
|
+
}
|
75
|
+
|
76
|
+
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}";
|
77
|
+
const InstantAppsCreateStyle0 = instantAppsCreateCss;
|
78
|
+
|
79
|
+
const CSS = {
|
80
|
+
baseDark: 'instant-apps-create calcite-mode-dark',
|
81
|
+
baseLight: 'instant-apps-create calcite-mode-light',
|
82
|
+
inlineContainer: 'instant-apps-create__inline-container',
|
83
|
+
popoverContainer: 'instant-apps-create__popover-container',
|
84
|
+
hidden: 'instant-apps-create__visually-hidden',
|
85
|
+
header: 'instant-apps-create__header',
|
86
|
+
options: 'instant-apps-create__options',
|
87
|
+
option: 'instant-apps-create__option',
|
88
|
+
optionIcon: 'instant-apps-create__option-icon',
|
89
|
+
optionText: 'instant-apps-create__option-text',
|
90
|
+
optionTextWrapper: 'instant-apps-create__option-text-wrapper',
|
91
|
+
optionTitle: 'instant-apps-create__option-title',
|
92
|
+
optionSubtitle: 'instant-apps-create__option-subtitle',
|
93
|
+
optionLink: 'instant-apps-create__option-link',
|
94
|
+
};
|
95
|
+
const InstantAppsCreate = class {
|
96
|
+
constructor(hostRef) {
|
97
|
+
index.registerInstance(this, hostRef);
|
98
|
+
this.popoverIcon = 'grid';
|
99
|
+
this.mode = 'inline';
|
100
|
+
this.popoverPositioning = 'absolute';
|
101
|
+
this.popoverPlacement = 'auto';
|
102
|
+
this.showHeader = true;
|
103
|
+
this.content = undefined;
|
104
|
+
this.options = ['instant-apps', 'map-viewer', 'story-maps', 'experience-builder', 'dashboards'];
|
105
|
+
this.portal = undefined;
|
106
|
+
this.baseClass = CSS.baseLight;
|
107
|
+
this.messages = {};
|
108
|
+
this.CreateOptionsLookup = undefined;
|
109
|
+
}
|
110
|
+
contentChanged() {
|
111
|
+
Object.keys(this.CreateOptionsLookup).forEach(key => {
|
112
|
+
this.CreateOptionsLookup[key].href = this.hrefLookup(key);
|
113
|
+
});
|
114
|
+
}
|
115
|
+
componentWillLoad() {
|
116
|
+
this.baseClass = mode.getMode(this.el) === 'dark' ? CSS.baseDark : CSS.baseLight;
|
117
|
+
this.initializeModules();
|
118
|
+
return locale.getMessages(this).then(() => {
|
119
|
+
this.initializePredefinedOptions();
|
120
|
+
});
|
121
|
+
}
|
122
|
+
disconnectedCallback() {
|
123
|
+
var _a, _b;
|
124
|
+
(_a = this.handles) === null || _a === void 0 ? void 0 : _a.removeAll();
|
125
|
+
(_b = this.handles) === null || _b === void 0 ? void 0 : _b.destroy();
|
126
|
+
this.handles = null;
|
127
|
+
}
|
128
|
+
render() {
|
129
|
+
const mode = this.mode === 'popover' ? this.renderPopover() : this.renderPanel();
|
130
|
+
return (index.h(index.Host, null, index.h("div", { class: this.baseClass }, mode)));
|
131
|
+
}
|
132
|
+
async initializeModules() {
|
133
|
+
const [Handles] = await loadModules.loadModules(['esri/core/Handles']);
|
134
|
+
this.handles = new Handles();
|
135
|
+
return Promise.resolve();
|
136
|
+
}
|
137
|
+
initializePredefinedOptions() {
|
138
|
+
const { instantApps, instantAppsDesc, mapViewer, mapViewerDesc, arcgisStoryMaps, storyMapsDesc, experienceBuilder, experienceBuilderDesc, dashboards, dashboardsDesc } = this.messages;
|
139
|
+
this.CreateOptionsLookup = {
|
140
|
+
'instant-apps': {
|
141
|
+
title: instantApps,
|
142
|
+
subtitle: instantAppsDesc,
|
143
|
+
img: getProductGlyph('instant-apps'),
|
144
|
+
href: this.hrefLookup('instant-apps'),
|
145
|
+
},
|
146
|
+
'map-viewer': {
|
147
|
+
title: mapViewer,
|
148
|
+
subtitle: mapViewerDesc,
|
149
|
+
img: getProductGlyph('map-viewer'),
|
150
|
+
href: this.hrefLookup('map-viewer'),
|
151
|
+
},
|
152
|
+
'story-maps': {
|
153
|
+
title: arcgisStoryMaps,
|
154
|
+
subtitle: storyMapsDesc,
|
155
|
+
img: getProductGlyph('story-maps'),
|
156
|
+
href: this.hrefLookup('story-maps'),
|
157
|
+
},
|
158
|
+
'experience-builder': {
|
159
|
+
title: experienceBuilder,
|
160
|
+
subtitle: experienceBuilderDesc,
|
161
|
+
img: getProductGlyph('experience-builder'),
|
162
|
+
href: this.hrefLookup('experience-builder'),
|
163
|
+
},
|
164
|
+
'dashboards': {
|
165
|
+
title: dashboards,
|
166
|
+
subtitle: dashboardsDesc,
|
167
|
+
img: getProductGlyph('dashboards'),
|
168
|
+
href: this.hrefLookup('dashboards'),
|
169
|
+
},
|
170
|
+
};
|
171
|
+
}
|
172
|
+
hrefLookup(predefined) {
|
173
|
+
var _a, _b;
|
174
|
+
const portalUrl = this.getBaseUrl(this.portal);
|
175
|
+
const env = this._getEnvironment(portalUrl);
|
176
|
+
const contentParam = this.contentHref();
|
177
|
+
switch (predefined) {
|
178
|
+
case 'instant-apps':
|
179
|
+
return `${portalUrl}/apps/instantgallery/index.html?${contentParam}`;
|
180
|
+
case 'dashboards':
|
181
|
+
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}`;
|
182
|
+
case 'map-viewer':
|
183
|
+
return `${portalUrl}/apps/mapviewer/index.html?${contentParam}`;
|
184
|
+
case 'story-maps':
|
185
|
+
return `https://storymaps${env === 'prod' ? '' : env}.arcgis.com/stories/new?${contentParam}`;
|
186
|
+
case 'experience-builder':
|
187
|
+
return `https://experience${env === 'prod' ? '' : env}.arcgis.com/builder/page/template/?${contentParam}`;
|
188
|
+
}
|
189
|
+
return '';
|
190
|
+
}
|
191
|
+
contentHref() {
|
192
|
+
var _a, _b, _c, _d, _e;
|
193
|
+
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') {
|
194
|
+
return `webmap=${this.content.portalItem.id}`;
|
195
|
+
}
|
196
|
+
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') {
|
197
|
+
return `webscene=${this.content.portalItem.id}`;
|
198
|
+
}
|
199
|
+
else if (typeof ((_e = this === null || this === void 0 ? void 0 : this.content) === null || _e === void 0 ? void 0 : _e.fetchMembers) === 'function') {
|
200
|
+
return `group=${this.content.id}`;
|
201
|
+
}
|
202
|
+
else {
|
203
|
+
return '';
|
204
|
+
}
|
205
|
+
}
|
206
|
+
// getBaseUrl
|
207
|
+
getBaseUrl(portal) {
|
208
|
+
if (!portal) {
|
209
|
+
return '';
|
210
|
+
}
|
211
|
+
const { customBaseUrl, portalHostname, urlKey } = portal;
|
212
|
+
const { protocol } = location;
|
213
|
+
const url = urlKey ? `${urlKey}.${customBaseUrl}` : portalHostname;
|
214
|
+
return `${protocol}//${url}`;
|
215
|
+
}
|
216
|
+
_getEnvironment(url) {
|
217
|
+
var _a;
|
218
|
+
let hostname = null;
|
219
|
+
try {
|
220
|
+
hostname = (_a = new URL(url)) === null || _a === void 0 ? void 0 : _a.hostname;
|
221
|
+
}
|
222
|
+
catch (e) { }
|
223
|
+
if (hostname == null || hostname.indexOf('arcgis.com') === -1) {
|
224
|
+
return 'dev';
|
225
|
+
}
|
226
|
+
else {
|
227
|
+
return (hostname.indexOf('devext') !== -1 && 'dev') || (hostname.indexOf('qaext') !== -1 && 'qa') || 'prod';
|
228
|
+
}
|
229
|
+
}
|
230
|
+
renderPopover() {
|
231
|
+
var _a, _b;
|
232
|
+
const panel = this.renderPanel();
|
233
|
+
return [
|
234
|
+
index.h("calcite-popover", { referenceElement: "create-popover-btn", overlayPositioning: this.popoverPositioning, placement: this.popoverPlacement, autoClose: true, ref: (el) => (this.popoverEl = el) }, panel),
|
235
|
+
index.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 }),
|
236
|
+
];
|
237
|
+
}
|
238
|
+
renderPanel() {
|
239
|
+
const header = this.showHeader ? this.renderHeader() : null;
|
240
|
+
const options = this.renderOptions();
|
241
|
+
const panelClass = this.mode === 'inline' ? CSS.inlineContainer : CSS.popoverContainer;
|
242
|
+
return (index.h("div", { class: panelClass }, header, options));
|
243
|
+
}
|
244
|
+
renderHeader() {
|
245
|
+
const { create, createSubheading } = this.messages;
|
246
|
+
return (index.h("div", { class: CSS.header }, index.h("h3", null, create), index.h("p", null, createSubheading)));
|
247
|
+
}
|
248
|
+
renderOptions() {
|
249
|
+
return index.h("nav", null, this.options.map(option => this.renderOption(option)));
|
250
|
+
}
|
251
|
+
renderOption(option) {
|
252
|
+
var _a;
|
253
|
+
if (typeof option === 'string') {
|
254
|
+
option = (_a = this === null || this === void 0 ? void 0 : this.CreateOptionsLookup) === null || _a === void 0 ? void 0 : _a[option];
|
255
|
+
}
|
256
|
+
const { title, subtitle, img, href } = option || {};
|
257
|
+
return (index.h("a", { class: CSS.option, href: href, target: "_blank" }, index.h("span", { class: CSS.optionIcon, innerHTML: img }), index.h("span", { class: CSS.optionText }, index.h("span", { class: CSS.optionTextWrapper }, index.h("h3", { class: CSS.optionTitle }, title), index.h("calcite-icon", { scale: "s", icon: "launch" })), index.h("p", { class: CSS.optionSubtitle }, subtitle))));
|
258
|
+
}
|
259
|
+
get el() { return index.getElement(this); }
|
260
|
+
static get watchers() { return {
|
261
|
+
"content": ["contentChanged"]
|
262
|
+
}; }
|
263
|
+
};
|
264
|
+
InstantAppsCreate.style = InstantAppsCreateStyle0;
|
265
|
+
|
266
|
+
exports.instant_apps_create = InstantAppsCreate;
|