@esri/solutions-components 0.8.8 → 0.8.9
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/crowdsource-reporter/resources.json +3 -1
- package/dist/assets/t9n/crowdsource-reporter/resources_en.json +3 -1
- package/dist/cjs/{calcite-action-menu_2.cjs.entry.js → calcite-action-menu_3.cjs.entry.js} +114 -7
- package/dist/cjs/calcite-alert_4.cjs.entry.js +46 -5
- package/dist/cjs/{calcite-input-date-picker_3.cjs.entry.js → calcite-block_5.cjs.entry.js} +691 -13
- package/dist/cjs/{calcite-combobox_5.cjs.entry.js → calcite-combobox_3.cjs.entry.js} +876 -844
- package/dist/cjs/calcite-dropdown_4.cjs.entry.js +1023 -0
- package/dist/cjs/{calcite-flow_5.cjs.entry.js → calcite-flow_6.cjs.entry.js} +327 -2
- package/dist/cjs/card-manager_3.cjs.entry.js +5 -5
- package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +122 -21
- package/dist/cjs/{downloadUtils-8b05d7cc.js → downloadUtils-dc349b1a.js} +2 -2
- package/dist/cjs/{index.es-e7587227.js → index.es-1830a1e6.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +8 -8
- package/dist/cjs/{mapViewUtils-3e0fa457.js → mapViewUtils-9dc05308.js} +11 -5
- package/dist/cjs/public-notification.cjs.entry.js +2 -2
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/create-feature/create-feature.js +18 -0
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +16 -0
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +155 -35
- package/dist/collection/components/feature-details/feature-details.css +18 -0
- package/dist/collection/components/feature-details/feature-details.js +500 -0
- package/dist/collection/components/feature-details/test/feature-details.e2e.js +14 -0
- package/dist/collection/components/feature-details/test/feature-details.spec.js +22 -0
- package/dist/collection/components/feature-list/feature-list.js +14 -1
- package/dist/collection/components/info-card/info-card.css +15 -5
- package/dist/collection/components/info-card/info-card.js +178 -5
- 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-select-tools/map-select-tools.js +5 -5
- package/dist/collection/components/refine-selection/refine-selection.js +1 -1
- package/dist/collection/demos/crowdsource-reporter.html +115 -1
- package/dist/collection/utils/mapViewUtils.js +11 -5
- package/dist/collection/utils/mapViewUtils.ts +13 -5
- package/dist/components/create-feature2.js +4 -0
- package/dist/components/crowdsource-reporter.js +270 -81
- package/dist/components/feature-details.d.ts +11 -0
- package/dist/components/feature-details.js +11 -0
- package/dist/components/feature-details2.js +449 -0
- package/dist/components/feature-list2.js +14 -1
- package/dist/components/info-card2.js +53 -5
- package/dist/components/layer-table2.js +2 -2
- package/dist/components/map-card2.js +1 -1
- package/dist/components/map-select-tools2.js +5 -5
- package/dist/components/mapViewUtils.js +11 -5
- package/dist/components/refine-selection2.js +1 -1
- package/dist/esm/{calcite-action-menu_2.entry.js → calcite-action-menu_3.entry.js} +118 -12
- package/dist/esm/calcite-alert_4.entry.js +46 -5
- package/dist/esm/{calcite-input-date-picker_3.entry.js → calcite-block_5.entry.js} +688 -12
- package/dist/esm/{calcite-combobox_5.entry.js → calcite-combobox_3.entry.js} +878 -844
- package/dist/esm/calcite-date-picker-day_3.entry.js +1 -1
- package/dist/esm/calcite-dropdown_4.entry.js +1016 -0
- package/dist/esm/{calcite-flow_5.entry.js → calcite-flow_6.entry.js} +327 -3
- package/dist/esm/card-manager_3.entry.js +5 -5
- package/dist/esm/crowdsource-manager.entry.js +1 -1
- package/dist/esm/crowdsource-reporter.entry.js +122 -21
- package/dist/esm/{date-5630530d.js → date-0c026a8b.js} +1 -1
- package/dist/esm/{downloadUtils-0c1e4d7b.js → downloadUtils-df4f21f6.js} +2 -2
- package/dist/esm/{index.es-286e3cfa.js → index.es-904fb846.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +8 -8
- package/dist/esm/{mapViewUtils-253178f1.js → mapViewUtils-2ec19fb0.js} +11 -5
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/demos/crowdsource-reporter.html +115 -1
- package/dist/solutions-components/{p-813fd8a4.entry.js → p-29f518fd.entry.js} +2 -2
- package/dist/solutions-components/{p-13ca3b00.entry.js → p-452fd697.entry.js} +1 -1
- package/dist/solutions-components/p-511b1c91.entry.js +23 -0
- package/dist/solutions-components/p-577efb16.js +36 -0
- package/dist/solutions-components/{p-94de9279.js → p-5817d78c.js} +1 -1
- package/dist/solutions-components/p-602cd811.entry.js +17 -0
- package/dist/solutions-components/{p-15f9624a.entry.js → p-6557b703.entry.js} +1 -1
- package/dist/solutions-components/p-7269c49b.entry.js +6 -0
- package/dist/solutions-components/p-760bd17e.entry.js +6 -0
- package/dist/solutions-components/p-95fea07a.entry.js +17 -0
- package/dist/solutions-components/{p-212b02e7.js → p-ae4d86e8.js} +1 -1
- package/dist/solutions-components/{p-038fcd93.entry.js → p-c273ab7a.entry.js} +1 -1
- package/dist/solutions-components/p-d742b915.entry.js +29 -0
- package/dist/solutions-components/p-dfad61a8.entry.js +24 -0
- package/dist/solutions-components/{p-331b5d1e.js → p-fca434c8.js} +2 -2
- package/dist/solutions-components/p-fd82a00f.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/mapViewUtils.ts +13 -5
- package/dist/types/components/create-feature/create-feature.d.ts +4 -4
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +91 -10
- package/dist/types/components/feature-details/feature-details.d.ts +151 -0
- package/dist/types/components/feature-list/feature-list.d.ts +6 -0
- package/dist/types/components/info-card/info-card.d.ts +33 -1
- package/dist/types/components.d.ts +129 -12
- package/dist/types/preact.d.ts +6 -1
- package/dist/types/utils/mapViewUtils.d.ts +5 -3
- package/package.json +1 -1
- package/dist/cjs/calcite-block_2.cjs.entry.js +0 -652
- package/dist/cjs/calcite-graph_2.cjs.entry.js +0 -1055
- package/dist/cjs/calcite-scrim.cjs.entry.js +0 -125
- package/dist/cjs/utils-7bc7f595.js +0 -64
- package/dist/esm/calcite-block_2.entry.js +0 -647
- package/dist/esm/calcite-graph_2.entry.js +0 -1050
- package/dist/esm/calcite-scrim.entry.js +0 -121
- package/dist/esm/utils-9fb4104a.js +0 -61
- package/dist/solutions-components/p-04c37d69.entry.js +0 -17
- package/dist/solutions-components/p-0b92e4b1.entry.js +0 -11
- package/dist/solutions-components/p-238d3b5f.entry.js +0 -6
- package/dist/solutions-components/p-3af79063.js +0 -36
- package/dist/solutions-components/p-80b11ec1.entry.js +0 -17
- package/dist/solutions-components/p-a3a11749.entry.js +0 -6
- package/dist/solutions-components/p-aec06ce4.entry.js +0 -18
- package/dist/solutions-components/p-bfdf89c2.js +0 -11
- package/dist/solutions-components/p-c4ff3b52.entry.js +0 -17
- package/dist/solutions-components/p-ced067bd.entry.js +0 -17
- package/dist/solutions-components/p-d136eab0.entry.js +0 -23
- package/dist/solutions-components/p-e0446d5b.entry.js +0 -6
@@ -207,7 +207,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class MapSelectTools ext
|
|
207
207
|
* Renders the component.
|
208
208
|
*/
|
209
209
|
render() {
|
210
|
-
return (h(Host, null, this._getMapLayerPicker(), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } }), h("div", { class: "padding-top-1" }, h("map-draw-tools", { active: true, editGraphicsEnabled: !this._useLayerFeaturesEnabled, graphics: this._graphics, mapView: this.mapView, onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, ref: (el) => { this._drawTools = el; } })), this._getBufferOptions(), this._getUseLayerFeaturesOptions(), this._getNumSelected()), h("div", { class: "border-bottom" }), this._getNameInput()));
|
210
|
+
return (h(Host, null, this._getMapLayerPicker(), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } }), h("div", { class: "padding-top-1" }, h("map-draw-tools", { active: true, editGraphicsEnabled: !this._useLayerFeaturesEnabled, graphics: this._graphics, mapView: this.mapView, onSketchGraphicsChange: (evt) => void this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, ref: (el) => { this._drawTools = el; } })), this._getBufferOptions(), this._getUseLayerFeaturesOptions(), this._getNumSelected()), h("div", { class: "border-bottom" }), this._getNameInput()));
|
211
211
|
}
|
212
212
|
/**
|
213
213
|
* Renders the buffer tools component.
|
@@ -216,7 +216,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class MapSelectTools ext
|
|
216
216
|
var _a, _b;
|
217
217
|
const showBufferToolsClass = this._searchDistanceEnabled ? "search-distance" : "div-not-visible";
|
218
218
|
const bufferDistance = typeof ((_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance) === "number" ? this.selectionSet.distance : this.defaultBufferDistance;
|
219
|
-
return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.searchDistance, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "search-distance-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "search-distance-icon" }, h("span", { class: "tooltip-message" }, this._translations.useSearchDistanceTootip)), h("calcite-switch", { checked: this._searchDistanceEnabled, onCalciteSwitchChange: () => this._searchDistanceEnabled = !this._searchDistanceEnabled })), h("div", { class: showBufferToolsClass }, h("buffer-tools", { disabled: !this._searchDistanceEnabled, distance: bufferDistance, geometries: this.geometries, onBufferComplete: (evt) => this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: ((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit) || this.defaultBufferUnit }))));
|
219
|
+
return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.searchDistance, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "search-distance-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "search-distance-icon" }, h("span", { class: "tooltip-message" }, this._translations.useSearchDistanceTootip)), h("calcite-switch", { checked: this._searchDistanceEnabled, onCalciteSwitchChange: () => this._searchDistanceEnabled = !this._searchDistanceEnabled })), h("div", { class: showBufferToolsClass }, h("buffer-tools", { disabled: !this._searchDistanceEnabled, distance: bufferDistance, geometries: this.geometries, onBufferComplete: (evt) => void this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: ((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit) || this.defaultBufferUnit }))));
|
220
220
|
}
|
221
221
|
/**
|
222
222
|
* Renders the map layer picker component.
|
@@ -252,7 +252,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class MapSelectTools ext
|
|
252
252
|
* @protected
|
253
253
|
*/
|
254
254
|
_getMapLayerPicker() {
|
255
|
-
return (h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, h("map-layer-picker", { enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => this._inputLayerSelectionChange(evt), selectedIds: this.selectLayerView ? [this.selectLayerView.layer.id] : this.selectionSet ? [this.selectionSet.layerView.layer.id] : [], showTables: false }))));
|
255
|
+
return (h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, h("map-layer-picker", { enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => void this._inputLayerSelectionChange(evt), selectedIds: this.selectLayerView ? [this.selectLayerView.layer.id] : this.selectionSet ? [this.selectionSet.layerView.layer.id] : [], showTables: false }))));
|
256
256
|
}
|
257
257
|
//--------------------------------------------------------------------------
|
258
258
|
//
|
@@ -324,7 +324,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class MapSelectTools ext
|
|
324
324
|
});
|
325
325
|
this._selectionLabel = (_c = this.selectionSet) === null || _c === void 0 ? void 0 : _c.label;
|
326
326
|
if (!this._useLayerFeaturesEnabled) {
|
327
|
-
(_d = this._drawTools) === null || _d === void 0 ? void 0 : _d.updateGraphics();
|
327
|
+
await ((_d = this._drawTools) === null || _d === void 0 ? void 0 : _d.updateGraphics());
|
328
328
|
}
|
329
329
|
await goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);
|
330
330
|
}
|
@@ -470,7 +470,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class MapSelectTools ext
|
|
470
470
|
}
|
471
471
|
this._workflowType = this._useLayerFeaturesEnabled ? EWorkflowType.SELECT : EWorkflowType.SKETCH;
|
472
472
|
if (this._workflowType === EWorkflowType.SKETCH) {
|
473
|
-
this._drawTools.updateGraphics();
|
473
|
+
await this._drawTools.updateGraphics();
|
474
474
|
}
|
475
475
|
await this._updateLabel();
|
476
476
|
this._clearSearchWidget();
|
@@ -155,12 +155,13 @@ async function getAllLayers(mapView) {
|
|
155
155
|
* @param layerView the layer view to highlight
|
156
156
|
* @param mapView the map view used if updateExtent is true
|
157
157
|
* @param updateExtent optional (default false) boolean to indicate if we should zoom to the extent
|
158
|
+
* @param zoomToScale optional (default 0) zoomScale that individual points will use when zoomed to
|
158
159
|
*
|
159
160
|
* @returns Promise resolving with the highlight handle
|
160
161
|
*/
|
161
|
-
async function highlightFeatures(ids, layerView, mapView, updateExtent = false) {
|
162
|
+
async function highlightFeatures(ids, layerView, mapView, updateExtent = false, zoomToScale = 0) {
|
162
163
|
if (updateExtent) {
|
163
|
-
await goToSelection(ids, layerView, mapView, false);
|
164
|
+
await goToSelection(ids, layerView, mapView, false, undefined, zoomToScale);
|
164
165
|
//wait for sometime to load the feature in layerView then only the highlight will work
|
165
166
|
await new Promise(resolve => setTimeout(resolve, 1000));
|
166
167
|
}
|
@@ -246,13 +247,18 @@ async function flashSelection(ids, layerView, featureEffect) {
|
|
246
247
|
* @param layerView the layer view that contains the OIDs
|
247
248
|
* @param mapView the map view to show the extent change
|
248
249
|
* @param flashFeatures optional (default true) boolean to indicate if we should flash the features
|
249
|
-
*
|
250
|
+
* @param featureEffect optional (default undefined) feature effect when flashing the features
|
251
|
+
* @param zoomToScale optional (default to 0) zoomScale that individual points will use when zoomed to
|
250
252
|
* @returns Promise resolving when the operation is complete
|
251
253
|
*
|
252
254
|
*/
|
253
|
-
async function goToSelection(ids, layerView, mapView, flashFeatures = true, featureEffect = undefined) {
|
255
|
+
async function goToSelection(ids, layerView, mapView, flashFeatures = true, featureEffect = undefined, zoomToScale = 0) {
|
254
256
|
const result = await queryExtent(ids, layerView.layer);
|
255
|
-
|
257
|
+
const goToParams = { target: result.extent };
|
258
|
+
if (result.count === 1 && layerView.layer.geometryType === 'point' && zoomToScale) {
|
259
|
+
goToParams.scale = zoomToScale;
|
260
|
+
}
|
261
|
+
await mapView.goTo(goToParams);
|
256
262
|
if (flashFeatures) {
|
257
263
|
await flashSelection(ids, layerView, featureEffect);
|
258
264
|
}
|
@@ -313,7 +313,7 @@ const RefineSelection = /*@__PURE__*/ proxyCustomElement(class RefineSelection e
|
|
313
313
|
});
|
314
314
|
const oids = Array.isArray(graphics) ? graphics.map(g => { var _a; return g.attributes[(_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.objectIdField]; }) : [];
|
315
315
|
await this._updateIds(oids, this._selectionMode, this._refineSelectionSet.undoStack, this._refineLayer);
|
316
|
-
this._drawTools.clear();
|
316
|
+
void this._drawTools.clear();
|
317
317
|
}
|
318
318
|
/**
|
319
319
|
* Highlight any selected features in the map
|
@@ -5,11 +5,11 @@
|
|
5
5
|
*/
|
6
6
|
import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement, f as forceUpdate, H as Host } from './index-164d485a.js';
|
7
7
|
import { g as getRoundRobinIndex } from './array-396bdf3c.js';
|
8
|
-
import { t as toAriaBoolean, i as isPrimaryPointerButton, e as focusElement, f as focusFirstTabbable, q as queryElementRoots } from './dom-38c6f027.js';
|
8
|
+
import { t as toAriaBoolean, i as isPrimaryPointerButton, e as focusElement, f as focusFirstTabbable, q as queryElementRoots, D as slotChangeHasContent } from './dom-38c6f027.js';
|
9
9
|
import { g as guid } from './guid-b75a5f7b.js';
|
10
10
|
import { i as isActivationKey } from './key-c83d835f.js';
|
11
11
|
import { s as setUpLoadableComponent, a as setComponentLoaded, c as componentFocusable } from './loadable-37e7fbd6.js';
|
12
|
-
import { a as activeAttr, C as CSS$
|
12
|
+
import { a as activeAttr, C as CSS$2, I as ICONS, S as SLOTS } from './resources-20074cb1.js';
|
13
13
|
import { f as filterComputedPlacements, c as connectFloatingUI, b as defaultOffsetDistance, a as disconnectFloatingUI, r as reposition, F as FloatingCSS } from './floating-ui-41dfe3f1.js';
|
14
14
|
import { d as deactivateFocusTrap, a as activateFocusTrap, c as connectFocusTrap, u as updateFocusTrapElements } from './focusTrapComponent-47ddce58.js';
|
15
15
|
import { o as onToggleOpenCloseComponent } from './openCloseComponent-9f90f493.js';
|
@@ -272,7 +272,7 @@ const ActionMenu = class {
|
|
272
272
|
}
|
273
273
|
renderMenuButton() {
|
274
274
|
const { appearance, label, scale, expanded } = this;
|
275
|
-
const menuButtonSlot = (h("slot", { name: SLOTS.trigger, onSlotchange: this.setMenuButtonEl }, h("calcite-action", { appearance: appearance, class: CSS$
|
275
|
+
const menuButtonSlot = (h("slot", { name: SLOTS.trigger, onSlotchange: this.setMenuButtonEl }, h("calcite-action", { appearance: appearance, class: CSS$2.defaultTrigger, icon: ICONS.menu, scale: scale, text: label, textEnabled: expanded,
|
276
276
|
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
277
277
|
ref: this.setDefaultMenuButtonEl })));
|
278
278
|
return menuButtonSlot;
|
@@ -281,7 +281,7 @@ const ActionMenu = class {
|
|
281
281
|
const { actionElements, activeMenuItemIndex, open, menuId, menuButtonEl, label, placement, overlayPositioning, flipPlacements, } = this;
|
282
282
|
const activeAction = actionElements[activeMenuItemIndex];
|
283
283
|
const activeDescendantId = (activeAction === null || activeAction === void 0 ? void 0 : activeAction.id) || null;
|
284
|
-
return (h("calcite-popover", { autoClose: true, flipPlacements: flipPlacements, focusTrapDisabled: true, label: label, offsetDistance: 0, onCalcitePopoverClose: this.handlePopoverClose, onCalcitePopoverOpen: this.handlePopoverOpen, open: open, overlayPositioning: overlayPositioning, placement: placement, pointerDisabled: true, referenceElement: menuButtonEl }, h("div", { "aria-activedescendant": activeDescendantId, "aria-labelledby": menuButtonEl === null || menuButtonEl === void 0 ? void 0 : menuButtonEl.id, class: CSS$
|
284
|
+
return (h("calcite-popover", { autoClose: true, flipPlacements: flipPlacements, focusTrapDisabled: true, label: label, offsetDistance: 0, onCalcitePopoverClose: this.handlePopoverClose, onCalcitePopoverOpen: this.handlePopoverOpen, open: open, overlayPositioning: overlayPositioning, placement: placement, pointerDisabled: true, referenceElement: menuButtonEl }, h("div", { "aria-activedescendant": activeDescendantId, "aria-labelledby": menuButtonEl === null || menuButtonEl === void 0 ? void 0 : menuButtonEl.id, class: CSS$2.menu, id: menuId, onClick: this.handleCalciteActionClick, role: "menu", tabIndex: -1 }, h("slot", { onSlotchange: this.handleDefaultSlotChange }))));
|
285
285
|
}
|
286
286
|
render() {
|
287
287
|
return (h(Fragment, null, this.renderMenuButton(), this.renderMenuItems(), h("slot", { name: SLOTS.tooltip, onSlotchange: this.updateTooltip })));
|
@@ -303,7 +303,7 @@ ActionMenu.style = actionMenuCss;
|
|
303
303
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
304
304
|
* v2.4.0
|
305
305
|
*/
|
306
|
-
const CSS = {
|
306
|
+
const CSS$1 = {
|
307
307
|
container: "container",
|
308
308
|
imageContainer: "image-container",
|
309
309
|
closeButtonContainer: "close-button-container",
|
@@ -646,14 +646,14 @@ const Popover = class {
|
|
646
646
|
// --------------------------------------------------------------------------
|
647
647
|
renderCloseButton() {
|
648
648
|
const { messages, closable } = this;
|
649
|
-
return closable ? (h("div", { class: CSS.closeButtonContainer, key: CSS.closeButtonContainer }, h("calcite-action", { appearance: "transparent", class: CSS.closeButton, onClick: this.hide, scale: this.scale, text: messages.close,
|
649
|
+
return closable ? (h("div", { class: CSS$1.closeButtonContainer, key: CSS$1.closeButtonContainer }, h("calcite-action", { appearance: "transparent", class: CSS$1.closeButton, onClick: this.hide, scale: this.scale, text: messages.close,
|
650
650
|
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
651
651
|
ref: (closeButtonEl) => (this.closeButtonEl = closeButtonEl) }, h("calcite-icon", { icon: "x", scale: getIconScale(this.scale) })))) : null;
|
652
652
|
}
|
653
653
|
renderHeader() {
|
654
654
|
const { heading, headingLevel } = this;
|
655
|
-
const headingNode = heading ? (h(Heading, { class: CSS.heading, level: headingLevel }, heading)) : null;
|
656
|
-
return headingNode ? (h("div", { class: CSS.header, key: CSS.header }, headingNode, this.renderCloseButton())) : null;
|
655
|
+
const headingNode = heading ? (h(Heading, { class: CSS$1.heading, level: headingLevel }, heading)) : null;
|
656
|
+
return headingNode ? (h("div", { class: CSS$1.header, key: CSS$1.header }, headingNode, this.renderCloseButton())) : null;
|
657
657
|
}
|
658
658
|
render() {
|
659
659
|
const { effectiveReferenceElement, heading, label, open, pointerDisabled, floatingLayout } = this;
|
@@ -668,9 +668,9 @@ const Popover = class {
|
|
668
668
|
},
|
669
669
|
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
670
670
|
ref: this.setTransitionEl }, arrowNode, h("div", { class: {
|
671
|
-
[CSS.hasHeader]: !!heading,
|
672
|
-
[CSS.container]: true,
|
673
|
-
} }, this.renderHeader(), h("div", { class: CSS.content }, h("slot", null)), !heading ? this.renderCloseButton() : null))));
|
671
|
+
[CSS$1.hasHeader]: !!heading,
|
672
|
+
[CSS$1.container]: true,
|
673
|
+
} }, this.renderHeader(), h("div", { class: CSS$1.content }, h("slot", null)), !heading ? this.renderCloseButton() : null))));
|
674
674
|
}
|
675
675
|
static get assetsDirs() { return ["assets"]; }
|
676
676
|
get el() { return getElement(this); }
|
@@ -689,4 +689,110 @@ const Popover = class {
|
|
689
689
|
};
|
690
690
|
Popover.style = popoverCss;
|
691
691
|
|
692
|
-
|
692
|
+
/*!
|
693
|
+
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
694
|
+
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
695
|
+
* v2.4.0
|
696
|
+
*/
|
697
|
+
const CSS = {
|
698
|
+
scrim: "scrim",
|
699
|
+
content: "content",
|
700
|
+
};
|
701
|
+
const BREAKPOINTS = {
|
702
|
+
s: 72,
|
703
|
+
// medium is assumed default.
|
704
|
+
l: 480, // Greater than or equal to 480px.
|
705
|
+
};
|
706
|
+
|
707
|
+
const scrimCss = ":host{--calcite-scrim-background:var(--calcite-color-transparent-scrim);position:absolute;inset:0px;z-index:var(--calcite-z-index-overlay);display:flex;block-size:100%;inline-size:100%;flex-direction:column;align-items:stretch}@keyframes calcite-scrim-fade-in{0%{--tw-bg-opacity:0}100%{--tw-text-opacity:1}}.scrim{position:absolute;inset:0px;display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-scrim-background, var(--calcite-color-transparent-scrim))}.content{padding:1rem}:host([hidden]){display:none}[hidden]{display:none}";
|
708
|
+
|
709
|
+
const Scrim = class {
|
710
|
+
constructor(hostRef) {
|
711
|
+
registerInstance(this, hostRef);
|
712
|
+
this.resizeObserver = createObserver("resize", () => this.handleResize());
|
713
|
+
// --------------------------------------------------------------------------
|
714
|
+
//
|
715
|
+
// Private Methods
|
716
|
+
//
|
717
|
+
// --------------------------------------------------------------------------
|
718
|
+
this.handleDefaultSlotChange = (event) => {
|
719
|
+
this.hasContent = slotChangeHasContent(event);
|
720
|
+
};
|
721
|
+
this.storeLoaderEl = (el) => {
|
722
|
+
this.loaderEl = el;
|
723
|
+
this.handleResize();
|
724
|
+
};
|
725
|
+
this.loading = false;
|
726
|
+
this.messages = undefined;
|
727
|
+
this.messageOverrides = undefined;
|
728
|
+
this.loaderScale = undefined;
|
729
|
+
this.defaultMessages = undefined;
|
730
|
+
this.effectiveLocale = "";
|
731
|
+
this.hasContent = false;
|
732
|
+
}
|
733
|
+
onMessagesChange() {
|
734
|
+
/* wired up by t9n util */
|
735
|
+
}
|
736
|
+
effectiveLocaleChange() {
|
737
|
+
updateMessages(this, this.effectiveLocale);
|
738
|
+
}
|
739
|
+
//--------------------------------------------------------------------------
|
740
|
+
//
|
741
|
+
// Lifecycle
|
742
|
+
//
|
743
|
+
//--------------------------------------------------------------------------
|
744
|
+
connectedCallback() {
|
745
|
+
var _a;
|
746
|
+
connectLocalized(this);
|
747
|
+
connectMessages(this);
|
748
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el);
|
749
|
+
}
|
750
|
+
async componentWillLoad() {
|
751
|
+
await setUpMessages(this);
|
752
|
+
}
|
753
|
+
disconnectedCallback() {
|
754
|
+
var _a;
|
755
|
+
disconnectLocalized(this);
|
756
|
+
disconnectMessages(this);
|
757
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
758
|
+
}
|
759
|
+
// --------------------------------------------------------------------------
|
760
|
+
//
|
761
|
+
// Render Method
|
762
|
+
//
|
763
|
+
// --------------------------------------------------------------------------
|
764
|
+
render() {
|
765
|
+
const { hasContent, loading, messages } = this;
|
766
|
+
return (h("div", { class: CSS.scrim }, loading ? (h("calcite-loader", { label: messages.loading, scale: this.loaderScale,
|
767
|
+
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
768
|
+
ref: this.storeLoaderEl })) : null, h("div", { class: CSS.content, hidden: !hasContent }, h("slot", { onSlotchange: this.handleDefaultSlotChange }))));
|
769
|
+
}
|
770
|
+
getScale(size) {
|
771
|
+
if (size < BREAKPOINTS.s) {
|
772
|
+
return "s";
|
773
|
+
}
|
774
|
+
else if (size >= BREAKPOINTS.l) {
|
775
|
+
return "l";
|
776
|
+
}
|
777
|
+
else {
|
778
|
+
return "m";
|
779
|
+
}
|
780
|
+
}
|
781
|
+
handleResize() {
|
782
|
+
var _a;
|
783
|
+
const { loaderEl, el } = this;
|
784
|
+
if (!loaderEl) {
|
785
|
+
return;
|
786
|
+
}
|
787
|
+
this.loaderScale = this.getScale((_a = Math.min(el.clientHeight, el.clientWidth)) !== null && _a !== void 0 ? _a : 0);
|
788
|
+
}
|
789
|
+
static get assetsDirs() { return ["assets"]; }
|
790
|
+
get el() { return getElement(this); }
|
791
|
+
static get watchers() { return {
|
792
|
+
"messageOverrides": ["onMessagesChange"],
|
793
|
+
"effectiveLocale": ["effectiveLocaleChange"]
|
794
|
+
}; }
|
795
|
+
};
|
796
|
+
Scrim.style = scrimCss;
|
797
|
+
|
798
|
+
export { ActionMenu as calcite_action_menu, Popover as calcite_popover, Scrim as calcite_scrim };
|
@@ -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-bcbea4ef.js';
|
15
|
-
import { a as getAllLayers } from './mapViewUtils-
|
15
|
+
import { a as getAllLayers } from './mapViewUtils-2ec19fb0.js';
|
16
16
|
import { P as PopupUtils } from './popupUtils-af124b47.js';
|
17
17
|
import './guid-b75a5f7b.js';
|
18
18
|
import './resources-8834f920.js';
|
@@ -664,7 +664,7 @@ const EditCard = class {
|
|
664
664
|
};
|
665
665
|
EditCard.style = editCardCss;
|
666
666
|
|
667
|
-
const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:
|
667
|
+
const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand)}";
|
668
668
|
|
669
669
|
const InfoCard = class {
|
670
670
|
constructor(hostRef) {
|
@@ -678,6 +678,8 @@ const InfoCard = class {
|
|
678
678
|
this.zoomAndScrollToSelected = undefined;
|
679
679
|
this.allowEditing = true;
|
680
680
|
this.highlightEnabled = true;
|
681
|
+
this.paginationEnabled = true;
|
682
|
+
this.position = 'absolute';
|
681
683
|
this._alertOpen = false;
|
682
684
|
this._count = "";
|
683
685
|
this._editRecordOpen = false;
|
@@ -723,6 +725,45 @@ const InfoCard = class {
|
|
723
725
|
async getSelectedFeature() {
|
724
726
|
return this._features.selectedFeature;
|
725
727
|
}
|
728
|
+
/**
|
729
|
+
* Get the current selected feature from the Features widget
|
730
|
+
* @returns Promise resolving with the current feature
|
731
|
+
*/
|
732
|
+
async refresh() {
|
733
|
+
await this.setGraphics();
|
734
|
+
}
|
735
|
+
/**
|
736
|
+
* Go to the previous feature in the features widget
|
737
|
+
*/
|
738
|
+
async back() {
|
739
|
+
this._features.previous();
|
740
|
+
this._count = this._getCount();
|
741
|
+
}
|
742
|
+
/**
|
743
|
+
* Go to the next feature in the features widget
|
744
|
+
*/
|
745
|
+
async next() {
|
746
|
+
this._features.next();
|
747
|
+
this._count = this._getCount();
|
748
|
+
}
|
749
|
+
/**
|
750
|
+
* Toggle the visibility of the features list view
|
751
|
+
*/
|
752
|
+
async toggleListView() {
|
753
|
+
this._showListView = !this._showListView;
|
754
|
+
const i = this._features.selectedFeatureIndex;
|
755
|
+
this._features.open({
|
756
|
+
features: this.graphics,
|
757
|
+
featureMenuOpen: this._showListView
|
758
|
+
});
|
759
|
+
this._features.selectedFeatureIndex = i;
|
760
|
+
}
|
761
|
+
/**
|
762
|
+
* update the current graphics to the features widget
|
763
|
+
*/
|
764
|
+
async updateCurrentGraphic(selectedGraphic) {
|
765
|
+
this._features.selectedFeatureWidget.graphic = selectedGraphic;
|
766
|
+
}
|
726
767
|
/**
|
727
768
|
* Respond to and close the edit record display
|
728
769
|
*
|
@@ -787,8 +828,8 @@ const InfoCard = class {
|
|
787
828
|
const id = (_d = (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeature) === null || _d === void 0 ? void 0 : _d.getObjectId();
|
788
829
|
const ids = parseInt(id === null || id === void 0 ? void 0 : id.toString(), 10) > -1 ? [id] : [];
|
789
830
|
const deleteEnabled = ((_e = this._layer) === null || _e === void 0 ? void 0 : _e.editingEnabled) && ((_h = (_g = (_f = this._layer) === null || _f === void 0 ? void 0 : _f.capabilities) === null || _g === void 0 ? void 0 : _g.operations) === null || _h === void 0 ? void 0 : _h.supportsDelete);
|
790
|
-
return (h(Host, null, h("calcite-shell",
|
791
|
-
h("div", { class: "display-flex top-border padding-1-2" }, h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, onEditsComplete: () => this._closePopup() })) : undefined, h("calcite-tooltip", {
|
831
|
+
return (h(Host, null, h("calcite-shell", { style: { position: this.position } }, this._getHeader(), h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), h("div", { class: "esri-widget feature-node " + featureNodeClass, id: "features-node" }), h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
|
832
|
+
h("div", { class: "display-flex top-border padding-1-2" }, h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, onEditsComplete: () => this._closePopup() })) : undefined, h("calcite-tooltip", { placement: "bottom", "reference-element": "solutions-edit" }, h("span", null, this._translations.edit)), this.isMobile ? (h("calcite-tooltip", { placement: "bottom", "reference-element": "solutions-delete" }, h("span", null, this._translations.delete))) : undefined), this.paginationEnabled && !nextBackDisabled && h("div", { class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, h("div", null, h("calcite-button", { appearance: 'transparent', disabled: nextBackDisabled, iconStart: "chevron-left", id: "solutions-back", onClick: () => this._back(), width: "full" }), h("calcite-tooltip", { placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("calcite-action", { class: 'pagination-action', onClick: () => this._toggleListView(), scale: "s", text: "", textEnabled: true }, h("span", { class: "pagination-count" }, this._count)), h("div", null, h("calcite-button", { appearance: "transparent", disabled: nextBackDisabled, iconStart: "chevron-right", id: "solutions-next", onClick: () => this._next(), width: "full" }), h("calcite-tooltip", { placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next))))), h("edit-card", { class: editClass, graphicIndex: (_j = this._features) === null || _j === void 0 ? void 0 : _j.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { slot: "title" }, this._translations.editDisabled), h("div", { slot: "message" }, this._translations.enableEditing)))));
|
792
833
|
}
|
793
834
|
//--------------------------------------------------------------------------
|
794
835
|
//
|
@@ -863,7 +904,7 @@ const InfoCard = class {
|
|
863
904
|
if (this.zoomAndScrollToSelected) {
|
864
905
|
this.reactiveUtils.watch(() => this._features.selectedFeatureIndex, (i) => {
|
865
906
|
if (i > -1) {
|
866
|
-
this.selectionChanged.emit([this._features.selectedFeature]);
|
907
|
+
this.selectionChanged.emit({ selectedFeature: [this._features.selectedFeature], selectedFeatureIndex: this._features.selectedFeatureIndex });
|
867
908
|
}
|
868
909
|
});
|
869
910
|
}
|