@esri/solutions-components 0.7.30 → 0.7.31
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/crowdsource-reporter/resources.json +7 -5
- package/dist/assets/t9n/crowdsource-reporter/resources_en.json +7 -5
- package/dist/assets/t9n/feature-list/resources.json +1 -1
- package/dist/assets/t9n/feature-list/resources_en.json +1 -1
- package/dist/assets/t9n/layer-list/resources.json +1 -1
- package/dist/assets/t9n/layer-list/resources_en.json +1 -1
- package/dist/cjs/{calcite-flow_4.cjs.entry.js → calcite-flow_5.cjs.entry.js} +235 -19
- package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +221 -32
- package/dist/cjs/{downloadUtils-83c6d3c3.js → downloadUtils-10e0de31.js} +2 -2
- package/dist/cjs/{index.es-bd1a93b2.js → index.es-72dc7ab9.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/public-notification.cjs.entry.js +1 -1
- 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.css +23 -0
- package/dist/collection/components/create-feature/create-feature.js +361 -0
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +10 -1
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +260 -33
- package/dist/collection/components/feature-list/feature-list.js +1 -0
- package/dist/collection/components/layer-list/layer-list.js +60 -16
- package/dist/collection/demos/crowdsource-reporter.html +26 -11
- package/dist/collection/utils/downloadUtils.js +1 -1
- package/dist/collection/utils/downloadUtils.ts +1 -1
- package/dist/components/create-feature.d.ts +11 -0
- package/dist/components/create-feature.js +11 -0
- package/dist/components/create-feature2.js +226 -0
- package/dist/components/crowdsource-reporter.js +297 -90
- package/dist/components/downloadUtils.js +1 -1
- package/dist/components/feature-list2.js +1 -0
- package/dist/components/layer-list2.js +38 -17
- package/dist/esm/{calcite-flow_4.entry.js → calcite-flow_5.entry.js} +235 -20
- package/dist/esm/card-manager_3.entry.js +1 -1
- package/dist/esm/crowdsource-reporter.entry.js +222 -33
- package/dist/esm/{downloadUtils-d070a467.js → downloadUtils-d297078f.js} +2 -2
- package/dist/esm/{index.es-d48535a2.js → index.es-3b4fa9d0.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +1 -1
- package/dist/esm/public-notification.entry.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/demos/crowdsource-reporter.html +26 -11
- package/dist/solutions-components/{p-f120ff40.entry.js → p-09ec8c8f.entry.js} +1 -1
- package/dist/solutions-components/{p-55b835a1.js → p-103c5318.js} +2 -2
- package/dist/solutions-components/{p-309cdea1.entry.js → p-57d49d15.entry.js} +1 -1
- package/dist/solutions-components/{p-b913a4fd.js → p-8ec25bf4.js} +1 -1
- package/dist/solutions-components/{p-f22ff57e.entry.js → p-921f21d5.entry.js} +1 -1
- package/dist/solutions-components/p-b4e2cac4.entry.js +17 -0
- package/dist/solutions-components/p-bb6562ab.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/downloadUtils.ts +1 -1
- package/dist/types/components/create-feature/create-feature.d.ts +107 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +132 -12
- package/dist/types/components/feature-list/feature-list.d.ts +1 -0
- package/dist/types/components/layer-list/layer-list.d.ts +6 -0
- package/dist/types/components.d.ts +89 -0
- package/dist/types/preact.d.ts +6 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-2f162664.entry.js +0 -6
- package/dist/solutions-components/p-94ee3ef7.entry.js +0 -17
@@ -2859,7 +2859,7 @@ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain,
|
|
2859
2859
|
if (attributeDomain && attributeDomain.type === "coded-value") {
|
2860
2860
|
// "coded-value" domain field
|
2861
2861
|
const value = attributeDomain.getName(attributeValue);
|
2862
|
-
return value.toString();
|
2862
|
+
return value === null || value === void 0 ? void 0 : value.toString();
|
2863
2863
|
}
|
2864
2864
|
else {
|
2865
2865
|
// Non-domain field or unsupported domain type
|
@@ -91,6 +91,7 @@ const FeatureList = /*@__PURE__*/ proxyCustomElement(class FeatureList extends H
|
|
91
91
|
//--------------------------------------------------------------------------
|
92
92
|
/**
|
93
93
|
* Initialize the features list using the selected layer
|
94
|
+
* @protected
|
94
95
|
*/
|
95
96
|
async initializeFeatureItems() {
|
96
97
|
if (this._selectedLayer) {
|
@@ -39,6 +39,23 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
|
|
39
39
|
}
|
40
40
|
//--------------------------------------------------------------------------
|
41
41
|
//
|
42
|
+
// Watch handlers
|
43
|
+
//
|
44
|
+
//--------------------------------------------------------------------------
|
45
|
+
//--------------------------------------------------------------------------
|
46
|
+
//
|
47
|
+
// Methods (public)
|
48
|
+
//
|
49
|
+
//--------------------------------------------------------------------------
|
50
|
+
/**
|
51
|
+
* Refresh the layer list which will fetch the latest layer count and update the list
|
52
|
+
* @returns Promise that resolves when the operation is complete
|
53
|
+
*/
|
54
|
+
async refresh() {
|
55
|
+
await this.setLayers();
|
56
|
+
}
|
57
|
+
//--------------------------------------------------------------------------
|
58
|
+
//
|
42
59
|
// Functions (lifecycle)
|
43
60
|
//
|
44
61
|
//--------------------------------------------------------------------------
|
@@ -63,7 +80,7 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
|
|
63
80
|
render() {
|
64
81
|
return (h(Fragment, null, this._isLoading && h("calcite-loader", { scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
|
65
82
|
h("calcite-notice", { class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this.noLayerErrorMsg ? this.noLayerErrorMsg : this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
|
66
|
-
h("calcite-list", { "selection-appearance": "border", "selection-mode": this.showNextIcon ? "none" : "single" }, this.renderLayerList())));
|
83
|
+
h("calcite-list", { "selection-appearance": "border", "selection-mode": this.showNextIcon ? "none" : "single-persist" }, this.renderLayerList())));
|
67
84
|
}
|
68
85
|
//--------------------------------------------------------------------------
|
69
86
|
//
|
@@ -90,21 +107,24 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
|
|
90
107
|
this._layerItemsHash = await getMapLayerHash(this.mapView, true);
|
91
108
|
const allMapLayers = await getAllLayers(this.mapView);
|
92
109
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
93
|
-
|
110
|
+
allMapLayers.forEach(async (eachLayer) => {
|
94
111
|
var _a, _b;
|
95
112
|
//TODO: checking editable condition could be configurable
|
96
|
-
if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
113
|
+
if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsAdd)) {
|
114
|
+
this._layerItemsHash[eachLayer.id].supportsAdd = true;
|
115
|
+
if (this.showFeatureCount) {
|
116
|
+
const q = eachLayer.createQuery();
|
117
|
+
const result = eachLayer.queryFeatureCount(q);
|
118
|
+
def.push(result);
|
119
|
+
void result.then(async (resCount) => {
|
120
|
+
const formattedCount = !isNaN(resCount) ? await formatNumber(resCount, {
|
121
|
+
places: 0,
|
122
|
+
api: 4,
|
123
|
+
type: "decimal"
|
124
|
+
}) : "";
|
125
|
+
this._layerItemsHash[eachLayer.id].formattedFeatureCount = formattedCount;
|
126
|
+
});
|
127
|
+
}
|
108
128
|
}
|
109
129
|
});
|
110
130
|
await Promise.all(def).then(() => {
|
@@ -132,9 +152,9 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
|
|
132
152
|
var _a;
|
133
153
|
const configuredLayers = ((_a = this.layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.layers : [];
|
134
154
|
return Object.keys(hash).reduce((prev, cur) => {
|
135
|
-
let showLayer = hash[cur].
|
155
|
+
let showLayer = hash[cur].supportsAdd;
|
136
156
|
if ((configuredLayers === null || configuredLayers === void 0 ? void 0 : configuredLayers.length) > 0) {
|
137
|
-
showLayer = configuredLayers.indexOf(cur) > -1 ? hash[cur].
|
157
|
+
showLayer = configuredLayers.indexOf(cur) > -1 ? hash[cur].supportsAdd : false;
|
138
158
|
}
|
139
159
|
if (showLayer) {
|
140
160
|
prev.push(cur);
|
@@ -193,7 +213,8 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
|
|
193
213
|
"_noLayersToDisplay": [32],
|
194
214
|
"_mapLayerIds": [32],
|
195
215
|
"_isLoading": [32],
|
196
|
-
"_translations": [32]
|
216
|
+
"_translations": [32],
|
217
|
+
"refresh": [64]
|
197
218
|
}]);
|
198
219
|
function defineCustomElement() {
|
199
220
|
if (typeof customElements === "undefined") {
|
@@ -11,16 +11,16 @@ import { c as connectInteractive, u as updateHostInteraction, d as disconnectInt
|
|
11
11
|
import { c as connectLocalized, d as disconnectLocalized } from './locale-6107ef11.js';
|
12
12
|
import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-f16911e7.js';
|
13
13
|
import { S as SLOTS$1 } from './resources-649a0f91.js';
|
14
|
-
import {
|
14
|
+
import { l as loadModules, g as getLocaleComponentStrings, f as formatNumber } from './locale-731e75a8.js';
|
15
15
|
import { g as getLayerOrTable, c as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash, a as getAllLayers } from './mapViewUtils-cf05e880.js';
|
16
|
-
import {
|
16
|
+
import { P as PopupUtils } from './popupUtils-d75edf93.js';
|
17
17
|
import './guid-36c6c6a5.js';
|
18
18
|
import './resources-cdc36705.js';
|
19
19
|
import './browser-b4c16201.js';
|
20
20
|
import './key-af303047.js';
|
21
|
-
import './interfaces-586e863c.js';
|
22
21
|
import './esri-loader-eda07632.js';
|
23
22
|
import './_commonjsHelpers-d5f9d613.js';
|
23
|
+
import './interfaces-586e863c.js';
|
24
24
|
|
25
25
|
/*!
|
26
26
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
@@ -335,6 +335,200 @@ const FlowItem = class {
|
|
335
335
|
};
|
336
336
|
FlowItem.style = flowItemCss;
|
337
337
|
|
338
|
+
const createFeatureCss = ":host{display:block}.esri-editor__panel-toolbar{display:none !important}";
|
339
|
+
|
340
|
+
const CreateFeature = class {
|
341
|
+
constructor(hostRef) {
|
342
|
+
registerInstance(this, hostRef);
|
343
|
+
this.success = createEvent(this, "success", 7);
|
344
|
+
this.fail = createEvent(this, "fail", 7);
|
345
|
+
this.drawComplete = createEvent(this, "drawComplete", 7);
|
346
|
+
this.mapView = undefined;
|
347
|
+
this.selectedLayerId = undefined;
|
348
|
+
}
|
349
|
+
//--------------------------------------------------------------------------
|
350
|
+
//
|
351
|
+
// Watch handlers
|
352
|
+
//
|
353
|
+
//--------------------------------------------------------------------------
|
354
|
+
/**
|
355
|
+
* Called each time the mapView prop is changed.
|
356
|
+
*/
|
357
|
+
async mapViewWatchHandler() {
|
358
|
+
await this.mapView.when(async () => {
|
359
|
+
await this.init();
|
360
|
+
});
|
361
|
+
}
|
362
|
+
//--------------------------------------------------------------------------
|
363
|
+
//
|
364
|
+
// Methods (public)
|
365
|
+
//
|
366
|
+
//--------------------------------------------------------------------------
|
367
|
+
/**
|
368
|
+
* Destroy the Editor widget instance
|
369
|
+
* @returns Promise that resolves when the operation is complete
|
370
|
+
*/
|
371
|
+
async close() {
|
372
|
+
if (this._editor) {
|
373
|
+
this._editor.destroy();
|
374
|
+
}
|
375
|
+
}
|
376
|
+
/**
|
377
|
+
* Submit the created feature
|
378
|
+
* @returns Promise that resolves when the operation is complete
|
379
|
+
*/
|
380
|
+
async submit() {
|
381
|
+
if (this._editor) {
|
382
|
+
this._editor.viewModel.featureFormViewModel.submit();
|
383
|
+
}
|
384
|
+
}
|
385
|
+
//--------------------------------------------------------------------------
|
386
|
+
//
|
387
|
+
// Functions (lifecycle)
|
388
|
+
//
|
389
|
+
//--------------------------------------------------------------------------
|
390
|
+
/**
|
391
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
392
|
+
* @returns Promise when complete
|
393
|
+
*/
|
394
|
+
async componentWillLoad() {
|
395
|
+
await this.initModules();
|
396
|
+
}
|
397
|
+
/**
|
398
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
399
|
+
*/
|
400
|
+
async componentDidLoad() {
|
401
|
+
await this.init();
|
402
|
+
}
|
403
|
+
/**
|
404
|
+
* Renders the component.
|
405
|
+
*/
|
406
|
+
render() {
|
407
|
+
return (h(Host, { id: "feature-form" }));
|
408
|
+
}
|
409
|
+
//--------------------------------------------------------------------------
|
410
|
+
//
|
411
|
+
// Functions (protected)
|
412
|
+
//
|
413
|
+
//--------------------------------------------------------------------------
|
414
|
+
/**
|
415
|
+
* Init Editor widget and starts the create workflow
|
416
|
+
*/
|
417
|
+
async init() {
|
418
|
+
if (this.mapView) {
|
419
|
+
if (this.mapView && this.selectedLayerId) {
|
420
|
+
await getLayerOrTable(this.mapView, this.selectedLayerId);
|
421
|
+
await this.createEditorWidget();
|
422
|
+
await this.startCreate();
|
423
|
+
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
424
|
+
setTimeout(() => {
|
425
|
+
var _a, _b;
|
426
|
+
this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')[1].shadowRoot.querySelector('calcite-panel').shadowRoot.querySelector('article').querySelector('header').setAttribute('style', 'display: none');
|
427
|
+
(_b = (_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')[1].shadowRoot.querySelector('calcite-panel').shadowRoot.querySelector('article')) === null || _a === void 0 ? void 0 : _a.querySelector('footer')) === null || _b === void 0 ? void 0 : _b.setAttribute('style', 'display: none');
|
428
|
+
}, 700);
|
429
|
+
}
|
430
|
+
}
|
431
|
+
}
|
432
|
+
/**
|
433
|
+
* Load esri javascript api modules
|
434
|
+
* @returns Promise resolving when function is done
|
435
|
+
* @protected
|
436
|
+
*/
|
437
|
+
async initModules() {
|
438
|
+
const [Editor] = await loadModules([
|
439
|
+
"esri/widgets/Editor"
|
440
|
+
]);
|
441
|
+
this.Editor = Editor;
|
442
|
+
}
|
443
|
+
/**
|
444
|
+
* Display editor widget to create the new feature
|
445
|
+
* @protected
|
446
|
+
*/
|
447
|
+
async createEditorWidget() {
|
448
|
+
if (this._editor) {
|
449
|
+
this._editor.destroy();
|
450
|
+
}
|
451
|
+
const container = document.createElement("div");
|
452
|
+
const layer = await getLayerOrTable(this.mapView, this.selectedLayerId);
|
453
|
+
const selectedLayer = {
|
454
|
+
layer: layer
|
455
|
+
};
|
456
|
+
this._editor = new this.Editor({
|
457
|
+
allowedWorkflows: "create-features",
|
458
|
+
view: this.mapView,
|
459
|
+
layerInfos: [selectedLayer],
|
460
|
+
visibleElements: {
|
461
|
+
snappingControls: false,
|
462
|
+
snappingControlsElements: {
|
463
|
+
featureEnabledToggle: false,
|
464
|
+
layerList: false,
|
465
|
+
enabledToggle: false
|
466
|
+
}
|
467
|
+
},
|
468
|
+
container,
|
469
|
+
});
|
470
|
+
this.el.appendChild(container);
|
471
|
+
}
|
472
|
+
/**
|
473
|
+
* Start creating the feature
|
474
|
+
* @protected
|
475
|
+
*/
|
476
|
+
async startCreate() {
|
477
|
+
var _a, _b;
|
478
|
+
const layer = await getLayerOrTable(this.mapView, this.selectedLayerId);
|
479
|
+
if (layer) {
|
480
|
+
let template = layer.templates && layer.templates.length ? layer.templates[0] : {};
|
481
|
+
if (((_a = layer.sourceJSON) === null || _a === void 0 ? void 0 : _a.types.length) && ((_b = layer.sourceJSON.types[0].templates) === null || _b === void 0 ? void 0 : _b.length)) {
|
482
|
+
template = layer.sourceJSON.types[0].templates[0];
|
483
|
+
}
|
484
|
+
const creationInfo = {
|
485
|
+
layer: layer,
|
486
|
+
template: template
|
487
|
+
};
|
488
|
+
await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(creationInfo);
|
489
|
+
this._editor.viewModel.sketchViewModel.on("create", (evt) => {
|
490
|
+
if (evt.state === "complete") {
|
491
|
+
this.drawComplete.emit();
|
492
|
+
}
|
493
|
+
});
|
494
|
+
}
|
495
|
+
}
|
496
|
+
/**
|
497
|
+
* On creation of feature emit the event that the feature is created
|
498
|
+
* @param evt feature submit event
|
499
|
+
* @protected
|
500
|
+
*/
|
501
|
+
async submitted(evt) {
|
502
|
+
var _a;
|
503
|
+
if (evt.invalid.length) {
|
504
|
+
return;
|
505
|
+
}
|
506
|
+
if (evt.valid.length) {
|
507
|
+
try {
|
508
|
+
await this._editor.activeWorkflow.commit();
|
509
|
+
//throw errors if any failures
|
510
|
+
if ((_a = this._editor.viewModel.failures) === null || _a === void 0 ? void 0 : _a.length) {
|
511
|
+
this._editor.viewModel.failures.some((failure) => {
|
512
|
+
if (failure.error) {
|
513
|
+
throw (failure.error);
|
514
|
+
}
|
515
|
+
});
|
516
|
+
}
|
517
|
+
}
|
518
|
+
catch (e) {
|
519
|
+
this.fail.emit(e);
|
520
|
+
return;
|
521
|
+
}
|
522
|
+
this.success.emit();
|
523
|
+
}
|
524
|
+
}
|
525
|
+
get el() { return getElement(this); }
|
526
|
+
static get watchers() { return {
|
527
|
+
"mapView": ["mapViewWatchHandler"]
|
528
|
+
}; }
|
529
|
+
};
|
530
|
+
CreateFeature.style = createFeatureCss;
|
531
|
+
|
338
532
|
const featureListCss = ":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.popup-title{font-weight:500;padding:10px 12px}";
|
339
533
|
|
340
534
|
const FeatureList = class {
|
@@ -401,6 +595,7 @@ const FeatureList = class {
|
|
401
595
|
//--------------------------------------------------------------------------
|
402
596
|
/**
|
403
597
|
* Initialize the features list using the selected layer
|
598
|
+
* @protected
|
404
599
|
*/
|
405
600
|
async initializeFeatureItems() {
|
406
601
|
if (this._selectedLayer) {
|
@@ -534,6 +729,23 @@ const LayerList = class {
|
|
534
729
|
}
|
535
730
|
//--------------------------------------------------------------------------
|
536
731
|
//
|
732
|
+
// Watch handlers
|
733
|
+
//
|
734
|
+
//--------------------------------------------------------------------------
|
735
|
+
//--------------------------------------------------------------------------
|
736
|
+
//
|
737
|
+
// Methods (public)
|
738
|
+
//
|
739
|
+
//--------------------------------------------------------------------------
|
740
|
+
/**
|
741
|
+
* Refresh the layer list which will fetch the latest layer count and update the list
|
742
|
+
* @returns Promise that resolves when the operation is complete
|
743
|
+
*/
|
744
|
+
async refresh() {
|
745
|
+
await this.setLayers();
|
746
|
+
}
|
747
|
+
//--------------------------------------------------------------------------
|
748
|
+
//
|
537
749
|
// Functions (lifecycle)
|
538
750
|
//
|
539
751
|
//--------------------------------------------------------------------------
|
@@ -558,7 +770,7 @@ const LayerList = class {
|
|
558
770
|
render() {
|
559
771
|
return (h(Fragment, null, this._isLoading && h("calcite-loader", { scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
|
560
772
|
h("calcite-notice", { class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this.noLayerErrorMsg ? this.noLayerErrorMsg : this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
|
561
|
-
h("calcite-list", { "selection-appearance": "border", "selection-mode": this.showNextIcon ? "none" : "single" }, this.renderLayerList())));
|
773
|
+
h("calcite-list", { "selection-appearance": "border", "selection-mode": this.showNextIcon ? "none" : "single-persist" }, this.renderLayerList())));
|
562
774
|
}
|
563
775
|
//--------------------------------------------------------------------------
|
564
776
|
//
|
@@ -585,21 +797,24 @@ const LayerList = class {
|
|
585
797
|
this._layerItemsHash = await getMapLayerHash(this.mapView, true);
|
586
798
|
const allMapLayers = await getAllLayers(this.mapView);
|
587
799
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
588
|
-
|
800
|
+
allMapLayers.forEach(async (eachLayer) => {
|
589
801
|
var _a, _b;
|
590
802
|
//TODO: checking editable condition could be configurable
|
591
|
-
if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
803
|
+
if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsAdd)) {
|
804
|
+
this._layerItemsHash[eachLayer.id].supportsAdd = true;
|
805
|
+
if (this.showFeatureCount) {
|
806
|
+
const q = eachLayer.createQuery();
|
807
|
+
const result = eachLayer.queryFeatureCount(q);
|
808
|
+
def.push(result);
|
809
|
+
void result.then(async (resCount) => {
|
810
|
+
const formattedCount = !isNaN(resCount) ? await formatNumber(resCount, {
|
811
|
+
places: 0,
|
812
|
+
api: 4,
|
813
|
+
type: "decimal"
|
814
|
+
}) : "";
|
815
|
+
this._layerItemsHash[eachLayer.id].formattedFeatureCount = formattedCount;
|
816
|
+
});
|
817
|
+
}
|
603
818
|
}
|
604
819
|
});
|
605
820
|
await Promise.all(def).then(() => {
|
@@ -627,9 +842,9 @@ const LayerList = class {
|
|
627
842
|
var _a;
|
628
843
|
const configuredLayers = ((_a = this.layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.layers : [];
|
629
844
|
return Object.keys(hash).reduce((prev, cur) => {
|
630
|
-
let showLayer = hash[cur].
|
845
|
+
let showLayer = hash[cur].supportsAdd;
|
631
846
|
if ((configuredLayers === null || configuredLayers === void 0 ? void 0 : configuredLayers.length) > 0) {
|
632
|
-
showLayer = configuredLayers.indexOf(cur) > -1 ? hash[cur].
|
847
|
+
showLayer = configuredLayers.indexOf(cur) > -1 ? hash[cur].supportsAdd : false;
|
633
848
|
}
|
634
849
|
if (showLayer) {
|
635
850
|
prev.push(cur);
|
@@ -681,4 +896,4 @@ const LayerList = class {
|
|
681
896
|
};
|
682
897
|
LayerList.style = layerListCss;
|
683
898
|
|
684
|
-
export { Flow as calcite_flow, FlowItem as calcite_flow_item, FeatureList as feature_list, LayerList as layer_list };
|
899
|
+
export { Flow as calcite_flow, FlowItem as calcite_flow_item, CreateFeature as create_feature, FeatureList as feature_list, LayerList as layer_list };
|
@@ -6,7 +6,7 @@
|
|
6
6
|
import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-7183ce4a.js';
|
7
7
|
import { g as getLocaleComponentStrings, l as loadModules } from './locale-731e75a8.js';
|
8
8
|
import { q as queryFeaturesByID, g as getLayerOrTable, b as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID } from './mapViewUtils-cf05e880.js';
|
9
|
-
import { d as downloadCSV } from './downloadUtils-
|
9
|
+
import { d as downloadCSV } from './downloadUtils-d297078f.js';
|
10
10
|
import './esri-loader-eda07632.js';
|
11
11
|
import './_commonjsHelpers-d5f9d613.js';
|
12
12
|
import './interfaces-586e863c.js';
|