@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
|
//
|