@esri/solutions-components 0.7.43 → 0.7.45

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. package/dist/cjs/calcite-alert_4.cjs.entry.js +1 -1
  2. package/dist/cjs/calcite-combobox_5.cjs.entry.js +1 -1
  3. package/dist/cjs/calcite-flow_5.cjs.entry.js +1 -1
  4. package/dist/cjs/card-manager_3.cjs.entry.js +12 -7
  5. package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
  6. package/dist/cjs/crowdsource-reporter.cjs.entry.js +1 -1
  7. package/dist/cjs/{downloadUtils-7d4985c0.js → downloadUtils-82bc9a04.js} +9 -12
  8. package/dist/cjs/{index.es-8cef354a.js → index.es-79d8773c.js} +2 -2
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
  11. package/dist/cjs/{mapViewUtils-290dbc9e.js → mapViewUtils-3e0fa457.js} +4 -8
  12. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  13. package/dist/cjs/solutions-components.cjs.js +1 -1
  14. package/dist/collection/components/layer-table/layer-table.js +13 -5
  15. package/dist/collection/utils/downloadUtils.js +7 -10
  16. package/dist/collection/utils/downloadUtils.ts +13 -13
  17. package/dist/collection/utils/queryUtils.js +4 -8
  18. package/dist/collection/utils/queryUtils.ts +6 -9
  19. package/dist/components/downloadUtils.js +7 -10
  20. package/dist/components/layer-table2.js +12 -5
  21. package/dist/components/queryUtils.js +4 -8
  22. package/dist/esm/calcite-alert_4.entry.js +1 -1
  23. package/dist/esm/calcite-combobox_5.entry.js +1 -1
  24. package/dist/esm/calcite-flow_5.entry.js +1 -1
  25. package/dist/esm/card-manager_3.entry.js +12 -7
  26. package/dist/esm/crowdsource-manager.entry.js +1 -1
  27. package/dist/esm/crowdsource-reporter.entry.js +1 -1
  28. package/dist/esm/{downloadUtils-d5928e55.js → downloadUtils-3bab4b5f.js} +9 -12
  29. package/dist/esm/{index.es-a1725c19.js → index.es-be703f2b.js} +2 -2
  30. package/dist/esm/loader.js +1 -1
  31. package/dist/esm/map-select-tools_3.entry.js +2 -2
  32. package/dist/esm/{mapViewUtils-a177d4f9.js → mapViewUtils-20504620.js} +4 -8
  33. package/dist/esm/public-notification.entry.js +2 -2
  34. package/dist/esm/solutions-components.js +1 -1
  35. package/dist/solutions-components/p-4623754a.entry.js +6 -0
  36. package/dist/solutions-components/{p-42233edc.entry.js → p-766c0b57.entry.js} +1 -1
  37. package/dist/solutions-components/{p-7f374ec7.js → p-91d3732f.js} +1 -1
  38. package/dist/solutions-components/{p-3e88e0bd.entry.js → p-a4bb0787.entry.js} +1 -1
  39. package/dist/solutions-components/{p-c6af6407.entry.js → p-c05467fd.entry.js} +1 -1
  40. package/dist/solutions-components/p-c897e3eb.js +36 -0
  41. package/dist/solutions-components/{p-ac9c29da.entry.js → p-d561c970.entry.js} +1 -1
  42. package/dist/solutions-components/{p-12fc82a9.js → p-d9995b7e.js} +4 -4
  43. package/dist/solutions-components/{p-32adb2cc.entry.js → p-dbb6f1e2.entry.js} +1 -1
  44. package/dist/solutions-components/{p-6fe5e1d5.entry.js → p-e46617d1.entry.js} +2 -2
  45. package/dist/solutions-components/{p-6c86a392.entry.js → p-e8cd89c2.entry.js} +1 -1
  46. package/dist/solutions-components/solutions-components.esm.js +1 -1
  47. package/dist/solutions-components/utils/downloadUtils.ts +13 -13
  48. package/dist/solutions-components/utils/queryUtils.ts +6 -9
  49. package/dist/types/components/layer-table/layer-table.d.ts +8 -4
  50. package/dist/types/utils/downloadUtils.d.ts +3 -3
  51. package/package.json +1 -1
  52. package/dist/solutions-components/p-3eedaead.js +0 -36
  53. package/dist/solutions-components/p-45698f2a.entry.js +0 -6
@@ -27,10 +27,6 @@ import * as downloadUtils from "../../utils/downloadUtils";
27
27
  import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
