@esri/solutions-components 0.7.8 → 0.7.9
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/assets/t9n/layer-table/resources.json +1 -0
- package/dist/assets/t9n/layer-table/resources_en.json +1 -0
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +15 -6
- package/dist/cjs/card-manager_3.cjs.entry.js +42 -5
- package/dist/cjs/crowdsource-manager.cjs.entry.js +12 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +20 -2
- package/dist/collection/components/layer-table/layer-table.js +42 -5
- package/dist/collection/components/map-layer-picker/map-layer-picker.css +1 -0
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +69 -5
- package/dist/collection/utils/interfaces.ts +5 -0
- package/dist/components/crowdsource-manager.js +15 -3
- package/dist/components/layer-table2.js +42 -5
- package/dist/components/map-layer-picker2.js +17 -6
- package/dist/esm/calcite-combobox_6.entry.js +15 -6
- package/dist/esm/card-manager_3.entry.js +42 -5
- package/dist/esm/crowdsource-manager.entry.js +12 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/{p-546a3d3c.entry.js → p-a9bbd352.entry.js} +1 -1
- package/dist/solutions-components/p-c9b4d52f.entry.js +6 -0
- package/dist/solutions-components/p-f7870ec1.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +5 -0
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
- package/dist/types/components/layer-table/layer-table.d.ts +14 -0
- package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +15 -1
- package/dist/types/components.d.ts +23 -2
- package/dist/types/preact.d.ts +2 -1
- package/dist/types/utils/interfaces.d.ts +4 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-1b9709ce.entry.js +0 -6
- package/dist/solutions-components/p-4f1c4004.entry.js +0 -6
@@ -1899,11 +1899,12 @@ const DropdownItem = class {
|
|
1899
1899
|
};
|
1900
1900
|
DropdownItem.style = dropdownItemCss;
|
1901
1901
|
|
1902
|
-
const mapLayerPickerCss = ":host{display:block}.map-layer-picker-container{width:100
|
1902
|
+
const mapLayerPickerCss = ":host{display:block}.map-layer-picker-container{width:100%;align-items:center}.map-layer-picker{position:relative;width:100%;display:inline-block}.padding-bottom-1{padding-bottom:1rem}.layer-picker-dropdown{height:100%;width:100%}.max-width-350{max-width:350px}.height-100{height:100%}.disabled{cursor:default !important;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.no-bottom-margin{--calcite-label-margin-bottom:0px}.layer-picker-label-container{align-items:center;display:inline-flex;height:100%;padding-inline-start:1rem;padding-inline-end:1rem}.padding-start-1{padding-inline-start:1rem}.cursor-default{cursor:default}";
|
1903
1903
|
|
1904
1904
|
const MapLayerPicker = class {
|
1905
1905
|
constructor(hostRef) {
|
1906
1906
|
index.registerInstance(this, hostRef);
|
1907
|
+
this.idsFound = index.createEvent(this, "idsFound", 7);
|
1907
1908
|
this.noLayersFound = index.createEvent(this, "noLayersFound", 7);
|
1908
1909
|
this.layerSelectionChange = index.createEvent(this, "layerSelectionChange", 7);
|
1909
1910
|
//--------------------------------------------------------------------------
|
@@ -1917,8 +1918,10 @@ const MapLayerPicker = class {
|
|
1917
1918
|
this.defaultLayerHonored = false;
|
1918
1919
|
this.appearance = "transparent";
|
1919
1920
|
this.defaultLayerId = "";
|
1921
|
+
this.display = "inline-block";
|
1920
1922
|
this.enabledLayerIds = [];
|
1921
1923
|
this.enabledTableIds = [];
|
1924
|
+
this.height = undefined;
|
1922
1925
|
this.mapView = undefined;
|
1923
1926
|
this.onlyShowUpdatableLayers = undefined;
|
1924
1927
|
this.placeholderIcon = "";
|
@@ -1973,7 +1976,9 @@ const MapLayerPicker = class {
|
|
1973
1976
|
*/
|
1974
1977
|
render() {
|
1975
1978
|
const id = "map-layer-picker";
|
1976
|
-
|
1979
|
+
let style = this.height > 0 ? { "height": `${this.height.toString()}px` } : {};
|
1980
|
+
style = Object.assign(Object.assign({}, style), { "display": this.display });
|
1981
|
+
return (index.h(index.Host, null, index.h("div", { class: "map-layer-picker-container", style: style }, index.h("div", { class: "map-layer-picker", style: style }, !this._hasValidLayers ? this._getInvalidPlaceholder() :
|
1977
1982
|
!this._hasMultipleLayers && this.showSingleLayerAsLabel ? this._getSingleLayerPlaceholder() :
|
1978
1983
|
this.type === "combobox" ? this._getCombobox(id) :
|
1979
1984
|
this.type === "select" ? this._getSelect(id) : this._getDropdown(id), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": id }, index.h("span", null, this._translations.switchLayer))))));
|
@@ -2110,14 +2115,18 @@ const MapLayerPicker = class {
|
|
2110
2115
|
async _setLayers() {
|
2111
2116
|
if (this.mapView) {
|
2112
2117
|
await this._initLayerTableHash();
|
2113
|
-
const
|
2118
|
+
const layerIds = this.onlyShowUpdatableLayers ?
|
2114
2119
|
this._getEditableIds(this._layerNameHash) : Object.keys(this._layerNameHash);
|
2115
|
-
const
|
2120
|
+
const tableIds = this.showTables ? this.onlyShowUpdatableLayers ?
|
2116
2121
|
this._getEditableIds(this._tableNameHash) : Object.keys(this._tableNameHash) : [];
|
2117
2122
|
this.ids = [
|
2118
|
-
...
|
2119
|
-
...
|
2123
|
+
...layerIds.reverse().filter(n => { var _a; return ((_a = this.enabledLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledLayerIds.reverse().indexOf(n) > -1 : true; }),
|
2124
|
+
...tableIds.reverse().filter(n => { var _a; return ((_a = this.enabledTableIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledTableIds.reverse().indexOf(n) > -1 : true; }),
|
2120
2125
|
];
|
2126
|
+
this.idsFound.emit({
|
2127
|
+
layerIds,
|
2128
|
+
tableIds
|
2129
|
+
});
|
2121
2130
|
}
|
2122
2131
|
}
|
2123
2132
|
/**
|
@@ -382,7 +382,7 @@ const LayerTable = class {
|
|
382
382
|
* @returns The dom node that contains the controls
|
383
383
|
*/
|
384
384
|
_getActionBar() {
|
385
|
-
return (index.h("calcite-action-bar", { expandDisabled: true, expanded: true, id: this._getId("bar"), layout: "horizontal" }, index.h("div", { class: "border-end", id: "solutions-map-layer-picker-container" }, index.h("map-layer-picker", { appearance: "transparent", defaultLayerId: this.defaultLayerId, mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, placeholderIcon: "layers", scale: "l", showSingleLayerAsLabel: true, showTables: true, type: "dropdown" })), this._getActions()));
|
385
|
+
return (index.h("calcite-action-bar", { expandDisabled: true, expanded: true, id: this._getId("bar"), layout: "horizontal" }, index.h("div", { class: "border-end", id: "solutions-map-layer-picker-container" }, index.h("map-layer-picker", { appearance: "transparent", defaultLayerId: this.defaultLayerId, display: "inline-flex", height: 50, mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, placeholderIcon: "layers", scale: "l", showSingleLayerAsLabel: true, showTables: true, type: "dropdown" })), this._getActions()));
|
386
386
|
}
|
387
387
|
/**
|
388
388
|
* Get the actions that are used for various interactions with the table
|
@@ -1094,9 +1094,9 @@ const LayerTable = class {
|
|
1094
1094
|
* @returns void
|
1095
1095
|
*/
|
1096
1096
|
_initLayerExpressions() {
|
1097
|
-
var _a;
|
1098
|
-
const layerExpressions = (_a = this.mapInfo
|
1099
|
-
this._layerExpressions = layerExpressions.filter((exp) => exp.id === this._layer.id);
|
1097
|
+
var _a, _b;
|
1098
|
+
const layerExpressions = (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.layerExpressions;
|
1099
|
+
this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => exp.id === this._layer.id) : [];
|
1100
1100
|
}
|
1101
1101
|
/**
|
1102
1102
|
* Select all rows that are not currently selectd
|
@@ -1199,6 +1199,7 @@ const LayerTable = class {
|
|
1199
1199
|
fieldInfos.some(fieldInfo => {
|
1200
1200
|
if (fieldInfo.name === columnTemplate.fieldName) {
|
1201
1201
|
columnTemplate.label = fieldInfo.alias;
|
1202
|
+
columnTemplate.menuConfig = this._getMenuConfig(fieldInfo.name);
|
1202
1203
|
return true;
|
1203
1204
|
}
|
1204
1205
|
});
|
@@ -1207,12 +1208,48 @@ const LayerTable = class {
|
|
1207
1208
|
return {
|
1208
1209
|
type: "field",
|
1209
1210
|
fieldName: fieldInfo.name,
|
1210
|
-
label: fieldInfo.alias
|
1211
|
+
label: fieldInfo.alias,
|
1212
|
+
menuConfig: this._getMenuConfig(fieldInfo.name)
|
1211
1213
|
};
|
1212
1214
|
});
|
1213
1215
|
}
|
1214
1216
|
return columnTemplates;
|
1215
1217
|
}
|
1218
|
+
/**
|
1219
|
+
* Get the menu config that adds the ability to hide the current column
|
1220
|
+
*
|
1221
|
+
* @returns void
|
1222
|
+
* @protected
|
1223
|
+
*/
|
1224
|
+
_getMenuConfig(name) {
|
1225
|
+
return {
|
1226
|
+
items: [
|
1227
|
+
{
|
1228
|
+
label: this._translations.hideField,
|
1229
|
+
iconClass: "esri-icon-non-visible",
|
1230
|
+
autoCloseMenu: true,
|
1231
|
+
clickFunction: () => {
|
1232
|
+
this._handleHideClick(name);
|
1233
|
+
}
|
1234
|
+
}
|
1235
|
+
]
|
1236
|
+
};
|
1237
|
+
}
|
1238
|
+
/**
|
1239
|
+
* Hide the table column for the provided name
|
1240
|
+
*
|
1241
|
+
* @returns void
|
1242
|
+
* @protected
|
1243
|
+
*/
|
1244
|
+
_handleHideClick(name) {
|
1245
|
+
this._columnsInfo[name] = false;
|
1246
|
+
this._table.hideColumn(name);
|
1247
|
+
this._table.tableTemplate.columnTemplates.forEach((columnTemplate) => {
|
1248
|
+
if (columnTemplate.fieldName === name) {
|
1249
|
+
columnTemplate.visible = false;
|
1250
|
+
}
|
1251
|
+
});
|
1252
|
+
}
|
1216
1253
|
/**
|
1217
1254
|
* Fetches the component's translations
|
1218
1255
|
*
|
@@ -57,6 +57,7 @@ const CrowdsourceManager = class {
|
|
57
57
|
this._layoutMode = interfaces.ELayoutMode.GRID;
|
58
58
|
this._mapView = undefined;
|
59
59
|
this._panelOpen = true;
|
60
|
+
this._tableOnly = false;
|
60
61
|
}
|
61
62
|
//--------------------------------------------------------------------------
|
62
63
|
//
|
@@ -106,6 +107,16 @@ const CrowdsourceManager = class {
|
|
106
107
|
// Events (public)
|
107
108
|
//
|
108
109
|
//--------------------------------------------------------------------------
|
110
|
+
/**
|
111
|
+
* Listen for idsFound event to be fired so we can know that all layer ids have been fetched
|
112
|
+
*/
|
113
|
+
async idsFound(evt) {
|
114
|
+
const ids = evt.detail;
|
115
|
+
this._tableOnly = ids.tableIds.length > 0 && ids.layerIds.length === 0;
|
116
|
+
if (this._tableOnly) {
|
117
|
+
this._expandPopup = true;
|
118
|
+
}
|
119
|
+
}
|
109
120
|
/**
|
110
121
|
* Listen for layoutChanged event to be fired so we can adjust the layout
|
111
122
|
*/
|
@@ -303,7 +314,7 @@ const CrowdsourceManager = class {
|
|
303
314
|
const tooltip = this._expandPopup ? this._translations.collapsePopup : this._translations.expandPopup;
|
304
315
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
305
316
|
const popupNodeClass = !this._expandPopup ? "height-full" : ((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) === 1 ? "position-absolute-0" : "position-absolute-50";
|
306
|
-
return (index.h("div", { class: "calcite-mode-dark " + popupNodeClass }, index.h("calcite-panel", null, index.h("div", { class: "display-flex align-items-center", slot: "header-content" }, index.h("calcite-icon", { icon: "information", scale: "s" }), index.h("div", { class: "padding-inline-start-75" }, this._translations.information)), index.h("calcite-action", { icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), index.h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)), this._getCardNode())));
|
317
|
+
return (index.h("div", { class: "calcite-mode-dark " + popupNodeClass }, index.h("calcite-panel", null, index.h("div", { class: "display-flex align-items-center", slot: "header-content" }, index.h("calcite-icon", { icon: "information", scale: "s" }), index.h("div", { class: "padding-inline-start-75" }, this._translations.information)), index.h("calcite-action", { disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? index.h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)) : undefined, this._getCardNode())));
|
307
318
|
}
|
308
319
|
/**
|
309
320
|
* Toggle the popup information
|