@esri/solutions-components 0.4.1 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/map-select-tools/resources.json +1 -1
- package/dist/assets/t9n/map-select-tools/resources_en.json +1 -1
- package/dist/assets/t9n/public-notification/resources.json +6 -3
- package/dist/assets/t9n/public-notification/resources_en.json +6 -3
- package/dist/assets/t9n/refine-selection/resources.json +3 -3
- package/dist/assets/t9n/refine-selection/resources_en.json +3 -3
- package/dist/cjs/add-record-modal.cjs.entry.js +1 -1
- package/dist/cjs/buffer-tools_6.cjs.entry.js +5 -2
- package/dist/cjs/calcite-dropdown-group_4.cjs.entry.js +1 -1
- package/dist/cjs/calcite-input-message_5.cjs.entry.js +16 -12
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +1 -1
- package/dist/cjs/card-manager.cjs.entry.js +1 -1
- package/dist/cjs/{downloadUtils-27dbd8b9.js → downloadUtils-ae182e3a.js} +89 -16
- package/dist/cjs/{index.es-40d341ed.js → index.es-b71e9071.js} +3 -3
- package/dist/cjs/info-card_2.cjs.entry.js +1 -1
- package/dist/cjs/layer-table.cjs.entry.js +4 -4
- package/dist/cjs/{loadModules-918ff3e7.js → loadModules-0806a34f.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-db1db902.js → locale-04da9a8c.js} +1 -0
- package/dist/cjs/map-card.cjs.entry.js +2 -2
- package/dist/cjs/map-search.cjs.entry.js +2 -2
- package/dist/cjs/public-notification.cjs.entry.js +40 -13
- package/dist/cjs/solution-configuration.cjs.entry.js +1 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/layer-table/layer-table.js +1 -1
- package/dist/collection/components/map-select-tools/map-select-tools.js +21 -5
- package/dist/collection/components/pdf-download/pdf-download.js +26 -6
- package/dist/collection/components/public-notification/public-notification.js +46 -12
- package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +17 -0
- package/dist/collection/utils/downloadUtils.js +87 -14
- package/dist/collection/utils/downloadUtils.ts +123 -14
- package/dist/collection/utils/locale.js +1 -1
- package/dist/collection/utils/locale.ts +1 -1
- package/dist/components/downloadUtils.js +87 -14
- package/dist/components/layer-table.js +1 -1
- package/dist/components/locale.js +1 -1
- package/dist/components/map-select-tools2.js +7 -5
- package/dist/components/pdf-download2.js +6 -4
- package/dist/components/public-notification.js +41 -13
- package/dist/components/refine-selection-tools2.js +3 -0
- package/dist/esm/add-record-modal.entry.js +1 -1
- package/dist/esm/buffer-tools_6.entry.js +5 -2
- package/dist/esm/calcite-dropdown-group_4.entry.js +1 -1
- package/dist/esm/calcite-input-message_5.entry.js +16 -12
- package/dist/esm/calcite-shell-panel_14.entry.js +1 -1
- package/dist/esm/card-manager.entry.js +1 -1
- package/dist/esm/{downloadUtils-76e38a94.js → downloadUtils-8d64719e.js} +89 -16
- package/dist/esm/{index.es-489f4f08.js → index.es-1d777745.js} +3 -3
- package/dist/esm/info-card_2.entry.js +1 -1
- package/dist/esm/layer-table.entry.js +4 -4
- package/dist/esm/{loadModules-649aedac.js → loadModules-b299cd43.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-4a87aff1.js → locale-7bf10e0a.js} +1 -1
- package/dist/esm/map-card.entry.js +2 -2
- package/dist/esm/map-search.entry.js +2 -2
- package/dist/esm/public-notification.entry.js +40 -13
- package/dist/esm/solution-configuration.entry.js +1 -1
- package/dist/esm/solution-contents_3.entry.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/{p-caa7e7a7.js → p-01215468.js} +11 -11
- package/dist/solutions-components/{p-92cb569a.entry.js → p-048a4c91.entry.js} +1 -1
- package/dist/solutions-components/{p-8eeb8faa.entry.js → p-0e459cc7.entry.js} +1 -1
- package/dist/solutions-components/{p-4ef269be.entry.js → p-43d4ceda.entry.js} +1 -1
- package/dist/solutions-components/{p-eea93a37.js → p-4aa3ba60.js} +1 -1
- package/dist/solutions-components/p-4bfcd9ea.entry.js +17 -0
- package/dist/solutions-components/{p-13b4fb80.entry.js → p-4cbaf0f1.entry.js} +1 -1
- package/dist/solutions-components/{p-ebd3f353.entry.js → p-6f012424.entry.js} +1 -1
- package/dist/solutions-components/{p-bff8aa4e.js → p-702e1915.js} +1 -1
- package/dist/solutions-components/{p-0a4c2213.entry.js → p-74cfd344.entry.js} +1 -1
- package/dist/solutions-components/{p-a3b60bc9.entry.js → p-773918c0.entry.js} +2 -2
- package/dist/solutions-components/{p-9260d75a.js → p-829e6d4f.js} +2 -2
- package/dist/solutions-components/{p-7a411772.entry.js → p-9e8a371f.entry.js} +1 -1
- package/dist/solutions-components/p-a99ca396.entry.js +6 -0
- package/dist/solutions-components/{p-b342e3ff.entry.js → p-af9c7482.entry.js} +1 -1
- package/dist/solutions-components/{p-05e26a56.entry.js → p-d5a76fb0.entry.js} +1 -1
- package/dist/solutions-components/{p-bf45dbae.entry.js → p-dd0241fb.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/downloadUtils.ts +123 -14
- package/dist/solutions-components/utils/locale.ts +1 -1
- package/dist/types/components/map-select-tools/map-select-tools.d.ts +5 -1
- package/dist/types/components/pdf-download/pdf-download.d.ts +4 -2
- package/dist/types/components/public-notification/public-notification.d.ts +21 -1
- package/dist/types/components/refine-selection-tools/refine-selection-tools.d.ts +4 -0
- package/dist/types/components.d.ts +12 -2
- package/dist/types/preact.d.ts +4 -2
- package/dist/types/utils/downloadUtils.d.ts +4 -2
- package/dist/types/utils/locale.d.ts +1 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-4ef94c6b.entry.js +0 -6
- package/dist/solutions-components/p-5d27b47d.entry.js +0 -17
- package/dist/types/components/json-editor/assets/monaco-editor/monaco.d.ts +0 -8262
@@ -1,21 +1,24 @@
|
|
1
1
|
{
|
2
|
-
"refineSelection": "Refine
|
2
|
+
"refineSelection": "Refine selection",
|
3
3
|
"downloadPDF": "Download PDF",
|
4
4
|
"downloadCSV": "Download CSV",
|
5
|
+
"downloadNoLists": "There are no lists to export. Go to My lists to create a list of features.",
|
5
6
|
"add": "Add",
|
6
7
|
"remove": "Remove",
|
7
8
|
"back": "Back",
|
8
|
-
"addresseeLayer": "Addressee
|
9
|
+
"addresseeLayer": "Addressee layer",
|
9
10
|
"selectedFeatures": "{{n}} selected features",
|
10
11
|
"noNotifications": "You have no notification list yet.",
|
11
12
|
"notifications": "Notifications",
|
12
|
-
"myLists": "My
|
13
|
+
"myLists": "My lists",
|
13
14
|
"stepTwoFull": "Select features from: {{layer}}",
|
14
15
|
"cancel": "Cancel",
|
15
16
|
"done": "Done",
|
16
17
|
"selectedAddresses": "{{n}} selected addresses from {{layer}}",
|
18
|
+
"selectionLoading": "Selection loading",
|
17
19
|
"selectPDFLabelOption": "Select PDF label option",
|
18
20
|
"refineTip": "Add or remove features to refine and finalize the selection using the sketch tools. This functionality will work across all selection sets.",
|
21
|
+
"refineTipNoSelections": "There are no selections to refine. Go to My lists to create a list of features.",
|
19
22
|
"removeDuplicate": "Remove duplicate addresses",
|
20
23
|
"selectLayerAndAdd": "Choose an addressee layer and click on the 'Add' button to create a notification list by selecting features.",
|
21
24
|
"selectSearchTip": "Search for an address, place, or feature for selection",
|
@@ -1,21 +1,24 @@
|
|
1
1
|
{
|
2
|
-
"refineSelection": "Refine
|
2
|
+
"refineSelection": "Refine selection",
|
3
3
|
"downloadPDF": "Download PDF",
|
4
4
|
"downloadCSV": "Download CSV",
|
5
|
+
"downloadNoLists": "There are no lists to export. Go to My lists to create a list of features.",
|
5
6
|
"add": "Add",
|
6
7
|
"remove": "Remove",
|
7
8
|
"back": "Back",
|
8
|
-
"addresseeLayer": "Addressee
|
9
|
+
"addresseeLayer": "Addressee layer",
|
9
10
|
"selectedFeatures": "{{n}} selected features",
|
10
11
|
"noNotifications": "You have no notification list yet.",
|
11
12
|
"notifications": "Notifications",
|
12
|
-
"myLists": "My
|
13
|
+
"myLists": "My lists",
|
13
14
|
"stepTwoFull": "Select features from: {{layer}}",
|
14
15
|
"cancel": "Cancel",
|
15
16
|
"done": "Done",
|
16
17
|
"selectedAddresses": "{{n}} selected addresses from {{layer}}",
|
18
|
+
"selectionLoading": "Selection loading",
|
17
19
|
"selectPDFLabelOption": "Select PDF label option",
|
18
20
|
"refineTip": "Add or remove features to refine and finalize the selection using the sketch tools. This functionality will work across all selection sets.",
|
21
|
+
"refineTipNoSelections": "There are no selections to refine. Go to My lists to create a list of features.",
|
19
22
|
"removeDuplicate": "Remove duplicate addresses",
|
20
23
|
"selectLayerAndAdd": "Choose an addressee layer and click on the 'Add' button to create a notification list by selecting features.",
|
21
24
|
"selectSearchTip": "Search for an address, place, or feature for selection",
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"add": "Add",
|
3
3
|
"remove": "Remove",
|
4
|
-
"featuresAdded": "Features
|
5
|
-
"featuresRemoved": "Features
|
6
|
-
"totalSelected": "Total
|
4
|
+
"featuresAdded": "Features added: {{n}}",
|
5
|
+
"featuresRemoved": "Features removed: {{n}}",
|
6
|
+
"totalSelected": "Total selected: {{n}}"
|
7
7
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"add": "Add",
|
3
3
|
"remove": "Remove",
|
4
|
-
"featuresAdded": "Features
|
5
|
-
"featuresRemoved": "Features
|
6
|
-
"totalSelected": "Total
|
4
|
+
"featuresAdded": "Features added: {{n}}",
|
5
|
+
"featuresRemoved": "Features removed: {{n}}",
|
6
|
+
"totalSelected": "Total selected: {{n}}"
|
7
7
|
}
|
@@ -8,7 +8,7 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-c6979cbb.js');
|
11
|
-
const locale = require('./locale-
|
11
|
+
const locale = require('./locale-04da9a8c.js');
|
12
12
|
require('./_commonjsHelpers-384729db.js');
|
13
13
|
|
14
14
|
const addRecordModalCss = ":host{display:block;--calcite-label-margin-bottom:0px}.padding-bottom-1{padding-bottom:1rem}.font-bold{font-weight:bold}.font-500{font-weight:500}.display-none{display:none}";
|
@@ -8,8 +8,8 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-c6979cbb.js');
|
11
|
-
const loadModules = require('./loadModules-
|
12
|
-
const locale = require('./locale-
|
11
|
+
const loadModules = require('./loadModules-0806a34f.js');
|
12
|
+
const locale = require('./locale-04da9a8c.js');
|
13
13
|
const dom = require('./dom-4a580af6.js');
|
14
14
|
const label = require('./label-24fcd8a5.js');
|
15
15
|
const form = require('./form-ef410342.js');
|
@@ -1530,6 +1530,7 @@ const refineSelectionToolsCss = ":host{display:block}.div-visible{display:inheri
|
|
1530
1530
|
const RefineSelectionTools = class {
|
1531
1531
|
constructor(hostRef) {
|
1532
1532
|
index.registerInstance(this, hostRef);
|
1533
|
+
this.selectionLoadingChange = index.createEvent(this, "selectionLoadingChange", 7);
|
1533
1534
|
this.refineSelectionGraphicsChange = index.createEvent(this, "refineSelectionGraphicsChange", 7);
|
1534
1535
|
this.refineSelectionIdsChange = index.createEvent(this, "refineSelectionIdsChange", 7);
|
1535
1536
|
/**
|
@@ -1805,11 +1806,13 @@ const RefineSelectionTools = class {
|
|
1805
1806
|
* @protected
|
1806
1807
|
*/
|
1807
1808
|
async _selectFeatures(geom) {
|
1809
|
+
this.selectionLoadingChange.emit(true);
|
1808
1810
|
const queryFeaturePromises = this.layerViews.map(layerView => {
|
1809
1811
|
this._featuresCollection[layerView.layer.id] = [];
|
1810
1812
|
return mapViewUtils.queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection);
|
1811
1813
|
});
|
1812
1814
|
return Promise.all(queryFeaturePromises).then(async (response) => {
|
1815
|
+
this.selectionLoadingChange.emit(false);
|
1813
1816
|
let graphics = [];
|
1814
1817
|
response.forEach(r => {
|
1815
1818
|
Object.keys(r).forEach(k => {
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
10
10
|
const index = require('./index-c6979cbb.js');
|
11
11
|
const dom = require('./dom-4a580af6.js');
|
12
12
|
const interactive = require('./interactive-0a68ab99.js');
|
13
|
-
const locale = require('./locale-
|
13
|
+
const locale = require('./locale-04da9a8c.js');
|
14
14
|
require('./resources-b56bce71.js');
|
15
15
|
require('./guid-84ac4d91.js');
|
16
16
|
require('./_commonjsHelpers-384729db.js');
|
@@ -11,12 +11,12 @@ const index = require('./index-c6979cbb.js');
|
|
11
11
|
const dom = require('./dom-4a580af6.js');
|
12
12
|
const interfaces = require('./interfaces-e76f31e9.js');
|
13
13
|
const conditionalSlot = require('./conditionalSlot-baada7a3.js');
|
14
|
-
const loadModules = require('./loadModules-
|
14
|
+
const loadModules = require('./loadModules-0806a34f.js');
|
15
15
|
const mapViewUtils = require('./mapViewUtils-d250b1ed.js');
|
16
16
|
const interfaces$1 = require('./interfaces-17c631bf.js');
|
17
17
|
const publicNotificationStore = require('./publicNotificationStore-20e924f5.js');
|
18
|
-
const locale = require('./locale-
|
19
|
-
const downloadUtils = require('./downloadUtils-
|
18
|
+
const locale = require('./locale-04da9a8c.js');
|
19
|
+
const downloadUtils = require('./downloadUtils-ae182e3a.js');
|
20
20
|
const publicNotificationUtils = require('./publicNotificationUtils-9d585d8d.js');
|
21
21
|
require('./resources-b56bce71.js');
|
22
22
|
require('./guid-84ac4d91.js');
|
@@ -241,6 +241,7 @@ const mapSelectToolsCss = ":host{display:block}.div-visible{display:inherit}.div
|
|
241
241
|
const MapSelectTools = class {
|
242
242
|
constructor(hostRef) {
|
243
243
|
index.registerInstance(this, hostRef);
|
244
|
+
this.selectionLoadingChange = index.createEvent(this, "selectionLoadingChange", 7);
|
244
245
|
this.selectionSetChange = index.createEvent(this, "selectionSetChange", 7);
|
245
246
|
this.sketchTypeChange = index.createEvent(this, "sketchTypeChange", 7);
|
246
247
|
this.workflowTypeChange = index.createEvent(this, "workflowTypeChange", 7);
|
@@ -516,16 +517,15 @@ const MapSelectTools = class {
|
|
516
517
|
void this._clearResults(false);
|
517
518
|
});
|
518
519
|
this._searchWidget.on("select-result", (searchResults) => {
|
519
|
-
var _a, _b;
|
520
|
+
var _a, _b, _c;
|
520
521
|
void this._clearResults(false);
|
521
522
|
if (searchResults.result) {
|
522
523
|
this._searchResult = searchResults.result;
|
523
|
-
const useOIDs = ((_a = searchResults.source) === null || _a === void 0 ? void 0 : _a.layer.id) === this.selectLayerView.layer.id;
|
524
|
+
const useOIDs = ((_b = (_a = searchResults.source) === null || _a === void 0 ? void 0 : _a.layer) === null || _b === void 0 ? void 0 : _b.id) && searchResults.source.layer.id === this.selectLayerView.layer.id;
|
524
525
|
const oids = useOIDs ? [searchResults.result.feature.getObjectId()] : undefined;
|
525
|
-
this._updateSelection(interfaces$1.EWorkflowType.SEARCH, [searchResults.result.feature], (
|
526
|
+
this._updateSelection(interfaces$1.EWorkflowType.SEARCH, [searchResults.result.feature], (_c = searchResults === null || searchResults === void 0 ? void 0 : searchResults.result) === null || _c === void 0 ? void 0 : _c.name, useOIDs, oids);
|
526
527
|
}
|
527
528
|
});
|
528
|
-
console.log("END search widget init");
|
529
529
|
}
|
530
530
|
}
|
531
531
|
/**
|
@@ -645,7 +645,9 @@ const MapSelectTools = class {
|
|
645
645
|
* @returns Promise when the selection is complete and the graphics have been highlighted
|
646
646
|
*/
|
647
647
|
async _selectFeatures(geometries) {
|
648
|
+
this.selectionLoadingChange.emit(true);
|
648
649
|
this._selectedIds = await mapViewUtils.queryObjectIds(geometries, this.selectLayerView.layer);
|
650
|
+
this.selectionLoadingChange.emit(false);
|
649
651
|
// Add geometries used for selecting features as graphics
|
650
652
|
this._drawTools.graphics = this.geometries.map(geom => {
|
651
653
|
var _a, _b, _c;
|
@@ -743,7 +745,7 @@ const MapSelectTools = class {
|
|
743
745
|
* @param graphics graphics to be used for selection
|
744
746
|
* @param label selection label
|
745
747
|
* @param useOIDs indicates if the OIDs should override the geometry for selection
|
746
|
-
* @param oids list of IDs to select when
|
748
|
+
* @param oids list of IDs to select when useOIDs is true
|
747
749
|
*
|
748
750
|
* @protected
|
749
751
|
*/
|
@@ -992,24 +994,26 @@ const PdfDownload = class {
|
|
992
994
|
/**
|
993
995
|
* Downloads csv of mailing labels for the provided list of ids
|
994
996
|
*
|
997
|
+
* @param selectionSetNames Names of the selection sets used to provide ids
|
995
998
|
* @param ids List of ids to download
|
996
999
|
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
997
1000
|
* @param addColumnTitle Indicates if column headings should be included in output
|
998
1001
|
* @returns Promise resolving when function is done
|
999
1002
|
*/
|
1000
|
-
async downloadCSV(ids, removeDuplicates, addColumnTitle = true) {
|
1001
|
-
return downloadUtils.downloadCSV(this.layerView.layer, ids, true, // formatUsingLayerPopup
|
1003
|
+
async downloadCSV(selectionSetNames, ids, removeDuplicates, addColumnTitle = true) {
|
1004
|
+
return downloadUtils.downloadCSV(selectionSetNames, this.layerView.layer, ids, true, // formatUsingLayerPopup
|
1002
1005
|
removeDuplicates, addColumnTitle);
|
1003
1006
|
}
|
1004
1007
|
/**
|
1005
1008
|
* Downloads pdf of mailing labels for the provided list of ids
|
1006
1009
|
*
|
1010
|
+
* @param selectionSetNames Names of the selection sets used to provide ids
|
1007
1011
|
* @param ids List of ids to download
|
1008
1012
|
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
1009
1013
|
* @returns Promise resolving when function is done
|
1010
1014
|
*/
|
1011
|
-
async downloadPDF(ids, removeDuplicates) {
|
1012
|
-
return downloadUtils.downloadPDF(this.layerView.layer, ids, removeDuplicates, this._labelInfoElement.selectedOption.value);
|
1015
|
+
async downloadPDF(selectionSetNames, ids, removeDuplicates) {
|
1016
|
+
return downloadUtils.downloadPDF(selectionSetNames, this.layerView.layer, ids, removeDuplicates, this._labelInfoElement.selectedOption.value);
|
1013
1017
|
}
|
1014
1018
|
//--------------------------------------------------------------------------
|
1015
1019
|
//
|
@@ -18,7 +18,7 @@ const sortable_esm = require('./sortable.esm-bf47019d.js');
|
|
18
18
|
const sharedListRender = require('./shared-list-render-6977a4b3.js');
|
19
19
|
const resources = require('./resources-9c55e05c.js');
|
20
20
|
const resources$1 = require('./resources-1f785471.js');
|
21
|
-
const locale = require('./locale-
|
21
|
+
const locale = require('./locale-04da9a8c.js');
|
22
22
|
const solutionStore = require('./solution-store-b86759b2.js');
|
23
23
|
const interfaces = require('./interfaces-17c631bf.js');
|
24
24
|
require('./resources-b56bce71.js');
|
@@ -8,7 +8,7 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-c6979cbb.js');
|
11
|
-
const locale = require('./locale-
|
11
|
+
const locale = require('./locale-04da9a8c.js');
|
12
12
|
require('./_commonjsHelpers-384729db.js');
|
13
13
|
|
14
14
|
const cardManagerCss = ":host{display:block}.display-inline-table{display:inline-table}.display-flex{display:flex}.display-none{display:none}.w-100{width:100%}.w-1-2{width:50%}.padding-bottom-1{padding-bottom:1rem}";
|
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
|
9
9
|
const index = require('./index-c6979cbb.js');
|
10
|
-
const loadModules = require('./loadModules-
|
10
|
+
const loadModules = require('./loadModules-0806a34f.js');
|
11
11
|
const mapViewUtils = require('./mapViewUtils-d250b1ed.js');
|
12
12
|
|
13
13
|
/** @license
|
@@ -1082,7 +1082,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
|
|
1082
1082
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1083
1083
|
* ====================================================================
|
1084
1084
|
*/
|
1085
|
-
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-
|
1085
|
+
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-b71e9071.js'); })).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
|
1086
1086
|
/** ====================================================================
|
1087
1087
|
* @license
|
1088
1088
|
* jsPDF XMP metadata plugin
|
@@ -2129,6 +2129,7 @@ function _downloadPDFFile(labels, labelPageDescription, fileTitle) {
|
|
2129
2129
|
/**
|
2130
2130
|
* Downloads csv of mailing labels for the provided list of ids
|
2131
2131
|
*
|
2132
|
+
* @param selectionSetNames Names of the selection sets used to provide ids
|
2132
2133
|
* @param layer Layer providing features and attributes for download
|
2133
2134
|
* @param ids List of ids to download
|
2134
2135
|
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
@@ -2137,7 +2138,8 @@ function _downloadPDFFile(labels, labelPageDescription, fileTitle) {
|
|
2137
2138
|
* @param addColumnTitle Indicates if column headings should be included in output
|
2138
2139
|
* @returns Promise resolving when function is done
|
2139
2140
|
*/
|
2140
|
-
async function downloadCSV(layer, ids, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
|
2141
|
+
async function downloadCSV(selectionSetNames, layer, ids, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
|
2142
|
+
console.log("downloadCSV using selectionSetNames " + JSON.stringify(selectionSetNames)); //???
|
2141
2143
|
const labels = await _prepareLabels(layer, ids, removeDuplicates, formatUsingLayerPopup, addColumnTitle);
|
2142
2144
|
exportCSV(labels);
|
2143
2145
|
return Promise.resolve();
|
@@ -2145,13 +2147,15 @@ async function downloadCSV(layer, ids, formatUsingLayerPopup, removeDuplicates =
|
|
2145
2147
|
/**
|
2146
2148
|
* Downloads csv of mailing labels for the provided list of ids
|
2147
2149
|
*
|
2150
|
+
* @param selectionSetNames Names of the selection sets used to provide ids
|
2148
2151
|
* @param layer Layer providing features and attributes for download
|
2149
2152
|
* @param ids List of ids to download
|
2150
2153
|
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
2151
2154
|
* @param labelPageDescription Provides PDF page layout info
|
2152
2155
|
* @returns Promise resolving when function is done
|
2153
2156
|
*/
|
2154
|
-
async function downloadPDF(layer, ids, removeDuplicates, labelPageDescription) {
|
2157
|
+
async function downloadPDF(selectionSetNames, layer, ids, removeDuplicates, labelPageDescription) {
|
2158
|
+
console.log("downloadPDF using selectionSetNames " + JSON.stringify(selectionSetNames)); //???
|
2155
2159
|
const labels = await _prepareLabels(layer, ids, removeDuplicates);
|
2156
2160
|
exportPDF(labels, labelPageDescription);
|
2157
2161
|
return Promise.resolve();
|
@@ -2162,13 +2166,14 @@ async function downloadPDF(layer, ids, removeDuplicates, labelPageDescription) {
|
|
2162
2166
|
* Converts a set of fieldInfos into template lines.
|
2163
2167
|
*
|
2164
2168
|
* @param fieldInfos Layer's fieldInfos structure
|
2169
|
+
* @param bypassFieldVisiblity Indicates if the configured fieldInfo visibility property should be ignored
|
2165
2170
|
* @return Label spec
|
2166
2171
|
*/
|
2167
|
-
function _convertPopupFieldsToLabelSpec(fieldInfos) {
|
2172
|
+
function _convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity = false) {
|
2168
2173
|
const labelSpec = [];
|
2169
2174
|
// Every visible attribute is used
|
2170
2175
|
fieldInfos.forEach(fieldInfo => {
|
2171
|
-
if (fieldInfo.visible) {
|
2176
|
+
if (fieldInfo.visible || bypassFieldVisiblity) {
|
2172
2177
|
labelSpec.push(`{${fieldInfo.fieldName}}`);
|
2173
2178
|
}
|
2174
2179
|
});
|
@@ -2198,6 +2203,49 @@ function _convertPopupTextToLabelSpec(popupInfo) {
|
|
2198
2203
|
labelSpec = labelSpec.map(line => line.trim()).filter(line => line.length > 0);
|
2199
2204
|
return labelSpec;
|
2200
2205
|
}
|
2206
|
+
/**
|
2207
|
+
* Extracts Arcade expressions from the lines of a label format and creates an Arcade executor for each
|
2208
|
+
* referenced expression name.
|
2209
|
+
*
|
2210
|
+
* @param labelFormat Label to examine
|
2211
|
+
* @param layer Layer from which to fetch features
|
2212
|
+
* @return Promise resolving to a set of executors keyed using the expression name
|
2213
|
+
*/
|
2214
|
+
async function _createArcadeExecutors(labelFormat, layer) {
|
2215
|
+
const arcadeExecutors = {};
|
2216
|
+
// Are any Arcade expressions in the layer?
|
2217
|
+
if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
|
2218
|
+
return Promise.resolve(arcadeExecutors);
|
2219
|
+
}
|
2220
|
+
// Are there any Arcade expressions in the label format?
|
2221
|
+
const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
|
2222
|
+
const arcadeExpressionsMatches = labelFormat.join("|").match(arcadeExpressionRegExp);
|
2223
|
+
if (!arcadeExpressionsMatches) {
|
2224
|
+
return Promise.resolve(arcadeExecutors);
|
2225
|
+
}
|
2226
|
+
// Generate an Arcade executor for each match
|
2227
|
+
const [arcade] = await loadModules.loadModules(["esri/arcade"]);
|
2228
|
+
const labelingProfile = arcade.createArcadeProfile("popup");
|
2229
|
+
const createArcadeExecutorPromises = {};
|
2230
|
+
arcadeExpressionsMatches.forEach((match) => {
|
2231
|
+
const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
|
2232
|
+
(layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
|
2233
|
+
if (expressionInfo.name === expressionName) {
|
2234
|
+
createArcadeExecutorPromises[expressionName] =
|
2235
|
+
arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
|
2236
|
+
}
|
2237
|
+
});
|
2238
|
+
});
|
2239
|
+
const promises = Object.values(createArcadeExecutorPromises);
|
2240
|
+
return Promise.all(promises)
|
2241
|
+
.then(executors => {
|
2242
|
+
const expressionNames = Object.keys(createArcadeExecutorPromises);
|
2243
|
+
for (let i = 0; i < expressionNames.length; ++i) {
|
2244
|
+
arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
|
2245
|
+
}
|
2246
|
+
return arcadeExecutors;
|
2247
|
+
});
|
2248
|
+
}
|
2201
2249
|
/**
|
2202
2250
|
* Creates labels from items.
|
2203
2251
|
*
|
@@ -2211,33 +2259,57 @@ function _convertPopupTextToLabelSpec(popupInfo) {
|
|
2211
2259
|
*/
|
2212
2260
|
async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLayerPopup = true, includeHeaderNames = false) {
|
2213
2261
|
var _a, _b, _c, _d;
|
2214
|
-
const [intl] = await loadModules.loadModules([
|
2215
|
-
|
2216
|
-
]);
|
2217
|
-
// Get the attributes of the features to export
|
2262
|
+
const [intl] = await loadModules.loadModules(["esri/intl"]);
|
2263
|
+
// Get the features to export
|
2218
2264
|
const featureSet = await mapViewUtils.queryFeaturesByID(ids, layer);
|
2219
|
-
const featuresAttrs = featureSet.features.map(f => f.attributes);
|
2220
2265
|
// Get the label formatting, if any
|
2221
2266
|
let labelFormat;
|
2267
|
+
let arcadeExecutors = {};
|
2222
2268
|
if (layer.popupEnabled) {
|
2223
2269
|
// What data fields are used in the labels?
|
2224
2270
|
// Example labelFormat: ['{NAME}', '{STREET}', '{CITY}, {STATE} {ZIP}']
|
2225
2271
|
if (formatUsingLayerPopup && ((_b = (_a = layer.popupTemplate) === null || _a === void 0 ? void 0 : _a.content[0]) === null || _b === void 0 ? void 0 : _b.type) === "fields") {
|
2226
2272
|
labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
|
2273
|
+
// If popup is configured with "no attribute information", then no fields will visible
|
2274
|
+
if (labelFormat.length === 0) {
|
2275
|
+
// Can we use the popup title?
|
2276
|
+
// eslint-disable-next-line unicorn/prefer-ternary
|
2277
|
+
if (typeof layer.popupTemplate.title === "string") {
|
2278
|
+
labelFormat = [layer.popupTemplate.title];
|
2279
|
+
// Otherwise revert to using attributes
|
2280
|
+
}
|
2281
|
+
else {
|
2282
|
+
labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
|
2283
|
+
}
|
2284
|
+
}
|
2227
2285
|
}
|
2228
2286
|
else if (formatUsingLayerPopup && ((_d = (_c = layer.popupTemplate) === null || _c === void 0 ? void 0 : _c.content[0]) === null || _d === void 0 ? void 0 : _d.type) === "text") {
|
2229
2287
|
labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
|
2288
|
+
// Do we need any Arcade executors?
|
2289
|
+
arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
|
2230
2290
|
}
|
2231
2291
|
}
|
2232
2292
|
// Apply the label format
|
2233
2293
|
let labels;
|
2234
2294
|
// eslint-disable-next-line unicorn/prefer-ternary
|
2235
2295
|
if (labelFormat) {
|
2296
|
+
const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
|
2236
2297
|
// Convert attributes into an array of labels
|
2237
|
-
labels =
|
2298
|
+
labels = featureSet.features.map(feature => {
|
2238
2299
|
const label = [];
|
2239
2300
|
labelFormat.forEach(labelLineTemplate => {
|
2240
|
-
|
2301
|
+
let labelLine = labelLineTemplate;
|
2302
|
+
// Replace Arcade expressions
|
2303
|
+
const arcadeExpressionsMatches = labelLine.match(arcadeExpressionRegExp);
|
2304
|
+
if (arcadeExpressionsMatches) {
|
2305
|
+
arcadeExpressionsMatches.forEach((match) => {
|
2306
|
+
const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
|
2307
|
+
const replacement = arcadeExecutors[expressionName].execute({ "$feature": feature });
|
2308
|
+
labelLine = labelLine.replace(match, replacement);
|
2309
|
+
});
|
2310
|
+
}
|
2311
|
+
// Replace fields; must be done after Arcade check because `substitute` will discard Arcade expressions!
|
2312
|
+
labelLine = intl.substitute(labelLine, feature.attributes).trim();
|
2241
2313
|
if (labelLine.length > 0) {
|
2242
2314
|
label.push(labelLine);
|
2243
2315
|
}
|
@@ -2249,8 +2321,8 @@ async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLa
|
|
2249
2321
|
}
|
2250
2322
|
else {
|
2251
2323
|
// Export all attributes
|
2252
|
-
labels =
|
2253
|
-
return Object.values(
|
2324
|
+
labels = featureSet.features.map(feature => {
|
2325
|
+
return Object.values(feature.attributes).map(attribute => `${attribute}`);
|
2254
2326
|
});
|
2255
2327
|
}
|
2256
2328
|
// Remove duplicates
|
@@ -2266,7 +2338,8 @@ async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLa
|
|
2266
2338
|
headerNames = labelFormat.map(labelFormatLine => labelFormatLine.replace(/\{/g, "").replace(/\}/g, ""));
|
2267
2339
|
}
|
2268
2340
|
else {
|
2269
|
-
|
2341
|
+
const featuresAttrs = featureSet.features[0].attributes;
|
2342
|
+
Object.keys(featuresAttrs).forEach(k => {
|
2270
2343
|
if (featuresAttrs[0].hasOwnProperty(k)) {
|
2271
2344
|
headerNames.push(k);
|
2272
2345
|
}
|
@@ -6,10 +6,10 @@
|
|
6
6
|
'use strict';
|
7
7
|
|
8
8
|
const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
|
9
|
-
const downloadUtils = require('./downloadUtils-
|
9
|
+
const downloadUtils = require('./downloadUtils-ae182e3a.js');
|
10
10
|
require('./index-c6979cbb.js');
|
11
|
-
require('./loadModules-
|
12
|
-
require('./locale-
|
11
|
+
require('./loadModules-0806a34f.js');
|
12
|
+
require('./locale-04da9a8c.js');
|
13
13
|
require('./mapViewUtils-d250b1ed.js');
|
14
14
|
require('./interfaces-17c631bf.js');
|
15
15
|
|
@@ -8,7 +8,7 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-c6979cbb.js');
|
11
|
-
const locale = require('./locale-
|
11
|
+
const locale = require('./locale-04da9a8c.js');
|
12
12
|
require('./_commonjsHelpers-384729db.js');
|
13
13
|
|
14
14
|
const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:8px}tr:nth-child(odd){background:var(--calcite-ui-foreground-2)}.bottom-border{padding-bottom:0.5rem;border-bottom:1px solid var(--calcite-ui-border-1)}.padding-top-1-2{padding-top:0.5rem}.font-color-3{color:var(--calcite-ui-text-3)}";
|
@@ -8,12 +8,12 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-c6979cbb.js');
|
11
|
-
const locale = require('./locale-
|
11
|
+
const locale = require('./locale-04da9a8c.js');
|
12
12
|
const mapViewUtils = require('./mapViewUtils-d250b1ed.js');
|
13
|
-
const downloadUtils = require('./downloadUtils-
|
13
|
+
const downloadUtils = require('./downloadUtils-ae182e3a.js');
|
14
14
|
require('./_commonjsHelpers-384729db.js');
|
15
15
|
require('./interfaces-17c631bf.js');
|
16
|
-
require('./loadModules-
|
16
|
+
require('./loadModules-0806a34f.js');
|
17
17
|
|
18
18
|
const layerTableCss = ":host{display:block}.table{display:table;width:100%}.header{display:table-header-group;background-color:#757575;font-weight:500;font-size:var(--calcite-font-size-0);color:var(--calcite-ui-text-inverse);position:sticky;top:0;z-index:1}.table-header-cell{display:table-cell;text-align:justify;border-right:1px solid var(--calcite-ui-border-2);padding:0.5rem}.table-body{display:table-row-group}.row{display:table-row}.table-cell{display:table-cell;padding:0.5rem}.display-table-header{display:table-header-group}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-ui-border-2)}.justify-center{justify-content:center}.table-container{width:100%}.overflow-auto{overflow:auto}.data-container{overflow:auto;height:calc(100% - 35px)}.row:nth-child(odd){background:var(--calcite-ui-foreground-3)}.padding-3-4{padding:0.75rem}.field-width{white-space:nowrap;min-width:300px;max-width:300px;overflow:hidden}";
|
19
19
|
|
@@ -222,7 +222,7 @@ const LayerTable = class {
|
|
222
222
|
* @returns a promise that will resolve when the operation is complete
|
223
223
|
*/
|
224
224
|
async _exportToCSV() {
|
225
|
-
return downloadUtils.downloadCSV(this._layerView.layer, this._getSelectedIds(), false, // formatUsingLayerPopup
|
225
|
+
return downloadUtils.downloadCSV([], this._layerView.layer, this._getSelectedIds(), false, // formatUsingLayerPopup
|
226
226
|
false, // removeDuplicates
|
227
227
|
true);
|
228
228
|
}
|