28
28
  export class LayerTable {
29
29
  constructor() {
30
- /**
31
- * number[]: A list of all IDs for the current layer
32
- */
33
- this._allIds = [];
34
30
  /**
35
31
  * boolean: When true the ctrl key is currently pressed
36
32
  */
@@ -86,6 +82,7 @@ export class LayerTable {
86
82
  this.shareIncludeSocial = undefined;
87
83
  this.showNewestFirst = undefined;
88
84
  this.zoomAndScrollToSelected = undefined;
85
+ this._allIds = [];
89
86
  this._controlsThatFit = undefined;
90
87
  this._csvExporting = false;
91
88
  this._fetchingData = false;
@@ -154,6 +151,13 @@ export class LayerTable {
154
151
  this._initToolInfos();
155
152
  }
156
153
  }
154
+ /**
155
+ * watch for changes in map info and update the toolbar
156
+ */
157
+ async mapInfoWatchHandler() {
158
+ this._initToolInfos();
159
+ this._updateToolbar();
160
+ }
157
161
  /**
158
162
  * watch for changes in map view and get the first layer
159
163
  */
@@ -1265,7 +1269,7 @@ export class LayerTable {
1265
1269
  exportInfos, false, // formatUsingLayerPopup
1266
1270
  false, // removeDuplicates
1267
1271
  true, // addColumnTitle
1268
- fields, true);
1272
+ fields, true, true);
1269
1273
  this._updateToolInfoLoading("export", false);
1270
1274
  this._csvExporting = false;
1271
1275
  }
@@ -1733,6 +1737,7 @@ export class LayerTable {
1733
1737
  }
