@esri/solutions-components 0.7.20 → 0.7.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/assets/t9n/public-notification/resources.json +2 -1
- package/dist/assets/t9n/public-notification/resources_en.json +2 -1
- package/dist/cjs/card-manager_3.cjs.entry.js +133 -91
- package/dist/cjs/crowdsource-manager.cjs.entry.js +10 -10
- package/dist/cjs/{downloadUtils-9a13c6ac.js → downloadUtils-401356b5.js} +5 -3
- package/dist/cjs/{index.es-284a020c.js → index.es-a9a4ff08.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 +7 -4
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +29 -11
- package/dist/collection/components/layer-table/layer-table.js +162 -99
- package/dist/collection/components/public-notification/public-notification.js +7 -3
- package/dist/collection/utils/pdfUtils.js +4 -2
- package/dist/collection/utils/pdfUtils.ts +4 -2
- package/dist/components/crowdsource-manager.js +13 -12
- package/dist/components/downloadUtils.js +4 -2
- package/dist/components/layer-table2.js +134 -91
- package/dist/components/public-notification.js +7 -3
- package/dist/esm/card-manager_3.entry.js +133 -91
- package/dist/esm/crowdsource-manager.entry.js +10 -10
- package/dist/esm/{downloadUtils-a4bbdb1d.js → downloadUtils-13579d93.js} +5 -3
- package/dist/esm/{index.es-48fdb288.js → index.es-04d2e63e.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 +7 -4
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/p-02fad071.entry.js +6 -0
- package/dist/solutions-components/{p-b1422b00.entry.js → p-24286e8c.entry.js} +1 -1
- package/dist/solutions-components/p-630e274b.entry.js +6 -0
- package/dist/solutions-components/{p-72dbfa77.js → p-c68a6d4f.js} +1 -1
- package/dist/solutions-components/{p-d4afcf86.js → p-c9f87acb.js} +2 -2
- package/dist/solutions-components/p-d3085b7a.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/pdfUtils.ts +4 -2
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +13 -4
- package/dist/types/components/layer-table/layer-table.d.ts +14 -5
- package/dist/types/components/public-notification/public-notification.d.ts +4 -0
- package/dist/types/components.d.ts +18 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-107b7816.entry.js +0 -6
- package/dist/solutions-components/p-2abc02a1.entry.js +0 -6
- package/dist/solutions-components/p-6b4e621b.entry.js +0 -6
@@ -29,6 +29,7 @@ export class CrowdsourceManager {
|
|
29
29
|
*/
|
30
30
|
this._shouldSetMapView = false;
|
31
31
|
this.defaultCenter = "";
|
32
|
+
this.defaultFilter = "";
|
32
33
|
this.defaultGlobalId = "";
|
33
34
|
this.defaultLayer = "";
|
34
35
|
this.defaultLevel = "";
|
@@ -79,6 +80,12 @@ export class CrowdsourceManager {
|
|
79
80
|
this._defaultCenter = !this.defaultCenter ? undefined :
|
80
81
|
this.defaultCenter.split(";").map(v => parseFloat(v));
|
81
82
|
}
|
83
|
+
/**
|
84
|
+
* Watch for filter url param to be set
|
85
|
+
*/
|
86
|
+
defaultFilterWatchHandler() {
|
87
|
+
this._defaultFilter = JSON.parse(this.defaultFilter);
|
88
|
+
}
|
82
89
|
/**
|
83
90
|
* Watch for globalid url param to be set
|
84
91
|
*/
|
@@ -105,13 +112,6 @@ export class CrowdsourceManager {
|
|
105
112
|
enableZoomWatchHandler() {
|
106
113
|
this._initMapZoom();
|
107
114
|
}
|
108
|
-
/**
|
109
|
-
* Show the map, popup, and table if the user switches out of mobile mode
|
110
|
-
*/
|
111
|
-
async _isMobileWatchHandler() {
|
112
|
-
const show = !this._isMobile ? false : this._numSelected > 0;
|
113
|
-
this.showHideMapPopupAndTable(show);
|
114
|
-
}
|
115
115
|
//--------------------------------------------------------------------------
|
116
116
|
//
|
117
117
|
// Methods (public)
|
@@ -390,7 +390,7 @@ export class CrowdsourceManager {
|
|
390
390
|
const toggleLayout = layoutMode === ELayoutMode.HORIZONTAL ? "horizontal" : "vertical";
|
391
391
|
const toggleSlot = layoutMode === ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
392
392
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
393
|
-
return (h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip)))) : undefined, h("div", { class: `width-full height-full position-relative` }, h("layer-table", { defaultGlobalId: hasMapAndLayer ? this._defaultGlobalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !this.defaultGlobalId ? this._defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isMobile, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
393
|
+
return (h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip)))) : undefined, h("div", { class: `width-full height-full position-relative` }, h("layer-table", { defaultFilter: hasMapAndLayer ? this._defaultFilter : undefined, defaultGlobalId: hasMapAndLayer ? this._defaultGlobalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !this.defaultGlobalId ? this._defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isMobile, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
394
394
|
}
|
395
395
|
/**
|
396
396
|
* Update the component layout when its size changes
|
@@ -510,6 +510,24 @@ export class CrowdsourceManager {
|
|
510
510
|
"reflect": false,
|
511
511
|
"defaultValue": "\"\""
|
512
512
|
},
|
513
|
+
"defaultFilter": {
|
514
|
+
"type": "string",
|
515
|
+
"mutable": false,
|
516
|
+
"complexType": {
|
517
|
+
"original": "string",
|
518
|
+
"resolved": "string",
|
519
|
+
"references": {}
|
520
|
+
},
|
521
|
+
"required": false,
|
522
|
+
"optional": false,
|
523
|
+
"docs": {
|
524
|
+
"tags": [],
|
525
|
+
"text": "string: default layer expression to apply to the current layer"
|
526
|
+
},
|
527
|
+
"attribute": "default-filter",
|
528
|
+
"reflect": false,
|
529
|
+
"defaultValue": "\"\""
|
530
|
+
},
|
513
531
|
"defaultGlobalId": {
|
514
532
|
"type": "string",
|
515
533
|
"mutable": false,
|
@@ -1014,6 +1032,9 @@ export class CrowdsourceManager {
|
|
1014
1032
|
return [{
|
1015
1033
|
"propName": "defaultCenter",
|
1016
1034
|
"methodName": "defaultCenterWatchHandler"
|
1035
|
+
}, {
|
1036
|
+
"propName": "defaultFilter",
|
1037
|
+
"methodName": "defaultFilterWatchHandler"
|
1017
1038
|
}, {
|
1018
1039
|
"propName": "defaultGlobalId",
|
1019
1040
|
"methodName": "defaultGlobalIdWatchHandler"
|
@@ -1026,9 +1047,6 @@ export class CrowdsourceManager {
|
|
1026
1047
|
}, {
|
1027
1048
|
"propName": "enableZoom",
|
1028
1049
|
"methodName": "enableZoomWatchHandler"
|
1029
|
-
}, {
|
1030
|
-
"propName": "_isMobile",
|
1031
|
-
"methodName": "_isMobileWatchHandler"
|
1032
1050
|
}];
|
1033
1051
|
}
|
1034
1052
|
static get listeners() {
|
@@ -35,6 +35,10 @@ export class LayerTable {
|
|
35
35
|
* boolean: When true the ctrl key is currently pressed
|
36
36
|
*/
|
37
37
|
this._ctrlIsPressed = false;
|
38
|
+
/**
|
39
|
+
* boolean: When true the default filter provided via url param has been honored and should now be ignored
|
40
|
+
*/
|
41
|
+
this._defaultFilterHonored = false;
|
38
42
|
/**
|
39
43
|
* boolean: When true the default global id provided via url param has been honored and should now be ignored
|
40
44
|
*/
|
@@ -68,8 +72,9 @@ export class LayerTable {
|
|
68
72
|
this.onTableNodeCreate = (node) => {
|
69
73
|
this._tableNode = node;
|
70
74
|
};
|
71
|
-
this.
|
75
|
+
this.defaultFilter = undefined;
|
72
76
|
this.defaultGlobalId = undefined;
|
77
|
+
this.defaultLayerId = undefined;
|
73
78
|
this.defaultOid = undefined;
|
74
79
|
this.enableAutoRefresh = undefined;
|
75
80
|
this.enableColumnReorder = true;
|
@@ -439,93 +444,95 @@ export class LayerTable {
|
|
439
444
|
const featuresSelected = this._featuresSelected();
|
440
445
|
const featuresEmpty = this._featuresEmpty();
|
441
446
|
const hasFilterExpressions = this._hasFilterExpressions();
|
442
|
-
this.
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
447
|
+
if (this._translations) {
|
448
|
+
this._toolInfos = [{
|
449
|
+
active: false,
|
450
|
+
icon: "zoom-to-object",
|
451
|
+
indicator: false,
|
452
|
+
label: this._translations.zoom,
|
453
|
+
func: () => this._zoom(),
|
454
|
+
disabled: !featuresSelected,
|
455
|
+
isOverflow: false
|
456
|
+
},
|
457
|
+
hasFilterExpressions ? {
|
458
|
+
active: false,
|
459
|
+
icon: "filter",
|
460
|
+
indicator: false,
|
461
|
+
label: this._translations.filters,
|
462
|
+
func: () => this._toggleFilter(),
|
463
|
+
disabled: false,
|
464
|
+
isOverflow: false
|
465
|
+
} : undefined,
|
466
|
+
this._deleteEnabled ? {
|
467
|
+
active: false,
|
468
|
+
icon: "trash",
|
469
|
+
indicator: false,
|
470
|
+
label: this._translations.delete,
|
471
|
+
func: () => this._delete(),
|
472
|
+
disabled: !featuresSelected,
|
473
|
+
isDanger: true,
|
474
|
+
isOverflow: false
|
475
|
+
} : undefined, {
|
476
|
+
active: false,
|
477
|
+
icon: "erase",
|
478
|
+
indicator: false,
|
479
|
+
label: this._translations.clearSelection,
|
480
|
+
func: () => this._clearSelection(),
|
481
|
+
disabled: !featuresSelected,
|
482
|
+
isOverflow: false
|
483
|
+
}, {
|
484
|
+
active: false,
|
485
|
+
icon: "selected-items-filter",
|
486
|
+
indicator: false,
|
487
|
+
label: this._showOnlySelected ? this._translations.showAll : this._translations.showSelected,
|
488
|
+
func: () => this._toggleShowSelected(),
|
489
|
+
disabled: !featuresSelected,
|
490
|
+
isOverflow: false
|
491
|
+
}, {
|
492
|
+
active: false,
|
493
|
+
icon: "list-check-all",
|
494
|
+
indicator: false,
|
495
|
+
func: () => this._selectAll(),
|
496
|
+
label: this._translations.selectAll,
|
497
|
+
disabled: featuresEmpty,
|
498
|
+
isOverflow: false
|
499
|
+
}, {
|
500
|
+
active: false,
|
501
|
+
icon: "compare",
|
502
|
+
indicator: false,
|
503
|
+
func: () => this._switchSelected(),
|
504
|
+
label: this._translations.switchSelected,
|
505
|
+
disabled: featuresEmpty,
|
506
|
+
isOverflow: false
|
507
|
+
}, {
|
508
|
+
active: false,
|
509
|
+
icon: "refresh",
|
510
|
+
indicator: false,
|
511
|
+
func: () => this._refresh(),
|
512
|
+
label: this._translations.refresh,
|
513
|
+
disabled: false,
|
514
|
+
isOverflow: false
|
515
|
+
},
|
516
|
+
this.enableCSV ? {
|
517
|
+
active: false,
|
518
|
+
icon: "export",
|
519
|
+
indicator: false,
|
520
|
+
func: () => void this._exportToCSV(),
|
521
|
+
label: this._translations.exportCSV,
|
522
|
+
disabled: featuresEmpty,
|
523
|
+
isOverflow: false
|
524
|
+
} : undefined, {
|
525
|
+
active: false,
|
526
|
+
icon: this._showHideOpen ? "chevron-down" : "chevron-right",
|
527
|
+
indicator: false,
|
528
|
+
func: () => this._toggleShowHide(),
|
529
|
+
label: this._translations.showHideColumns,
|
530
|
+
disabled: false,
|
531
|
+
isOverflow: false,
|
532
|
+
isSublist: true
|
533
|
+
}];
|
534
|
+
this._defaultVisibleToolSizeInfos = undefined;
|
535
|
+
}
|
529
536
|
}
|
530
537
|
/**
|
531
538
|
* Returns true when one ore more features are selected
|
@@ -736,13 +743,39 @@ export class LayerTable {
|
|
736
743
|
if ((_b = this.mapInfo) === null || _b === void 0 ? void 0 : _b.id) {
|
737
744
|
urlObj.searchParams.set("webmap", this.mapInfo.id);
|
738
745
|
}
|
746
|
+
else {
|
747
|
+
urlObj.searchParams.delete("webmap");
|
748
|
+
}
|
739
749
|
if ((_c = this._layer) === null || _c === void 0 ? void 0 : _c.id) {
|
740
750
|
urlObj.searchParams.set("layer", this._layer.id);
|
741
751
|
}
|
752
|
+
else {
|
753
|
+
urlObj.searchParams.delete("layer");
|
754
|
+
}
|
742
755
|
if (((_d = this._selectedIndexes) === null || _d === void 0 ? void 0 : _d.length) > 0) {
|
743
756
|
urlObj.searchParams.set("oid", this._selectedIndexes.join(","));
|
744
757
|
}
|
758
|
+
else {
|
759
|
+
urlObj.searchParams.delete("oid");
|
760
|
+
}
|
761
|
+
if (this._filterActive) {
|
762
|
+
const filter = JSON.parse(this._filterList.urlParams.get("filter"));
|
763
|
+
const layerExpressions = this._filterList.layerExpressions.map(layerExp => {
|
764
|
+
layerExp.expressions = layerExp.expressions.map(exp => {
|
765
|
+
if (exp.id.toString() === filter.expressionId.toString()) {
|
766
|
+
exp.active = true;
|
767
|
+
}
|
768
|
+
return exp;
|
769
|
+
});
|
770
|
+
return layerExp;
|
771
|
+
});
|
772
|
+
urlObj.searchParams.set("filter", JSON.stringify(layerExpressions));
|
773
|
+
}
|
774
|
+
else {
|
775
|
+
urlObj.searchParams.delete("filter");
|
776
|
+
}
|
745
777
|
this._shareNode.shareUrl = urlObj.href;
|
778
|
+
history.pushState(history.state, document.title, urlObj.href);
|
746
779
|
}
|
747
780
|
/**
|
748
781
|
* Get a tooltip
|
@@ -863,7 +896,8 @@ export class LayerTable {
|
|
863
896
|
const _end = this._table.viewModel.getObjectIdIndex(this._currentId);
|
864
897
|
const startIndex = _start < _end ? _start : _end;
|
865
898
|
const endIndex = _end > _start ? _end : _start;
|
866
|
-
this.
|
899
|
+
this._skipOnChange = startIndex + 1 !== endIndex;
|
900
|
+
const selectedIndexes = oids.reduce((prev, cur) => {
|
867
901
|
const id = cur;
|
868
902
|
const index = this._table.viewModel.getObjectIdIndex(id);
|
869
903
|
if ((id === this._currentId || id === this._previousCurrentId)) {
|
@@ -885,6 +919,7 @@ export class LayerTable {
|
|
885
919
|
}
|
886
920
|
return prev;
|
887
921
|
}, []);
|
922
|
+
this._selectedIndexes = _start < _end ? selectedIndexes.reverse() : selectedIndexes;
|
888
923
|
this._table.highlightIds.addMany(this._selectedIndexes.filter(i => ids.indexOf(i) < 0));
|
889
924
|
}
|
890
925
|
}
|
@@ -947,6 +982,11 @@ export class LayerTable {
|
|
947
982
|
}
|
948
983
|
this._defaultGlobalIdHonored = true;
|
949
984
|
}
|
985
|
+
if (!this._defaultFilterHonored && this.defaultFilter && this._filterList) {
|
986
|
+
this._layerExpressions = this.defaultFilter;
|
987
|
+
this._filterActive = true;
|
988
|
+
this._defaultFilterHonored = true;
|
989
|
+
}
|
950
990
|
});
|
951
991
|
this._showOnlySelected = false;
|
952
992
|
this._sortActive = false;
|
@@ -1055,19 +1095,21 @@ export class LayerTable {
|
|
1055
1095
|
*/
|
1056
1096
|
_filterModal() {
|
1057
1097
|
var _a, _b, _c;
|
1058
|
-
return (h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: async () => this._closeFilter(), open: this._filterOpen, widthScale: "s" }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", (_c = this._layer) === null || _c === void 0 ? void 0 : _c.title)), h("div", { slot: "content" }, h("instant-apps-filter-list", { autoUpdateUrl:
|
1098
|
+
return (h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: async () => this._closeFilter(), open: this._filterOpen, widthScale: "s" }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", (_c = this._layer) === null || _c === void 0 ? void 0 : _c.title)), h("div", { slot: "content" }, h("instant-apps-filter-list", { autoUpdateUrl: true, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), layerExpressions: this._layerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView, zoomBtn: false }))));
|
1059
1099
|
}
|
1060
1100
|
/**
|
1061
1101
|
* Reset the filter active prop
|
1062
1102
|
*/
|
1063
1103
|
_handleFilterListReset() {
|
1064
1104
|
this._filterActive = false;
|
1105
|
+
this._updateShareUrl();
|
1065
1106
|
}
|
1066
1107
|
/**
|
1067
1108
|
* Check if the layers definitionExpression has been modified
|
1068
1109
|
*/
|
1069
1110
|
_handleFilterUpdate() {
|
1070
1111
|
this._filterActive = this._definitionExpression !== this._layer.definitionExpression;
|
1112
|
+
this._updateShareUrl();
|
1071
1113
|
}
|
1072
1114
|
/**
|
1073
1115
|
* Close the filter modal
|
@@ -1359,22 +1401,26 @@ export class LayerTable {
|
|
1359
1401
|
}
|
1360
1402
|
static get properties() {
|
1361
1403
|
return {
|
1362
|
-
"
|
1363
|
-
"type": "
|
1404
|
+
"defaultFilter": {
|
1405
|
+
"type": "unknown",
|
1364
1406
|
"mutable": false,
|
1365
1407
|
"complexType": {
|
1366
|
-
"original": "
|
1367
|
-
"resolved": "
|
1368
|
-
"references": {
|
1408
|
+
"original": "LayerExpression[]",
|
1409
|
+
"resolved": "LayerExpression[]",
|
1410
|
+
"references": {
|
1411
|
+
"LayerExpression": {
|
1412
|
+
"location": "import",
|
1413
|
+
"path": "@esri/instant-apps-components",
|
1414
|
+
"id": ""
|
1415
|
+
}
|
1416
|
+
}
|
1369
1417
|
},
|
1370
1418
|
"required": false,
|
1371
1419
|
"optional": false,
|
1372
1420
|
"docs": {
|
1373
1421
|
"tags": [],
|
1374
|
-
"text": "
|
1375
|
-
}
|
1376
|
-
"attribute": "default-layer-id",
|
1377
|
-
"reflect": false
|
1422
|
+
"text": "LayerExpression[]: default layer expression(s) to apply to the current layer"
|
1423
|
+
}
|
1378
1424
|
},
|
1379
1425
|
"defaultGlobalId": {
|
1380
1426
|
"type": "unknown",
|
@@ -1391,6 +1437,23 @@ export class LayerTable {
|
|
1391
1437
|
"text": "string: Global ID of the feature to select"
|
1392
1438
|
}
|
1393
1439
|
},
|
1440
|
+
"defaultLayerId": {
|
1441
|
+
"type": "string",
|
1442
|
+
"mutable": false,
|
1443
|
+
"complexType": {
|
1444
|
+
"original": "string",
|
1445
|
+
"resolved": "string",
|
1446
|
+
"references": {}
|
1447
|
+
},
|
1448
|
+
"required": false,
|
1449
|
+
"optional": false,
|
1450
|
+
"docs": {
|
1451
|
+
"tags": [],
|
1452
|
+
"text": "string: when provided this layer ID will be used when the app loads"
|
1453
|
+
},
|
1454
|
+
"attribute": "default-layer-id",
|
1455
|
+
"reflect": false
|
1456
|
+
},
|
1394
1457
|
"defaultOid": {
|
1395
1458
|
"type": "unknown",
|
1396
1459
|
"mutable": false,
|
@@ -60,6 +60,7 @@ export class PublicNotification {
|
|
60
60
|
this.sketchPointSymbol = undefined;
|
61
61
|
this.sketchPolygonSymbol = undefined;
|
62
62
|
this._addMap = false;
|
63
|
+
this._addResults = true;
|
63
64
|
this._addTitle = false;
|
64
65
|
this._downloadActive = true;
|
65
66
|
this._exportType = EExportType.PDF;
|
@@ -498,7 +499,7 @@ export class PublicNotification {
|
|
498
499
|
_getExportPage() {
|
499
500
|
const hasSelections = this._hasSelections(this.showRefineSelection);
|
500
501
|
const displayDuplicatesClass = this._numDuplicates > 0 ? "display-block" : "display-none";
|
501
|
-
return (h("calcite-panel", null, h("div", null, this._getLabel(this._translations.export, false), hasSelections ? (h("div", null, this._getNotice(this._translations.exportTip, "padding-sides-1"), this._getLabel(this._translations.exportListsLabel), this._getExportSelectionLists(), h("div", { class: "padding-sides-1 " + displayDuplicatesClass }, h("div", { class: "display-flex" }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { ref: (el) => { this._removeDuplicates = el; } }), h("div", { class: "display-flex" }, this._translations.removeDuplicate, h("div", { class: "info-message padding-start-1-2" }, h("calcite-input-message", { class: "info-blue margin-top-0", scale: "m" }, ` ${this._translations.numDuplicates.replace("{{n}}", this._numDuplicates.toString())}`)))), h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "remove-duplicates-icon", scale: "s" })), h("calcite-popover", { closable: true, label: "", referenceElement: "remove-duplicates-icon" }, h("span", { class: "tooltip-message" }, this._translations.duplicatesTip))), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("calcite-segmented-control", { class: "w-100", onCalciteSegmentedControlChange: (evt) => this._exportTypeChange(evt) }, h("calcite-segmented-control-item", { checked: this._exportType === EExportType.PDF, class: "w-50 end-border", value: EExportType.PDF }, h("span", { class: "font-weight-500" }, this._translations.pdf)), h("calcite-segmented-control-item", { checked: this._exportType === EExportType.CSV, class: "w-50", value: EExportType.CSV }, h("span", { class: "font-weight-500" }, this._translations.csv)))), h("div", { class: "padding-bottom-1" }, this._getExportOptions()), h("div", { class: "padding-1 display-flex" }, h("calcite-button", { disabled: !this._downloadActive || this._fetchingData, loading: this._fetchingData, onClick: () => void this._export(), width: "full" }, h("span", { class: "font-weight-500" }, this._translations.export))))) : (this._getNotice(this._translations.downloadNoLists, "padding-sides-1 padding-bottom-1")))));
|
502
|
+
return (h("calcite-panel", null, h("div", null, this._getLabel(this._translations.export, false), hasSelections ? (h("div", null, this._getNotice(this._translations.exportTip, "padding-sides-1"), this._getLabel(this._translations.exportListsLabel), this._getExportSelectionLists(), h("div", { class: "padding-sides-1 " + displayDuplicatesClass }, h("div", { class: "display-flex" }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { ref: (el) => { this._removeDuplicates = el; } }), h("div", { class: "display-flex" }, this._translations.removeDuplicate, h("div", { class: "info-message padding-start-1-2" }, h("calcite-input-message", { class: "info-blue margin-top-0", scale: "m" }, ` ${this._translations.numDuplicates.replace("{{n}}", this._numDuplicates.toString())}`)))), h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "remove-duplicates-icon", scale: "s" })), h("calcite-popover", { closable: true, label: "", referenceElement: "remove-duplicates-icon" }, h("span", { class: "tooltip-message" }, this._translations.duplicatesTip))), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("calcite-segmented-control", { class: "w-100", onCalciteSegmentedControlChange: (evt) => this._exportTypeChange(evt) }, h("calcite-segmented-control-item", { checked: this._exportType === EExportType.PDF, class: "w-50 end-border", value: EExportType.PDF }, h("span", { class: "font-weight-500" }, this._translations.pdf)), h("calcite-segmented-control-item", { checked: this._exportType === EExportType.CSV, class: "w-50", value: EExportType.CSV }, h("span", { class: "font-weight-500" }, this._translations.csv)))), h("div", { class: "padding-bottom-1" }, this._getExportOptions()), h("div", { class: "padding-1 display-flex" }, h("calcite-button", { disabled: (!this._downloadActive || this._fetchingData) || (!this._addMap && !this._addResults), loading: this._fetchingData, onClick: () => void this._export(), width: "full" }, h("span", { class: "font-weight-500" }, this._translations.export))))) : (this._getNotice(this._translations.downloadNoLists, "padding-sides-1 padding-bottom-1")))));
|
502
503
|
}
|
503
504
|
/**
|
504
505
|
* Store the user selected export type CSV || PDF
|
@@ -517,7 +518,8 @@ export class PublicNotification {
|
|
517
518
|
const displayClass = this._exportType === EExportType.PDF ? "display-block" : "display-none";
|
518
519
|
const titleOptionsClass = this._addTitle ? "display-block" : "display-none";
|
519
520
|
const title = this._titleValue ? this._titleValue : this.defaultExportTitle ? this.defaultExportTitle : "";
|
520
|
-
|
521
|
+
const formatOptionsClass = this._addResults ? "" : "display-none";
|
522
|
+
return (h("div", { class: displayClass }, this._getLabel(this._translations.pdfOptions, true), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0", layout: "inline" }, h("calcite-checkbox", { checked: this._addResults, onCalciteCheckboxChange: () => this._addResults = !this._addResults }), this._translations.addResults)), h("div", { class: `padding-top-sides-1 ${formatOptionsClass}` }, h("calcite-label", { class: "label-margin-0" }, this._translations.selectPDFLabelOption)), h("div", { class: `padding-sides-1 ${formatOptionsClass}` }, h("pdf-download", { defaultNumLabelsPerPage: parseInt(this.defaultNumLabelsPerPage.toString(), 10), disabled: !this._downloadActive, ref: (el) => { this._downloadTools = el; } })), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0", layout: "inline" }, h("calcite-checkbox", { checked: this._addTitle, onCalciteCheckboxChange: () => this._addTitle = !this._addTitle }), this._translations.addTitle)), h("div", { class: titleOptionsClass }, this._getLabel(this._translations.title, true, ""), h("calcite-input-text", { class: "padding-sides-1", onCalciteInputTextInput: () => this._changeTitle(), placeholder: this._translations.titlePlaceholder, ref: (el) => { this._titleElement = el; }, value: title })), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0", layout: "inline" }, h("calcite-checkbox", { checked: this._addMap, onCalciteCheckboxChange: () => this._addMap = !this._addMap }), this._translations.includeMap))));
|
521
523
|
}
|
522
524
|
/**
|
523
525
|
* Render the refine page
|
@@ -623,7 +625,8 @@ export class PublicNotification {
|
|
623
625
|
* @protected
|
624
626
|
*/
|
625
627
|
async _export() {
|
626
|
-
const exportInfos = this.
|
628
|
+
const exportInfos = this._addResults ?
|
629
|
+
this._getSelectionIdsAndViews(this._selectionSets, true) : {};
|
627
630
|
if (this._exportType === EExportType.PDF) {
|
628
631
|
// Generate a map screenshot
|
629
632
|
let initialImageDataUrl = "";
|
@@ -1226,6 +1229,7 @@ export class PublicNotification {
|
|
1226
1229
|
static get states() {
|
1227
1230
|
return {
|
1228
1231
|
"_addMap": {},
|
1232
|
+
"_addResults": {},
|
1229
1233
|
"_addTitle": {},
|
1230
1234
|
"_downloadActive": {},
|
1231
1235
|
"_exportType": {},
|
@@ -74,8 +74,10 @@ function downloadPDFFile(filename, labels, labelPageDescription, title = "", ini
|
|
74
74
|
if (title) {
|
75
75
|
labeller.drawSupplementalText(title, 0, -0.1);
|
76
76
|
}
|
77
|
-
|
78
|
-
|
77
|
+
if (labels.length > 0) {
|
78
|
+
pdfLib.addPage();
|
79
|
+
++startingPageNum;
|
80
|
+
}
|
79
81
|
}
|
80
82
|
// Add the labels to the PDF
|
81
83
|
await labeller.addLabelsToDoc(labels, labelSpec, startingPageNum, title // heading
|
@@ -98,8 +98,10 @@ function downloadPDFFile(
|
|
98
98
|
labeller.drawSupplementalText(title, 0, -0.1);
|
99
99
|
}
|
100
100
|
|
101
|
-
|
102
|
-
|
101
|
+
if (labels.length > 0) {
|
102
|
+
pdfLib.addPage();
|
103
|
+
++startingPageNum;
|
104
|
+
}
|
103
105
|
}
|
104
106
|
|
105
107
|
// Add the labels to the PDF
|
@@ -75,6 +75,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
75
75
|
*/
|
76
76
|
this._shouldSetMapView = false;
|
77
77
|
this.defaultCenter = "";
|
78
|
+
this.defaultFilter = "";
|
78
79
|
this.defaultGlobalId = "";
|
79
80
|
this.defaultLayer = "";
|
80
81
|
this.defaultLevel = "";
|
@@ -125,6 +126,12 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
125
126
|
this._defaultCenter = !this.defaultCenter ? undefined :
|
126
127
|
this.defaultCenter.split(";").map(v => parseFloat(v));
|
127
128
|
}
|
129
|
+
/**
|
130
|
+
* Watch for filter url param to be set
|
131
|
+
*/
|
132
|
+
defaultFilterWatchHandler() {
|
133
|
+
this._defaultFilter = JSON.parse(this.defaultFilter);
|
134
|
+
}
|
128
135
|
/**
|
129
136
|
* Watch for globalid url param to be set
|
130
137
|
*/
|
@@ -151,13 +158,6 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
151
158
|
enableZoomWatchHandler() {
|
152
159
|
this._initMapZoom();
|
153
160
|
}
|
154
|
-
/**
|
155
|
-
* Show the map, popup, and table if the user switches out of mobile mode
|
156
|
-
*/
|
157
|
-
async _isMobileWatchHandler() {
|
158
|
-
const show = !this._isMobile ? false : this._numSelected > 0;
|
159
|
-
this.showHideMapPopupAndTable(show);
|
160
|
-
}
|
161
161
|
//--------------------------------------------------------------------------
|
162
162
|
//
|
163
163
|
// Methods (public)
|
@@ -436,7 +436,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
436
436
|
const toggleLayout = layoutMode === ELayoutMode.HORIZONTAL ? "horizontal" : "vertical";
|
437
437
|
const toggleSlot = layoutMode === ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
438
438
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
439
|
-
return (h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip)))) : undefined, h("div", { class: `width-full height-full position-relative` }, h("layer-table", { defaultGlobalId: hasMapAndLayer ? this._defaultGlobalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !this.defaultGlobalId ? this._defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isMobile, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
439
|
+
return (h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip)))) : undefined, h("div", { class: `width-full height-full position-relative` }, h("layer-table", { defaultFilter: hasMapAndLayer ? this._defaultFilter : undefined, defaultGlobalId: hasMapAndLayer ? this._defaultGlobalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !this.defaultGlobalId ? this._defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isMobile, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
440
440
|
}
|
441
441
|
/**
|
442
442
|
* Update the component layout when its size changes
|
@@ -528,15 +528,16 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
528
528
|
get el() { return this; }
|
529
529
|
static get watchers() { return {
|
530
530
|
"defaultCenter": ["defaultCenterWatchHandler"],
|
531
|
+
"defaultFilter": ["defaultFilterWatchHandler"],
|
531
532
|
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
532
533
|
"defaultOid": ["defaultOidWatchHandler"],
|
533
534
|
"defaultLevel": ["defaultLevelWatchHandler"],
|
534
|
-
"enableZoom": ["enableZoomWatchHandler"]
|
535
|
-
"_isMobile": ["_isMobileWatchHandler"]
|
535
|
+
"enableZoom": ["enableZoomWatchHandler"]
|
536
536
|
}; }
|
537
537
|
static get style() { return crowdsourceManagerCss; }
|
538
538
|
}, [0, "crowdsource-manager", {
|
539
539
|
"defaultCenter": [1, "default-center"],
|
540
|
+
"defaultFilter": [1, "default-filter"],
|
540
541
|
"defaultGlobalId": [1, "default-global-id"],
|
541
542
|
"defaultLayer": [1, "default-layer"],
|
542
543
|
"defaultLevel": [1, "default-level"],
|
@@ -576,11 +577,11 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
576
577
|
"_tableOnly": [32]
|
577
578
|
}, [[8, "featureSelectionChange", "featureSelectionChange"], [8, "popupClosed", "popupClosed"], [8, "idsFound", "idsFound"], [8, "layoutChanged", "layoutChanged"], [8, "mapChanged", "mapChanged"], [8, "beforeMapChanged", "beforeMapChanged"]], {
|
578
579
|
"defaultCenter": ["defaultCenterWatchHandler"],
|
580
|
+
"defaultFilter": ["defaultFilterWatchHandler"],
|
579
581
|
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
580
582
|
"defaultOid": ["defaultOidWatchHandler"],
|
581
583
|
"defaultLevel": ["defaultLevelWatchHandler"],
|
582
|
-
"enableZoom": ["enableZoomWatchHandler"]
|
583
|
-
"_isMobile": ["_isMobileWatchHandler"]
|
584
|
+
"enableZoom": ["enableZoomWatchHandler"]
|
584
585
|
}]);
|
585
586
|
function defineCustomElement$1() {
|
586
587
|
if (typeof customElements === "undefined") {
|
@@ -2231,8 +2231,10 @@ function downloadPDFFile(filename, labels, labelPageDescription, title = "", ini
|
|
2231
2231
|
if (title) {
|
2232
2232
|
labeller.drawSupplementalText(title, 0, -0.1);
|
2233
2233
|
}
|
2234
|
-
|
2235
|
-
|
2234
|
+
if (labels.length > 0) {
|
2235
|
+
pdfLib.addPage();
|
2236
|
+
++startingPageNum;
|
2237
|
+
}
|
2236
2238
|
}
|
2237
2239
|
// Add the labels to the PDF
|
2238
2240
|
await labeller.addLabelsToDoc(labels, labelSpec, startingPageNum, title // heading
|