@esri/solutions-components 0.11.15 → 0.11.16
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/basemap-gallery_7.cjs.entry.js +6 -6
- package/dist/cjs/buffer-tools_2.cjs.entry.js +1 -1
- package/dist/cjs/card-manager_3.cjs.entry.js +3 -3
- package/dist/cjs/create-feature_4.cjs.entry.js +7 -8
- package/dist/cjs/create-related-feature_3.cjs.entry.js +12 -8
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +20 -16
- package/dist/cjs/feature-list.cjs.entry.js +141 -7
- package/dist/cjs/json-editor_7.cjs.entry.js +7 -7
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-layer-picker.cjs.entry.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
- package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
- package/dist/cjs/public-notification.cjs.entry.js +1 -1
- package/dist/cjs/solution-configuration.cjs.entry.js +3 -3
- package/dist/cjs/solution-contents_3.cjs.entry.js +3 -3
- package/dist/cjs/solution-item-accordion.cjs.entry.js +33 -2
- package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/cjs/spatial-ref.cjs.entry.js +1 -1
- package/dist/collection/assets/t9n/feature-list/resources.json +3 -1
- package/dist/collection/assets/t9n/feature-list/resources_en.json +3 -1
- package/dist/collection/components/create-feature/create-feature.js +5 -6
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +40 -16
- package/dist/collection/components/feature-details/feature-details.js +30 -6
- package/dist/collection/components/feature-list/feature-list.css +16 -6
- package/dist/collection/components/feature-list/feature-list.js +162 -6
- package/dist/collection/components/floor-filter/floor-filter.js +1 -1
- package/dist/collection/components/info-card/info-card.js +2 -2
- package/dist/collection/components/json-editor/json-editor.js +1 -1
- package/dist/collection/components/layer-list/layer-list.css +2 -2
- package/dist/collection/components/layer-list/layer-list.js +1 -1
- package/dist/collection/components/layer-table/layer-table.js +2 -2
- package/dist/collection/components/map-card/map-card.js +1 -1
- package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
- package/dist/collection/components/map-fullscreen/map-fullscreen.js +1 -1
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -1
- package/dist/collection/components/map-legend/map-legend.js +1 -1
- package/dist/collection/components/map-picker/map-picker.js +1 -1
- package/dist/collection/components/map-search/map-search.js +1 -1
- package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
- package/dist/collection/components/map-tools/map-tools.js +1 -1
- package/dist/collection/components/pci-calculator/pci-calculator.js +1 -1
- package/dist/collection/components/pdf-download/pdf-download.js +1 -1
- package/dist/collection/components/public-notification/public-notification.js +1 -1
- package/dist/collection/components/refine-selection/refine-selection.js +1 -1
- package/dist/collection/components/solution-configuration/solution-configuration.js +3 -3
- package/dist/collection/components/solution-contents/solution-contents.js +1 -1
- package/dist/collection/components/solution-item/solution-item.js +1 -1
- package/dist/collection/components/solution-item-accordion/solution-item-accordion.js +78 -2
- package/dist/collection/components/solution-item-details/solution-item-details.js +1 -1
- package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -1
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -1
- package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -1
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -1
- package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
- package/dist/collection/components/solution-variables/solution-variables.js +1 -1
- package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
- package/dist/collection/demos/crowdsource-reporter.html +1 -0
- package/dist/collection/demos/solution-item-accordion.html +12 -1
- package/dist/components/create-feature2.js +5 -6
- package/dist/components/crowdsource-reporter.js +21 -16
- package/dist/components/feature-details2.js +11 -6
- package/dist/components/feature-list2.js +144 -7
- package/dist/components/floor-filter2.js +1 -1
- package/dist/components/info-card2.js +2 -2
- package/dist/components/json-editor2.js +1 -1
- package/dist/components/layer-list2.js +2 -2
- package/dist/components/layer-table2.js +2 -2
- package/dist/components/map-card2.js +1 -1
- package/dist/components/map-draw-tools2.js +1 -1
- package/dist/components/map-fullscreen2.js +1 -1
- package/dist/components/map-layer-picker2.js +1 -1
- package/dist/components/map-legend2.js +1 -1
- package/dist/components/map-picker2.js +1 -1
- package/dist/components/map-search2.js +1 -1
- package/dist/components/map-select-tools2.js +1 -1
- package/dist/components/map-tools2.js +1 -1
- package/dist/components/pci-calculator.js +1 -1
- package/dist/components/pdf-download2.js +1 -1
- package/dist/components/public-notification.js +1 -1
- package/dist/components/refine-selection2.js +1 -1
- package/dist/components/solution-configuration.js +3 -3
- package/dist/components/solution-contents2.js +1 -1
- package/dist/components/solution-item-accordion.js +36 -3
- package/dist/components/solution-item-details2.js +1 -1
- package/dist/components/solution-item-icon2.js +1 -1
- package/dist/components/solution-item-sharing2.js +1 -1
- package/dist/components/solution-item2.js +1 -1
- package/dist/components/solution-organization-variables2.js +1 -1
- package/dist/components/solution-resource-item2.js +1 -1
- package/dist/components/solution-spatial-ref2.js +1 -1
- package/dist/components/solution-template-data2.js +1 -1
- package/dist/components/solution-variables2.js +1 -1
- package/dist/components/spatial-ref.js +1 -1
- package/dist/esm/basemap-gallery_7.entry.js +6 -6
- package/dist/esm/buffer-tools_2.entry.js +1 -1
- package/dist/esm/card-manager_3.entry.js +3 -3
- package/dist/esm/create-feature_4.entry.js +7 -8
- package/dist/esm/create-related-feature_3.entry.js +12 -8
- package/dist/esm/crowdsource-reporter.entry.js +20 -16
- package/dist/esm/feature-list.entry.js +141 -7
- package/dist/esm/json-editor_7.entry.js +7 -7
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-layer-picker.entry.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +3 -3
- package/dist/esm/pci-calculator.entry.js +1 -1
- package/dist/esm/public-notification.entry.js +1 -1
- package/dist/esm/solution-configuration.entry.js +3 -3
- package/dist/esm/solution-contents_3.entry.js +3 -3
- package/dist/esm/solution-item-accordion.entry.js +33 -2
- package/dist/esm/solution-item-icon.entry.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/spatial-ref.entry.js +1 -1
- package/dist/solutions-components/assets/t9n/feature-list/resources.json +3 -1
- package/dist/solutions-components/assets/t9n/feature-list/resources_en.json +3 -1
- package/dist/solutions-components/demos/crowdsource-reporter.html +1 -0
- package/dist/solutions-components/demos/solution-item-accordion.html +12 -1
- package/dist/solutions-components/{p-c1a752b9.entry.js → p-182a4844.entry.js} +1 -1
- package/dist/solutions-components/{p-8ab5efc1.entry.js → p-1fb25c0c.entry.js} +1 -1
- package/dist/solutions-components/p-20bd829d.entry.js +6 -0
- package/dist/solutions-components/{p-f9b7f97e.entry.js → p-282a3090.entry.js} +1 -1
- package/dist/solutions-components/p-3ab93412.entry.js +6 -0
- package/dist/solutions-components/p-433b34a3.entry.js +6 -0
- package/dist/solutions-components/{p-7e1c353c.entry.js → p-442b2dfb.entry.js} +1 -1
- package/dist/solutions-components/p-5b3ee71d.entry.js +6 -0
- package/dist/solutions-components/{p-0d110867.entry.js → p-65df6acd.entry.js} +1 -1
- package/dist/solutions-components/{p-f64eeaad.entry.js → p-75fabd1c.entry.js} +1 -1
- package/dist/solutions-components/{p-88de10d1.entry.js → p-a5618671.entry.js} +1 -1
- package/dist/solutions-components/p-b66a3619.entry.js +6 -0
- package/dist/solutions-components/{p-340c71f3.entry.js → p-b8dde3e5.entry.js} +1 -1
- package/dist/solutions-components/{p-256ce5cc.entry.js → p-ec7c3f5c.entry.js} +1 -1
- package/dist/solutions-components/{p-a5c51211.entry.js → p-f3ee7398.entry.js} +1 -1
- package/dist/solutions-components/{p-da1ac695.entry.js → p-fe9c9f03.entry.js} +1 -1
- package/dist/solutions-components/{p-2b9d58dc.entry.js → p-ff0b00d7.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components_commit.txt +6 -8
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +8 -4
- package/dist/types/components/feature-details/feature-details.d.ts +4 -0
- package/dist/types/components/feature-list/feature-list.d.ts +52 -0
- package/dist/types/components/solution-item-accordion/solution-item-accordion.d.ts +12 -0
- package/dist/types/components.d.ts +33 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-0e3b3aa8.entry.js +0 -6
- package/dist/solutions-components/p-47abefd3.entry.js +0 -6
- package/dist/solutions-components/p-8169d4af.entry.js +0 -6
- package/dist/solutions-components/p-b0551d23.entry.js +0 -6
- package/dist/solutions-components/p-d32b5127.entry.js +0 -6
@@ -160,6 +160,10 @@ const CrowdsourceReporter = class {
|
|
160
160
|
* string: selected floor level
|
161
161
|
*/
|
162
162
|
floorLevel;
|
163
|
+
/**
|
164
|
+
* boolean: When false comment will shown in single line in the comments list
|
165
|
+
*/
|
166
|
+
showFullCommentTitle = true;
|
163
167
|
//--------------------------------------------------------------------------
|
164
168
|
//
|
165
169
|
// State (internal)
|
@@ -213,7 +217,7 @@ const CrowdsourceReporter = class {
|
|
213
217
|
/**
|
214
218
|
* number: Show the updated progress bar status
|
215
219
|
*/
|
216
|
-
_updatedProgressBarStatus =
|
220
|
+
_updatedProgressBarStatus = 25;
|
217
221
|
/**
|
218
222
|
* ISortingInfo: Sort the feature list depending on the sort field and order
|
219
223
|
*/
|
@@ -526,7 +530,7 @@ const CrowdsourceReporter = class {
|
|
526
530
|
*/
|
527
531
|
render() {
|
528
532
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
529
|
-
return (h(Host, { key: '
|
533
|
+
return (h(Host, { key: '03d613fe8f275852672fb546ceb4449fb82580c0' }, this._reportSubmitted && h("calcite-alert", { key: '969a66978549d6993b1e4fce87bbd2387858cdf8', "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: '60ae42443e09a97d97a46bba07b1ea010b382348', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: 'bf6c346cf976a4b84da3553230239665c712e2b6', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '1f9560e18d802a15bcb3e8ea9f05837a4a6fb8aa', slot: "title" }, this._translations.error), h("div", { key: '1f5ef09cbf94996eeb5783211ed1542a5cf53e93', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '15538e8faabbec476d7586dcc4152b422404c23f', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '925a9a243a79dfb66554a9a51f24396ca2b71c98', slot: "message" }, this.commentSubmittedMessage || this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '62c63d3b1c51bdc7879e815e2b2f4d3c4d039c4c', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '971f07331a8689b859f2cedc96ba3589a3ad3e16', slot: "title" }, this._translations.error), h("div", { key: '1627f1ab5c4a4aceb7bdb70471aed6b8ca6d67b8', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: 'b3257ba523357b4444ce7da7d13a86f6b71185d9' }, h("calcite-shell", { key: '35fc5a814528bb0acc22919839719bb4349e9ae4', "content-behind": true }, this._getReporter()))));
|
530
534
|
}
|
531
535
|
//--------------------------------------------------------------------------
|
532
536
|
//
|
@@ -660,7 +664,7 @@ const CrowdsourceReporter = class {
|
|
660
664
|
* @protected
|
661
665
|
*/
|
662
666
|
getLayerListFlowItem() {
|
663
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports &&
|
667
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader, selected: this._flowItems[this._flowItems.length - 1] === "layer-list" }, this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports &&
|
664
668
|
h("calcite-button", { appearance: "solid", onClick: this.navigateToChooseCategory.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { applyLayerViewFilter: this.showMyReportsOnly, class: "height-full", layers: this._editableLayerIds?.length > 0 ? this._editableLayerIds : this._layers, locale: this.locale, mapView: this.mapView, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this), ref: el => this._layerList = el, showFeatureCount: true, showNextIcon: true }))));
|
665
669
|
}
|
666
670
|
/**
|
@@ -672,7 +676,7 @@ const CrowdsourceReporter = class {
|
|
672
676
|
const onlyReportingLayers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
673
677
|
return this.reportingOptions[layerId].visible && this.reportingOptions[layerId].reporting && this._layerItemsHash[layerId] && this._layerItemsHash[layerId].supportsAdd;
|
674
678
|
}) : [];
|
675
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, 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, locale: this.locale, mapView: this.mapView, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
|
679
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "reporting-layer-list" }, 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, locale: this.locale, mapView: this.mapView, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
|
676
680
|
}
|
677
681
|
/**
|
678
682
|
* Get Feature create form of the selected feature layer
|
@@ -680,7 +684,7 @@ const CrowdsourceReporter = class {
|
|
680
684
|
* @protected
|
681
685
|
*/
|
682
686
|
getFeatureCreateFlowItem() {
|
683
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this) }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("create-feature", { customizeSubmit: true, enableSearch: true, floorLevel: this.floorLevel, formElements: this._formElements.find(elm => elm.id === this._selectedLayerId), isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onModeChanged: this.backFromCreateFeaturePanel.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId }))));
|
687
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-create" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("create-feature", { customizeSubmit: true, enableSearch: true, floorLevel: this.floorLevel, formElements: this._formElements.find(elm => elm.id === this._selectedLayerId), isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onModeChanged: this.backFromCreateFeaturePanel.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId }))));
|
684
688
|
}
|
685
689
|
/**
|
686
690
|
* Update the progress bar status when editor panel changes
|
@@ -761,7 +765,7 @@ const CrowdsourceReporter = class {
|
|
761
765
|
void this.updateNonVisibleLayersOnMap(false);
|
762
766
|
await this.navigateToHomePage();
|
763
767
|
this._reportSubmitted = true;
|
764
|
-
this._updatedProgressBarStatus =
|
768
|
+
this._updatedProgressBarStatus = 25;
|
765
769
|
//on report submit form will be closed, so update the form state
|
766
770
|
if (this._showFullPanel) {
|
767
771
|
this.updatePanelState(this._sidePanelCollapsed, false);
|
@@ -908,7 +912,7 @@ const CrowdsourceReporter = class {
|
|
908
912
|
* @protected
|
909
913
|
*/
|
910
914
|
backFromSelectedPanel() {
|
911
|
-
this._updatedProgressBarStatus =
|
915
|
+
this._updatedProgressBarStatus = 25;
|
912
916
|
const updatedFlowItems = [...this._flowItems];
|
913
917
|
// when back from comment details or add comment page don't clear the highlighted feature of map
|
914
918
|
if (!(updatedFlowItems[updatedFlowItems.length - 1] === 'comment-details' ||
|
@@ -979,10 +983,10 @@ const CrowdsourceReporter = class {
|
|
979
983
|
this._showLoadingIndicator = isLoading;
|
980
984
|
}
|
981
985
|
/**
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
+
* On Feature details change update the Layer title and the current selected layer id
|
987
|
+
* @param evt Event hold the details of current feature graphic from the feature-details
|
988
|
+
* @protected
|
989
|
+
*/
|
986
990
|
async selectionChanged(evt) {
|
987
991
|
void this.updatingFeatureDetails(true);
|
988
992
|
await this.setCurrentFeature(evt.detail.selectedFeature[0]);
|
@@ -1016,7 +1020,7 @@ const CrowdsourceReporter = class {
|
|
1016
1020
|
getFeatureListFlowItem(layerId, layerName) {
|
1017
1021
|
const canCreateReports = this._getLayersConfig(this._selectedLayerId)?.reporting && this._layerItemsHash[this._selectedLayerId].supportsAdd;
|
1018
1022
|
const showFilterIcon = this._currentLayerExpressions?.length > 0;
|
1019
|
-
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._flowItems = [...this._flowItems, "filter-panel"]; }, slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && canCreateReports &&
|
1023
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-list" }, 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._flowItems = [...this._flowItems, "filter-panel"]; }, slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && canCreateReports &&
|
1020
1024
|
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", { applyLayerViewFilter: this.showMyReportsOnly, class: "height-full", highlightOnHover: true, locale: this.locale, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, ref: el => this._featureList = el, reportingOptions: this.reportingOptions, selectedLayerId: layerId, showFeatureSymbol: this.showFeatureSymbol, sortingInfo: this._updatedSorting }))));
|
1021
1025
|
}
|
1022
1026
|
/**
|
@@ -1025,7 +1029,7 @@ const CrowdsourceReporter = class {
|
|
1025
1029
|
* @protected
|
1026
1030
|
*/
|
1027
1031
|
getFilterPanel() {
|
1028
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._translations?.filterLayerTitle?.replace("{{title}}", this._selectedLayerName), loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromFilterPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", disabled: !this._filterActive, onClick: this.resetFilterList.bind(this), width: "full" }, this._translations.resetFilter), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromFilterPanel.bind(this), width: "full" }, this._translations.close))), h("calcite-panel", { "full-height": true }, h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtnOnClick: () => undefined, comboboxOverlayPositioning: "fixed", layerExpressions: this._currentLayerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(this._filterList.filterCount > 0), ref: (el) => this._filterList = el, resetBtn: false, resetFiltersOnDisconnect: false, view: this.mapView, zoomBtn: false }))));
|
1032
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._translations?.filterLayerTitle?.replace("{{title}}", this._selectedLayerName), loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromFilterPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "filter-panel" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", disabled: !this._filterActive, onClick: this.resetFilterList.bind(this), width: "full" }, this._translations.resetFilter), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromFilterPanel.bind(this), width: "full" }, this._translations.close))), h("calcite-panel", { "full-height": true }, h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtnOnClick: () => undefined, comboboxOverlayPositioning: "fixed", layerExpressions: this._currentLayerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(this._filterList.filterCount > 0), ref: (el) => this._filterList = el, resetBtn: false, resetFiltersOnDisconnect: false, view: this.mapView, zoomBtn: false }))));
|
1029
1033
|
}
|
1030
1034
|
/**
|
1031
1035
|
* Returns the calcite-flow item for feature details
|
@@ -1033,7 +1037,7 @@ const CrowdsourceReporter = class {
|
|
1033
1037
|
*/
|
1034
1038
|
getFeatureDetailsFlowItem() {
|
1035
1039
|
const showCommentBtn = this._getLayersConfig(this._selectedLayerId)?.comment && this._selectedLayer.relationships.length > 0 && this._relatedTable;
|
1036
|
-
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, class: "share-node", embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "m", 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, locale: this.locale, mapView: this.mapView, onAddComment: this.showAddCommentsPanel.bind(this), onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLikeOrDislikeClicked: () => { void this._featureList.refresh(true); }, onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions, showUserImageInCommentsList: this.showUserImageInCommentsList }), showCommentBtn &&
|
1040
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "share-node", embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "m", 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, locale: this.locale, mapView: this.mapView, onAddComment: this.showAddCommentsPanel.bind(this), onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLikeOrDislikeClicked: () => { void this._featureList.refresh(true); }, onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions, showFullCommentTitle: this.showFullCommentTitle, showUserImageInCommentsList: this.showUserImageInCommentsList }), showCommentBtn &&
|
1037
1041
|
h("calcite-button", { appearance: "solid", onClick: this.showAddCommentsPanel.bind(this), slot: "footer", width: "full" }, this.commentButtonText || this._translations.comment))));
|
1038
1042
|
}
|
1039
1043
|
/**
|
@@ -1049,14 +1053,14 @@ const CrowdsourceReporter = class {
|
|
1049
1053
|
* @returns Node
|
1050
1054
|
*/
|
1051
1055
|
getCommentDetailsFlowItem() {
|
1052
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedRelatedFeature, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, paginationEnabled: false }))));
|
1056
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "comment-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedRelatedFeature, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, paginationEnabled: false }))));
|
1053
1057
|
}
|
1054
1058
|
/**
|
1055
1059
|
* Returns the calcite-flow item for add comment
|
1056
1060
|
* @returns Node
|
1057
1061
|
*/
|
1058
1062
|
getAddCommentFlowItem() {
|
1059
|
-
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, locale: this.locale, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
|
1063
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "add-comment" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, locale: this.locale, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
|
1060
1064
|
}
|
1061
1065
|
/**
|
1062
1066
|
* Sets the selected features and updates the first feature as the current selected feature
|
@@ -17,7 +17,7 @@ import './restHelpersGet-a7fda344.js';
|
|
17
17
|
import './update-ad0b88fa.js';
|
18
18
|
import './interfaces-659e3836.js';
|
19
19
|
|
20
|
-
const featureListCss = ":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.feature-list-popup-title{font-weight:500;white-space:pre-line}.feature-list-popup-title-small{font-size:small;white-space:pre-line}.feature-list-popup-title-
|
20
|
+
const featureListCss = ":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.feature-list-popup-title{font-weight:500;white-space:pre-line}.feature-list-popup-title-small{font-size:small;white-space:pre-line}.feature-list-popup-title-small-ellipsis{font-size:small;white-space:nowrap !important;text-overflow:ellipsis;overflow:hidden}.popup-title{padding:0 5px;word-break:break-word}.profile-img{padding:0 5px;min-width:32px}.like-container{display:flex;align-items:center;gap:5px;color:gray !important;font-style:italic}.feature-symbol{padding:0 3px;min-width:30px;display:flex;justify-content:center}.search{padding:10px;background-color:var(--calcite-color-foreground-1) !important;border-block-end:1px solid var(--calcite-color-border-3)}";
|
21
21
|
const FeatureListStyle0 = featureListCss;
|
22
22
|
|
23
23
|
const FeatureList = class {
|
@@ -95,6 +95,10 @@ const FeatureList = class {
|
|
95
95
|
* IReportingOptions: Key options for reporting
|
96
96
|
*/
|
97
97
|
reportingOptions;
|
98
|
+
/**
|
99
|
+
* boolean: When false popup title will shown in single line
|
100
|
+
*/
|
101
|
+
showFullTitle = true;
|
98
102
|
//--------------------------------------------------------------------------
|
99
103
|
//
|
100
104
|
// State (internal)
|
@@ -112,6 +116,14 @@ const FeatureList = class {
|
|
112
116
|
* boolean: Check if selected layer's features fetching process is completed
|
113
117
|
*/
|
114
118
|
_isLoading = false;
|
119
|
+
/**
|
120
|
+
* string: Placeholder string to show fields included in full text search
|
121
|
+
*/
|
122
|
+
_searchPlaceHolder = '';
|
123
|
+
/**
|
124
|
+
* any[]: Contains full text search info object
|
125
|
+
*/
|
126
|
+
_fullTextSearchInfo;
|
115
127
|
/**
|
116
128
|
* Contains the translations for this component.
|
117
129
|
* All UI strings should be defined here.
|
@@ -157,6 +169,10 @@ const FeatureList = class {
|
|
157
169
|
* HTMLCalcitePaginationElement: Calcite pagination element instance
|
158
170
|
*/
|
159
171
|
_pagination;
|
172
|
+
/**
|
173
|
+
* HTMLCalciteListElement: Calcite List element instance
|
174
|
+
*/
|
175
|
+
_calciteList;
|
160
176
|
/**
|
161
177
|
* string[]: Valid field types for like
|
162
178
|
*/
|
@@ -169,6 +185,10 @@ const FeatureList = class {
|
|
169
185
|
* boolean: When true configured like field is available in selected layer
|
170
186
|
*/
|
171
187
|
_likeFieldAvailable = false;
|
188
|
+
/**
|
189
|
+
* string: The current search expression
|
190
|
+
*/
|
191
|
+
_searchExpression;
|
172
192
|
//--------------------------------------------------------------------------
|
173
193
|
//
|
174
194
|
// Watch handlers
|
@@ -218,6 +238,9 @@ const FeatureList = class {
|
|
218
238
|
};
|
219
239
|
await this.pageChanged(event);
|
220
240
|
}
|
241
|
+
else if (this._searchExpression) {
|
242
|
+
await this._searchFullText();
|
243
|
+
}
|
221
244
|
else {
|
222
245
|
await this.initializeFeatureItems();
|
223
246
|
}
|
@@ -249,6 +272,7 @@ const FeatureList = class {
|
|
249
272
|
this._popupUtils = new PopupUtils();
|
250
273
|
if (this.mapView && this.selectedLayerId) {
|
251
274
|
this._selectedLayer = await getLayerOrTable(this.mapView, this.selectedLayerId);
|
275
|
+
this._getFullTextSearchInfo();
|
252
276
|
}
|
253
277
|
}
|
254
278
|
/**
|
@@ -261,9 +285,11 @@ const FeatureList = class {
|
|
261
285
|
* Renders the component.
|
262
286
|
*/
|
263
287
|
render() {
|
264
|
-
|
265
|
-
|
266
|
-
h("
|
288
|
+
const showSearch = this._canShowFullTextSearch();
|
289
|
+
return (h("calcite-panel", { key: '56599be334eec65be00681d415db28917133b0c1', "full-height": true, "full-width": true }, showSearch &&
|
290
|
+
h("calcite-input", { key: '6de9873f6b7ab961dffe1334d2fc20b4322d8ea8', class: "search", clearable: true, icon: "search", onCalciteInputChange: this._searchTextChanged.bind(this), placeholder: this._searchPlaceHolder, title: '', type: "search" }), this._isLoading && h("calcite-loader", { key: '4189b0d6c2a85116d529f5b7844c1f2d41657350', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
|
291
|
+
h("calcite-notice", { key: '7f2e8276ad5345e21667b2dedc7e23f5c34672f5', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: '63d44ac906c8d5584aac2cfbeec4cf0962d61abe', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '5843f8d7ca994cb799a9be0ab2f43a8f1e407e9a', class: this.textSize === 'small' && !this.showFullTitle ? 'overflow-hidden' : '', label: "", ref: el => this._calciteList = el, "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
|
292
|
+
h("div", { key: '288364bc505fe6bce8b1260dce5173163a795330', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: 'e30e2d46a0005dd3e0d289deb4721b9155d4df29', 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 }))));
|
267
293
|
}
|
268
294
|
//--------------------------------------------------------------------------
|
269
295
|
//
|
@@ -341,6 +367,112 @@ const FeatureList = class {
|
|
341
367
|
this._featureItems = await this.queryPage(page);
|
342
368
|
this._isLoading = false;
|
343
369
|
}
|
370
|
+
/**
|
371
|
+
* Validates if full text search is enabled and and indexes for fullTextSearch is set as display field on layer
|
372
|
+
* @protected
|
373
|
+
*/
|
374
|
+
_canShowFullTextSearch() {
|
375
|
+
return ((this._selectedLayer?.capabilities)?.query)?.supportsFullTextSearch &&
|
376
|
+
this._selectedLayer.indexes.items.filter(i => i.indexType == 'FullText').length > 0;
|
377
|
+
}
|
378
|
+
/**
|
379
|
+
* Create list of full text search info
|
380
|
+
*/
|
381
|
+
_getFullTextSearchInfo() {
|
382
|
+
this._fullTextSearchInfo = [];
|
383
|
+
//combine all the fullText index
|
384
|
+
if (((this._selectedLayer?.capabilities)?.query)?.supportsFullTextSearch) {
|
385
|
+
const fullTextIndexes = this._selectedLayer.indexes?.filter(i => i.indexType == 'FullText');
|
386
|
+
if (fullTextIndexes?.length) {
|
387
|
+
//create the search placeholder text
|
388
|
+
const onFields = [];
|
389
|
+
fullTextIndexes.forEach((index) => {
|
390
|
+
onFields.push(...index.fields.split(','));
|
391
|
+
});
|
392
|
+
//get field alias for fields
|
393
|
+
const fieldAlias = [];
|
394
|
+
onFields.forEach(fieldName => {
|
395
|
+
//We splitting the fields array so we get leading/trailing spaces, hence trim the fieldName
|
396
|
+
const fieldInfo = this._selectedLayer.getField(fieldName.trim());
|
397
|
+
fieldAlias.push(fieldInfo.alias);
|
398
|
+
});
|
399
|
+
this._searchPlaceHolder = this._translations.searchPlaceholder.replace("{{fields}}", fieldAlias.join(', '));
|
400
|
+
this._fullTextSearchInfo.push({
|
401
|
+
'onFields': ['*'],
|
402
|
+
'searchTerm': '',
|
403
|
+
'searchType': 'prefix'
|
404
|
+
});
|
405
|
+
}
|
406
|
+
}
|
407
|
+
}
|
408
|
+
/**
|
409
|
+
* Search using the fullTextSearch on layer and filter the list
|
410
|
+
* @param event The input change event
|
411
|
+
* @protected
|
412
|
+
*/
|
413
|
+
async _searchTextChanged(event) {
|
414
|
+
this._fullTextSearchInfo.forEach(searchInfo => {
|
415
|
+
searchInfo.searchTerm = event.target.value;
|
416
|
+
});
|
417
|
+
await this._searchFullText();
|
418
|
+
}
|
419
|
+
/**
|
420
|
+
* Search using the fullTextSearch on layer
|
421
|
+
* @param event The input change event
|
422
|
+
* @protected
|
423
|
+
*/
|
424
|
+
async _searchFullText() {
|
425
|
+
//always clear previous search definition
|
426
|
+
if (this._searchExpression) {
|
427
|
+
this._clearSearchDefinitionExpression();
|
428
|
+
}
|
429
|
+
let searchedIds = [];
|
430
|
+
if (this._fullTextSearchInfo) {
|
431
|
+
if (this._fullTextSearchInfo[0].searchTerm) {
|
432
|
+
const searchQueryParams = this._selectedLayer.createQuery();
|
433
|
+
searchQueryParams.fullText = this._fullTextSearchInfo;
|
434
|
+
searchedIds = await this._selectedLayer.queryObjectIds(searchQueryParams);
|
435
|
+
await this._updateSearchDefinitionExpression(searchedIds?.length ? searchedIds : [-1]);
|
436
|
+
}
|
437
|
+
}
|
438
|
+
await this.initializeFeatureItems();
|
439
|
+
}
|
440
|
+
/**
|
441
|
+
* Update the search expression in layer
|
442
|
+
* @param searchedIds Array of objectIds satisfying the full search text
|
443
|
+
* @protected
|
444
|
+
*/
|
445
|
+
async _updateSearchDefinitionExpression(searchedIds) {
|
446
|
+
const defExp = this._selectedLayer.definitionExpression;
|
447
|
+
if (searchedIds?.length) {
|
448
|
+
const searchExp = `objectId in(${searchedIds})`;
|
449
|
+
this._selectedLayer.definitionExpression = defExp?.indexOf(this._searchExpression) > -1 ?
|
450
|
+
defExp.replace(this._searchExpression, searchExp) :
|
451
|
+
defExp ? `${defExp} AND (${searchExp})` : searchExp;
|
452
|
+
this._searchExpression = searchExp;
|
453
|
+
}
|
454
|
+
else {
|
455
|
+
this._clearSearchDefinitionExpression();
|
456
|
+
}
|
457
|
+
}
|
458
|
+
/**
|
459
|
+
* Clears the applied search expression on the layer
|
460
|
+
*@protected
|
461
|
+
*/
|
462
|
+
_clearSearchDefinitionExpression() {
|
463
|
+
const defExp = this._selectedLayer.definitionExpression;
|
464
|
+
//remove previous search expression first
|
465
|
+
if (this._searchExpression && defExp?.indexOf(this._searchExpression) > -1) {
|
466
|
+
// eslint-disable-next-line unicorn/prefer-ternary
|
467
|
+
if (defExp?.indexOf(' AND (' + this._searchExpression) > -1) {
|
468
|
+
this._selectedLayer.definitionExpression = defExp.replace(` AND (${this._searchExpression})`, '');
|
469
|
+
}
|
470
|
+
else {
|
471
|
+
this._selectedLayer.definitionExpression = defExp.replace(this._searchExpression, '');
|
472
|
+
}
|
473
|
+
}
|
474
|
+
this._searchExpression = undefined;
|
475
|
+
}
|
344
476
|
/**
|
345
477
|
* On feature click in feature list highlight the feature on the map
|
346
478
|
* @param event feature clicked event
|
@@ -494,11 +626,13 @@ const FeatureList = class {
|
|
494
626
|
popupTitle = popupTitle ?? oId;
|
495
627
|
// get the formatted like count
|
496
628
|
const formattedLikeCount = Number(selectedFeature.attributes[this.reportingOptions?.[this._selectedLayer.id].likeField]).toLocaleString();
|
497
|
-
const popupTitleClass = this.textSize === 'small' ? 'feature-list-popup-title-small' : 'feature-list-popup-title';
|
498
|
-
|
629
|
+
const popupTitleClass = (this.textSize === 'small' && !this.showFullTitle) ? 'feature-list-popup-title-small-ellipsis' : this.textSize === 'small' ? 'feature-list-popup-title-small' : 'feature-list-popup-title';
|
630
|
+
// Set the width of the popuptitle class depending on calcite list width to avoid icon's overflow
|
631
|
+
const deductedWidth = this.showUserImageInList ? 115 : 65;
|
632
|
+
const width = this._calciteList.offsetWidth - deductedWidth;
|
499
633
|
return (h("calcite-list-item", { onCalciteListItemSelect: (e) => { void this.featureClicked(e, selectedFeature); }, onMouseLeave: () => { void this.clearHighlights(); }, onMouseOver: () => { void this.onFeatureHover(selectedFeature); }, value: oId }, this.showUserImageInList &&
|
500
634
|
h("calcite-avatar", { class: 'profile-img', "full-name": userInfo?.fullName, scale: "m", slot: "content-start", thumbnail: userInfo?.userProfileUrl, userId: userInfo?.id, username: userInfo?.fullName ? userInfo.username : undefined }), this.showFeatureSymbol &&
|
501
|
-
h("div", { class: 'feature-symbol', ref: (el) => el && el.replaceChildren(featureSymbol), slot: "content-start" }), h("div", { class:
|
635
|
+
h("div", { class: 'feature-symbol', ref: (el) => el && el.replaceChildren(featureSymbol), slot: "content-start" }), h("div", { class: `popup-title ${popupTitleClass}`, slot: "content-start", style: { maxWidth: this.textSize === 'large' ? 'none' : `${width}px` } }, popupTitle), this._likeFieldAvailable &&
|
502
636
|
h("div", { class: "like-container", id: oId.concat("like"), slot: "content-end" }, h("span", null, this._abbreviatedLikeCount), h("calcite-icon", { icon: "thumbs-up", scale: 's' }), h("calcite-tooltip", { overlayPositioning: "fixed", placement: "top", "reference-element": oId.concat("like") }, formattedLikeCount)), h("calcite-icon", { flipRtl: true, icon: "chevron-right", scale: "s", slot: "content-end" })));
|
503
637
|
}
|
504
638
|
/**
|
@@ -131,7 +131,7 @@ const JsonEditor = class {
|
|
131
131
|
* Renders the component.
|
132
132
|
*/
|
133
133
|
render() {
|
134
|
-
return (h(Host, { key: '
|
134
|
+
return (h(Host, { key: 'e9c806dbfc886daac9be93350e461246339787dd' }, h("div", { key: '5f31103bc0392042581d1421530f2ddcdebcc507', id: `${this.instanceid}-editor-container`, class: "editor-container padding-right" }, h("div", { key: '560c74b9864cd94f4e689bf65cb8e1fac42b94af', class: "editor-controls" }, h("div", { key: '73ca9ac97f3d40fb408e98477641a9d94e1cd32e', class: "editor-buttons" }, h("calcite-icon", { key: '2d83934e4493595f66e047c608a87e316279ec1b', id: `${this.instanceid}-errorFlag`, icon: "exclamation-mark-triangle", title: this._translations.errorFlag, scale: "s", class: "edit-error-flag" }), h("calcite-button", { key: 'fe95dd90ec0db23c6d6d6766d6d405c32468cec1', id: `${this.instanceid}-undo`, color: "blue", appearance: "solid", title: this._translations.undo, onClick: () => this._undo(), scale: "s", class: "edit-button" }, h("calcite-icon", { key: 'd802118d2ac7b8cbf2750f3af11252fd52173dd0', icon: "undo", scale: "s" })), h("calcite-button", { key: '9e9af33be6b712ff83ec70e024776c2429086761', id: `${this.instanceid}-redo`, color: "blue", appearance: "solid", title: this._translations.redo, onClick: () => this._redo(), scale: "s", class: "edit-button" }, h("calcite-icon", { key: 'bb5bfd3a99902b03c4ffb704b8fdc963c006e664', icon: "redo", scale: "s" })), h("calcite-button", { key: 'a88fcffeb9c82394470717ebc6659b42ad9a1c20', id: `${this.instanceid}-diff`, color: "blue", appearance: "solid", title: this._translations.diff, onClick: () => this._toggleEditor(), scale: "s", class: "edit-button" }, h("calcite-icon", { key: 'f902baf72fee24ef3b56da2c4d9337db96ab63b1', icon: "compare", scale: "s" })), h("calcite-button", { key: '841abd705338fb1e43c892c4858bff00591958c3', id: `${this.instanceid}-search`, appearance: "outline", color: "blue", title: this._translations.search, onClick: () => this._search(), scale: "s", class: "edit-button" }, h("calcite-icon", { key: '01c24bdbf30cd22a06064bf26a47b38516508879', icon: "search", scale: "s" })), h("calcite-button", { key: '2d6b9dc60e26e347272c76ff9f8ada529975265b', id: `${this.instanceid}-reset`, color: "blue", appearance: "solid", disabled: true, title: this._translations.cancelEdits, onClick: () => this._reset(), scale: "s", class: "edit-button" }, h("calcite-icon", { key: 'a373dc694d97992dfbd60f49f38536ba34684381', icon: "reset", scale: "s" })))), h("div", { key: '6cdebae478b9d1b61e317155000bf62ad4c5b8a3', class: "edit-parent" }, h("div", { key: 'e3914618f86335e9538969b5cb7f7797212985c2', id: `${this.instanceid}-container`, class: "json-edit-container" }), h("div", { key: '4a17fd062060ddf2e5dca5c2fb6c9883ed9aadd4', id: `${this.instanceid}-diff-container`, class: "json-edit-container display-none" })))));
|
135
135
|
}
|
136
136
|
//--------------------------------------------------------------------------
|
137
137
|
//
|
@@ -508,7 +508,7 @@ const SolutionItemDetails = class {
|
|
508
508
|
* Renders the component.
|
509
509
|
*/
|
510
510
|
render() {
|
511
|
-
return (h(Host, { key: '
|
511
|
+
return (h(Host, { key: '8ad2bab229a9ee6cd80efde17d269a484288f5ae' }, h("div", { key: 'a066afedf3e5ea056579e07cac6c38496fe00d79', class: "parent-container" }, h("div", { key: 'fe7d207e2d28f0e70507ef048d993bc3ddc62297', class: "inputBottomSeparation" }, h("calcite-input", { key: 'f0714ef845c9b4aa791e3fc6f5ac28fe6572127d', id: "item-title", value: this.itemDetails.title })), h("div", { key: '40b6f0d4d34ff62134f25fdd42887f395407aa45', class: "inputBottomSeparation" }, h("input", { key: '216060434e37ff499a47b4cc24d7682ac6e55ba7', accept: ".jpg,.gif,.png,image/jpg,image/gif,image/png", class: "display-none", onChange: (event) => (this._updateThumbnail(event)), ref: (el) => (this.browseForThumbnail = el), type: "file" }), h("button", { key: 'a6b71fac06b9231a91b32a0416cb3a723b6ac6dd', class: "font-size--3 btn-link inline-block trailer-quarter", onClick: () => this._getThumbnail() }, h("svg", { key: '395adfcd43d737fe049f765b3700d7358c06e8a0', class: "icon-inline icon-inline--on-left", height: "16", viewBox: "0 0 16 16", width: "16" }, h("path", { key: '5e541a3fcb79fe3a306b720a08e745f0dd69d557', d: "M14.792 2.666l-1.414-1.413a.965.965 0 0 0-1.385-.03l-1.444 1.444-8.763 8.72L.03 15.481a.371.371 0 0 0 .488.488l4.096-1.756 8.763-8.72-.001-.001.002.002 1.443-1.444a.965.965 0 0 0-.03-1.385zM1.569 14.431l.554-1.293.74.739zm2.338-.924l-1.414-1.414 7.963-7.92 1.414 1.415zm8.67-8.626l-1.413-1.414 1.29-1.29a.306.306 0 0 1 .433 0l.981.98a.306.306 0 0 1 0 .433z" })), this._translations.editThumbnail), h("div", { key: 'e6dc45b53a0deac24d29a7be29569c55857a7801', class: "flex" }, h("div", { key: '8c81b6db29e4b03a5188e729eb8e27b8dcf22e5f', class: "img-container", ref: (el) => (this.thumbnailContainer = el) }, h("img", { key: 'cfbfad50a4eb55166cb49be45a20f680b7d482d3', class: "scale-down", height: "133", id: "item-thumbnail", ref: (el) => (this.thumbnail = el), width: "200" })), h("div", { key: '0cf010a87106c0434ff7d54f7889bc2eb08fd733', class: "snippet-count-container" }, h("calcite-input", { key: '85eedc1b801db3afdc2dfb606aa93de489bac491', id: "item-snippet", maxLength: 250, type: "textarea", value: this.itemDetails.snippet }), h("label", { key: '783be9f5082085add36a16f1a8bc55ecc11dc7e8', class: "font-size--3", id: "item-snippet-count", ref: (el) => (this.itemSnippetCount = el) })))), h("calcite-label", { key: '63bdfb42b95d1e8086e792efd757919676230354' }, this._translations.description, h("label", { key: 'aa9056a2807d9fd14c7dcd81775d902a30a2df63', id: "item-description-label" }, h("calcite-input", { key: '61d584f29afd305913039e0cf4d6be7d54f1aa2f', id: "item-description", type: "textarea", value: this.itemDetails.description }))), h("calcite-label", { key: '4daf0f44b2b14274fe8992bad5607c8ba82d6fa4' }, this._translations.tags, h("label", { key: '142f41ae1667c916e2ef32e7b7eb9aacad80e17d', id: "item-tags-label" }, h("calcite-input", { key: '2f576b51a68370ce1112b999c35eef0714595e9f', id: "item-tags", value: (this.itemDetails.tags && Array.isArray(this.itemDetails.tags) ? this.itemDetails.tags : [this.itemDetails.tags]).join(",") }))), this.itemType !== "Group" ? h("calcite-label", null, this._translations.credits, h("label", { id: "item-credits-label" }, h("calcite-input", { id: "item-credits", value: this.itemDetails.accessInformation }))) : null, this.itemType !== "Group" ? h("calcite-label", null, h("label", { id: "item-terms-label" }, this._translations.termsOfUse, h("calcite-input", { id: "item-terms", type: "textarea", value: this.itemDetails.licenseInfo }))) : null)));
|
512
512
|
}
|
513
513
|
componentDidRender() {
|
514
514
|
this._loadThumb();
|
@@ -734,7 +734,7 @@ const SolutionItemSharing = class {
|
|
734
734
|
* Renders the component.
|
735
735
|
*/
|
736
736
|
render() {
|
737
|
-
return (h(Host, { key: '
|
737
|
+
return (h(Host, { key: '1c7dbee68fbf0eabf736fb783f173ade2f408122' }, h("div", { key: '3c3d88ab122d4a8bc69363224a2754c4a4b092ba', class: "container-border" }, h("calcite-label", { key: '137bb704b258a3cd1e5e5b7a18c53aca331d7f91' }, this._translations.groupInfo), this._renderItems(this.sharing))));
|
738
738
|
}
|
739
739
|
//--------------------------------------------------------------------------
|
740
740
|
//
|
@@ -891,7 +891,7 @@ const SolutionOrganizationVariables = class {
|
|
891
891
|
* Renders the component.
|
892
892
|
*/
|
893
893
|
render() {
|
894
|
-
return (h(Host, { key: '
|
894
|
+
return (h(Host, { key: '3f72a5c1b8fb6bcdab858ee061eadb38cb9965d9' }, h("div", { key: '118c7cafc8330c44e72a59a76fd81ca0f39696e1' }, h("h4", { key: '86934bdf3cbf162a732a53579e324c5fff8beead', class: "org-var-header" }, this._translations.orgVariables)), h("div", { key: 'ed5c1df397286a7d1c8e61b5ce04623fa13d74cc', class: "container-border" }, h("calcite-tree", { key: '47f4f9bf5a81ded9a37a33a94fac6a230263e917', id: "variable-label" }, this._renderHierarchy(this._organizationVariables)))));
|
895
895
|
}
|
896
896
|
//--------------------------------------------------------------------------
|
897
897
|
//
|
@@ -1027,7 +1027,7 @@ const SolutionResourceItem = class {
|
|
1027
1027
|
*/
|
1028
1028
|
render() {
|
1029
1029
|
const hasValidResources = this._hasValidResources();
|
1030
|
-
return (h(Host, { key: '
|
1030
|
+
return (h(Host, { key: '13f2759a882d2eca48bf9dda58e74caade76142b' }, h("div", { key: '498ced2e29b8af9138a8aa9d77ec78e07e3c64de', class: "resource-item" }, h("div", { key: 'd76a967373a990906a67d88ea6466030c41401ff', class: "margin-bottom-1" }, h("calcite-button", { key: '96cd2ee08adadef9e1b29db12c38d4748b0689c0', appearance: "solid", class: "resource-button", color: "blue", onClick: () => this._addNewResource() }, this._translations.addResource), h("calcite-button", { key: '49326139cad065995512d3e3568c7d8e7f5cef4f', appearance: "solid", color: "blue", disabled: !hasValidResources, onClick: () => this._downloadAll() }, this._translations.downloadAll)), h("div", { key: '9c056d9ab7242ea10cbcf57eaabce4bd9777541e', class: "resources-container", style: { display: hasValidResources ? "inherit" : "none" } }, this._renderResourceList()))));
|
1031
1031
|
}
|
1032
1032
|
//--------------------------------------------------------------------------
|
1033
1033
|
//
|
@@ -1372,7 +1372,7 @@ const SolutionTemplateData = class {
|
|
1372
1372
|
* Renders the component.
|
1373
1373
|
*/
|
1374
1374
|
render() {
|
1375
|
-
return (h(Host, { key: '
|
1375
|
+
return (h(Host, { key: '3f853006c19509c8cf484d4420b3f687aaad5161' }, h("div", { key: 'f524e1ee3c8dc972779be0909372c11c26092dd0', class: "solution-data-container" }, h("calcite-shell", { key: '56797702bc53b08051360975dc529c884eb7d294', class: "light var-container", dir: "ltr" }, h("calcite-panel", { key: '6208ac7b63ab8b69bc29ad88abdb9bcdeaaa707a', class: "json-editor" }, h("div", { key: '66e99550359b5665b4dd04f794d8108e4ee34284', class: "solution-data-child-container calcite-match-height" }, h("json-editor", { key: '7a7f5afa5d424fb6099b7167f274ce211e791a56', class: "solution-data-editor-container", instanceid: this.itemId + "|" + this.instanceid, locale: this.locale, value: this.value }))), h("calcite-shell-panel", { key: '7cc8bac91bfc5be96018d005cc87be457278ed6d', "height-scale": "l", position: "end", slot: "contextual-panel", "width-scale": "xs" }, h("div", { key: '4ce0c251d30d5735781394f5c213523867205886', class: this.varsOpen ? "solution-data-child-container" : "solution-data-child-container-collapsed" }, h("calcite-button", { key: '814c8996b854102b022f7ac482498dd6aac36ec8', appearance: "transparent", class: "collapse-btn", "icon-start": this.varsOpen ? "chevrons-right" : "chevrons-left", id: "collapse-vars", onClick: () => this._toggleVars(), scale: "s", title: this.varsOpen ? this._translations.collapse : this._translations.expand }), h("div", { key: '6b872cfc1c60870fb6262808f5d9f61cc35f0f44', class: this.varsOpen ? "org-vars" : "org-vars display-none", id: "orgVars" }, h("solution-organization-variables", { key: 'e8e9ee594b6dcb5ddaabd05c322fb33d568ac7b5', locale: this.locale, value: this.organizationVariables })), h("div", { key: '109d17a77a54a13818af6aa2a9beb92526100ea7', class: this.varsOpen ? "sol-vars" : "sol-vars display-none", id: "solVars" }, h("solution-variables", { key: '46902ed69897ed01334def99817fedafbda2e8d5', locale: this.locale, value: this.solutionVariables }))))))));
|
1376
1376
|
}
|
1377
1377
|
//--------------------------------------------------------------------------
|
1378
1378
|
//
|
@@ -1481,7 +1481,7 @@ const SolutionVariables = class {
|
|
1481
1481
|
* Renders the component.
|
1482
1482
|
*/
|
1483
1483
|
render() {
|
1484
|
-
return (h(Host, { key: '
|
1484
|
+
return (h(Host, { key: 'a90cdfc9a32279cb07938fc57f9dd7e38d822f6d' }, h("div", { key: '6826e3dd84034368f419ff759962a721a275dc9c' }, h("h4", { key: '5ebdf456e8c4dc006b036dc182fa75218aac0e01', class: "org-var-header" }, this._translations.solVariables)), h("div", { key: '06fc04c1e61dc1897989e3cc11df7b173f1fdb2a', class: "container-border" }, h("calcite-tree", { key: '15500194129af7440ec05dc495b060fc18f22324', id: "variable-label" }, this._renderHierarchy(this._solutionVariables)))));
|
1485
1485
|
}
|
1486
1486
|
//--------------------------------------------------------------------------
|
1487
1487
|
//
|