1734
1738
  static get states() {
1735
1739
  return {
1740
+ "_allIds": {},
1736
1741
  "_controlsThatFit": {},
1737
1742
  "_csvExporting": {},
1738
1743
  "_fetchingData": {},
@@ -1780,6 +1785,9 @@ export class LayerTable {
1780
1785
  }, {
1781
1786
  "propName": "isMobile",
1782
1787
  "methodName": "isMobileWatchHandler"
1788
+ }, {
1789
+ "propName": "mapInfo",
1790
+ "methodName": "mapInfoWatchHandler"
1783
1791
  }, {
1784
1792
  "propName": "mapView",
1785
1793
  "methodName": "mapViewWatchHandler"
@@ -40,12 +40,12 @@ import { queryRelated } from "@esri/arcgis-rest-feature-layer";
40
40
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
41
41
  * @returns selectionSetNames that will be used for export filenames
42
42
  */
43
- export async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false, fields = [], useFieldAliasNames = false) {
43
+ export async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
44
44
  const labelRequests = [];
45
45
  Object.keys(exportInfos).forEach(k => {
46
46
  var _a;
47
47
  const labelInfo = exportInfos[k];
48
- labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames));
48
+ labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames, filterFields));
49
49
  if (isCSVExport) {
50
50
  // add the layer id as a temp value separator that we can use to split values for CSV export
51
51
  labelRequests.push(Promise.resolve([[k]]));
@@ -65,8 +65,8 @@ export async function consolidateLabels(webmap, exportInfos, formatUsingLayerPop
65
65
  * @param addColumnTitle Indicates if column headings should be included in output
66
66
  * @returns Promise resolving when function is done
67
67
  */
68
- export async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false, fields = [], useFieldAliasNames = false) {
69
- let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames);
68
+ export async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
69
+ let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames, filterFields);
70
70
  labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
71
71
  const layerIds = Object.keys(exportInfos);
72
72
  let layerLabels = [];
@@ -605,10 +605,7 @@ export function _prepareAttributeValue(attributeValue, attributeType, attributeD
605
605
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
606
606
  * @returns Promise resolving when function is done
607
607
  */
608
- export async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false, fields = [], useFieldAliasNames = false) {
609
- if (fields.length === 0) {
610
- fields = layer.fields.map(f => f.name.toLowerCase());
611
- }
608
+ export async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
612
609
  // Get the label formatting, if any
613
610
  const labelFormatProps = await _getLabelFormat(webmap, layer, formatUsingLayerPopup);
614
611
  // Because the label may actually come from a related layer, we'll use the layer that comes back from _getLabelFormat.
@@ -675,7 +672,7 @@ export async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup =
675
672
  const attributeDomains = {};
676
673
  if (featureLayer.fields) {
677
674
  featureLayer.fields.forEach(field => {
678
- if (fields.indexOf(field.name.toLowerCase()) > -1) {
675
+ if (filterFields ? fields.indexOf(field.name.toLowerCase()) > -1 : true) {
679
676
  const lowercaseFieldname = field.name.toLowerCase();
680
677
  attributeOrigNames[lowercaseFieldname] = field.name;
681
678
  attributeDomains[lowercaseFieldname] = field.domain;
@@ -686,7 +683,7 @@ export async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup =
686
683
  else {
687
684
  // Feature layer is missing fields, so get info from first feature
688
685
  Object.keys(featureSet[0]).forEach(fieldName => {
689
- if (fields.indexOf(fieldName.toLowerCase()) > -1) {
686
+ if (filterFields ? fields.indexOf(fieldName.toLowerCase()) > -1 : true) {
690
687
  const lowercaseFieldname = fieldName.toLowerCase();
691
688
  attributeOrigNames[lowercaseFieldname] = fieldName;
692
689
  }
@@ -126,15 +126,16 @@ export async function consolidateLabels(
126
126
  formatUsingLayerPopup = true,
127
127
  includeHeaderNames = false,
128
128
  isCSVExport = false,
129
- fields = [],
130
- useFieldAliasNames = false
129
+ fields = undefined,
130
+ useFieldAliasNames = false,
131
+ filterFields = false
131
132
  ): Promise<string[][]> {
132
133
  const labelRequests = [];
133
134
 
134
135
  Object.keys(exportInfos).forEach(k => {
135
136
  const labelInfo: IExportInfo = exportInfos[k];
136
137
  labelRequests.push(
137
- _prepareLabels(webmap, labelInfo.layerView?.layer || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames)
138
+ _prepareLabels(webmap, labelInfo.layerView?.layer || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames, filterFields)
138
139
  );
139
140
  if (isCSVExport) {
140
141
  // add the layer id as a temp value separator that we can use to split values for CSV export
@@ -163,10 +164,11 @@ export async function downloadCSV(
163
164
  formatUsingLayerPopup: boolean,
164
165
  removeDuplicates = false,
165
166
  addColumnTitle = false,
166
- fields = [],
167
- useFieldAliasNames = false
167
+ fields = undefined,
168
+ useFieldAliasNames = false,
169
+ filterFields = false
168
170
  ): Promise<void> {
169
- let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames);
171
+ let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames, filterFields);
170
172
  labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
171
173
 
172
174
  const layerIds = Object.keys(exportInfos);
@@ -843,12 +845,10 @@ export async function _prepareLabels(
843
845
  ids: number[],
844
846
  formatUsingLayerPopup = true,
845
847
  includeHeaderNames = false,
846
- fields = [],
847
- useFieldAliasNames = false
848
+ fields = undefined,
849
+ useFieldAliasNames = false,
850
+ filterFields = false
848
851
  ): Promise<string[][]> {
849
- if (fields.length === 0) {
850
- fields = layer.fields.map(f => f.name.toLowerCase())
851
- }
852
852
  // Get the label formatting, if any
853
853
  const labelFormatProps: ILabelFormatProps = await _getLabelFormat(webmap, layer, formatUsingLayerPopup);
854
854
 
@@ -929,7 +929,7 @@ export async function _prepareLabels(
929
929
  if (featureLayer.fields) {
930
930
  featureLayer.fields.forEach(
931
931
  field => {
932
- if (fields.indexOf(field.name.toLowerCase()) > -1) {
932
+ if (filterFields ? fields.indexOf(field.name.toLowerCase()) > -1 : true) {
933
933
  const lowercaseFieldname = field.name.toLowerCase();
934
934
  attributeOrigNames[lowercaseFieldname] = field.name;
935
935
  attributeDomains[lowercaseFieldname] = field.domain;
@@ -941,7 +941,7 @@ export async function _prepareLabels(
941
941
  // Feature layer is missing fields, so get info from first feature
942
942
  Object.keys(featureSet[0]).forEach(
943
943
  fieldName => {
944
- if (fields.indexOf(fieldName.toLowerCase()) > -1) {
944
+ if (filterFields ? fields.indexOf(fieldName.toLowerCase()) > -1 : true) {
945
945
  const lowercaseFieldname = fieldName.toLowerCase();
946
946
  attributeOrigNames[lowercaseFieldname] = fieldName;
947
947
  }
@@ -107,27 +107,23 @@ export async function queryFeaturesByID(ids, layer, graphics, returnGeometry, ou
107
107
  var _a;
108
108
  const num = (_a = layer.capabilities) === null || _a === void 0 ? void 0 : _a.query.maxRecordCount;
109
109
  const start = 0;
110
+ if (ids.length === 0) {
111
+ ids = await layer.queryObjectIds();
112
+ }
110
113
  const q = layer.createQuery();
111
- q.start = start;
112
114
  q.returnGeometry = returnGeometry;
113
115
  q.objectIds = ids.slice(start, num);
114
- if (num) {
115
- q.num = num;
116
- }
117
116
  if (outSpatialReference) {
118
117
  q.outSpatialReference = outSpatialReference;
119
118
  }
120
119
  if (fields) {
121
120
  q.outFields = fields;
122
121
  }
123
- if (ids.length === 0) {
124
- ids = await layer.queryObjectIds();
125
- }
126
122
  const result = await layer.queryFeatures(q);
127
123
  graphics = graphics.concat(result.features);
128
124
  const remainingIds = ids.slice(num, ids.length);
129
125
  return remainingIds.length > 0 ?
130
- queryFeaturesByID(remainingIds, layer, graphics, returnGeometry, outSpatialReference) :
126
+ queryFeaturesByID(remainingIds, layer, graphics, returnGeometry, outSpatialReference, fields) :
131
127
  Promise.resolve(graphics);
132
128
  }
133
129
  /**
@@ -133,13 +133,14 @@ export async function queryFeaturesByID(
133
133
  const num = layer.capabilities?.query.maxRecordCount;
134
134
  const start = 0;
135
135
 
136
+ if (ids.length === 0) {
137
+ ids = await layer.queryObjectIds();
138
+ }
139
+
136
140
  const q = layer.createQuery();
137
- q.start = start;
138
141
  q.returnGeometry = returnGeometry;
139
142
  q.objectIds = ids.slice(start, num);
140
- if (num) {
141
- q.num = num;
142
- }
143
+
143
144
  if (outSpatialReference) {
144
145
  q.outSpatialReference = outSpatialReference;
145
146
  }
@@ -147,10 +148,6 @@ export async function queryFeaturesByID(
147
148
  q.outFields = fields;
148
149
  }
149
150
 
150
- if (ids.length === 0) {
151
- ids = await layer.queryObjectIds();
152
- }
153
-
154
151
  const result = await layer.queryFeatures(q);
155
152
 
156
153
  graphics = graphics.concat(
@@ -159,7 +156,7 @@ export async function queryFeaturesByID(
159
156
 
160
157
  const remainingIds = ids.slice(num, ids.length);
161
158
  return remainingIds.length > 0 ?
162
- queryFeaturesByID(remainingIds, layer, graphics, returnGeometry, outSpatialReference) :
159
+ queryFeaturesByID(remainingIds, layer, graphics, returnGeometry, outSpatialReference, fields) :
163
160
  Promise.resolve(graphics);
164
161
  }
165
162
 
@@ -2362,12 +2362,12 @@ const lineSeparatorChar = "|";
2362
2362
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
2363
2363
  * @returns selectionSetNames that will be used for export filenames
2364
2364
  */
2365
- async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false, fields = [], useFieldAliasNames = false) {
2365
+ async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
2366
2366
  const labelRequests = [];
2367
2367
  Object.keys(exportInfos).forEach(k => {
2368
2368
  var _a;
2369
2369
  const labelInfo = exportInfos[k];
2370
- labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames));
2370
+ labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames, filterFields));
2371
2371
  if (isCSVExport) {
2372
2372
  // add the layer id as a temp value separator that we can use to split values for CSV export
2373
2373
  labelRequests.push(Promise.resolve([[k]]));
@@ -2387,8 +2387,8 @@ async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = tr
2387
2387
  * @param addColumnTitle Indicates if column headings should be included in output
2388
2388
  * @returns Promise resolving when function is done
2389
2389
  */
2390
- async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false, fields = [], useFieldAliasNames = false) {
2391
- let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames);
2390
+ async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
2391
+ let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames, filterFields);
2392
2392
  labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2393
2393
  const layerIds = Object.keys(exportInfos);
2394
2394
  let layerLabels = [];
@@ -2924,10 +2924,7 @@ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain,
2924
2924
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
2925
2925
  * @returns Promise resolving when function is done
2926
2926
  */
2927
- async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false, fields = [], useFieldAliasNames = false) {
2928
- if (fields.length === 0) {
2929
- fields = layer.fields.map(f => f.name.toLowerCase());
2930
- }
2927
+ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
2931
2928
  // Get the label formatting, if any
2932
2929
  const labelFormatProps = await _getLabelFormat(webmap, layer, formatUsingLayerPopup);
2933
2930
  // Because the label may actually come from a related layer, we'll use the layer that comes back from _getLabelFormat.
@@ -2994,7 +2991,7 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
2994
2991
  const attributeDomains = {};
2995
2992
  if (featureLayer.fields) {
2996
2993
  featureLayer.fields.forEach(field => {
2997
- if (fields.indexOf(field.name.toLowerCase()) > -1) {
2994
+ if (filterFields ? fields.indexOf(field.name.toLowerCase()) > -1 : true) {
2998
2995
  const lowercaseFieldname = field.name.toLowerCase();
2999
2996
  attributeOrigNames[lowercaseFieldname] = field.name;
3000
2997
  attributeDomains[lowercaseFieldname] = field.domain;
@@ -3005,7 +3002,7 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
3005
3002
  else {
3006
3003
  // Feature layer is missing fields, so get info from first feature
3007
3004
  Object.keys(featureSet[0]).forEach(fieldName => {
3008
- if (fields.indexOf(fieldName.toLowerCase()) > -1) {
3005
+ if (filterFields ? fields.indexOf(fieldName.toLowerCase()) > -1 : true) {
3009
3006
  const lowercaseFieldname = fieldName.toLowerCase();
3010
3007
  attributeOrigNames[lowercaseFieldname] = fieldName;
3011
3008
  }
@@ -56,10 +56,6 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
56
56
  super();
57
57
  this.__registerHost();
58
58
  this.featureSelectionChange = createEvent(this, "featureSelectionChange", 7);
59
- /**
60
- * number[]: A list of all IDs for the current layer
61
- */
62
- this._allIds = [];
63
59
  /**
64
60
  * boolean: When true the ctrl key is currently pressed
65
61
  */
@@ -115,6 +111,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
115
111
  this.shareIncludeSocial = undefined;
116
112
  this.showNewestFirst = undefined;
117
113
  this.zoomAndScrollToSelected = undefined;
114
+ this._allIds = [];
118
115
  this._controlsThatFit = undefined;
119
116
  this._csvExporting = false;
120
117
  this._fetchingData = false;
@@ -183,6 +180,13 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
183
180
  this._initToolInfos();
184
181
  }
185
182
  }
183
+ /**
184
+ * watch for changes in map info and update the toolbar
185
+ */
186
+ async mapInfoWatchHandler() {
187
+ this._initToolInfos();
188
+ this._updateToolbar();
189
+ }
186
190
  /**
187
191
  * watch for changes in map view and get the first layer
188
192
  */
@@ -1294,7 +1298,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1294
1298
  exportInfos, false, // formatUsingLayerPopup
1295
1299
  false, // removeDuplicates
1296
1300
  true, // addColumnTitle
1297
- fields, true);
1301
+ fields, true, true);
1298
1302
  this._updateToolInfoLoading("export", false);
1299
1303
  this._csvExporting = false;
1300
1304
  }
@@ -1439,6 +1443,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1439
1443
  "enableShare": ["enableShareWatchHandler"],
1440
1444
  "_controlsThatFit": ["_controlsThatFitWatchHandler"],
1441
1445
  "isMobile": ["isMobileWatchHandler"],
1446
+ "mapInfo": ["mapInfoWatchHandler"],
1442
1447
  "mapView": ["mapViewWatchHandler"],
1443
1448
  "_layer": ["_layerWatchHandler"],
1444
1449
  "selectedIds": ["selectedIdsWatchHandler"]
@@ -1463,6 +1468,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1463
1468
  "shareIncludeSocial": [4, "share-include-social"],
1464
1469
  "showNewestFirst": [4, "show-newest-first"],
1465
1470
  "zoomAndScrollToSelected": [4, "zoom-and-scroll-to-selected"],
1471
+ "_allIds": [32],
1466
1472
  "_controlsThatFit": [32],
1467
1473
  "_csvExporting": [32],
1468
1474
  "_fetchingData": [32],
@@ -1479,6 +1485,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1479
1485
  "enableShare": ["enableShareWatchHandler"],
1480
1486
  "_controlsThatFit": ["_controlsThatFitWatchHandler"],
1481
1487
  "isMobile": ["isMobileWatchHandler"],
1488
+ "mapInfo": ["mapInfoWatchHandler"],
1482
1489
  "mapView": ["mapViewWatchHandler"],
1483
1490
  "_layer": ["_layerWatchHandler"],
1484
1491
  "selectedIds": ["selectedIdsWatchHandler"]
@@ -64,27 +64,23 @@ async function queryFeaturesByID(ids, layer, graphics, returnGeometry, outSpatia
64
64
  var _a;
65
65
  const num = (_a = layer.capabilities) === null || _a === void 0 ? void 0 : _a.query.maxRecordCount;
66
66
  const start = 0;
67
+ if (ids.length === 0) {
68
+ ids = await layer.queryObjectIds();
69
+ }
67
70
  const q = layer.createQuery();
68
- q.start = start;
69
71
  q.returnGeometry = returnGeometry;
70
72
  q.objectIds = ids.slice(start, num);
71
- if (num) {
72
- q.num = num;
73
- }
74
73
  if (outSpatialReference) {
75
74
  q.outSpatialReference = outSpatialReference;
76
75
  }
77
76
  if (fields) {
78
77
  q.outFields = fields;
79
78
  }
80
- if (ids.length === 0) {
81
- ids = await layer.queryObjectIds();
82
- }
83
79
  const result = await layer.queryFeatures(q);
84
80
  graphics = graphics.concat(result.features);
85
81
  const remainingIds = ids.slice(num, ids.length);
86
82
  return remainingIds.length > 0 ?
87
- queryFeaturesByID(remainingIds, layer, graphics, returnGeometry, outSpatialReference) :
83
+ queryFeaturesByID(remainingIds, layer, graphics, returnGeometry, outSpatialReference, fields) :
88
84
  Promise.resolve(graphics);
89
85
  }
90
86
  /**
@@ -12,7 +12,7 @@ import { o as onToggleOpenCloseComponent } from './openCloseComponent-9f90f493.j
12
12
  import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-436fb2b1.js';
13
13
  import { K as KindIcons } from './resources-88a48c5c.js';
14
14
  import { g as getLocaleComponentStrings, l as loadModules } from './locale-25a5ae3e.js';
15
- import { a as getAllLayers } from './mapViewUtils-a177d4f9.js';
15
+ import { a as getAllLayers } from './mapViewUtils-20504620.js';
16
16
  import { P as PopupUtils } from './popupUtils-23fe3c9f.js';
17
17
  import './guid-b75a5f7b.js';
18
18
  import './resources-8834f920.js';
@@ -22,7 +22,7 @@ import { V as Validation } from './Validation-ea480265.js';
22
22
  import { d as debounce } from './debounce-229b1a22.js';
23
23
  import { i as isActivationKey } from './key-c83d835f.js';
24
24
  import { g as getLocaleComponentStrings } from './locale-25a5ae3e.js';
25
- import { d as getMapLayerHash, o as getMapTableHash } from './mapViewUtils-a177d4f9.js';
25
+ import { d as getMapLayerHash, o as getMapTableHash } from './mapViewUtils-20504620.js';
26
26
  import { s as state } from './publicNotificationStore-3bf4de75.js';
27
27
  import './resources-8834f920.js';
28
28
  import './browser-d60104bd.js';
@@ -12,7 +12,7 @@ import { c as connectLocalized, d as disconnectLocalized } from './locale-904407
12
12
  import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-436fb2b1.js';
13
13
  import { S as SLOTS$1 } from './resources-00983bd3.js';
14
14
  import { l as loadModules, g as getLocaleComponentStrings, f as formatNumber } from './locale-25a5ae3e.js';
15
- import { a as getAllLayers, g as getLayerOrTable, b as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash } from './mapViewUtils-a177d4f9.js';
15
+ import { a as getAllLayers, g as getLayerOrTable, b as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash } from './mapViewUtils-20504620.js';
16
16
  import { P as PopupUtils } from './popupUtils-23fe3c9f.js';
17
17
  import './guid-b75a5f7b.js';
18
18
  import './resources-8834f920.js';
@@ -5,8 +5,8 @@
5
5
  */
6
6
  import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-164d485a.js';
7
7
  import { g as getLocaleComponentStrings, l as loadModules } from './locale-25a5ae3e.js';
8
- import { q as queryFeaturesByID, g as getLayerOrTable, c as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID } from './mapViewUtils-a177d4f9.js';
9
- import { d as downloadCSV } from './downloadUtils-d5928e55.js';
8
+ import { q as queryFeaturesByID, g as getLayerOrTable, c as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID } from './mapViewUtils-20504620.js';
9
+ import { d as downloadCSV } from './downloadUtils-3bab4b5f.js';
10
10
  import './esri-loader-eda07632.js';
11
11
  import './_commonjsHelpers-d5f9d613.js';
12
12
  import './interfaces-586e863c.js';
@@ -108,10 +108,6 @@ const LayerTable = class {
108
108
  constructor(hostRef) {
109
109
  registerInstance(this, hostRef);
110
110
  this.featureSelectionChange = createEvent(this, "featureSelectionChange", 7);
111
- /**
112
- * number[]: A list of all IDs for the current layer
113
- */
114
- this._allIds = [];
115
111
  /**
116
112
  * boolean: When true the ctrl key is currently pressed
117
113
  */
@@ -167,6 +163,7 @@ const LayerTable = class {
167
163
  this.shareIncludeSocial = undefined;
168
164
  this.showNewestFirst = undefined;
169
165
  this.zoomAndScrollToSelected = undefined;
166
+ this._allIds = [];
170
167
  this._controlsThatFit = undefined;
171
168
  this._csvExporting = false;
172
169
  this._fetchingData = false;
@@ -235,6 +232,13 @@ const LayerTable = class {
235
232
  this._initToolInfos();
236
233
  }
237
234
  }
235
+ /**
236
+ * watch for changes in map info and update the toolbar
237
+ */
238
+ async mapInfoWatchHandler() {
239
+ this._initToolInfos();
240
+ this._updateToolbar();
241
+ }
238
242
  /**
239
243
  * watch for changes in map view and get the first layer
240
244
  */
@@ -1346,7 +1350,7 @@ const LayerTable = class {
1346
1350
  exportInfos, false, // formatUsingLayerPopup
1347
1351
  false, // removeDuplicates
1348
1352
  true, // addColumnTitle
1349
- fields, true);
1353
+ fields, true, true);
1350
1354
  this._updateToolInfoLoading("export", false);
1351
1355
  this._csvExporting = false;
1352
1356
  }
@@ -1491,6 +1495,7 @@ const LayerTable = class {
1491
1495
  "enableShare": ["enableShareWatchHandler"],
1492
1496
  "_controlsThatFit": ["_controlsThatFitWatchHandler"],
1493
1497
  "isMobile": ["isMobileWatchHandler"],
1498
+ "mapInfo": ["mapInfoWatchHandler"],
1494
1499
  "mapView": ["mapViewWatchHandler"],
1495
1500
  "_layer": ["_layerWatchHandler"],
1496
1501
  "selectedIds": ["selectedIdsWatchHandler"]
@@ -6,7 +6,7 @@
6
6
  import { r as registerInstance, h, H as Host, g as getElement } from './index-164d485a.js';
7
7
  import { g as getLocaleComponentStrings } from './locale-25a5ae3e.js';
8
8
  import { E as ELayoutMode } from './interfaces-586e863c.js';
9
- import { g as getLayerOrTable } from './mapViewUtils-a177d4f9.js';
9
+ import { g as getLayerOrTable } from './mapViewUtils-20504620.js';
10
10
  import './esri-loader-eda07632.js';
11
11
  import './_commonjsHelpers-d5f9d613.js';
12
12
 
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-164d485a.js';
7
7
  import { l as loadModules, g as getLocaleComponentStrings } from './locale-25a5ae3e.js';
8
- import { a as getAllLayers, b as getFeatureLayerView, h as highlightFeatures, g as getLayerOrTable, q as queryFeaturesByID } from './mapViewUtils-a177d4f9.js';
8
+ import { a as getAllLayers, b as getFeatureLayerView, h as highlightFeatures, g as getLayerOrTable, q as queryFeaturesByID } from './mapViewUtils-20504620.js';
9
9
  import './esri-loader-eda07632.js';
10
10
  import './_commonjsHelpers-d5f9d613.js';
11
11
  import './interfaces-586e863c.js';
@@ -6,7 +6,7 @@
6
6
  import { c as createCommonjsModule, g as getDefaultExportFromCjs } from './_commonjsHelpers-d5f9d613.js';
7
7
  import { a as getAssetPath } from './index-164d485a.js';
8
8
  import { l as loadModules } from './locale-25a5ae3e.js';
9
- import { q as queryFeaturesByID } from './mapViewUtils-a177d4f9.js';
9
+ import { q as queryFeaturesByID } from './mapViewUtils-20504620.js';
10
10
  import './solution-resource-7b8d302d.js';
11
11
  import './index-a1e91462.js';
12
12
  import { _ as __assign$1, r as request, c as cleanUrl, g as getJson } from './restHelpersGet-af032ab2.js';
@@ -1508,7 +1508,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1508
1508
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1509
1509
  * ====================================================================
1510
1510
  */
1511
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-a1725c19.js')).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1511
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-be703f2b.js')).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1512
1512
  /** ====================================================================
1513
1513
  * @license
1514
1514
  * jsPDF XMP metadata plugin
@@ -2362,12 +2362,12 @@ const lineSeparatorChar = "|";
2362
2362
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
2363
2363
  * @returns selectionSetNames that will be used for export filenames
2364
2364
  */
2365
- async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false, fields = [], useFieldAliasNames = false) {
2365
+ async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
2366
2366
  const labelRequests = [];
2367
2367
  Object.keys(exportInfos).forEach(k => {
2368
2368
  var _a;
2369
2369
  const labelInfo = exportInfos[k];
2370
- labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames));
2370
+ labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields, useFieldAliasNames, filterFields));
2371
2371
  if (isCSVExport) {
2372
2372
  // add the layer id as a temp value separator that we can use to split values for CSV export
2373
2373
  labelRequests.push(Promise.resolve([[k]]));
@@ -2387,8 +2387,8 @@ async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = tr
2387
2387
  * @param addColumnTitle Indicates if column headings should be included in output
2388
2388
  * @returns Promise resolving when function is done
2389
2389
  */
2390
- async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false, fields = [], useFieldAliasNames = false) {
2391
- let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames);
2390
+ async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
2391
+ let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields, useFieldAliasNames, filterFields);
2392
2392
  labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2393
2393
  const layerIds = Object.keys(exportInfos);
2394
2394
  let layerLabels = [];
@@ -2924,10 +2924,7 @@ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain,
2924
2924
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
2925
2925
  * @returns Promise resolving when function is done
2926
2926
  */
2927
- async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false, fields = [], useFieldAliasNames = false) {
2928
- if (fields.length === 0) {
2929
- fields = layer.fields.map(f => f.name.toLowerCase());
2930
- }
2927
+ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false, fields = undefined, useFieldAliasNames = false, filterFields = false) {
2931
2928
  // Get the label formatting, if any
2932
2929
  const labelFormatProps = await _getLabelFormat(webmap, layer, formatUsingLayerPopup);
2933
2930
  // Because the label may actually come from a related layer, we'll use the layer that comes back from _getLabelFormat.
@@ -2994,7 +2991,7 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
2994
2991
  const attributeDomains = {};
2995
2992
  if (featureLayer.fields) {
2996
2993
  featureLayer.fields.forEach(field => {
2997
- if (fields.indexOf(field.name.toLowerCase()) > -1) {
2994
+ if (filterFields ? fields.indexOf(field.name.toLowerCase()) > -1 : true) {
2998
2995
  const lowercaseFieldname = field.name.toLowerCase();
2999
2996
  attributeOrigNames[lowercaseFieldname] = field.name;
3000
2997
  attributeDomains[lowercaseFieldname] = field.domain;
@@ -3005,7 +3002,7 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
3005
3002
  else {
3006
3003
  // Feature layer is missing fields, so get info from first feature
3007
3004
  Object.keys(featureSet[0]).forEach(fieldName => {
3008
- if (fields.indexOf(fieldName.toLowerCase()) > -1) {
3005
+ if (filterFields ? fields.indexOf(fieldName.toLowerCase()) > -1 : true) {
3009
3006
  const lowercaseFieldname = fieldName.toLowerCase();
3010
3007
  attributeOrigNames[lowercaseFieldname] = fieldName;
3011
3008
  }
@@ -4,11 +4,11 @@
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
6
  import { a as commonjsGlobal, c as createCommonjsModule, g as getDefaultExportFromCjs } from './_commonjsHelpers-d5f9d613.js';
7
- import { _ as _typeof_1 } from './downloadUtils-d5928e55.js';
7
+ import { _ as _typeof_1 } from './downloadUtils-3bab4b5f.js';
8
8
  import './index-164d485a.js';
9
9
  import './locale-25a5ae3e.js';
10
10
  import './esri-loader-eda07632.js';
11
- import './mapViewUtils-a177d4f9.js';
11
+ import './mapViewUtils-20504620.js';
12
12
  import './interfaces-586e863c.js';
13
13
  import './solution-resource-7b8d302d.js';
14
14
  import './index-a1e91462.js';