@esri/solutions-components 0.7.38 → 0.7.40
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/calcite-alert_4.cjs.entry.js +1 -1
- package/dist/cjs/calcite-combobox_5.cjs.entry.js +1 -1
- package/dist/cjs/calcite-flow_5.cjs.entry.js +1 -1
- package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +70 -31
- package/dist/cjs/card-manager_3.cjs.entry.js +30 -13
- package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +3 -1
- package/dist/cjs/{downloadUtils-c22a71da.js → downloadUtils-b10e3b8c.js} +2 -2
- package/dist/cjs/{index.es-8d317f5e.js → index.es-b9d6eff6.js} +2 -2
- package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-export.cjs.entry.js +20 -21
- package/dist/cjs/instant-apps-header.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-splash.cjs.entry.js +2 -6
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
- package/dist/cjs/{mapViewUtils-cd29b129.js → mapViewUtils-290dbc9e.js} +4 -0
- package/dist/cjs/public-notification.cjs.entry.js +2 -2
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/basemap-gallery/basemap-gallery.css +19 -19
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +36 -0
- package/dist/collection/components/layer-table/layer-table.js +29 -11
- package/dist/collection/components/map-fullscreen/map-fullscreen.css +19 -19
- package/dist/collection/components/map-legend/map-legend.css +3 -3
- package/dist/collection/utils/interfaces.ts +1 -0
- package/dist/collection/utils/queryUtils.js +4 -0
- package/dist/collection/utils/queryUtils.ts +5 -0
- package/dist/components/crowdsource-reporter.js +4 -0
- package/dist/components/instant-apps-export.js +20 -21
- package/dist/components/instant-apps-filter-list2.js +70 -31
- package/dist/components/instant-apps-header2.js +1 -1
- package/dist/components/instant-apps-language-switcher.js +3 -3
- package/dist/components/instant-apps-language-translator-item2.js +5 -4
- package/dist/components/instant-apps-language-translator2.js +1 -1
- package/dist/components/instant-apps-splash.js +3 -7
- package/dist/components/layer-table2.js +29 -11
- package/dist/components/queryUtils.js +4 -0
- package/dist/esm/calcite-alert_4.entry.js +1 -1
- package/dist/esm/calcite-combobox_5.entry.js +1 -1
- package/dist/esm/calcite-flow_5.entry.js +1 -1
- package/dist/esm/calcite-input-date-picker_3.entry.js +70 -31
- package/dist/esm/card-manager_3.entry.js +30 -13
- package/dist/esm/crowdsource-manager.entry.js +1 -1
- package/dist/esm/crowdsource-reporter.entry.js +3 -1
- package/dist/esm/{downloadUtils-985dcd1c.js → downloadUtils-20d22198.js} +2 -2
- package/dist/esm/{index.es-03d8386e.js → index.es-8b85f68d.js} +2 -2
- package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +5 -4
- package/dist/esm/instant-apps-export.entry.js +20 -21
- package/dist/esm/instant-apps-header.entry.js +1 -1
- package/dist/esm/instant-apps-language-switcher.entry.js +3 -3
- package/dist/esm/instant-apps-language-translator.entry.js +1 -1
- package/dist/esm/instant-apps-splash.entry.js +3 -7
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +2 -2
- package/dist/esm/{mapViewUtils-257bc9b3.js → mapViewUtils-a177d4f9.js} +4 -0
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/solutions-components.js +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-filter-list/instant-apps-filter-list.css +8 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +3 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-splash/instant-apps-splash.css +3 -0
- package/dist/solutions-components/{p-8571c89f.entry.js → p-044cd52c.entry.js} +1 -1
- package/dist/solutions-components/{p-df048b47.js → p-17e328bb.js} +1 -1
- package/dist/solutions-components/p-207fd378.entry.js +6 -0
- package/dist/solutions-components/{p-12492469.entry.js → p-2283ae14.entry.js} +1 -1
- package/dist/solutions-components/p-2f017ad2.entry.js +6 -0
- package/dist/solutions-components/{p-20b206f3.entry.js → p-32adb2cc.entry.js} +1 -1
- package/dist/solutions-components/p-3eedaead.js +36 -0
- package/dist/solutions-components/{p-2f840f08.entry.js → p-42233edc.entry.js} +1 -1
- package/dist/solutions-components/p-4742efa8.entry.js +6 -0
- package/dist/solutions-components/p-57087d57.entry.js +17 -0
- package/dist/solutions-components/{p-23e58d7c.entry.js → p-59c6f63f.entry.js} +1 -1
- package/dist/solutions-components/{p-34eaca46.entry.js → p-69a1df0f.entry.js} +1 -1
- package/dist/solutions-components/{p-6419f8d7.entry.js → p-6fe5e1d5.entry.js} +1 -1
- package/dist/solutions-components/p-7480ac64.entry.js +6 -0
- package/dist/solutions-components/p-aecf92f4.entry.js +6 -0
- package/dist/solutions-components/p-cacd0307.entry.js +6 -0
- package/dist/solutions-components/p-e2b0b3fa.entry.js +6 -0
- package/dist/solutions-components/{p-00ba5a2a.js → p-f6536eae.js} +2 -2
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +1 -0
- package/dist/solutions-components/utils/queryUtils.ts +5 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +8 -0
- package/dist/types/components/layer-table/layer-table.d.ts +9 -1
- package/dist/types/components.d.ts +16 -0
- package/dist/types/utils/interfaces.d.ts +1 -0
- package/dist/types/utils/queryUtils.d.ts +1 -0
- package/package.json +2 -2
- package/dist/solutions-components/p-32fed23c.entry.js +0 -17
- package/dist/solutions-components/p-6a61c742.entry.js +0 -6
- package/dist/solutions-components/p-820e3d28.entry.js +0 -6
- package/dist/solutions-components/p-9161dca9.entry.js +0 -6
- package/dist/solutions-components/p-93369c9f.entry.js +0 -6
- package/dist/solutions-components/p-96f5be25.js +0 -36
- package/dist/solutions-components/p-97425481.entry.js +0 -6
- package/dist/solutions-components/p-ae4c8b8c.entry.js +0 -6
- package/dist/solutions-components/p-eb0f4ede.entry.js +0 -6
@@ -45,7 +45,7 @@ const InstantAppsLanguageSwitcher$1 = /*@__PURE__*/ proxyCustomElement(class Ins
|
|
45
45
|
this.t9nData = null;
|
46
46
|
}
|
47
47
|
async componentWillLoad() {
|
48
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
48
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
49
49
|
const [intl, WebMap, request] = await loadModules(['esri/intl', 'esri/WebMap', 'esri/request']);
|
50
50
|
this.intl = intl;
|
51
51
|
this.request = request;
|
@@ -77,8 +77,8 @@ const InstantAppsLanguageSwitcher$1 = /*@__PURE__*/ proxyCustomElement(class Ins
|
|
77
77
|
}
|
78
78
|
if (this.view) {
|
79
79
|
const webmap = this.view.map;
|
80
|
-
this.defaultWebMapId = webmap.portalItem.id;
|
81
|
-
const translatedWebmap = (
|
80
|
+
this.defaultWebMapId = (_j = webmap === null || webmap === void 0 ? void 0 : webmap.portalItem) === null || _j === void 0 ? void 0 : _j.id;
|
81
|
+
const translatedWebmap = (_m = (_l = (_k = this.locales) === null || _k === void 0 ? void 0 : _k.filter(localeItem => (localeItem === null || localeItem === void 0 ? void 0 : localeItem.webmap) && (localeItem === null || localeItem === void 0 ? void 0 : localeItem.webmap) !== this.defaultWebMapId && (localeItem === null || localeItem === void 0 ? void 0 : localeItem.locale) === this.selectedLanguage)) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.webmap;
|
82
82
|
if (translatedWebmap) {
|
83
83
|
this.view.map = new WebMap({
|
84
84
|
portalItem: {
|
@@ -89,13 +89,13 @@ const InstantAppsLanguageTranslatorItem = /*@__PURE__*/ proxyCustomElement(class
|
|
89
89
|
return (h("div", { class: `${CSS.section}${selected}` }, this.renderItemHeader(EInputType.User, label, uid), this.handleInputRender(EInputType.User, value, uid)));
|
90
90
|
}
|
91
91
|
renderTranslatedLanguageSection() {
|
92
|
-
var _a;
|
92
|
+
var _a, _b;
|
93
93
|
const uiDataItem = this.getUIDataItem();
|
94
94
|
const uid = this.setting.id;
|
95
95
|
const locale = store.get('currentLanguage');
|
96
96
|
const data = store.get('portalItemResourceT9n');
|
97
|
-
const label = this.translatedLanguageLabels[this.fieldName];
|
98
|
-
const value = (
|
97
|
+
const label = (_a = this.translatedLanguageLabels) === null || _a === void 0 ? void 0 : _a[this.fieldName];
|
98
|
+
const value = (_b = data === null || data === void 0 ? void 0 : data[locale]) === null || _b === void 0 ? void 0 : _b[uid];
|
99
99
|
const selected = (uiDataItem === null || uiDataItem === void 0 ? void 0 : uiDataItem.selected) ? ` ${CSS.selected}` : '';
|
100
100
|
return (h("div", { class: `${CSS.section}${selected}` }, this.renderItemHeader(EInputType.Translation, label, uid), this.handleInputRender(EInputType.Translation, value, uid)));
|
101
101
|
}
|
@@ -110,13 +110,14 @@ const InstantAppsLanguageTranslatorItem = /*@__PURE__*/ proxyCustomElement(class
|
|
110
110
|
return content === null || content === void 0 ? void 0 : content.map(contentItem => (contentItem.hasOwnProperty('content') ? this.renderNestedInputs(inputType, contentItem) : this.renderNestedInput(inputType, contentItem)));
|
111
111
|
}
|
112
112
|
renderNestedInput(inputType, contentItem) {
|
113
|
+
var _a;
|
113
114
|
const locale = store.get('currentLanguage');
|
114
115
|
const data = store.get('portalItemResourceT9n');
|
115
116
|
const uid = contentItem === null || contentItem === void 0 ? void 0 : contentItem.id;
|
116
117
|
const localeData = data === null || data === void 0 ? void 0 : data[locale];
|
117
118
|
const translatedValue = localeData === null || localeData === void 0 ? void 0 : localeData[uid];
|
118
119
|
const { label, value, id } = contentItem;
|
119
|
-
const inputLabel = inputType === EInputType.Translation ? this.translatedLanguageLabels[id] : label;
|
120
|
+
const inputLabel = inputType === EInputType.Translation ? (_a = this.translatedLanguageLabels) === null || _a === void 0 ? void 0 : _a[id] : label;
|
120
121
|
const isUser = inputType === EInputType.User;
|
121
122
|
const inputValue = isUser ? value : translatedValue;
|
122
123
|
return (h("div", { class: CSS.nestedInput }, this.renderItemHeader(inputType, inputLabel, uid, contentItem), this.renderInput(inputType, inputValue, uid, contentItem)));
|
@@ -221,7 +221,7 @@ const InstantAppsLanguageTranslator = /*@__PURE__*/ proxyCustomElement(class Ins
|
|
221
221
|
return (h("instant-apps-language-translator-search", { onSuggestionSelected: this.onSuggestionSelect.bind(this), t9nPlaceholder: (_a = this.messages) === null || _a === void 0 ? void 0 : _a.searchPlaceholder }));
|
222
222
|
}
|
223
223
|
renderTrailingTopBarSection() {
|
224
|
-
return h("div", { class: CSS.topBarSection }, this.renderLanguageSelection());
|
224
|
+
return (h("div", { class: CSS.topBarSection }, this.renderLanguageSelection(), h("slot", { name: "translation-custom-action" })));
|
225
225
|
}
|
226
226
|
renderLanguageSelection() {
|
227
227
|
var _a;
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
7
7
|
import { S as Sanitizer } from './index3.js';
|
8
|
-
import {
|
8
|
+
import { g as getMessages } from './locale3.js';
|
9
9
|
import { d as defineCustomElement$8 } from './button.js';
|
10
10
|
import { d as defineCustomElement$7 } from './checkbox.js';
|
11
11
|
import { d as defineCustomElement$6 } from './icon.js';
|
@@ -53,7 +53,7 @@ function removeItemFromLocalStorage(key) {
|
|
53
53
|
(_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.removeItem(key);
|
54
54
|
}
|
55
55
|
|
56
|
-
const instantAppsSplashCss = ":host{display:block}:host .instant-apps-splash__back-content{display:flex;align-items:center}:host .instant-apps-splash__back-content calcite-label{--calcite-label-margin-bottom:0}";
|
56
|
+
const instantAppsSplashCss = ":host{display:block}:host .image.image_resized img{width:100%}:host .instant-apps-splash__back-content{display:flex;align-items:center}:host .instant-apps-splash__back-content calcite-label{--calcite-label-margin-bottom:0}";
|
57
57
|
|
58
58
|
const CSS = {
|
59
59
|
back: 'instant-apps-splash__back-content',
|
@@ -90,7 +90,7 @@ const InstantAppsSplash$1 = /*@__PURE__*/ proxyCustomElement(class InstantAppsSp
|
|
90
90
|
this.sanitizeContent();
|
91
91
|
}
|
92
92
|
componentDidLoad() {
|
93
|
-
this
|
93
|
+
getMessages(this);
|
94
94
|
}
|
95
95
|
render() {
|
96
96
|
return (h("calcite-modal", { onCalciteModalClose: this.close.bind(this), open: this.open, closeButtonDisabled: this.closeButtonDisabled }, this.renderHeader(), this.renderContent(), this.localStorageKey ? this.renderDontShowThisAgainCheckbox() : null, this.renderPrimaryButton()));
|
@@ -117,10 +117,6 @@ const InstantAppsSplash$1 = /*@__PURE__*/ proxyCustomElement(class InstantAppsSp
|
|
117
117
|
this.open = false;
|
118
118
|
this.splashClose.emit();
|
119
119
|
}
|
120
|
-
async setMessages() {
|
121
|
-
const messages = await getLocaleComponentStrings(this.el);
|
122
|
-
this.messages = messages[0];
|
123
|
-
}
|
124
120
|
handleDontShowThisAgain(event) {
|
125
121
|
const { localStorageKey } = this;
|
126
122
|
if (!localStorageKey)
|
@@ -120,6 +120,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
120
120
|
this.showNewestFirst = undefined;
|
121
121
|
this.zoomAndScrollToSelected = undefined;
|
122
122
|
this._controlsThatFit = undefined;
|
123
|
+
this._csvExporting = false;
|
123
124
|
this._fetchingData = false;
|
124
125
|
this._filterActive = false;
|
125
126
|
this._filterOpen = false;
|
@@ -396,8 +397,8 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
396
397
|
if (cur && !cur.isOverflow) {
|
397
398
|
prev.push(cur.isDanger ?
|
398
399
|
this._getDangerAction(cur.icon, cur.label, cur.func, cur.disabled) :
|
399
|
-
cur.isSublist ? (h("calcite-dropdown", { closeOnSelectDisabled: true, id: this._getId(cur.icon), onCalciteDropdownBeforeClose: () => this._forceShowHide(), ref: (el) => this._showHideDropdown = el }, this._getAction(cur.active, this._showHideOpen ? "chevron-down" : cur.icon, cur.indicator, cur.label, cur.func, cur.disabled, "trigger"), this._showHideOpen ? this._getFieldlist() : undefined)) :
|
400
|
-
this._getAction(cur.active, cur.icon, cur.indicator, cur.label, cur.func, cur.disabled));
|
400
|
+
cur.isSublist ? (h("calcite-dropdown", { closeOnSelectDisabled: true, id: this._getId(cur.icon), onCalciteDropdownBeforeClose: () => this._forceShowHide(), ref: (el) => this._showHideDropdown = el }, this._getAction(cur.active, this._showHideOpen ? "chevron-down" : cur.icon, cur.indicator, cur.label, cur.func, cur.disabled, cur.loading, "trigger"), this._showHideOpen ? this._getFieldlist() : undefined)) :
|
401
|
+
this._getAction(cur.active, cur.icon, cur.indicator, cur.label, cur.func, cur.disabled, cur.loading));
|
401
402
|
}
|
402
403
|
return prev;
|
403
404
|
}, []);
|
@@ -549,6 +550,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
549
550
|
indicator: false,
|
550
551
|
func: () => void this._exportToCSV(),
|
551
552
|
label: this._translations.exportCSV,
|
553
|
+
loading: this._csvExporting,
|
552
554
|
disabled: featuresEmpty,
|
553
555
|
isOverflow: false
|
554
556
|
} : undefined, {
|
@@ -733,7 +735,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
733
735
|
_getDropdown(id) {
|
734
736
|
const dropdownItems = this._getDropdownItems();
|
735
737
|
return dropdownItems.length > 0 ? (h("calcite-dropdown", { closeOnSelectDisabled: true, disabled: this._layer === undefined, id: "solutions-more", onCalciteDropdownBeforeClose: () => this._forceShowHide(), ref: (el) => this._moreDropdown = el }, h("calcite-action", { appearance: "solid", id: id, label: "", onClick: () => this._closeShowHide(), slot: "trigger", text: "" }, h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), h("calcite-dropdown-group", { "selection-mode": "none" }, dropdownItems.map(item => {
|
736
|
-
return (h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: item.disabled ? "none" : "single" }, h("calcite-dropdown-item", { iconStart: item.isSublist && this._showHideOpen ? "chevron-down" : item.icon, id: "solutions-subset-list", onClick: item.func }, item.label)));
|
738
|
+
return (h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: item.disabled ? "none" : "single" }, h("calcite-dropdown-item", { disabled: item.loading, iconStart: item.isSublist && this._showHideOpen ? "chevron-down" : item.loading ? "" : item.icon, id: "solutions-subset-list", onClick: item.func }, item.loading ? (h("div", { class: "display-flex" }, h("calcite-loader", { inline: true, label: item.label, scale: "m" }), item.label)) : item.label)));
|
737
739
|
})), this._showHideOpen ? this._getFieldlist() : undefined)) : undefined;
|
738
740
|
}
|
739
741
|
/**
|
@@ -755,9 +757,9 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
755
757
|
*
|
756
758
|
* @returns VNode The node representing the DOM element that will contain the action
|
757
759
|
*/
|
758
|
-
_getAction(active, icon, indicator, label, func, disabled, slot) {
|
760
|
+
_getAction(active, icon, indicator, label, func, disabled, loading, slot) {
|
759
761
|
const _disabled = this._layer === undefined ? true : disabled;
|
760
|
-
return (h("div", { class: "display-flex", id: this._getId(icon), slot: slot }, h("calcite-action", { active: active, appearance: "solid", disabled: _disabled, icon: icon, id: icon, indicator: indicator, label: label, onClick: func, text: label, textEnabled: true }), this._getToolTip("bottom", icon, label)));
|
762
|
+
return (h("div", { class: "display-flex", id: this._getId(icon), slot: slot }, h("calcite-action", { active: active, appearance: "solid", disabled: _disabled, icon: icon, id: icon, indicator: indicator, label: label, loading: loading, onClick: func, text: label, textEnabled: true }), this._getToolTip("bottom", icon, label)));
|
761
763
|
}
|
762
764
|
/**
|
763
765
|
* Get an action and tooltip for share
|
@@ -886,6 +888,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
886
888
|
},
|
887
889
|
container: node
|
888
890
|
});
|
891
|
+
this._table.columnPerformanceModeEnabled = false;
|
889
892
|
});
|
890
893
|
this._initColumnsInfo();
|
891
894
|
this._checkEditEnabled();
|
@@ -1210,13 +1213,9 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1210
1213
|
const hitTestResult = await this.mapView.hitTest(evt.screenPoint, opts);
|
1211
1214
|
if (hitTestResult.results.length > 0) {
|
1212
1215
|
hitTestResult.results.forEach((result) => {
|
1213
|
-
this._clearSelection();
|
1214
1216
|
const id = result.graphic.getObjectId();
|
1215
1217
|
const index = this._table.highlightIds.indexOf(id);
|
1216
|
-
if (index
|
1217
|
-
this._table.highlightIds.removeAt(index);
|
1218
|
-
}
|
1219
|
-
else {
|
1218
|
+
if (index < 0) {
|
1220
1219
|
this._table.highlightIds.add(id);
|
1221
1220
|
}
|
1222
1221
|
});
|
@@ -1224,6 +1223,9 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1224
1223
|
this._table.filterBySelection();
|
1225
1224
|
}
|
1226
1225
|
}
|
1226
|
+
else {
|
1227
|
+
this._clearSelection();
|
1228
|
+
}
|
1227
1229
|
}
|
1228
1230
|
/**
|
1229
1231
|
* Select or deselect all rows
|
@@ -1312,11 +1314,26 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1312
1314
|
}
|
1313
1315
|
return prev;
|
1314
1316
|
}, []);
|
1315
|
-
|
1317
|
+
this._updateToolInfoLoading("export", true);
|
1318
|
+
this._csvExporting = true;
|
1319
|
+
await downloadCSV(null, //???
|
1316
1320
|
exportInfos, false, // formatUsingLayerPopup
|
1317
1321
|
false, // removeDuplicates
|
1318
1322
|
true, // addColumnTitle
|
1319
1323
|
fields, true);
|
1324
|
+
this._updateToolInfoLoading("export", false);
|
1325
|
+
this._csvExporting = false;
|
1326
|
+
}
|
1327
|
+
/**
|
1328
|
+
* Set the loading prop in the stored toolInfos
|
1329
|
+
*/
|
1330
|
+
_updateToolInfoLoading(name, isLoading) {
|
1331
|
+
this._toolInfos.some(tool => {
|
1332
|
+
if ((tool === null || tool === void 0 ? void 0 : tool.icon) === name) {
|
1333
|
+
tool.loading = isLoading;
|
1334
|
+
return true;
|
1335
|
+
}
|
1336
|
+
});
|
1320
1337
|
}
|
1321
1338
|
/**
|
1322
1339
|
* Refreshes the table and maintains the curent scroll position
|
@@ -1474,6 +1491,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1474
1491
|
"showNewestFirst": [4, "show-newest-first"],
|
1475
1492
|
"zoomAndScrollToSelected": [4, "zoom-and-scroll-to-selected"],
|
1476
1493
|
"_controlsThatFit": [32],
|
1494
|
+
"_csvExporting": [32],
|
1477
1495
|
"_fetchingData": [32],
|
1478
1496
|
"_filterActive": [32],
|
1479
1497
|
"_filterOpen": [32],
|
@@ -52,6 +52,7 @@ async function queryObjectIds(geometries, layer) {
|
|
52
52
|
}
|
53
53
|
/**
|
54
54
|
* Query the layer for features that have the provided OIDs
|
55
|
+
* If no ids are provided all features will be returned
|
55
56
|
*
|
56
57
|
* @param ids array of ObjectIDs to be used to query for features in a layer
|
57
58
|
* @param layer the layer to retrieve features from
|
@@ -76,6 +77,9 @@ async function queryFeaturesByID(ids, layer, graphics, returnGeometry, outSpatia
|
|
76
77
|
if (fields) {
|
77
78
|
q.outFields = fields;
|
78
79
|
}
|
80
|
+
if (ids.length === 0) {
|
81
|
+
ids = await layer.queryObjectIds();
|
82
|
+
}
|
79
83
|
const result = await layer.queryFeatures(q);
|
80
84
|
graphics = graphics.concat(result.features);
|
81
85
|
const remainingIds = ids.slice(num, ids.length);
|
@@ -12,7 +12,7 @@ import { o as onToggleOpenCloseComponent } from './openCloseComponent-9f90f493.j
|
|
12
12
|
import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-436fb2b1.js';
|
13
13
|
import { K as KindIcons } from './resources-88a48c5c.js';
|
14
14
|
import { g as getLocaleComponentStrings, l as loadModules } from './locale-25a5ae3e.js';
|
15
|
-
import { a as getAllLayers } from './mapViewUtils-
|
15
|
+
import { a as getAllLayers } from './mapViewUtils-a177d4f9.js';
|
16
16
|
import { P as PopupUtils } from './popupUtils-23fe3c9f.js';
|
17
17
|
import './guid-b75a5f7b.js';
|
18
18
|
import './resources-8834f920.js';
|
@@ -22,7 +22,7 @@ import { V as Validation } from './Validation-ea480265.js';
|
|
22
22
|
import { d as debounce } from './debounce-229b1a22.js';
|
23
23
|
import { i as isActivationKey } from './key-c83d835f.js';
|
24
24
|
import { g as getLocaleComponentStrings } from './locale-25a5ae3e.js';
|
25
|
-
import { d as getMapLayerHash, o as getMapTableHash } from './mapViewUtils-
|
25
|
+
import { d as getMapLayerHash, o as getMapTableHash } from './mapViewUtils-a177d4f9.js';
|
26
26
|
import { s as state } from './publicNotificationStore-3bf4de75.js';
|
27
27
|
import './resources-8834f920.js';
|
28
28
|
import './browser-d60104bd.js';
|
@@ -12,7 +12,7 @@ import { c as connectLocalized, d as disconnectLocalized } from './locale-904407
|
|
12
12
|
import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-436fb2b1.js';
|
13
13
|
import { S as SLOTS$1 } from './resources-00983bd3.js';
|
14
14
|
import { l as loadModules, g as getLocaleComponentStrings, f as formatNumber } from './locale-25a5ae3e.js';
|
15
|
-
import { a as getAllLayers, g as getLayerOrTable, b as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash } from './mapViewUtils-
|
15
|
+
import { a as getAllLayers, g as getLayerOrTable, b as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash } from './mapViewUtils-a177d4f9.js';
|
16
16
|
import { P as PopupUtils } from './popupUtils-23fe3c9f.js';
|
17
17
|
import './guid-b75a5f7b.js';
|
18
18
|
import './resources-8834f920.js';
|
@@ -774,7 +774,7 @@ function resetDatePicker(datePicker) {
|
|
774
774
|
}
|
775
775
|
}
|
776
776
|
|
777
|
-
const instantAppsFilterListCss = ":host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:normal}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100
|
777
|
+
const instantAppsFilterListCss = ":host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:normal}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;--calcite-font-size--1:16px}.instant-apps-filter-list__item-container--user-input calcite-combobox-item{--calcite-font-size--1:12px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:64px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:normal;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1:12px}.instant-apps-filter-list__zoom-to{display:flex;justify-content:flex-end;margin:8px 0 20px}.instant-apps-filter-list__zoom-to calcite-action{width:-moz-min-content;width:min-content}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1:16px}@media (prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor:2;--calcite-internal-animation-timing-slow:calc(300ms * 2)}}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}";
|
778
778
|
|
779
779
|
const CSS$1 = {
|
780
780
|
base: 'instant-apps-filter-list',
|
@@ -861,6 +861,7 @@ const InstantAppsFilterList = class {
|
|
861
861
|
this.geometryJsonUtils = geometryJsonUtils;
|
862
862
|
this.reactiveUtils = reactiveUtils;
|
863
863
|
this.locale = intl.getLocale();
|
864
|
+
this.intl = intl;
|
864
865
|
return Promise.resolve();
|
865
866
|
}
|
866
867
|
render() {
|
@@ -892,24 +893,13 @@ const InstantAppsFilterList = class {
|
|
892
893
|
}
|
893
894
|
renderCombobox(layerExpression, expression) {
|
894
895
|
var _a;
|
895
|
-
return (h("label", { key: "combo-select", class: CSS$1.filterUIItemContainer }, h("span", null, expression.name), h("calcite-combobox", { id: expression.id.toString(), onCalciteComboboxChange: this.handleComboSelect.bind(this, expression, layerExpression), label: expression.name, placeholder: expression.placeholder,
|
896
|
+
return (h("label", { key: "combo-select", class: CSS$1.filterUIItemContainer }, h("span", null, expression.name), h("calcite-combobox", { id: expression.id.toString(), onCalciteComboboxChange: this.handleComboSelect.bind(this, expression, layerExpression), label: expression.name, placeholder: expression.placeholder, selectionMode: "multiple", "max-items": "6" }, (_a = expression.fields) === null || _a === void 0 ? void 0 : _a.map((value, index) => this.renderComboboxItem(expression, value, index)))));
|
896
897
|
}
|
897
898
|
renderComboboxItem(expression, value, index) {
|
898
|
-
var _a
|
899
|
-
|
900
|
-
if (expression.type === 'coded-value') {
|
901
|
-
label = (_a = expression.codedValues) === null || _a === void 0 ? void 0 : _a[value];
|
902
|
-
}
|
903
|
-
else if (expression.type === 'number' && typeof value === 'number' && expression.format != null) {
|
904
|
-
if (expression.format.places != null) {
|
905
|
-
label = this.roundNumber(value, expression.format.places);
|
906
|
-
}
|
907
|
-
if (expression.format.digitSeparator) {
|
908
|
-
label = this.numberWithCommas(label);
|
909
|
-
}
|
910
|
-
}
|
899
|
+
var _a;
|
900
|
+
const label = this.createLabel(expression, value);
|
911
901
|
const selectedFields = expression === null || expression === void 0 ? void 0 : expression.selectedFields;
|
912
|
-
const selected = (
|
902
|
+
const selected = (_a = selectedFields === null || selectedFields === void 0 ? void 0 : selectedFields.includes(value)) !== null && _a !== void 0 ? _a : false;
|
913
903
|
return h("calcite-combobox-item", { key: `${label}-${index}`, value: value, textLabel: `${label}`, selected: selected });
|
914
904
|
}
|
915
905
|
initFilterConfig() {
|
@@ -941,11 +931,10 @@ const InstantAppsFilterList = class {
|
|
941
931
|
}
|
942
932
|
renderDatePicker(layerExpression, expression) {
|
943
933
|
var _a, _b, _c, _d;
|
944
|
-
const min =
|
945
|
-
const max = convertToDate(expression.max);
|
934
|
+
const { min, max } = expression;
|
946
935
|
const value = [(_a = expression === null || expression === void 0 ? void 0 : expression.range) === null || _a === void 0 ? void 0 : _a.min, (_b = expression === null || expression === void 0 ? void 0 : expression.range) === null || _b === void 0 ? void 0 : _b.max];
|
947
936
|
const check = min != null && max != null;
|
948
|
-
return check ? (h("label", { class: CSS$1.filterUIItemContainer }, h("span", null, expression === null || expression === void 0 ? void 0 : expression.name), h("div", { class: CSS$1.dateInputContainer }, h("calcite-input-date-picker", { id: expression === null || expression === void 0 ? void 0 : expression.id.toString(), onCalciteInputDatePickerChange: this.handleDatePickerRangeChange.bind(this, expression, layerExpression), min: min, max: max,
|
937
|
+
return check ? (h("label", { class: CSS$1.filterUIItemContainer }, h("span", null, expression === null || expression === void 0 ? void 0 : expression.name), h("div", { class: CSS$1.dateInputContainer }, h("calcite-input-date-picker", { id: expression === null || expression === void 0 ? void 0 : expression.id.toString(), onCalciteInputDatePickerChange: this.handleDatePickerRangeChange.bind(this, expression, layerExpression), min: min, max: max, "overlay-positioning": "fixed", lang: (_c = this.locale) !== null && _c !== void 0 ? _c : 'en', layout: "vertical", value: value, range: true }), h("calcite-action", { onClick: this.handleResetDatePicker.bind(this, expression, layerExpression), icon: "reset", text: (_d = this.messages) === null || _d === void 0 ? void 0 : _d.resetDatePicker, scale: "s" })))) : null;
|
949
938
|
}
|
950
939
|
renderFooter() {
|
951
940
|
var _a;
|
@@ -1015,7 +1004,12 @@ const InstantAppsFilterList = class {
|
|
1015
1004
|
this.resetCombobox(expression);
|
1016
1005
|
}
|
1017
1006
|
else if (type === 'date') {
|
1018
|
-
|
1007
|
+
if ((expression === null || expression === void 0 ? void 0 : expression.numDisplayOption) === 'drop-down' || (expression === null || expression === void 0 ? void 0 : expression.displayOption) === 'drop-down') {
|
1008
|
+
this.resetCombobox(expression);
|
1009
|
+
}
|
1010
|
+
else {
|
1011
|
+
this.resetDatePicker(expression);
|
1012
|
+
}
|
1019
1013
|
}
|
1020
1014
|
else if (type === 'number' || type === 'range') {
|
1021
1015
|
if ((expression === null || expression === void 0 ? void 0 : expression.numDisplayOption) === 'drop-down' || (expression === null || expression === void 0 ? void 0 : expression.displayOption) === 'drop-down') {
|
@@ -1091,9 +1085,15 @@ const InstantAppsFilterList = class {
|
|
1091
1085
|
});
|
1092
1086
|
}
|
1093
1087
|
async updateStringExpression(layerExpression, expression) {
|
1094
|
-
const { field } = expression;
|
1088
|
+
const { field, type } = expression;
|
1095
1089
|
const layer = this.findFilterLayer(layerExpression);
|
1096
1090
|
expression.fields = await this.getFeatureAttributes(layer, field);
|
1091
|
+
if (type === 'date') {
|
1092
|
+
const layerField = layer.fields.find(({ name }) => name === field);
|
1093
|
+
if ((layerField === null || layerField === void 0 ? void 0 : layerField.type) === 'date-only') {
|
1094
|
+
expression.dateOnly = true;
|
1095
|
+
}
|
1096
|
+
}
|
1097
1097
|
if (expression === null || expression === void 0 ? void 0 : expression.selectedFields) {
|
1098
1098
|
const selectedFields = expression.selectedFields.map((field) => (typeof field === 'number' ? field : `'${handleSingleQuote(field)}'`));
|
1099
1099
|
expression.definitionExpression = `${field} IN (${selectedFields.join(',')})`;
|
@@ -1354,12 +1354,18 @@ const InstantAppsFilterList = class {
|
|
1354
1354
|
handleComboSelect(expression, layerExpression, event) {
|
1355
1355
|
const combobox = event.target;
|
1356
1356
|
const items = combobox.selectedItems;
|
1357
|
-
const { field } = expression;
|
1357
|
+
const { field, type } = expression;
|
1358
1358
|
if (items && items.length) {
|
1359
1359
|
const values = items.map(({ value }) => (typeof value === 'number' ? value : `'${handleSingleQuote(value)}'`));
|
1360
|
-
|
1361
|
-
|
1362
|
-
|
1360
|
+
if (type === 'date') {
|
1361
|
+
expression.selectedFields = items.map(({ value }) => value);
|
1362
|
+
expression.definitionExpression = values.map(value => this.buildDateExpression(value, field)).join(' OR ');
|
1363
|
+
}
|
1364
|
+
else {
|
1365
|
+
expression.selectedFields = items.map(({ value }) => value);
|
1366
|
+
const definitionExpression = `${field} IN (${values.join(',')})`;
|
1367
|
+
expression.definitionExpression = definitionExpression;
|
1368
|
+
}
|
1363
1369
|
expression.active = true;
|
1364
1370
|
}
|
1365
1371
|
else {
|
@@ -1416,20 +1422,20 @@ const InstantAppsFilterList = class {
|
|
1416
1422
|
}
|
1417
1423
|
createURLParamExpression(layerExpression, expression) {
|
1418
1424
|
const { id, range, selectedFields, type } = expression;
|
1419
|
-
if (type === '
|
1425
|
+
if (type === 'string' || type === 'coded-value' || (expression === null || expression === void 0 ? void 0 : expression.numDisplayOption) === 'drop-down' || (expression === null || expression === void 0 ? void 0 : expression.displayOption) === 'drop-down') {
|
1420
1426
|
return {
|
1421
|
-
type: '
|
1427
|
+
type: 'select',
|
1422
1428
|
layerId: layerExpression.id,
|
1423
1429
|
expressionId: id.toString(),
|
1424
|
-
|
1430
|
+
selectedFields,
|
1425
1431
|
};
|
1426
1432
|
}
|
1427
|
-
else if (type === '
|
1433
|
+
else if (type === 'number' || type === 'range' || type === 'date') {
|
1428
1434
|
return {
|
1429
|
-
type: '
|
1435
|
+
type: 'range',
|
1430
1436
|
layerId: layerExpression.id,
|
1431
1437
|
expressionId: id.toString(),
|
1432
|
-
|
1438
|
+
range,
|
1433
1439
|
};
|
1434
1440
|
}
|
1435
1441
|
else {
|
@@ -1725,6 +1731,39 @@ const InstantAppsFilterList = class {
|
|
1725
1731
|
return layer;
|
1726
1732
|
}
|
1727
1733
|
}
|
1734
|
+
createLabel(expression, value) {
|
1735
|
+
var _a;
|
1736
|
+
let label = value;
|
1737
|
+
if (expression.type === 'coded-value') {
|
1738
|
+
label = (_a = expression.codedValues) === null || _a === void 0 ? void 0 : _a[value];
|
1739
|
+
}
|
1740
|
+
else if (expression.type === 'number' && typeof value === 'number' && expression.format != null) {
|
1741
|
+
if (expression.format.places != null) {
|
1742
|
+
label = this.roundNumber(value, expression.format.places);
|
1743
|
+
}
|
1744
|
+
if (expression.format.digitSeparator) {
|
1745
|
+
label = this.numberWithCommas(label);
|
1746
|
+
}
|
1747
|
+
}
|
1748
|
+
else if (expression.type === 'date' && !expression.dateOnly) {
|
1749
|
+
const format = expression.dateOnly ? this.intl.convertDateFormatToIntlOptions('short-date-long-time') : undefined;
|
1750
|
+
label = this.intl.formatDate(value, format);
|
1751
|
+
}
|
1752
|
+
return label;
|
1753
|
+
}
|
1754
|
+
buildDateExpression(date, field) {
|
1755
|
+
if (date) {
|
1756
|
+
const tmpDate = new Date(date);
|
1757
|
+
const tmpCompareDate = new Date(date);
|
1758
|
+
const tmpCompareDate1 = new Date(tmpCompareDate.setDate(tmpDate.getDate() + 1));
|
1759
|
+
const formattedDate = `${tmpDate.getFullYear()}-${tmpDate.getMonth() + 1}-${tmpDate.getDate()}`;
|
1760
|
+
const time = `${tmpDate.getHours()}:${tmpDate.getMinutes()}:${tmpDate.getSeconds()}`;
|
1761
|
+
const compareTime = `${tmpCompareDate1.getHours()}:${tmpCompareDate1.getMinutes()}:${tmpCompareDate1.getSeconds()}`;
|
1762
|
+
const compareFormattedDate = `${tmpCompareDate1.getFullYear()}-${tmpCompareDate1.getMonth() + 1}-${tmpCompareDate1.getDate()}`;
|
1763
|
+
return `${field} BETWEEN '${formattedDate} ${time}' AND '${compareFormattedDate} ${compareTime}'`;
|
1764
|
+
}
|
1765
|
+
return;
|
1766
|
+
}
|
1728
1767
|
get el() { return getElement(this); }
|
1729
1768
|
static get watchers() { return {
|
1730
1769
|
"view": ["watchViewHandler"],
|
@@ -5,8 +5,8 @@
|
|
5
5
|
*/
|
6
6
|
import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-164d485a.js';
|
7
7
|
import { g as getLocaleComponentStrings, l as loadModules } from './locale-25a5ae3e.js';
|
8
|
-
import { q as queryFeaturesByID, g as getLayerOrTable, c as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID } from './mapViewUtils-
|
9
|
-
import { d as downloadCSV } from './downloadUtils-
|
8
|
+
import { q as queryFeaturesByID, g as getLayerOrTable, c as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID } from './mapViewUtils-a177d4f9.js';
|
9
|
+
import { d as downloadCSV } from './downloadUtils-20d22198.js';
|
10
10
|
import './esri-loader-eda07632.js';
|
11
11
|
import './_commonjsHelpers-d5f9d613.js';
|
12
12
|
import './interfaces-586e863c.js';
|
@@ -172,6 +172,7 @@ const LayerTable = class {
|
|
172
172
|
this.showNewestFirst = undefined;
|
173
173
|
this.zoomAndScrollToSelected = undefined;
|
174
174
|
this._controlsThatFit = undefined;
|
175
|
+
this._csvExporting = false;
|
175
176
|
this._fetchingData = false;
|
176
177
|
this._filterActive = false;
|
177
178
|
this._filterOpen = false;
|
@@ -448,8 +449,8 @@ const LayerTable = class {
|
|
448
449
|
if (cur && !cur.isOverflow) {
|
449
450
|
prev.push(cur.isDanger ?
|
450
451
|
this._getDangerAction(cur.icon, cur.label, cur.func, cur.disabled) :
|
451
|
-
cur.isSublist ? (h("calcite-dropdown", { closeOnSelectDisabled: true, id: this._getId(cur.icon), onCalciteDropdownBeforeClose: () => this._forceShowHide(), ref: (el) => this._showHideDropdown = el }, this._getAction(cur.active, this._showHideOpen ? "chevron-down" : cur.icon, cur.indicator, cur.label, cur.func, cur.disabled, "trigger"), this._showHideOpen ? this._getFieldlist() : undefined)) :
|
452
|
-
this._getAction(cur.active, cur.icon, cur.indicator, cur.label, cur.func, cur.disabled));
|
452
|
+
cur.isSublist ? (h("calcite-dropdown", { closeOnSelectDisabled: true, id: this._getId(cur.icon), onCalciteDropdownBeforeClose: () => this._forceShowHide(), ref: (el) => this._showHideDropdown = el }, this._getAction(cur.active, this._showHideOpen ? "chevron-down" : cur.icon, cur.indicator, cur.label, cur.func, cur.disabled, cur.loading, "trigger"), this._showHideOpen ? this._getFieldlist() : undefined)) :
|
453
|
+
this._getAction(cur.active, cur.icon, cur.indicator, cur.label, cur.func, cur.disabled, cur.loading));
|
453
454
|
}
|
454
455
|
return prev;
|
455
456
|
}, []);
|
@@ -601,6 +602,7 @@ const LayerTable = class {
|
|
601
602
|
indicator: false,
|
602
603
|
func: () => void this._exportToCSV(),
|
603
604
|
label: this._translations.exportCSV,
|
605
|
+
loading: this._csvExporting,
|
604
606
|
disabled: featuresEmpty,
|
605
607
|
isOverflow: false
|
606
608
|
} : undefined, {
|
@@ -785,7 +787,7 @@ const LayerTable = class {
|
|
785
787
|
_getDropdown(id) {
|
786
788
|
const dropdownItems = this._getDropdownItems();
|
787
789
|
return dropdownItems.length > 0 ? (h("calcite-dropdown", { closeOnSelectDisabled: true, disabled: this._layer === undefined, id: "solutions-more", onCalciteDropdownBeforeClose: () => this._forceShowHide(), ref: (el) => this._moreDropdown = el }, h("calcite-action", { appearance: "solid", id: id, label: "", onClick: () => this._closeShowHide(), slot: "trigger", text: "" }, h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), h("calcite-dropdown-group", { "selection-mode": "none" }, dropdownItems.map(item => {
|
788
|
-
return (h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: item.disabled ? "none" : "single" }, h("calcite-dropdown-item", { iconStart: item.isSublist && this._showHideOpen ? "chevron-down" : item.icon, id: "solutions-subset-list", onClick: item.func }, item.label)));
|
790
|
+
return (h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: item.disabled ? "none" : "single" }, h("calcite-dropdown-item", { disabled: item.loading, iconStart: item.isSublist && this._showHideOpen ? "chevron-down" : item.loading ? "" : item.icon, id: "solutions-subset-list", onClick: item.func }, item.loading ? (h("div", { class: "display-flex" }, h("calcite-loader", { inline: true, label: item.label, scale: "m" }), item.label)) : item.label)));
|
789
791
|
})), this._showHideOpen ? this._getFieldlist() : undefined)) : undefined;
|
790
792
|
}
|
791
793
|
/**
|
@@ -807,9 +809,9 @@ const LayerTable = class {
|
|
807
809
|
*
|
808
810
|
* @returns VNode The node representing the DOM element that will contain the action
|
809
811
|
*/
|
810
|
-
_getAction(active, icon, indicator, label, func, disabled, slot) {
|
812
|
+
_getAction(active, icon, indicator, label, func, disabled, loading, slot) {
|
811
813
|
const _disabled = this._layer === undefined ? true : disabled;
|
812
|
-
return (h("div", { class: "display-flex", id: this._getId(icon), slot: slot }, h("calcite-action", { active: active, appearance: "solid", disabled: _disabled, icon: icon, id: icon, indicator: indicator, label: label, onClick: func, text: label, textEnabled: true }), this._getToolTip("bottom", icon, label)));
|
814
|
+
return (h("div", { class: "display-flex", id: this._getId(icon), slot: slot }, h("calcite-action", { active: active, appearance: "solid", disabled: _disabled, icon: icon, id: icon, indicator: indicator, label: label, loading: loading, onClick: func, text: label, textEnabled: true }), this._getToolTip("bottom", icon, label)));
|
813
815
|
}
|
814
816
|
/**
|
815
817
|
* Get an action and tooltip for share
|
@@ -938,6 +940,7 @@ const LayerTable = class {
|
|
938
940
|
},
|
939
941
|
container: node
|
940
942
|
});
|
943
|
+
this._table.columnPerformanceModeEnabled = false;
|
941
944
|
});
|
942
945
|
this._initColumnsInfo();
|
943
946
|
this._checkEditEnabled();
|
@@ -1262,13 +1265,9 @@ const LayerTable = class {
|
|
1262
1265
|
const hitTestResult = await this.mapView.hitTest(evt.screenPoint, opts);
|
1263
1266
|
if (hitTestResult.results.length > 0) {
|
1264
1267
|
hitTestResult.results.forEach((result) => {
|
1265
|
-
this._clearSelection();
|
1266
1268
|
const id = result.graphic.getObjectId();
|
1267
1269
|
const index = this._table.highlightIds.indexOf(id);
|
1268
|
-
if (index
|
1269
|
-
this._table.highlightIds.removeAt(index);
|
1270
|
-
}
|
1271
|
-
else {
|
1270
|
+
if (index < 0) {
|
1272
1271
|
this._table.highlightIds.add(id);
|
1273
1272
|
}
|
1274
1273
|
});
|
@@ -1276,6 +1275,9 @@ const LayerTable = class {
|
|
1276
1275
|
this._table.filterBySelection();
|
1277
1276
|
}
|
1278
1277
|
}
|
1278
|
+
else {
|
1279
|
+
this._clearSelection();
|
1280
|
+
}
|
1279
1281
|
}
|
1280
1282
|
/**
|
1281
1283
|
* Select or deselect all rows
|
@@ -1364,11 +1366,26 @@ const LayerTable = class {
|
|
1364
1366
|
}
|
1365
1367
|
return prev;
|
1366
1368
|
}, []);
|
1367
|
-
|
1369
|
+
this._updateToolInfoLoading("export", true);
|
1370
|
+
this._csvExporting = true;
|
1371
|
+
await downloadCSV(null, //???
|
1368
1372
|
exportInfos, false, // formatUsingLayerPopup
|
1369
1373
|
false, // removeDuplicates
|
1370
1374
|
true, // addColumnTitle
|
1371
1375
|
fields, true);
|
1376
|
+
this._updateToolInfoLoading("export", false);
|
1377
|
+
this._csvExporting = false;
|
1378
|
+
}
|
1379
|
+
/**
|
1380
|
+
* Set the loading prop in the stored toolInfos
|
1381
|
+
*/
|
1382
|
+
_updateToolInfoLoading(name, isLoading) {
|
1383
|
+
this._toolInfos.some(tool => {
|
1384
|
+
if ((tool === null || tool === void 0 ? void 0 : tool.icon) === name) {
|
1385
|
+
tool.loading = isLoading;
|
1386
|
+
return true;
|
1387
|
+
}
|
1388
|
+
});
|
1372
1389
|
}
|
1373
1390
|
/**
|
1374
1391
|
* Refreshes the table and maintains the curent scroll position
|
@@ -6,7 +6,7 @@
|
|
6
6
|
import { r as registerInstance, h, H as Host, g as getElement } from './index-164d485a.js';
|
7
7
|
import { g as getLocaleComponentStrings } from './locale-25a5ae3e.js';
|
8
8
|
import { E as ELayoutMode } from './interfaces-586e863c.js';
|
9
|
-
import { g as getLayerOrTable } from './mapViewUtils-
|
9
|
+
import { g as getLayerOrTable } from './mapViewUtils-a177d4f9.js';
|
10
10
|
import './esri-loader-eda07632.js';
|
11
11
|
import './_commonjsHelpers-d5f9d613.js';
|
12
12
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-164d485a.js';
|
7
7
|
import { l as loadModules, g as getLocaleComponentStrings } from './locale-25a5ae3e.js';
|
8
|
-
import { a as getAllLayers, b as getFeatureLayerView, h as highlightFeatures, g as getLayerOrTable, q as queryFeaturesByID } from './mapViewUtils-
|
8
|
+
import { a as getAllLayers, b as getFeatureLayerView, h as highlightFeatures, g as getLayerOrTable, q as queryFeaturesByID } from './mapViewUtils-a177d4f9.js';
|
9
9
|
import './esri-loader-eda07632.js';
|
10
10
|
import './_commonjsHelpers-d5f9d613.js';
|
11
11
|
import './interfaces-586e863c.js';
|
@@ -28,6 +28,8 @@ const CrowdsourceReporter = class {
|
|
28
28
|
this.mapView = undefined;
|
29
29
|
this.layerId = undefined;
|
30
30
|
this.objectId = undefined;
|
31
|
+
this.center = undefined;
|
32
|
+
this.level = undefined;
|
31
33
|
this.reportButtonText = undefined;
|
32
34
|
this.reportsHeader = undefined;
|
33
35
|
this.reportSubmittedMessage = undefined;
|