@esri/solutions-components 0.8.2 → 0.8.4
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-action-pad_2.cjs.entry.js +1 -1
- package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +16 -10
- package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
- package/dist/cjs/{downloadUtils-c2bd7c80.js → downloadUtils-8b05d7cc.js} +39 -8
- package/dist/cjs/{helpers-81779c18.js → helpers-b014d9a9.js} +1 -1
- package/dist/cjs/{index.es-22b3d1a2.js → index.es-e7587227.js} +1 -1
- package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +4 -4
- package/dist/cjs/instant-apps-control-panel.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-export.cjs.entry.js +16 -10
- package/dist/cjs/instant-apps-header.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +4 -4
- package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-landing-page.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-measurement.cjs.entry.js +4 -4
- package/dist/cjs/instant-apps-popover.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-splash.cjs.entry.js +14 -5
- package/dist/cjs/{languageSwitcher-4822684b.js → languageSwitcher-3870c772.js} +1 -1
- package/dist/cjs/{languageUtil-9bd00bad.js → languageUtil-0df39c0c.js} +1 -1
- package/dist/cjs/{loadModules-69fc5b98.js → loadModules-01306709.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-3e33f44c.js → locale-4cef466e.js} +2 -2
- 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/cjs/{utils-ea7a5a63.js → utils-ac836e7a.js} +1 -1
- package/dist/collection/utils/downloadUtils.js +38 -7
- package/dist/collection/utils/downloadUtils.ts +46 -7
- package/dist/collection/utils/test/downloadUtils.spec.js +33 -1
- package/dist/collection/utils/test/downloadUtils.spec.tsx +40 -1
- package/dist/components/downloadUtils.js +38 -7
- package/dist/components/instant-apps-export.js +13 -7
- package/dist/components/instant-apps-landing-page.js +1 -1
- package/dist/components/instant-apps-measurement.js +1 -1
- package/dist/components/instant-apps-social-share2.js +13 -7
- package/dist/components/instant-apps-splash.js +16 -2
- package/dist/components/languageUtil.js +1 -1
- package/dist/components/loadModules2.js +1 -1
- package/dist/esm/calcite-action-pad_2.entry.js +1 -1
- package/dist/esm/calcite-input-date-picker_3.entry.js +16 -10
- package/dist/esm/card-manager_3.entry.js +1 -1
- package/dist/esm/{downloadUtils-a6c0e25f.js → downloadUtils-0c13073b.js} +39 -8
- package/dist/esm/{helpers-aeddac74.js → helpers-f9256189.js} +1 -1
- package/dist/esm/{index.es-b0a676ae.js → index.es-ad250bc6.js} +1 -1
- package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +4 -4
- package/dist/esm/instant-apps-control-panel.entry.js +1 -1
- package/dist/esm/instant-apps-export.entry.js +16 -10
- package/dist/esm/instant-apps-header.entry.js +1 -1
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend.entry.js +4 -4
- package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +3 -3
- package/dist/esm/instant-apps-landing-page.entry.js +1 -1
- package/dist/esm/instant-apps-language-switcher.entry.js +5 -5
- package/dist/esm/instant-apps-language-translator.entry.js +5 -5
- package/dist/esm/instant-apps-measurement.entry.js +4 -4
- package/dist/esm/instant-apps-popover.entry.js +3 -3
- package/dist/esm/instant-apps-scoreboard.entry.js +3 -3
- package/dist/esm/instant-apps-splash.entry.js +14 -5
- package/dist/esm/{languageSwitcher-4faa659f.js → languageSwitcher-068998b1.js} +1 -1
- package/dist/esm/{languageUtil-dc3111c1.js → languageUtil-035e7728.js} +1 -1
- package/dist/esm/{loadModules-877bbb89.js → loadModules-7a5f1022.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-bd9034e1.js → locale-4cab280d.js} +2 -2
- 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/esm/{utils-28d0a086.js → utils-78fe6e5b.js} +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-scoreboard/instant-apps-scoreboard.css +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-social-share/instant-apps-social-share.css +8 -1
- package/dist/solutions-components/{p-a455c3f0.entry.js → p-00524417.entry.js} +1 -1
- package/dist/solutions-components/{p-8e9f96db.js → p-12a7d0d1.js} +1 -1
- package/dist/solutions-components/{p-a7b7f8d1.js → p-15a0e7fb.js} +1 -1
- package/dist/solutions-components/{p-b41e2c4c.js → p-1d3a1794.js} +11 -11
- package/dist/solutions-components/p-2d72eac3.entry.js +6 -0
- package/dist/solutions-components/{p-a2544cba.entry.js → p-30edeb79.entry.js} +1 -1
- package/dist/solutions-components/{p-220c46c2.entry.js → p-3a6a1ce9.entry.js} +1 -1
- package/dist/solutions-components/{p-a59078ee.entry.js → p-3b9e4882.entry.js} +1 -1
- package/dist/solutions-components/{p-8ad937b4.entry.js → p-465aa7d9.entry.js} +1 -1
- package/dist/solutions-components/p-4dcc150d.entry.js +6 -0
- package/dist/solutions-components/{p-1bca71bf.entry.js → p-4efd2af6.entry.js} +1 -1
- package/dist/solutions-components/{p-5a28d60c.entry.js → p-5320dc25.entry.js} +1 -1
- package/dist/solutions-components/{p-734d1dc5.js → p-590a2a26.js} +1 -1
- package/dist/solutions-components/{p-0d72a9ca.entry.js → p-5f6e7429.entry.js} +1 -1
- package/dist/solutions-components/{p-015a45e2.entry.js → p-65ad1625.entry.js} +1 -1
- package/dist/solutions-components/{p-2e7a9b9b.entry.js → p-88932d2f.entry.js} +2 -2
- package/dist/solutions-components/{p-104f07e3.entry.js → p-954dc86f.entry.js} +1 -1
- package/dist/solutions-components/{p-52b37bad.entry.js → p-989bf0bf.entry.js} +1 -1
- package/dist/solutions-components/{p-0f427774.entry.js → p-a0611720.entry.js} +1 -1
- package/dist/solutions-components/{p-c302bbea.entry.js → p-a3132356.entry.js} +1 -1
- package/dist/solutions-components/{p-c10b44ee.entry.js → p-a886ab7f.entry.js} +1 -1
- package/dist/solutions-components/{p-03037cf9.js → p-ad98c346.js} +1 -1
- package/dist/solutions-components/{p-03a65871.entry.js → p-bf6b4eb7.entry.js} +1 -1
- package/dist/solutions-components/{p-09801ba6.entry.js → p-c4ff3b52.entry.js} +3 -3
- package/dist/solutions-components/p-d599cfa8.entry.js +6 -0
- package/dist/solutions-components/{p-cfe890f6.entry.js → p-f313b45b.entry.js} +1 -1
- package/dist/solutions-components/{p-aec4441b.entry.js → p-fc1367d9.entry.js} +1 -1
- package/dist/solutions-components/{p-07626c45.js → p-fc2fb61b.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/downloadUtils.ts +46 -7
- package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +40 -1
- package/dist/types/utils/downloadUtils.d.ts +18 -4
- package/package.json +6 -6
- package/dist/solutions-components/p-7d6ee026.entry.js +0 -6
- package/dist/solutions-components/p-b80bc5b9.entry.js +0 -6
- package/dist/solutions-components/p-dd45738e.entry.js +0 -6
- /package/dist/solutions-components/{p-70359c2b.js → p-89218b6e.js} +0 -0
- /package/dist/solutions-components/{p-090e0241.js → p-e85ba21c.js} +0 -0
|
@@ -117,7 +117,11 @@ import {
|
|
|
117
117
|
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
|
118
118
|
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
|
119
119
|
* all attributes are exported
|
|
120
|
-
* @param includeHeaderNames Add
|
|
120
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
121
|
+
* @param isCSVExport Indicates if the export is for a CSV file
|
|
122
|
+
* @param fields Fields to include in the export
|
|
123
|
+
* @param useFieldAliasNames Indicates if field alias names should be used in the export
|
|
124
|
+
* @param filterFields Indicates if fields should be filtered
|
|
121
125
|
* @returns selectionSetNames that will be used for export filenames
|
|
122
126
|
*/
|
|
123
127
|
export async function consolidateLabels(
|
|
@@ -156,6 +160,9 @@ export async function consolidateLabels(
|
|
|
156
160
|
* all attributes are exported
|
|
157
161
|
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
|
158
162
|
* @param addColumnTitle Indicates if column headings should be included in output
|
|
163
|
+
* @param fields Fields to include in the export
|
|
164
|
+
* @param useFieldAliasNames Indicates if field alias names should be used in the export
|
|
165
|
+
* @param filterFields Indicates if fields should be filtered
|
|
159
166
|
* @returns Promise resolving when function is done
|
|
160
167
|
*/
|
|
161
168
|
export async function downloadCSV(
|
|
@@ -472,6 +479,38 @@ export function _createFilename(
|
|
|
472
479
|
return title;
|
|
473
480
|
}
|
|
474
481
|
|
|
482
|
+
/**
|
|
483
|
+
* Creates headings from a label format.
|
|
484
|
+
*
|
|
485
|
+
* @param labelFormat Format for label
|
|
486
|
+
* @returns A list of headings, with one heading for each line in the label format
|
|
487
|
+
*/
|
|
488
|
+
export function _extractHeaderNames(
|
|
489
|
+
labelFormat: string
|
|
490
|
+
): string[] {
|
|
491
|
+
// Split the format into lines
|
|
492
|
+
const lines = labelFormat.split(lineSeparatorChar);
|
|
493
|
+
|
|
494
|
+
// Generate a header for each line
|
|
495
|
+
const headerNames = lines.map(
|
|
496
|
+
(line, i) => {
|
|
497
|
+
// Find the field names in the line
|
|
498
|
+
const fieldNameSyms = line.match(/\{[^\}]*\}/g);
|
|
499
|
+
|
|
500
|
+
// Extract the field names from the symbols; if there are no symbols, use a default name; if a field name
|
|
501
|
+
// is an Arcade expression, extract the expression name
|
|
502
|
+
return fieldNameSyms
|
|
503
|
+
? fieldNameSyms
|
|
504
|
+
.map(fieldName => fieldName.substring(1, fieldName.length - 1))
|
|
505
|
+
.map(fieldName => fieldName.startsWith("expression/") ? fieldName.substring(fieldName.indexOf("/") + 1) : fieldName)
|
|
506
|
+
.join("__")
|
|
507
|
+
: `column_${i + 1}`;
|
|
508
|
+
}
|
|
509
|
+
);
|
|
510
|
+
|
|
511
|
+
return headerNames;
|
|
512
|
+
}
|
|
513
|
+
|
|
475
514
|
/**
|
|
476
515
|
* Extracts Arcade expression references from the lines of a label format.
|
|
477
516
|
*
|
|
@@ -647,7 +686,7 @@ export async function _getLabelFormat(
|
|
|
647
686
|
|
|
648
687
|
if (webmapLayers.length > 0) {
|
|
649
688
|
labelFormatProps = await _getLabelFormat(webmap, webmapLayers[0], formatUsingLayerPopup);
|
|
650
|
-
labelFormatProps.relationshipId = relationshipId;
|
|
689
|
+
labelFormatProps.relationshipId = relationshipId.toString();
|
|
651
690
|
|
|
652
691
|
} else {
|
|
653
692
|
// Related layer info is not in webmap; get the label info from the related layer
|
|
@@ -694,7 +733,7 @@ export async function _getLabelFormat(
|
|
|
694
733
|
labelFormatProps.labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
|
|
695
734
|
} else {
|
|
696
735
|
labelFormatProps = await labelFormatPropsPromise;
|
|
697
|
-
labelFormatProps.relationshipId = relationshipId;
|
|
736
|
+
labelFormatProps.relationshipId = relationshipId.toString();
|
|
698
737
|
}
|
|
699
738
|
}
|
|
700
739
|
|
|
@@ -836,7 +875,7 @@ export function _prepareAttributeValue(
|
|
|
836
875
|
* @param ids List of ids to download
|
|
837
876
|
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
|
838
877
|
* all attributes are exported
|
|
839
|
-
* @param includeHeaderNames Add
|
|
878
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
840
879
|
* @returns Promise resolving when function is done
|
|
841
880
|
*/
|
|
842
881
|
export async function _prepareLabels(
|
|
@@ -973,7 +1012,7 @@ export async function _prepareLabels(
|
|
|
973
1012
|
* @param featureSet Features to convert to labels
|
|
974
1013
|
* @param attributeTypes Type for each attribute in a feature
|
|
975
1014
|
* @param attributeDomains Domains for each attribute in a feature
|
|
976
|
-
* @param includeHeaderNames Add
|
|
1015
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
977
1016
|
* @returns Promise resolving with list of labels, each of which is a list of label lines
|
|
978
1017
|
*/
|
|
979
1018
|
export async function _prepareLabelsFromAll(
|
|
@@ -1025,7 +1064,7 @@ export async function _prepareLabelsFromAll(
|
|
|
1025
1064
|
* @param attributeDomains Domains for each attribute in a feature
|
|
1026
1065
|
* @param attributeFormats Formats for each attribute in a feature
|
|
1027
1066
|
* @param labelFormat Format for label
|
|
1028
|
-
* @param includeHeaderNames Add
|
|
1067
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
1029
1068
|
* @returns Promise resolving with list of labels, each of which is a list of label lines
|
|
1030
1069
|
*/
|
|
1031
1070
|
export async function _prepareLabelsFromPattern(
|
|
@@ -1089,7 +1128,7 @@ export async function _prepareLabelsFromPattern(
|
|
|
1089
1128
|
|
|
1090
1129
|
// Add header names
|
|
1091
1130
|
if (includeHeaderNames) {
|
|
1092
|
-
labels.unshift(
|
|
1131
|
+
labels.unshift(_extractHeaderNames(labelFormat));
|
|
1093
1132
|
}
|
|
1094
1133
|
|
|
1095
1134
|
return Promise.resolve(labels);
|
|
@@ -251,10 +251,49 @@ describe("downloadUtils", () => {
|
|
|
251
251
|
|
|
252
252
|
});
|
|
253
253
|
|
|
254
|
+
describe("_extractHeaderNames", () => {
|
|
255
|
+
|
|
256
|
+
it("handles a single-line label", () => {
|
|
257
|
+
const labelSpec = "{PSTLCITY}, {PSTLSTATE} {PSTLZIP5}";
|
|
258
|
+
const headerNames = downloadUtils._extractHeaderNames(labelSpec);
|
|
259
|
+
const expectedHeaderNames = ["PSTLCITY__PSTLSTATE__PSTLZIP5"];
|
|
260
|
+
expect(headerNames).toEqual(expectedHeaderNames);
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
it("handles a multi-line label", () => {
|
|
264
|
+
const labelSpec = "{OWNERNM1}|{PSTLADDRESS}|{PSTLCITY}, {PSTLSTATE} {PSTLZIP5}";
|
|
265
|
+
const headerNames = downloadUtils._extractHeaderNames(labelSpec);
|
|
266
|
+
const expectedHeaderNames = ["OWNERNM1", "PSTLADDRESS", "PSTLCITY__PSTLSTATE__PSTLZIP5"];
|
|
267
|
+
expect(headerNames).toEqual(expectedHeaderNames);
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
it("handles a multi-line label with a line without attributes", () => {
|
|
271
|
+
const labelSpec = "{OWNERNM1}|Line without attributes|{PSTLCITY}, {PSTLSTATE} {PSTLZIP5}";
|
|
272
|
+
const headerNames = downloadUtils._extractHeaderNames(labelSpec);
|
|
273
|
+
const expectedHeaderNames = ["OWNERNM1", "column_2", "PSTLCITY__PSTLSTATE__PSTLZIP5"];
|
|
274
|
+
expect(headerNames).toEqual(expectedHeaderNames);
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
it("handles a label with an Arcade expression", () => {
|
|
278
|
+
const labelSpec = "{expression/expr0}|{OWNERNM1}|{PSTLADDRESS}|{PSTLCITY}, {PSTLSTATE} {PSTLZIP5}";
|
|
279
|
+
const headerNames = downloadUtils._extractHeaderNames(labelSpec);
|
|
280
|
+
const expectedHeaderNames = ["expr0", "OWNERNM1", "PSTLADDRESS", "PSTLCITY__PSTLSTATE__PSTLZIP5"];
|
|
281
|
+
expect(headerNames).toEqual(expectedHeaderNames);
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
it("handles a label with multiple Arcade expressions", () => {
|
|
285
|
+
const labelSpec = "{expression/expr3}: {expression/expr1}|{OWNERNM1}|{expression/expr0}|{PSTLCITY}, {PSTLSTATE} {PSTLZIP5}";
|
|
286
|
+
const headerNames = downloadUtils._extractHeaderNames(labelSpec);
|
|
287
|
+
const expectedHeaderNames = ["expr3__expr1", "OWNERNM1", "expr0", "PSTLCITY__PSTLSTATE__PSTLZIP5"];
|
|
288
|
+
expect(headerNames).toEqual(expectedHeaderNames);
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
});
|
|
292
|
+
|
|
254
293
|
describe("_getExpressionsFromLabel", () => {
|
|
255
294
|
|
|
256
295
|
it("handles a label with ASCII expression names", () => {
|
|
257
|
-
const labelSpec = "{expression/expr0}
|
|
296
|
+
const labelSpec = "{expression/expr0}|{OWNERNM1}|{PSTLADDRESS}|{PSTLCITY}, {PSTLSTATE} {PSTLZIP5}";
|
|
258
297
|
const expectedExpressions = ["{expression/expr0}"];
|
|
259
298
|
const expressions = downloadUtils._getExpressionsFromLabel(labelSpec);
|
|
260
299
|
expect(expressions).toEqual(expectedExpressions);
|
|
@@ -74,7 +74,11 @@ import { IQueryRelatedOptions, IQueryRelatedResponse, IRelatedRecordGroup } from
|
|
|
74
74
|
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
|
75
75
|
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
|
76
76
|
* all attributes are exported
|
|
77
|
-
* @param includeHeaderNames Add
|
|
77
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
78
|
+
* @param isCSVExport Indicates if the export is for a CSV file
|
|
79
|
+
* @param fields Fields to include in the export
|
|
80
|
+
* @param useFieldAliasNames Indicates if field alias names should be used in the export
|
|
81
|
+
* @param filterFields Indicates if fields should be filtered
|
|
78
82
|
* @returns selectionSetNames that will be used for export filenames
|
|
79
83
|
*/
|
|
80
84
|
export declare function consolidateLabels(webmap: __esri.Map, exportInfos: IExportInfos, formatUsingLayerPopup?: boolean, includeHeaderNames?: boolean, isCSVExport?: boolean, fields?: any, useFieldAliasNames?: boolean, filterFields?: boolean): Promise<string[][]>;
|
|
@@ -87,6 +91,9 @@ export declare function consolidateLabels(webmap: __esri.Map, exportInfos: IExpo
|
|
|
87
91
|
* all attributes are exported
|
|
88
92
|
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
|
89
93
|
* @param addColumnTitle Indicates if column headings should be included in output
|
|
94
|
+
* @param fields Fields to include in the export
|
|
95
|
+
* @param useFieldAliasNames Indicates if field alias names should be used in the export
|
|
96
|
+
* @param filterFields Indicates if fields should be filtered
|
|
90
97
|
* @returns Promise resolving when function is done
|
|
91
98
|
*/
|
|
92
99
|
export declare function downloadCSV(webmap: __esri.Map, exportInfos: IExportInfos, formatUsingLayerPopup: boolean, removeDuplicates?: boolean, addColumnTitle?: boolean, fields?: any, useFieldAliasNames?: boolean, filterFields?: boolean): Promise<void>;
|
|
@@ -150,6 +157,13 @@ export declare function _convertPopupArcadeToLabelSpec(expressionInfo: __esri.El
|
|
|
150
157
|
* selection set names supplied, "download" is returned
|
|
151
158
|
*/
|
|
152
159
|
export declare function _createFilename(selectionSetNames: string[]): string;
|
|
160
|
+
/**
|
|
161
|
+
* Creates headings from a label format.
|
|
162
|
+
*
|
|
163
|
+
* @param labelFormat Format for label
|
|
164
|
+
* @returns A list of headings, with one heading for each line in the label format
|
|
165
|
+
*/
|
|
166
|
+
export declare function _extractHeaderNames(labelFormat: string): string[];
|
|
153
167
|
/**
|
|
154
168
|
* Extracts Arcade expression references from the lines of a label format.
|
|
155
169
|
*
|
|
@@ -227,7 +241,7 @@ export declare function _prepareAttributeValue(attributeValue: any, attributeTyp
|
|
|
227
241
|
* @param ids List of ids to download
|
|
228
242
|
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
|
229
243
|
* all attributes are exported
|
|
230
|
-
* @param includeHeaderNames Add
|
|
244
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
231
245
|
* @returns Promise resolving when function is done
|
|
232
246
|
*/
|
|
233
247
|
export declare function _prepareLabels(webmap: __esri.Map, layer: __esri.FeatureLayer, ids: number[], formatUsingLayerPopup?: boolean, includeHeaderNames?: boolean, fields?: any, useFieldAliasNames?: boolean, filterFields?: boolean): Promise<string[][]>;
|
|
@@ -237,7 +251,7 @@ export declare function _prepareLabels(webmap: __esri.Map, layer: __esri.Feature
|
|
|
237
251
|
* @param featureSet Features to convert to labels
|
|
238
252
|
* @param attributeTypes Type for each attribute in a feature
|
|
239
253
|
* @param attributeDomains Domains for each attribute in a feature
|
|
240
|
-
* @param includeHeaderNames Add
|
|
254
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
241
255
|
* @returns Promise resolving with list of labels, each of which is a list of label lines
|
|
242
256
|
*/
|
|
243
257
|
export declare function _prepareLabelsFromAll(featureSet: __esri.Graphic[], attributeTypes: IAttributeTypes, attributeDomains: IAttributeDomains, includeHeaderNames?: boolean, useFieldAliasNames?: boolean): Promise<string[][]>;
|
|
@@ -250,7 +264,7 @@ export declare function _prepareLabelsFromAll(featureSet: __esri.Graphic[], attr
|
|
|
250
264
|
* @param attributeDomains Domains for each attribute in a feature
|
|
251
265
|
* @param attributeFormats Formats for each attribute in a feature
|
|
252
266
|
* @param labelFormat Format for label
|
|
253
|
-
* @param includeHeaderNames Add
|
|
267
|
+
* @param includeHeaderNames Add a heading entries at the beginning of the list of generated labels
|
|
254
268
|
* @returns Promise resolving with list of labels, each of which is a list of label lines
|
|
255
269
|
*/
|
|
256
270
|
export declare function _prepareLabelsFromPattern(layer: __esri.FeatureLayer, featureSet: __esri.Graphic[], attributeOrigNames: IAttributeOrigNames, attributeTypes: IAttributeTypes, attributeDomains: IAttributeDomains, attributeFormats: IAttributeFormats, labelFormat: string, includeHeaderNames?: boolean): Promise<string[][]>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esri/solutions-components",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.4",
|
|
4
4
|
"description": "Web Components for Esri's Solutions Applications",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -37,6 +37,9 @@
|
|
|
37
37
|
"@babel/types": "^7.23.0",
|
|
38
38
|
"@esri/eslint-plugin-calcite-components": "^0.2.2",
|
|
39
39
|
"@esri/solution-common": "3.0.1",
|
|
40
|
+
"@esri/telemetry": "6.1.3",
|
|
41
|
+
"@esri/telemetry-amazon": "1.1.3",
|
|
42
|
+
"@esri/telemetry-google-analytics": "0.4.3",
|
|
40
43
|
"@stencil-community/postcss": "^2.2.0",
|
|
41
44
|
"@stencil/core": "^4.8.0",
|
|
42
45
|
"@stencil/sass": "^3.0.7",
|
|
@@ -71,10 +74,7 @@
|
|
|
71
74
|
"tailwindcss": "3.0.23",
|
|
72
75
|
"ts-node": "^10.9.1",
|
|
73
76
|
"tslib": "^2.4.0",
|
|
74
|
-
"typescript": "^4.8.4"
|
|
75
|
-
"@esri/telemetry": "6.1.3",
|
|
76
|
-
"@esri/telemetry-amazon": "1.1.3",
|
|
77
|
-
"@esri/telemetry-google-analytics": "0.4.3"
|
|
77
|
+
"typescript": "^4.8.4"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
80
|
"@esri/arcgis-rest-auth": "^3.4.2",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"@esri/hub-initiatives": "^12.4.1",
|
|
89
89
|
"@esri/hub-sites": "^12.6.0",
|
|
90
90
|
"@esri/hub-teams": "^12.4.1",
|
|
91
|
-
"@esri/instant-apps-components": "1.0.0-beta.
|
|
91
|
+
"@esri/instant-apps-components": "1.0.0-beta.206",
|
|
92
92
|
"@esri/solution-common": "^5.0.9",
|
|
93
93
|
"@pdf-lib/fontkit": "^1.1.1",
|
|
94
94
|
"focus-trap": "7.2.0",
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright 2022 Esri
|
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{r as t,c as n,h as i,H as s,g as e}from"./p-7d280d8a.js";import{g as o}from"./p-07626c45.js";import{l as a}from"./p-70359c2b.js";import{g as r}from"./p-c96eb2db.js";import"./p-090e0241.js";import"./p-8ddc7786.js";import"./p-e2d0ad1b.js";const p="instant-apps-export calcite-mode-light",l="instant-apps-export-print",h="instant-apps-export-print__content-container",c="instant-apps-export-print__extra-container",d="instant-apps-export-print__legend-container",u="instant-apps-export-print__compass-container",x="instant-apps-export-print__scale-bar-container",v="instant-apps-export-print__popup-container",b="instant-apps-export-print__popup-content",_="instant-apps-export-print__popup-title",g="instant-apps-export-print__view",m="instant-apps-export-print__view-container",f="instant-apps-export-print__view-wrapper",w="instant-app-export-drag",k=class{constructor(i){t(this,i),this.exportOutputUpdated=n(this,"exportOutputUpdated",7),this.output=void 0,this.beforeExport=()=>Promise.resolve(),this.popoverIcon="export",this.extraContent=void 0,this.extraContentLabel=void 0,this.headerTitle="",this.includeExtraContent=!0,this.includeLegend=!0,this.includeMap=!0,this.includePopup=!1,this.mode="popover",this.popoverPositioning="absolute",this.popoverPlacement="auto",this.scale="m",this.showHeaderTitle=!0,this.showIncludeLegend=!0,this.showIncludeMap=!1,this.showIncludePopup=!0,this.showScaleBar=!1,this.view=void 0,this.maskBackground="rgba(255, 51, 0, 0.1)",this.maskBorder="2px dashed rgb(255, 51, 0)",this.baseClass=p,this.exportIsLoading=void 0,this.messages=void 0}watchIncludeMap(t){t&&this.updateLegend()}componentWillLoad(){this.baseClass="dark"===r(this.el)?"instant-apps-export calcite-mode-dark":p,o(this),this.initializeModules()}componentDidLoad(){this.printContainerEl.prepend(this.printEl)}disconnectedCallback(){var t,n;null===(t=this.handles)||void 0===t||t.removeAll(),null===(n=this.handles)||void 0===n||n.destroy(),this.handles=null}async initializeModules(){const[t]=await a(["esri/core/Handles"]);return this.handles=new t,Promise.resolve()}render(){const t="popover"===this.mode?this.renderPopover():this.renderPanel(),n=this.renderCompass();return i(s,null,i("div",{class:this.baseClass,onMouseEnter:this.handleWidgetCreation.bind(this),onFocusin:this.handleWidgetCreation.bind(this)},t,i("div",{class:"instant-apps-export__visually-hidden"},n)))}renderPopover(){var t,n,s;const e=this.renderPanel();return[i("calcite-popover",{referenceElement:"export-popover-btn",label:null===(t=this.messages)||void 0===t?void 0:t.exportPopover,overlayPositioning:this.popoverPositioning,placement:this.popoverPlacement,autoClose:!0,ref:t=>this.popoverEl=t},e),i("calcite-action",{id:"export-popover-btn",alignment:"center",icon:this.popoverIcon,scale:this.scale,title:null===(n=this.messages)||void 0===n?void 0:n.exportBtn,text:null===(s=this.messages)||void 0===s?void 0:s.exportBtn})]}renderPanel(){var t,n;const s=this.showHeaderTitle?this.renderTitle():null,e=null!=this.extraContent?this.renderSwitch("includeExtraContent",this.extraContentLabel):null,o=this.showIncludeMap?this.renderSwitch("includeMap"):null,a=this.includeMap?this.renderMapOptions():null,r=this.renderPrint();return i("div",{class:"inline"===this.mode?"instant-apps-export__inline-container":"instant-apps-export__popover-container"},s,e,o,a,this.includeMap?i("calcite-button",{appearance:"transparent",width:"full",onClick:this.setMapAreaOnClick.bind(this),disabled:this.exportIsLoading},null===(t=this.messages)||void 0===t?void 0:t.setMapArea):null,i("calcite-button",{width:"full",onClick:this.exportOnClick.bind(this),disabled:this.exportIsLoading},null===(n=this.messages)||void 0===n?void 0:n.export),r)}renderTitle(){var t;return i("calcite-label",null,null===(t=this.messages)||void 0===t?void 0:t.title,i("calcite-input",{value:this.headerTitle,onCalciteInputInput:this.updateHeaderTitle.bind(this)}))}renderSwitch(t,n){var s;const e=null!=n?n:null===(s=this.messages)||void 0===s?void 0:s[t];return i("calcite-label",{layout:"inline-space-between"},e,i("calcite-switch",{checked:this[t],value:t,onCalciteSwitchChange:this.optionOnChange.bind(this)}))}renderMapOptions(){const t=this.showIncludeLegend?this.renderSwitch("includeLegend"):null,n=this.showIncludePopup?this.renderSwitch("includePopup"):null;return i("div",null,t,n)}renderPrint(){const t=this.includeMap?this.renderPrintMap():null,n=this.renderExtraContent(),s=this.includeMap&&this.showIncludeLegend?this.renderLegend():null,e=this.includeMap&&this.showIncludePopup?this.renderPopup():null;return i("div",{ref:t=>this.printContainerEl=t},i("div",{class:l,ref:t=>this.printEl=t},t,s,i("div",{class:h},e,n)))}renderPrintMap(){return i("div",{class:m,ref:t=>this.viewContainerEl=t},i("div",{class:f,ref:t=>this.viewWrapperEl=t},this.headerTitle?i("instant-apps-header",{titleText:this.headerTitle,backgroundColor:"#fff",textColor:"#323232"}):null,i("img",{class:g,ref:t=>this.viewEl=t}),i("div",{class:x,ref:t=>this.scaleBarContainerEl=t})))}renderLegend(){return i("div",{class:d,ref:t=>this.legendContainerEl=t})}renderCompass(){return i("div",{class:u,ref:t=>this.compassContainerEl=t})}renderPopup(){return i("div",{class:v,ref:t=>this.popupContainerEl=t},i("div",{ref:t=>this.popupTitleEl=t,class:_}),i("div",{ref:t=>this.popupContentEl=t,class:b}))}renderExtraContent(){return i("div",{class:c,id:"export-content",ref:t=>this.extraContainerEl=t})}optionOnChange(t){const{checked:n,value:i}=t.target;this[i]=n,this.updateExportOutput()}updateHeaderTitle(t){this.headerTitle=t.target.value,this.updateExportOutput()}async exportOnClick(){this.removeScreenshotElements(),await this.beforeExport(),null==this.viewWrapperEl||this.viewWrapperEl.contains(this.compassContainerEl)||this.viewWrapperEl.append(this.compassContainerEl),this.handleViewExportOnClick(),null!=this.popoverEl&&(this.popoverEl.open=!1)}async handleViewExportOnClick(){null!=this.view?(this.addPrintStyling(),document.body.prepend(this.printEl),this.handleExtraContent(),this.includeMap?(this.updateScaleBar(),this.updatePopupToPrint(),this.viewScreenshot(),this.handleImgLoaded()):this.handleImgLoaded()):null!=this.popoverEl&&(this.popoverEl.open=!1)}addPrintStyling(){null==this.printStyleEl&&(this.printStyleEl=document.createElement("style"),this.printStyleEl.innerHTML='\n @media print {\n @page {\n size: Portrait;\n margin: .25in;\n }\n\n html, body {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n }\n\n body > *:not(.instant-apps-export-print) { display: none; }\n }\n\n * {\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n }\n\n\n .instant-apps-export-print {\n height: 100%;\n width: 100%;\n position: absolute;\n z-index: -999;\n color: #323232 !important;\n display: grid;\n gap: 24px;\n grid-auto-flow: row;\n --esri-calcite-mode-name: "light";\n }\n\n .instant-apps-export-print, .instant-apps-export-print * {\n box-sizing: border-box;\n }\n\n .instant-apps-export-print__view-section {\n height: 100%;\n }\n\n .instant-apps-export-print__view-container {\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n }\n\n .instant-apps-export-print__view-wrapper {\n height: fit-content;\n width: fit-content;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 2pt solid #323232;\n overflow: hidden;\n }\n\n .instant-apps-export-print__view {\n object-fit: contain;\n }\n\n .instant-apps-export-print__popup-container {\n height: min-content;\n max-width: 350px;\n display: none;\n color: #323232;\n background: #fff;\n border: 1pt solid #323232;\n break-inside: avoid;\n }\n\n .instant-apps-export-print__popup-title {\n border-bottom: 1pt solid #323232;\n }\n\n .instant-apps-export-print__popup-content {\n background: #fff;\n padding-top: 8pt;\n }\n\n .instant-apps-export-print__popup-content .esri-feature-media__chart {\n background: #fff;\n }\n\n .instant-apps-export-print__legend-container {\n height: min-content;\n background: #fff;\n overflow: unset;\n }\n\n .esri-legend--card, .esri-legend--card__service-content {\n flex-flow: row wrap;\n }\n\n .instant-apps-export-print .esri-widget > *:not(.esri-scale-bar.esri-widget > *) {\n background: #fff;\n color: #323232;\n }\n\n .instant-apps-export-print__popup-content * {\n color: #323232;\n }\n\n .instant-apps-export-print .esri-widget__heading {\n margin: 2pt 7pt;\n padding: 0;\n color: #323232;\n }\n\n .instant-apps-export-print .esri-legend__ramp-label:before {\n border-color: rgba(0,0,0,0) rgba(50,50,50,.8) rgba(0,0,0,0) rgba(0,0,0,0);\n }\n\n .instant-apps-export-print .esri-legend--card__section {\n padding: 4pt 0 4pt;\n min-width: unset;\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__section:first-child {\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service {\n border: none;\n flex: 0 1 auto;\n break-inside: avoid;\n }\n\n .instant-apps-export-print .esri-legend--card {\n border: none;\n gap: 6pt 12pt;\n }\n\n .instant-apps-export-print .esri-legend--card:not(:first-child),\n .instant-apps-export-print .esri-compass.esri-widget:not(:first-child) {\n display: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-container {\n height: unset;\n padding: 0;\n border-bottom: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-text {\n padding-bottom: 0;\n }\n\n .instant-apps-export-print__compass-container {\n position: absolute;\n top: 65px;\n left: 15px;\n background: #fff;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n --calcite-ui-icon-color: #000;\n border-radius: 50%;\n height: fit-content;\n }\n\n .instant-apps-export-print__compass-container .esri-compass {\n background: #fff;\n }\n\n .instant-apps-export-print__compass-container .esri-compass__icon.esri-icon-compass {\n color: #000;\n }\n\n .instant-apps-export-print__compass-container.esri-compass.esri-widget--button {\n background: #fff;\n }\n\n .instant-apps-export-print__scale-bar-container {\n width: 100%;\n position: absolute;\n bottom: 15px;\n margin: 0 15px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label {\n color: #323232;\n font-size: 10px;\n padding: 0 4px;\n }\n \n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label {\n height: 10px;\n padding: 0 2px;\n line-height: 11px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__bar-container:nth-child(1n+3) {\n display: none;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__bar-container.esri-scale-bar__bar-container--line {\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line {\n background-color: rgba(255, 255, 255, 0.66);\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top {\n width: var(--instant-apps-scale-bar-top) !important;\n border-bottom: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom {\n width: var(--instant-apps-scale-bar-bottom) !important;\n border-top: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label-container--line {\n position: unset;\n margin: 0 2px;\n background-color: rgba(255, 255, 255, 0.66);\n height: 10px;\n display: flex;\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:after,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:after {\n background-color: #323232;\n border-right: 2px solid #323232;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__item-navigation {\n display: none;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__chart.esri-feature-media__chart--rendered * {\n width: 100%!important;\n }\n\n .instant-apps-export-print__popup-content .esri-popup__content {\n margin: 0;\n }\n\n .instant-apps-export-print__content-container {\n display: flex;\n gap: 24px;\n break-inside: avoid;\n break-before: auto;\n }',document.body.prepend(this.printStyleEl))}handleImgLoaded(){this.exportIsLoading=!0,setTimeout((()=>{this.exportIsLoading=void 0,this.setupViewPrintElements()}),1500)}handleExtraContent(){const t=this.printEl.querySelector("#export-content");null!=t&&(t.innerHTML="",null!=this.extraContent&&this.includeExtraContent?(t.style.display="block",t.append(this.extraContent.cloneNode(!0))):t.style.display="none")}resetPrintContent(){var t,n;if(null!=this.view){this.screenshot=null,null===(t=this.printContainerEl)||void 0===t||t.prepend(this.printEl),null===(n=this.printStyleEl)||void 0===n||n.remove(),this.printStyleEl=void 0;const i=this.printEl.querySelector("#export-content");i&&(i.innerHTML="")}}async updatePopupToPrint(){var t,n;if(null!=this.view&&(null!=this.popupContainerEl&&(this.popupContainerEl.style.display=this.includePopup&&this.view.popup.visible?"block":"none",this.checkPopupOpen()),this.view.popup.visible&&null!=this.view.popup.selectedFeature)){const i=document.createElement(`h${null!==(t=this.view.popup.headingLevel)&&void 0!==t?t:2}`);i.innerHTML=null!==(n=this.view.popup.title)&&void 0!==n?n:"",i.className="esri-widget__heading esri-popup__header-title",null!=this.popupTitleEl&&(this.popupTitleEl.style.display=this.view.popup.title?"block":"none",this.popupTitleEl.innerHTML="",this.popupTitleEl.prepend(i))}}updateExportOutput(){this.output={},this.showHeaderTitle&&(this.output.headerTitle=this.headerTitle),this.showIncludeLegend&&(this.output.includeLegend=this.includeLegend),this.showIncludeMap&&(this.output.includeMap=this.includeMap),this.showIncludePopup&&(this.output.includePopup=this.includePopup),this.exportOutputUpdated.emit()}setupViewPrintElements(){if(null!=this.view){this.handleLegendSetup();const t=document.title;this.showHeaderTitle&&this.headerTitle&&(document.title=this.headerTitle),window.print(),document.title=t,setTimeout((()=>{this.resetPrintContent()}),1e3)}}handleLegendSetup(){this.showIncludeLegend&&null!=this.view&&this.includeMap&&null!=this.legendContainerEl&&(this.legendContainerEl.style.display=this.includeLegend?"block":"none")}handleWidgetCreation(){this.handleLegendCreation(),this.handleCompassCreation()}handleLegendCreation(){var t,n,i,s;if(this.includeMap&&null!=this.view&&this.showIncludeLegend&&null!=this.legendContainerEl){const e=this.view.map,o=null===(n=null===(t=this.legend)||void 0===t?void 0:t.view)||void 0===n?void 0:n.map;(null===(i=null==e?void 0:e.portalItem)||void 0===i?void 0:i.id)===(null===(s=null==o?void 0:o.portalItem)||void 0===s?void 0:s.id)||this.updateLegend()}}updateLegend(){var t;null===(t=this.view)||void 0===t||t.when((async t=>{var n;if(null===(n=this.legend)||void 0===n||n.destroy(),null!=this.legendContainerEl){this.legendContainerEl.innerHTML="";const[n]=await a(["esri/widgets/Legend"]);this.legend=new n({container:this.legendContainerEl,view:t,style:{type:"card",layout:"side-by-side"}})}}))}handleCompassCreation(){var t,n,i,s;if(this.includeMap&&null!=this.view&&null!=this.compassContainerEl){const e=this.view.map,o=null===(n=null===(t=this.compass)||void 0===t?void 0:t.view)||void 0===n?void 0:n.map;(null===(i=null==e?void 0:e.portalItem)||void 0===i?void 0:i.id)===(null===(s=null==o?void 0:o.portalItem)||void 0===s?void 0:s.id)||this.updateCompass()}}updateCompass(){var t;null===(t=this.view)||void 0===t||t.when((async t=>{var n;null===(n=this.compass)||void 0===n||n.destroy(),this.compass=null;const i=document.createElement("div");this.compassContainerEl.append(i);const[s]=await a(["esri/widgets/Compass"]);this.compass=new s({container:i,view:t})}))}updateScaleBar(){if(this.scaleBarContainerEl&&null!=this.view&&(this.scaleBarContainerEl.innerHTML="",this.showScaleBar)){const t=this.view.ui.getComponents(),n=null==t?void 0:t.find((({container:t})=>{var n;return null===(n=null==t?void 0:t.className)||void 0===n?void 0:n.includes("esri-scale-bar")}));null!=(null==n?void 0:n.container)&&"string"!=typeof n.container&&this.scaleBarContainerEl.append(n.container.cloneNode(!0))}}async viewScreenshot(){var t;if(null!=this.view&&this.includeMap&&(null==this.screenshot&&(null===(t=this.scaleBarContainerEl)||void 0===t||t.classList.toggle("instant-apps-export-print__scale-bar-container--position",this.view.width>1e3),this.screenshot=await this.view.takeScreenshot({width:2*this.view.width,height:2*this.view.height})),this.handleScaleBarSize(),null!=this.viewEl&&null!=this.viewWrapperEl)){const{height:t,width:n}=this.screenshot.data;t>n?this.setMaxRowHeightOnViewContainer():this.setMaxWidthOnViewContainer(),this.viewEl.src=this.screenshot.dataUrl}}setMaxRowHeightOnViewContainer(){this.printEl.style.gridTemplateRows="minmax(auto, 70%)",this.viewEl.style.height="100%",this.viewEl.style.width="",this.viewWrapperEl.style.height="100%",this.viewWrapperEl.style.width="fit-content"}setMaxWidthOnViewContainer(){this.printEl.style.gridTemplateRows="",this.viewEl.style.width="100%",this.viewEl.style.height="",this.viewWrapperEl.style.height="fit-content",this.viewWrapperEl.style.width="100%"}checkPopupOpen(){if(null!=this.view){const t=this.view.popup.container,n=null==t?void 0:t.querySelector(".esri-popup .esri-feature__main-container");if(null!=n){const t=n.querySelectorAll("canvas");this.popupContentEl.innerHTML="",this.popupContentEl.append(n.cloneNode(!0));const i=this.popupContentEl.querySelectorAll("canvas");t.forEach(((t,n)=>{var s;const e=t.toDataURL(),o=document.createElement("img");o.src=e;const a=t.getAttribute("style");a&&o.setAttribute("style",a);const r=i[n];null!=r&&(r.replaceWith(o),document.querySelector("link[href*='esri/themes/dark/main.css']")&&null!=(null===(s=o.parentElement)||void 0===s?void 0:s.parentElement)&&(o.parentElement.style.background="#242424",o.parentElement.parentElement.style.background="#242424"))}))}}}createScreenshot(){var t,n;if(null!=this.view){this.screenshotPreview=document.createElement("div"),this.screenshotPreview.className="screenshot-preview hide",this.screenshotImgContainer=document.createElement("div"),this.screenshotImgContainer.className="screenshot-img-container",this.screenshotImg=document.createElement("img");const i=document.createElement("div"),s=document.createElement("calcite-button"),e=document.createElement("calcite-button");s.innerHTML=null===(t=this.messages)||void 0===t?void 0:t.export,e.innerHTML=null===(n=this.messages)||void 0===n?void 0:n.returnToMap,e.appearance="outline-fill",s.onclick=this.exportOnClick.bind(this),e.onclick=this.screenshotReturn.bind(this),i.append(e,s),this.screenshotImgContainer.append(this.screenshotImg,i),this.screenshotPreview.append(this.screenshotImgContainer),this.view.container.append(this.screenshotPreview)}}createMaskDiv(){null!=this.view&&(this.maskDivEl=document.createElement("div"),this.maskDivEl.id="screenshot-mask",this.maskDivEl.className="hide screenshot-cursor",this.maskDivEl.style.setProperty("--instant-apps-screenshot-mask-background",this.maskBackground),this.maskDivEl.style.setProperty("--instant-apps-screenshot-mask-border",this.maskBorder),this.screenshotStyle=document.createElement("style"),this.screenshotStyle.innerHTML="\n.screenshot-preview.hide, .hide {\n display: none;\n}\n\n.screenshot-cursor {\n cursor: crosshair;\n}\n\n.relative {\n position: relative;\n}\n\n#screenshot-mask {\n position: absolute;\n background: var(--instant-apps-screenshot-mask-background);\n border: var(--instant-apps-screenshot-mask-border);\n}\n\n.screenshot-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.75);\n}\n\n.screenshot-preview * {\n box-sizing: border-box;\n}\n\n.screenshot-img-container img {\n max-height: 75%;\n max-width: 75%;\n object-fit: contain;\n border: 10px solid white;\n box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.5);\n margin-bottom: 0.5em;\n}\n\n.screenshot-img-container {\n height: 100%;\n width: 100%;\n overflow-y: auto;\n margin-bottom: 8px;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n}\n\n.screenshot-img-container calcite-button {\n margin: 5px;\n}",this.view.container.append(this.screenshotStyle),this.view.container.append(this.maskDivEl))}screenshotReturn(){this.removeScreenshotElements(),this.exportIsLoading=!1,this.screenshot=null}setMapAreaOnClick(){null!=this.view&&(this.exportIsLoading=!0,this.createMaskDiv(),this.createScreenshot(),this.view.container.classList.add("screenshot-cursor","relative"),this.view.addHandles(this.view.on("drag",(async t=>{null!=this.view&&(t.stopPropagation(),"end"!==t.action?this.updateMaskSize(t):this.maskScreenshot())})),w))}updateMaskSize(t){if(null!=this.view){const n=this.clamp(Math.min(t.origin.x,t.x),0,this.view.width),i=this.clamp(Math.max(t.origin.x,t.x),0,this.view.width),s=this.clamp(Math.min(t.origin.y,t.y),0,this.view.height),e=this.clamp(Math.max(t.origin.y,t.y),0,this.view.height);this.area={x:n,y:s,width:i-n,height:e-s},this.setMaskPosition(this.area)}}maskScreenshot(){var t;if(null!=this.view&&null!=this.area){this.view.removeHandles(w);const n=this.area.height,i=this.area.width;this.showScaleBar&&(null===(t=this.scaleBarContainerEl)||void 0===t||t.classList.toggle("instant-apps-export-print__scale-bar-container--position",this.view.width>1e3&&.75*this.view.width<i)),this.view.takeScreenshot({area:this.area,width:2*i,height:2*n,format:"jpg"}).then((t=>{var n;this.screenshot=t,this.showPreview(),null===(n=this.view)||void 0===n||n.container.classList.remove("screenshot-cursor"),this.setMaskPosition(null)}))}}setMaskPosition(t){null!=t?(this.maskDivEl.classList.remove("hide"),this.maskDivEl.style.left=`${t.x}px`,this.maskDivEl.style.top=`${t.y}px`,this.maskDivEl.style.width=`${t.width}px`,this.maskDivEl.style.height=`${t.height}px`):this.maskDivEl.remove()}clamp(t,n,i){return t<n?n:t>i?i:t}showPreview(){this.screenshotPreview.classList.remove("hide"),null!=this.screenshotImg&&null!=this.screenshot&&(this.screenshotImg.src=this.screenshot.dataUrl)}handleScaleBarSize(){var t;if(this.showScaleBar&&"2d"===(null===(t=this.view)||void 0===t?void 0:t.type)&&null!=this.scaleBarContainerEl){const t=this.scaleBarContainerEl.querySelector(".esri-scale-bar__line--top"),n=this.scaleBarContainerEl.querySelector(".esri-scale-bar__line--bottom");this.setScalebarWidth(t,"top"),this.setScalebarWidth(n,"bottom")}}setScalebarWidth(t,n){var i;if(null!=t&&null!=this.screenshot){const s=this.screenshot.data.width/2,e=Number(t.style.width.replace("px",""));null===(i=this.scaleBarContainerEl)||void 0===i||i.style.setProperty(`--instant-apps-scale-bar-${n}`,e/s*100+"%")}}removeScreenshotElements(){var t,n;null===(t=this.screenshotPreview)||void 0===t||t.remove(),null===(n=this.screenshotStyle)||void 0===n||n.remove()}get el(){return e(this)}static get watchers(){return{includeMap:["watchIncludeMap"]}}};k.style=":host{display:block;--instant-apps-export-action-background:var(--calcite-color-foreground-1);--instant-apps-export-action-background-hover:var(--calcite-color-foreground-2);--instant-apps-export-action-background-press:var(--calcite-color-foreground-3);--instant-apps-export-action-height:100%;--instant-apps-export-action-width:fit-content;--instant-apps-export-action-icon-color:var(--calcite-color-text-3);--instant-apps-export-action-icon-hover-color:var(--calcite-color-text-1);--instant-apps-export-background:var(--calcite-color-foreground-1);--instant-apps-export-text-color:var(--calcite-color-text-1);--instant-apps-export-popover-width:250px}.instant-apps-export{height:100%}.instant-apps-export *{box-sizing:border-box}.instant-apps-export__popover-container,.instant-apps-export__inline-container{padding:12px;background:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export__popover-container{width:var(--instant-apps-export-popover-width)}.instant-apps-export calcite-action{height:var(--instant-apps-export-action-height);width:var(--instant-apps-export-action-width);--calcite-color-foreground-1:var(--instant-apps-export-action-background);--calcite-color-foreground-2:var(--instant-apps-export-action-background-hover);--calcite-color-foreground-3:var(--instant-apps-export-action-background-press);--calcite-color-text-3:var(--instant-apps-export-action-icon-color);--calcite-color-text-1:var(--instant-apps-export-action-icon-hover-color)}.instant-apps-export .instant-apps-export-print{display:none}.instant-apps-export__visually-hidden{position:absolute;top:0;z-index:-1;visibility:hidden}.instant-apps-export calcite-input{--calcite-color-foreground-1:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export calcite-popover{--calcite-color-foreground-1:var(--instant-apps-export-background)}.instant-apps-export calcite-switch{--calcite-color-foreground-1:#fff;--calcite-color-foreground-2:#f3f3f3}.instant-apps-export calcite-button:last-of-type{margin-top:0.5rem}.instant-apps-export .calcite-mode-dark calcite-switch{--calcite-color-foreground-1:#2b2b2b;--calcite-color-foreground-2:#202020}.instant-apps-export__compass-container.esri-widget{background:#fff;box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.instant-apps-export__compass-container.esri-widget .esri-compass__icon.esri-icon-compass{color:#6e6e6e}.hide{display:none}.screenshotCursor{cursor:crosshair}";export{k as instant_apps_export}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright 2022 Esri
|
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{r as t,c as s,h as i,g as e}from"./p-7d280d8a.js";import{S as n}from"./p-a230b270.js";import{g as o}from"./p-07626c45.js";import"./p-70359c2b.js";import"./p-8ddc7786.js";import"./p-e2d0ad1b.js";import"./p-090e0241.js";function l(t){var s;return!!(null===(s=null===window||void 0===window?void 0:window.localStorage)||void 0===s?void 0:s.getItem(t))}const a=class{constructor(i){var e;t(this,i),this.splashClose=s(this,"splashClose",7),this._sanitizer=null==(e=n)||"function"!=typeof e?null:new e({whiteList:{h1:["style"],h2:["style"],h3:["style"],h4:["style"],h5:["style"],h6:["style"],img:["style","src","width","height"],pre:["style"],p:["id","class","style"],div:["id","class","style","role"],span:["id","class","style","role"],figure:["class","style"]}},!0),this.localStorageKey=void 0,this.titleText="",this.content="",this.primaryButtonText="",this.open=!0,this.closeButtonDisabled=!1,this.messages=void 0}sanitizeContent(){this.content=this._sanitizer.sanitize(this.content)}componentWillLoad(){let t;const{localStorageKey:s}=this;t=s?this.open&&!l(this.localStorageKey):this.open,this.el.open=t,this.content&&this._sanitizer&&this.sanitizeContent()}componentDidLoad(){o(this)}render(){return i("calcite-modal",{onCalciteModalClose:this.close.bind(this),open:this.open,closeButtonDisabled:this.closeButtonDisabled},this.renderHeader(),this.renderContent(),this.localStorageKey?this.renderDontShowThisAgainCheckbox():null,this.renderPrimaryButton())}renderHeader(){const{titleText:t}=this;return i("header",{slot:"header"},t)}renderContent(){const{content:t}=this;return i("div",{slot:"content",innerHTML:t})}renderDontShowThisAgainCheckbox(){const{localStorageKey:t,messages:s}=this,e=!!l(t)||null;return i("div",{class:"instant-apps-splash__back-content",slot:"back"},i("calcite-label",{layout:"inline"},i("calcite-checkbox",{onCalciteCheckboxChange:this.handleDontShowThisAgain.bind(this),checked:null!=e?e:void 0}),null==s?void 0:s.dontShowThisAgain))}renderPrimaryButton(){const{primaryButtonText:t}=this;return i("calcite-button",{onClick:this.close.bind(this),slot:"primary"},t||"Enter")}close(){this.open=!1,this.splashClose.emit()}handleDontShowThisAgain(t){const{localStorageKey:s}=this;if(!s)return;const i=t.target,{checked:e}=i;e?null===window||void 0===window||window.localStorage.setItem(s,"false"):function(t){var s;null===(s=null===window||void 0===window?void 0:window.localStorage)||void 0===s||s.removeItem(t)}(s)}get el(){return e(this)}static get watchers(){return{content:["sanitizeContent"]}}};a.style=":host{display:block}:host .image.image_resized img{width:100%}:host .instant-apps-splash__back-content{display:flex;align-items:center}:host .instant-apps-splash__back-content calcite-label{--calcite-label-margin-bottom:0}";export{a as instant_apps_splash}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright 2022 Esri
|
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{r as t,c as n,h as a,H as i,g as e}from"./p-7d280d8a.js";import{g as s}from"./p-eeee7c7a.js";var p;!function(t){t.TopLeft="top-left",t.TopCenter="top-center",t.TopRight="top-right",t.CenterLeft="center-left",t.Center="center",t.CenterRight="center-right",t.BottomLeft="bottom-left",t.BottomCenter="bottom-center",t.BottomRight="bottom-right"}(p||(p={}));const g={s:" instant-apps-landing-page__icon-image-scale--s",m:" instant-apps-landing-page__icon-image-scale--m",l:" instant-apps-landing-page__icon-image-scale--l"},l=class{constructor(a){t(this,a),this.landingPageOpen=n(this,"landingPageOpen",7),this.landingPageClose=n(this,"landingPageClose",7),this.titleText=void 0,this.subtitleText=void 0,this.descriptionText=void 0,this.entryButtonText=void 0,this.iconImage=void 0,this.iconImageScale="m",this.iconImageAltText=void 0,this.alignment=p.Center,this.disableTransition=!0,this.backgroundImageSrc=void 0,this.open=!0,this.entryButtonScale="l",this.fontFamily="var(--calcite-sans-family);"}emitToggleEvent(){this.open?this.landingPageOpen.emit():this.landingPageClose.emit()}render(){return a(i,null,this.renderLandingPageContent())}renderLandingPageContent(){const t=this.open?"":this.disableTransition?" instant-apps-landing-page--closed-no-transition":" instant-apps-landing-page--closed",n=this.getAlignmentClass(),i=this.disableTransition?" instant-apps-landing-page__remove-transition":"",e={fontFamily:s(this.fontFamily)};return a("div",{style:this.backgroundImageSrc?Object.assign(Object.assign({},e),{backgroundSize:"cover",backgroundImage:`url("${this.backgroundImageSrc}")`,backgroundRepeat:"no-repeat"}):e,class:`instant-apps-landing-page${n}${t}${i}`},a("div",{class:"instant-apps-landing-page__content-container"},this.renderIconImage(),this.renderTitleText(),this.renderSubtitleText(),this.renderDescriptionText()),a("div",{class:"instant-apps-landing-page__button-container"},this.renderEntryButton(),a("slot",{name:"secondary-action"})))}renderIconImage(){return this.iconImage?a("img",{class:`instant-apps-landing-page__icon-image${this.getIconImageScale()}`,src:this.iconImage,alt:this.iconImageAltText}):null}renderTitleText(){return a("h1",{class:"instant-apps-landing-page__title-text"},this.titleText)}renderSubtitleText(){return a("span",{class:"instant-apps-landing-page__subtitle-text"},this.subtitleText)}renderDescriptionText(){return a("p",{class:"instant-apps-landing-page__description-text"},this.descriptionText)}renderEntryButton(){return a("calcite-button",{class:"instant-apps-landing-page__entry-button",onClick:()=>this.open=!1,scale:this.entryButtonScale,appearance:"outline-fill"},this.entryButtonText?this.entryButtonText:"Enter")}getAlignmentClass(){return` instant-apps-landing-page__alignment--${this.alignment}`}getIconImageScale(){const{iconImageScale:t}=this,{s:n,m:a,l:i}=g;return"l"===t?i:"s"===t?n:a}get el(){return e(this)}static get watchers(){return{open:["emitToggleEvent"]}}};l.style=":host{--instant-apps-landing-page-background-color:var(--calcite-color-brand);--instant-apps-landing-page-text-color:var(--calcite-color-text-inverse);--instant-apps-landing-page-entry-button-color:var(--calcite-color-brand);--instant-apps-landing-page-title-text-font-size:var(--calcite-font-size-6);--instant-apps-landing-page-subtitle-text-font-size:var(--calcite-font-size-3);--instant-apps-landing-page-description-text-font-size:var(--calcite-font-size-0);--instant-apps-landing-page-icon-image-scale--s:100px;--instant-apps-landing-page-icon-image-scale--m:250px;--instant-apps-landing-page-icon-image-scale--l:500px;--instant-apps-landing-page-entry-button-margin:0}:host .instant-apps-landing-page{box-sizing:border-box;position:absolute;top:0;left:0;z-index:9000;display:flex;flex-direction:column;width:100%;height:100%;padding:2.5%;transition:top 0.5s ease-in-out;background-color:var(--instant-apps-landing-page-background-color);color:var(--instant-apps-landing-page-text-color)}:host .instant-apps-landing-page__title-text{color:var(--instant-apps-landing-page-text-color);font-size:var(--instant-apps-landing-page-title-text-font-size);margin:0}:host .instant-apps-landing-page__subtitle-text{font-weight:var(--calcite-font-weight-medium);font-size:var(--instant-apps-landing-page-subtitle-text-font-size);text-align:center}:host .instant-apps-landing-page__description-text{font-size:var(--instant-apps-landing-page-description-text-font-size);width:50%;min-width:250px}:host .instant-apps-landing-page__title-text,:host .instant-apps-landing-page__subtitle-text{text-shadow:0px 4px 3px rgba(0, 0, 0, 0.4), 0px 8px 13px rgba(0, 0, 0, 0.1), 0px 18px 23px rgba(0, 0, 0, 0.1)}:host .instant-apps-landing-page__icon-image{margin-bottom:5px;max-width:50%}:host .instant-apps-landing-page__icon-image-scale--s{width:100px}:host .instant-apps-landing-page__icon-image-scale--m{width:250px}:host .instant-apps-landing-page__icon-image-scale--l{width:500px}:host .instant-apps-landing-page__button-container{display:flex}:host .instant-apps-landing-page__button-container .instant-apps-landing-page__entry-button{margin:var(--instant-apps-landing-page-entry-button-margin)}:host .instant-apps-landing-page__entry-button{--calcite-color-brand:var(--instant-apps-landing-page-entry-button-color);--calcite-color-brand-hover:var(--instant-apps-landing-page-entry-button-color);--calcite-color-brand-press:var(--instant-apps-landing-page-entry-button-color)}:host .instant-apps-landing-page__remove-transition{transition:none}:host .instant-apps-landing-page--closed-no-transition{display:none}:host .instant-apps-landing-page--closed{top:-100%}:host .instant-apps-landing-page__alignment--top-center{justify-content:flex-start;align-items:center}:host .instant-apps-landing-page__alignment--top-center .instant-apps-landing-page__content-container{display:flex;flex-direction:column;align-items:center;justify-content:center}:host .instant-apps-landing-page__alignment--top-center .instant-apps-landing-page__description-text{text-align:center}:host .instant-apps-landing-page__alignment--center{justify-content:center;align-items:center}:host .instant-apps-landing-page__alignment--center .instant-apps-landing-page__content-container{display:flex;flex-direction:column;align-items:center}:host .instant-apps-landing-page__alignment--center .instant-apps-landing-page__description-text{text-align:center}:host .instant-apps-landing-page__alignment--bottom-center{justify-content:flex-end;align-items:center}:host .instant-apps-landing-page__alignment--bottom-center .instant-apps-landing-page__content-container{display:flex;flex-direction:column;align-items:center}:host .instant-apps-landing-page__alignment--bottom-center .instant-apps-landing-page__description-text{text-align:center}:host .instant-apps-landing-page__alignment--top-left{justify-content:flex-start;align-items:flex-start}:host .instant-apps-landing-page__alignment--top-left .instant-apps-landing-page__description-text{text-align:left}:host .instant-apps-landing-page__alignment--center-left{justify-content:center;align-items:flex-start}:host .instant-apps-landing-page__alignment--center-left .instant-apps-landing-page__description-text{text-align:left}:host .instant-apps-landing-page__alignment--bottom-left{justify-content:flex-end;align-items:flex-start}:host .instant-apps-landing-page__alignment--bottom-left .instant-apps-landing-page__description-text{text-align:left}:host .instant-apps-landing-page__alignment--top-right{justify-content:flex-start;align-items:flex-end}:host .instant-apps-landing-page__alignment--top-right .instant-apps-landing-page__content-container{display:flex;flex-direction:column;align-items:flex-end}:host .instant-apps-landing-page__alignment--top-right .instant-apps-landing-page__description-text{text-align:right}:host .instant-apps-landing-page__alignment--center-right{justify-content:center;align-items:flex-end}:host .instant-apps-landing-page__alignment--center-right .instant-apps-landing-page__content-container{display:flex;flex-direction:column;align-items:flex-end}:host .instant-apps-landing-page__alignment--center-right .instant-apps-landing-page__description-text{text-align:right}:host .instant-apps-landing-page__alignment--bottom-right{justify-content:flex-end;align-items:flex-end}:host .instant-apps-landing-page__alignment--bottom-right .instant-apps-landing-page__content-container{display:flex;flex-direction:column;align-items:flex-end}:host .instant-apps-landing-page__alignment--bottom-right .instant-apps-landing-page__description-text{text-align:right}@media only screen and (max-width: 768px){:host .instant-apps-landing-page__icon-image{max-width:70%;margin-bottom:20px}:host .instant-apps-landing-page__description-text{width:80%}:host .instant-apps-landing-page__title-text{font-size:var(--calcite-font-size-3)}:host .instant-apps-landing-page__subtitle-text{font-size:var(--calcite-font-size-0)}:host .instant-apps-landing-page__content-container{display:flex;flex-direction:column;align-items:center;margin-top:auto}:host .instant-apps-landing-page__button-container{display:flex;flex-direction:column;width:100%;margin-top:auto}:host .instant-apps-landing-page__button-container .instant-apps-landing-page__entry-button{width:100%;margin-right:unset;margin-bottom:10px}}@media only screen and (max-width: 896px) and (orientation: landscape){:host .instant-apps-landing-page__icon-image{max-width:25%}}";export{l as instant_apps_landing_page}
|
|
File without changes
|
|
File without changes
|