@esri/solutions-components 0.8.2 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|