@esri/solutions-components 0.10.20 → 0.10.22
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/cjs/calcite-alert_5.cjs.entry.js +6 -2
- package/dist/cjs/crowdsource-manager.cjs.entry.js +17 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +78 -21
- package/dist/cjs/public-notification.cjs.entry.js +3 -3
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +37 -4
- package/dist/collection/components/edit-card/edit-card.js +6 -2
- package/dist/collection/components/map-select-tools/map-select-tools.js +78 -21
- package/dist/collection/components/public-notification/public-notification.js +5 -5
- package/dist/components/crowdsource-manager.js +20 -4
- package/dist/components/edit-card2.js +6 -2
- package/dist/components/map-select-tools2.js +78 -21
- package/dist/components/public-notification.js +3 -3
- package/dist/esm/calcite-alert_5.entry.js +6 -2
- package/dist/esm/crowdsource-manager.entry.js +17 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +78 -21
- package/dist/esm/public-notification.entry.js +3 -3
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/{p-4c88578a.entry.js → p-5067d77e.entry.js} +1 -1
- package/dist/solutions-components/{p-9fed495d.entry.js → p-a85fd786.entry.js} +1 -1
- package/dist/solutions-components/p-bd2278cf.entry.js +6 -0
- package/dist/solutions-components/p-cd5a9034.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
- package/dist/types/components/edit-card/edit-card.d.ts +3 -1
- package/dist/types/components/map-select-tools/map-select-tools.d.ts +22 -0
- package/dist/types/components.d.ts +8 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-5612aa0c.entry.js +0 -6
- package/dist/solutions-components/p-bde2619f.entry.js +0 -6
@@ -60,6 +60,10 @@ const MapSelectTools = class {
|
|
60
60
|
// Properties (protected)
|
61
61
|
//
|
62
62
|
//--------------------------------------------------------------------------
|
63
|
+
/**
|
64
|
+
* esri/request: https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html
|
65
|
+
*/
|
66
|
+
_esriRequest;
|
63
67
|
/**
|
64
68
|
* esri/layers/FeatureLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html
|
65
69
|
*/
|
@@ -289,7 +293,7 @@ const MapSelectTools = class {
|
|
289
293
|
render() {
|
290
294
|
const mapToolsClass = this.enableSketchTools ? "" : "display-none";
|
291
295
|
const mapToolsContainerClass = this.enableSketchTools ? "padding-top-1" : "";
|
292
|
-
return (h(Host, { key: '
|
296
|
+
return (h(Host, { key: '6753158d00a33dd5dfbb1f22cc27388baf4c0b5e' }, this._getMapLayerPicker(), h("div", { key: '082c6be48d3dfbe2e39be2c462959c7772a91d40', class: "border-bottom" }), h("div", { key: '0e8133a809b05bef34c2f19adeff43c1e57cc002', class: "padding-top-sides-1" }, h("div", { key: '4434b5b4d073f3ba9a7e44b82078b9b81733025b', class: "search-widget", ref: (el) => { this._searchElement = el; } }), h("div", { key: '6f01e27e06ea365de6ff98df3f9edd973d87117c', class: mapToolsContainerClass }, h("map-draw-tools", { key: '24ffe562d080955f2aacfd080c0baa1997f8eaab', active: true, class: mapToolsClass, 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.enableSearchDistance ? this._getBufferOptions() : undefined, this.enableLayerFeatures ? this._getUseLayerFeaturesOptions() : undefined, this._getNumSelected()), h("div", { key: '4c7cf401b5bcc7e4adef34e140d22676fce8ebbc', class: "border-bottom" }), this._getNameInput()));
|
293
297
|
}
|
294
298
|
/**
|
295
299
|
* Renders the buffer tools component.
|
@@ -356,13 +360,15 @@ const MapSelectTools = class {
|
|
356
360
|
* @protected
|
357
361
|
*/
|
358
362
|
async _initModules() {
|
359
|
-
const [GraphicsLayer, Graphic, Search, geometryEngine, FeatureLayer] = await loadModules([
|
363
|
+
const [esriRequest, GraphicsLayer, Graphic, Search, geometryEngine, FeatureLayer] = await loadModules([
|
364
|
+
"esri/request",
|
360
365
|
"esri/layers/GraphicsLayer",
|
361
366
|
"esri/Graphic",
|
362
367
|
"esri/widgets/Search",
|
363
368
|
"esri/geometry/geometryEngine",
|
364
369
|
"esri/layers/FeatureLayer"
|
365
370
|
]);
|
371
|
+
this._esriRequest = esriRequest;
|
366
372
|
this.GraphicsLayer = GraphicsLayer;
|
367
373
|
this.Graphic = Graphic;
|
368
374
|
this.Search = Search;
|
@@ -439,25 +445,7 @@ const MapSelectTools = class {
|
|
439
445
|
void this._clearResults(false, clearLabel);
|
440
446
|
});
|
441
447
|
this._searchWidget.on("select-result", (searchResults) => {
|
442
|
-
|
443
|
-
this._searchResult = searchResults.result;
|
444
|
-
const resultFeature = searchResults.result.feature;
|
445
|
-
const resultLayer = resultFeature?.layer;
|
446
|
-
const selectLayer = this.selectLayerView.layer;
|
447
|
-
const oid = resultFeature?.getObjectId();
|
448
|
-
const useOIDs = resultLayer?.url && selectLayer?.url && resultLayer.url === selectLayer.url && !isNaN(oid);
|
449
|
-
const oids = useOIDs ? [oid] : undefined;
|
450
|
-
this._workflowType = EWorkflowType.SEARCH;
|
451
|
-
void this._updateLabel();
|
452
|
-
const graphics = [searchResults.result.feature];
|
453
|
-
this._updateSelection(graphics, useOIDs, oids);
|
454
|
-
this._drawTools.graphics = graphics;
|
455
|
-
this._searchWidget.resultGraphic.visible = false;
|
456
|
-
}
|
457
|
-
else {
|
458
|
-
const clearLabel = this._searchClearLabel();
|
459
|
-
void this._clearResults(false, clearLabel);
|
460
|
-
}
|
448
|
+
void this._selectResult(searchResults.result);
|
461
449
|
});
|
462
450
|
await this._searchWidget.when(() => {
|
463
451
|
this._searchWidget.allPlaceholder = this.searchConfiguration?.allPlaceholder &&
|
@@ -466,6 +454,75 @@ const MapSelectTools = class {
|
|
466
454
|
});
|
467
455
|
}
|
468
456
|
}
|
457
|
+
/**
|
458
|
+
* Handle the result from the search widget.
|
459
|
+
*
|
460
|
+
* @param url the url of the layer view
|
461
|
+
*
|
462
|
+
* @returns the url of the views source
|
463
|
+
* @protected
|
464
|
+
*/
|
465
|
+
async _selectResult(result) {
|
466
|
+
if (result) {
|
467
|
+
this._searchResult = result;
|
468
|
+
const resultFeature = result.feature;
|
469
|
+
const resultLayer = resultFeature?.layer;
|
470
|
+
const selectLayer = this.selectLayerView.layer;
|
471
|
+
const oid = resultFeature?.getObjectId();
|
472
|
+
let resultLayerSourceUrl;
|
473
|
+
if (resultLayer.sourceJSON?.isView) {
|
474
|
+
resultLayerSourceUrl = await this._getViewSourceUrl(resultLayer.url);
|
475
|
+
}
|
476
|
+
let selectLayerSourceUrl;
|
477
|
+
if (selectLayer.sourceJSON?.isView) {
|
478
|
+
selectLayerSourceUrl = await this._getViewSourceUrl(selectLayer.url);
|
479
|
+
}
|
480
|
+
const rUrl = resultLayer?.url?.toLowerCase();
|
481
|
+
const rSourceUrl = resultLayerSourceUrl?.toLowerCase();
|
482
|
+
const sUrl = selectLayer?.url?.toLowerCase();
|
483
|
+
const sSourceUrl = selectLayerSourceUrl?.toLowerCase();
|
484
|
+
const useOIDs = rUrl && sUrl &&
|
485
|
+
(rUrl === sUrl || rUrl === sSourceUrl || rSourceUrl === sUrl || rSourceUrl === sSourceUrl) &&
|
486
|
+
!isNaN(oid);
|
487
|
+
const oids = useOIDs ? [oid] : undefined;
|
488
|
+
this._workflowType = EWorkflowType.SEARCH;
|
489
|
+
void this._updateLabel();
|
490
|
+
const graphics = [result.feature];
|
491
|
+
this._updateSelection(graphics, useOIDs, oids);
|
492
|
+
this._drawTools.graphics = graphics;
|
493
|
+
this._searchWidget.resultGraphic.visible = false;
|
494
|
+
}
|
495
|
+
else {
|
496
|
+
const clearLabel = this._searchClearLabel();
|
497
|
+
void this._clearResults(false, clearLabel);
|
498
|
+
}
|
499
|
+
}
|
500
|
+
/**
|
501
|
+
* Get the source url for a view. This function supports single source views only.
|
502
|
+
*
|
503
|
+
* @param url the url of the layer view
|
504
|
+
*
|
505
|
+
* @returns the url of the views source
|
506
|
+
* @protected
|
507
|
+
*/
|
508
|
+
async _getViewSourceUrl(url) {
|
509
|
+
let sourceUrl = "";
|
510
|
+
const resultLayerSourcesUrl = `${url}/sources?f=json`;
|
511
|
+
try {
|
512
|
+
const request = await this._esriRequest(resultLayerSourcesUrl, {
|
513
|
+
query: {
|
514
|
+
f: "json"
|
515
|
+
}
|
516
|
+
});
|
517
|
+
if (request?.data?.services?.length === 1) {
|
518
|
+
sourceUrl = request.data.services[0].url;
|
519
|
+
}
|
520
|
+
}
|
521
|
+
catch (error) {
|
522
|
+
console.log(error);
|
523
|
+
}
|
524
|
+
return sourceUrl;
|
525
|
+
}
|
469
526
|
/**
|
470
527
|
* Check if the current label should be cleared
|
471
528
|
*
|
@@ -32,9 +32,9 @@ const PublicNotification = class {
|
|
32
32
|
this.defaultExportTitle = "";
|
33
33
|
this.defaultNumLabelsPerPage = 6;
|
34
34
|
this.enableLayerFeatures = true;
|
35
|
-
this.enableLayerFeaturesOnLoad =
|
35
|
+
this.enableLayerFeaturesOnLoad = false;
|
36
36
|
this.enableSearchDistance = true;
|
37
|
-
this.enableSearchDistanceOnLoad =
|
37
|
+
this.enableSearchDistanceOnLoad = false;
|
38
38
|
this.enableSketchTools = true;
|
39
39
|
this.featureEffect = undefined;
|
40
40
|
this.featureHighlightEnabled = undefined;
|
@@ -255,7 +255,7 @@ const PublicNotification = class {
|
|
255
255
|
*/
|
256
256
|
render() {
|
257
257
|
const headerSlot = this._isMobile ? "footer" : "header";
|
258
|
-
return (h(Host, { key: '
|
258
|
+
return (h(Host, { key: '019074cdfaddd8121a6ed255f42dea427aac9440' }, h("calcite-shell", { key: 'ece21e206f6519627bc8f139c35f68838eb701a2' }, h("calcite-action-bar", { key: '92883d5df9fcf43584f3934bf7f61640afed2bdb', class: "border-bottom-1 action-bar-size", "expand-disabled": true, layout: "horizontal", slot: headerSlot }, this._getActionGroup("list-check", EPageType.LIST, this._translations.myLists), this.showRefineSelection ? this._getActionGroup("test-data", EPageType.REFINE, this._translations.refineSelection) : null, this._getActionGroup("export", EPageType.EXPORT, this._translations.export)), this._getPage(this._pageType))));
|
259
259
|
}
|
260
260
|
/**
|
261
261
|
* StencilJS: Called once just after the component is first loaded.
|