@esri/solutions-components 0.7.8 → 0.7.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|