@esri/solutions-components 0.8.28 → 0.8.29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. package/dist/cjs/basemap-gallery_7.cjs.entry.js +10 -1
  2. package/dist/cjs/calcite-alert_4.cjs.entry.js +3 -3
  3. package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +1 -1
  4. package/dist/cjs/calcite-flow_6.cjs.entry.js +1 -1
  5. package/dist/cjs/card-manager_3.cjs.entry.js +19 -19
  6. package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
  7. package/dist/cjs/crowdsource-reporter.cjs.entry.js +1 -1
  8. package/dist/cjs/{downloadUtils-5349717a.js → downloadUtils-83bf79ba.js} +2 -2
  9. package/dist/cjs/feature-list.cjs.entry.js +3 -3
  10. package/dist/cjs/{index.es-aa69b58b.js → index.es-4e523f8b.js} +2 -2
  11. package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
  12. package/dist/cjs/{mapViewUtils-6e46ba33.js → mapViewUtils-911698e5.js} +31 -17
  13. package/dist/cjs/{popupUtils-3e65296c.js → popupUtils-e3fa775b.js} +1 -1
  14. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  15. package/dist/collection/components/floor-filter/floor-filter.js +10 -1
  16. package/dist/collection/components/layer-table/layer-table.js +18 -18
  17. package/dist/collection/utils/queryUtils.js +30 -0
  18. package/dist/collection/utils/queryUtils.ts +41 -0
  19. package/dist/components/floor-filter2.js +10 -1
  20. package/dist/components/layer-table2.js +18 -18
  21. package/dist/components/queryUtils.js +31 -17
  22. package/dist/esm/basemap-gallery_7.entry.js +10 -1
  23. package/dist/esm/calcite-alert_4.entry.js +3 -3
  24. package/dist/esm/calcite-dropdown-group_2.entry.js +1 -1
  25. package/dist/esm/calcite-flow_6.entry.js +1 -1
  26. package/dist/esm/card-manager_3.entry.js +19 -19
  27. package/dist/esm/crowdsource-manager.entry.js +1 -1
  28. package/dist/esm/crowdsource-reporter.entry.js +1 -1
  29. package/dist/esm/{downloadUtils-5fa0d437.js → downloadUtils-571a502d.js} +2 -2
  30. package/dist/esm/feature-list.entry.js +3 -3
  31. package/dist/esm/{index.es-57c15c9b.js → index.es-2f9f04c5.js} +2 -2
  32. package/dist/esm/map-select-tools_3.entry.js +2 -2
  33. package/dist/esm/{mapViewUtils-4618ddb8.js → mapViewUtils-b8deb4ae.js} +31 -17
  34. package/dist/esm/{popupUtils-650b6bba.js → popupUtils-17193415.js} +1 -1
  35. package/dist/esm/public-notification.entry.js +2 -2
  36. package/dist/solutions-components/{p-81747268.entry.js → p-061da95a.entry.js} +1 -1
  37. package/dist/solutions-components/{p-e1662e32.entry.js → p-16fb8296.entry.js} +1 -1
  38. package/dist/solutions-components/p-1bdf0ba0.entry.js +6 -0
  39. package/dist/solutions-components/{p-a1037b19.js → p-2e23ac2c.js} +1 -1
  40. package/dist/solutions-components/{p-66722851.entry.js → p-2f7bfd8d.entry.js} +1 -1
  41. package/dist/solutions-components/p-327577d1.entry.js +6 -0
  42. package/dist/solutions-components/{p-bfdabb9d.entry.js → p-51d5532f.entry.js} +1 -1
  43. package/dist/solutions-components/{p-6f69de4d.js → p-52dba022.js} +2 -2
  44. package/dist/solutions-components/{p-24bf45b7.js → p-57eeed77.js} +1 -1
  45. package/dist/solutions-components/p-5aaa05ef.js +36 -0
  46. package/dist/solutions-components/{p-05b3a5d9.entry.js → p-61bf98bc.entry.js} +1 -1
  47. package/dist/solutions-components/{p-296375d3.entry.js → p-bb90a138.entry.js} +1 -1
  48. package/dist/solutions-components/{p-6bd6624f.entry.js → p-bda54b12.entry.js} +1 -1
  49. package/dist/solutions-components/{p-cd694107.entry.js → p-c21a6940.entry.js} +1 -1
  50. package/dist/solutions-components/solutions-components.esm.js +1 -1
  51. package/dist/solutions-components/utils/queryUtils.ts +41 -0
  52. package/dist/types/utils/queryUtils.d.ts +16 -0
  53. package/package.json +1 -1
  54. package/dist/solutions-components/p-2a6db6e8.entry.js +0 -6
  55. package/dist/solutions-components/p-583e5dd0.js +0 -36
  56. package/dist/solutions-components/p-c3821586.entry.js +0 -6
@@ -27,15 +27,19 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
27
27
  //
28
28
  //--------------------------------------------------------------------------
29
29
  async mapViewWatchHandler() {
30
+ console.log("mapViewWatchHandler FF");
30
31
  const webMap = this.mapView.map;
31
32
  await webMap.when(() => {
33
+ console.log("webMap.when FF");
32
34
  if (this.floorFilterWidget) {
33
35
  this.floorFilterWidget.destroy();
34
36
  this.floorFilterWidget = undefined;
37
+ console.log("floorFilterWidget destroyed");
35
38
  }
36
39
  if (this._floorFilterElement) {
37
40
  this._floorFilterElement.remove();
38
41
  this._floorFilterElement = document.createElement("div");
42
+ console.log("this._floorFilterElement created");
39
43
  }
40
44
  this._initFloorFilter(this.mapView, webMap);
41
45
  });
@@ -52,7 +56,7 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
52
56
  return this._initModules();
53
57
  }
54
58
  render() {
55
- return (h(Host, { key: '98769446b20d8a9432b571b5653abbc6613bdfe5' }, h("div", { key: '6606a2593fec1885fc02b07a168bdea43e7f864a', ref: (el) => { this._floorFilterElement = el; } })));
59
+ return (h(Host, { key: 'df3c419f3eaf30590c44c4919f0eeddfc333b81d' }, h("div", { key: '8496099f3bc35f34db6e47f73870ead9144df0a4', ref: (el) => { this._floorFilterElement = el; } })));
56
60
  }
57
61
  //--------------------------------------------------------------------------
58
62
  //
@@ -79,6 +83,11 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
79
83
  */
80
84
  _initFloorFilter(view, webMap) {
81
85
  var _a, _b, _c;
86
+ console.log("_initFloorFilter");
87
+ console.log(`view: ${view}`);
88
+ console.log(`this.enabled: ${this.enabled}`);
89
+ console.log(`this.FloorFilter: ${this.FloorFilter}`);
90
+ console.log(`webMap?.floorInfo: ${webMap === null || webMap === void 0 ? void 0 : webMap.floorInfo}`);
82
91
  if (view && this.enabled && this.FloorFilter && (webMap === null || webMap === void 0 ? void 0 : webMap.floorInfo)) {
83
92
  this.floorFilterWidget = new this.FloorFilter({
84
93
  container: this._floorFilterElement,
@@ -7,7 +7,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
7
7
  import { l as loadModules } from './loadModules.js';
8
8
  import { g as getLocaleComponentStrings } from './locale.js';
9
9
  import { b as goToSelection, c as getFeatureLayerView, g as getLayerOrTable } from './mapViewUtils.js';
10
- import { b as queryAllIds, c as queryFeatureIds, d as queryFeaturesByGlobalID } from './queryUtils.js';
10
+ import { b as queryAllIds, c as queryAllOidsWithQueryFeatures, d as queryFeaturesByGlobalID } from './queryUtils.js';
11
11
  import { d as downloadCSV } from './downloadUtils.js';
12
12
  import { d as defineCustomElement$D } from './action.js';
13
13
  import { d as defineCustomElement$C } from './action-bar.js';
@@ -246,6 +246,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
246
246
  if (this._selectAllActive && this.selectedIds.length !== this._allIds.length) {
247
247
  this._selectAllActive = false;
248
248
  }
249
+ if (this.selectedIds.length > 0) {
250
+ this._table.rowHighlightIds.removeAll();
251
+ this._table.rowHighlightIds.add(this.selectedIds[0]);
252
+ }
249
253
  }
250
254
  /**
251
255
  * Scroll and zoom to the selected feature from the Features widget.
@@ -345,7 +349,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
345
349
  const selected = this.selectedIds.length.toString();
346
350
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
347
351
  this._validateActiveActions();
348
- return (h(Host, { key: 'd2e67c4d6676ede2d0094bfca008dfca12fb59b3' }, h("calcite-shell", { key: '62f1c76bbffcae878e4e3f3342c37bf3bbd865ca' }, this._getTableControlRow("header"), h("div", { key: '4efd17a2485f990984f61f2d8c8b45d3d096d428', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '443481322720ab22e9e2bddac98802a25ef87982', class: "height-full width-full" }, h("calcite-loader", { key: '445bb39ac5c33d470a52f10dd1c481fdaf38443d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '4f1ba294ece2f5b05030a1c3cdc48d6ff46ed5d4', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
352
+ return (h(Host, { key: '928286a8e4d1159b56b2aa4384f0d6eed38c9e76' }, h("calcite-shell", { key: '7c9b98056ee867df54ebfd31fee6f046f5152f64' }, this._getTableControlRow("header"), h("div", { key: 'b1a9a9cca100c7bef335afd5b6c7d7384ca7536c', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'ceeead9900f43c94f46c8c94698ae17f3ae558b7', class: "height-full width-full" }, h("calcite-loader", { key: '7bf3c9ba21daa27dd387ba5413b6f6e982e1f10d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '7d0440047453a45fe1688ad373ab2463fe7479ba', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
349
353
  .replace("{{total}}", total)
350
354
  .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
351
355
  }
@@ -946,43 +950,38 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
946
950
  else if (this._shiftIsPressed) {
947
951
  this._skipOnChange = true;
948
952
  this._previousCurrentId = this._currentId;
949
- this._currentId = [...this._table.highlightIds.toArray()].reverse()[0];
950
- if (this._previousCurrentId !== this._currentId) {
953
+ this._currentId = [...ids].reverse()[0];
954
+ if (ids.length === 1) {
955
+ this._skipOnChange = false;
956
+ }
957
+ else if (this._previousCurrentId !== this._currentId) {
951
958
  // query the layer based on current sort and filters then grab between the current id and previous id
952
959
  const orderBy = this._table.activeSortOrders.reduce((prev, cur) => {
953
960
  prev.push(`${cur.fieldName} ${cur.direction}`);
954
961
  return prev;
955
962
  }, []);
956
- const oids = await queryFeatureIds(this._layer, this._layer.definitionExpression, orderBy);
963
+ const oids = await queryAllOidsWithQueryFeatures(0, this._layer, [], orderBy);
957
964
  let isBetween = false;
958
965
  const _start = this._table.viewModel.getObjectIdIndex(this._previousCurrentId);
959
966
  const _end = this._table.viewModel.getObjectIdIndex(this._currentId);
960
967
  const startIndex = _start < _end ? _start : _end;
961
968
  const endIndex = _end > _start ? _end : _start;
962
969
  this._skipOnChange = startIndex + 1 !== endIndex;
963
- const selectedIds = oids.reduce((prev, cur) => {
970
+ const idsInRange = oids.reduce((prev, cur) => {
964
971
  const id = cur;
965
- const index = this._table.viewModel.getObjectIdIndex(id);
966
972
  if ((id === this._currentId || id === this._previousCurrentId)) {
967
973
  isBetween = !isBetween;
968
974
  if (prev.indexOf(id) < 0) {
969
975
  prev.push(id);
970
976
  }
971
977
  }
972
- // The oids are sorted so after we have reached the start or end oid add all ids even if the index is -1.
973
- // Index of -1 will occur for features between the start and and oid if
974
- // you select a row then scroll faster than the FeatureTable loads the data to select the next id
975
- if (isBetween && prev.indexOf(id) < 0) {
976
- prev.push(id);
977
- }
978
- // Also add index based check.
979
- // In some cases the FeatureTable and Layer query will have differences in how null/undefined field values are sorted
980
- if ((this.selectedIds.indexOf(id) > -1 || (index >= startIndex && index <= endIndex)) && prev.indexOf(id) < 0 && index > -1) {
978
+ else if (isBetween && prev.indexOf(id) < 0) {
981
979
  prev.push(id);
982
980
  }
983
981
  return prev;
984
982
  }, []);
985
- this.selectedIds = _start < _end ? selectedIds.reverse() : selectedIds;
983
+ const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
984
+ this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
986
985
  this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
987
986
  }
988
987
  }
@@ -1324,9 +1323,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1324
1323
  * Clears the selected indexes
1325
1324
  */
1326
1325
  _clearSelection() {
1327
- var _a;
1326
+ var _a, _b;
1328
1327
  this.selectedIds = [];
1329
1328
  (_a = this._table) === null || _a === void 0 ? void 0 : _a.highlightIds.removeAll();
1329
+ (_b = this._table) === null || _b === void 0 ? void 0 : _b.rowHighlightIds.removeAll();
1330
1330
  this._finishOnChange();
1331
1331
  }
1332
1332
  /**
@@ -18,6 +18,36 @@
18
18
  * See the License for the specific language governing permissions and
19
19
  * limitations under the License.
20
20
  */
21
+ /**
22
+ * Query the layer for all OIDs valid for any definition expressions applied to the layer.
23
+ *
24
+ * This query allows OIDs to be returned in the same order as shown in the FeatureTable.
25
+ * FeatureLayer.queryObjectIds can return OIDs in a different order.
26
+ *
27
+ * @param start zero-based index indicating where to begin retrieving features
28
+ * @param layer the layer to retrieve features from
29
+ * @param graphics stores the features
30
+ * @param orderBy One or more field names used to order the query results.
31
+ * Specify ASC (ascending) or DESC (descending) after the field name to control the order.
32
+ * The default order is ASC.
33
+ *
34
+ * @returns Promise with the OIDs sorted based on any orderBy definitions
35
+ */
36
+ async function queryAllOidsWithQueryFeatures(start, layer, graphics, orderBy) {
37
+ const num = layer.capabilities.query.maxRecordCount;
38
+ const query = layer.createQuery();
39
+ query.start = start;
40
+ query.num = num;
41
+ query.returnGeometry = false;
42
+ query.orderByFields = orderBy;
43
+ query.outFields = [layer.objectIdField];
44
+ query.where = layer.definitionExpression || "1=1";
45
+ const result = await layer.queryFeatures(query);
46
+ graphics = graphics.concat(result.features);
47
+ return result.exceededTransferLimit ?
48
+ queryAllOidsWithQueryFeatures(start += num, layer, graphics, orderBy) :
49
+ Promise.resolve(graphics.map(g => g.attributes[layer.objectIdField]));
50
+ }
21
51
  /**
22
52
  * Query the layer for all IDs
23
53
  *
@@ -125,22 +155,6 @@ async function queryFeaturesByGeometry(start, layer, geometry, featuresCollectio
125
155
  queryFeaturesByGeometry(start += num, layer, geometry, featuresCollection) :
126
156
  Promise.resolve(featuresCollection);
127
157
  }
128
- /**
129
- * Query the layer for feature ids that match the provided where clause.
130
- * If no where clause is provided all features will be returned.
131
- *
132
- * @param layer the layer to retrieve features from
133
- * @param where the where clause for the query
134
- * @param orderBy any sort order to apply to the query
135
- *
136
- * @returns Promise with the ids from the layer that match the where and are sorted as defined by orderBy
137
- */
138
- async function queryFeatureIds(layer, where, orderBy) {
139
- const query = layer.createQuery();
140
- query.where = where ? where : "1=1";
141
- query.orderByFields = orderBy;
142
- return await layer.queryObjectIds(query);
143
- }
144
158
  /**
145
159
  * Query the layer for the extent of features with the provided OIDs
146
160
  *
@@ -198,4 +212,4 @@ async function _intersectQuery(geometry, layer) {
198
212
  return layer.queryObjectIds(q);
199
213
  }
200
214
 
201
- export { queryExtent as a, queryAllIds as b, queryFeatureIds as c, queryFeaturesByGlobalID as d, queryObjectIds as e, queryFeaturesByGeometry as f, getQueryGeoms as g, queryFeaturesByID as q };
215
+ export { queryExtent as a, queryAllIds as b, queryAllOidsWithQueryFeatures as c, queryFeaturesByGlobalID as d, queryObjectIds as e, queryFeaturesByGeometry as f, getQueryGeoms as g, queryFeaturesByID as q };
@@ -133,15 +133,19 @@ const FloorFilter = class {
133
133
  //
134
134
  //--------------------------------------------------------------------------
135
135
  async mapViewWatchHandler() {
136
+ console.log("mapViewWatchHandler FF");
136
137
  const webMap = this.mapView.map;
137
138
  await webMap.when(() => {
139
+ console.log("webMap.when FF");
138
140
  if (this.floorFilterWidget) {
139
141
  this.floorFilterWidget.destroy();
140
142
  this.floorFilterWidget = undefined;
143
+ console.log("floorFilterWidget destroyed");
141
144
  }
142
145
  if (this._floorFilterElement) {
143
146
  this._floorFilterElement.remove();
144
147
  this._floorFilterElement = document.createElement("div");
148
+ console.log("this._floorFilterElement created");
145
149
  }
146
150
  this._initFloorFilter(this.mapView, webMap);
147
151
  });
@@ -158,7 +162,7 @@ const FloorFilter = class {
158
162
  return this._initModules();
159
163
  }
160
164
  render() {
161
- return (h(Host, { key: '98769446b20d8a9432b571b5653abbc6613bdfe5' }, h("div", { key: '6606a2593fec1885fc02b07a168bdea43e7f864a', ref: (el) => { this._floorFilterElement = el; } })));
165
+ return (h(Host, { key: 'df3c419f3eaf30590c44c4919f0eeddfc333b81d' }, h("div", { key: '8496099f3bc35f34db6e47f73870ead9144df0a4', ref: (el) => { this._floorFilterElement = el; } })));
162
166
  }
163
167
  //--------------------------------------------------------------------------
164
168
  //
@@ -185,6 +189,11 @@ const FloorFilter = class {
185
189
  */
186
190
  _initFloorFilter(view, webMap) {
187
191
  var _a, _b, _c;
192
+ console.log("_initFloorFilter");
193
+ console.log(`view: ${view}`);
194
+ console.log(`this.enabled: ${this.enabled}`);
195
+ console.log(`this.FloorFilter: ${this.FloorFilter}`);
196
+ console.log(`webMap?.floorInfo: ${webMap === null || webMap === void 0 ? void 0 : webMap.floorInfo}`);
188
197
  if (view && this.enabled && this.FloorFilter && (webMap === null || webMap === void 0 ? void 0 : webMap.floorInfo)) {
189
198
  this.floorFilterWidget = new this.FloorFilter({
190
199
  container: this._floorFilterElement,
@@ -12,15 +12,15 @@ import { o as onToggleOpenCloseComponent } from './openCloseComponent-04234cea.j
12
12
  import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-165900a5.js';
13
13
  import { K as KindIcons } from './resources-ae36eaff.js';
14
14
  import { g as getLocaleComponentStrings, l as loadModules } from './locale-a490c4f6.js';
15
- import { a as getAllLayers } from './mapViewUtils-4618ddb8.js';
16
- import { P as PopupUtils } from './popupUtils-650b6bba.js';
15
+ import { a as getAllLayers } from './mapViewUtils-b8deb4ae.js';
16
+ import { P as PopupUtils } from './popupUtils-17193415.js';
17
17
  import './guid-f05d01d5.js';
18
18
  import './resources-1febf4c6.js';
19
19
  import './key-092b6260.js';
20
20
  import './observers-19e5cb73.js';
21
21
  import './esri-loader-2bf735ed.js';
22
22
  import './interfaces-586e863c.js';
23
- import './downloadUtils-5fa0d437.js';
23
+ import './downloadUtils-571a502d.js';
24
24
  import './solution-resource-0d0eb597.js';
25
25
  import './index-a1e91462.js';
26
26
  import './restHelpersGet-1bd54274.js';
@@ -7,7 +7,7 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
7
7
  import { c as createObserver } from './observers-19e5cb73.js';
8
8
  import { C as CSS } from './resources-16800cce.js';
9
9
  import { g as getLocaleComponentStrings } from './locale-a490c4f6.js';
10
- import { d as getMapLayerHash, p as getMapTableHash } from './mapViewUtils-4618ddb8.js';
10
+ import { d as getMapLayerHash, p as getMapTableHash } from './mapViewUtils-b8deb4ae.js';
11
11
  import { s as state } from './publicNotificationStore-74c7e9f4.js';
12
12
  import './esri-loader-2bf735ed.js';
13
13
  import './interfaces-586e863c.js';
@@ -12,7 +12,7 @@ import { c as connectLocalized, d as disconnectLocalized } from './locale-353c1c
12
12
  import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-165900a5.js';
13
13
  import { S as SLOTS$1 } from './resources-810e7513.js';
14
14
  import { l as loadModules, f as formatNumber, g as getLocaleComponentStrings } from './locale-a490c4f6.js';
15
- import { a as getAllLayers, g as getLayerOrTable, b as getAllTables, d as getMapLayerHash } from './mapViewUtils-4618ddb8.js';
15
+ import { a as getAllLayers, g as getLayerOrTable, b as getAllTables, d as getMapLayerHash } from './mapViewUtils-b8deb4ae.js';
16
16
  import './guid-f05d01d5.js';
17
17
  import './resources-1febf4c6.js';
18
18
  import './browser-9897260d.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-ba5da2b0.js';
7
7
  import { g as getLocaleComponentStrings, l as loadModules } from './locale-a490c4f6.js';
8
- import { q as queryFeaturesByID, g as getLayerOrTable, e as goToSelection, f as queryAllIds, i as queryFeatureIds, j as queryFeaturesByGlobalID, c as getFeatureLayerView } from './mapViewUtils-4618ddb8.js';
9
- import { d as downloadCSV } from './downloadUtils-5fa0d437.js';
8
+ import { q as queryFeaturesByID, g as getLayerOrTable, e as goToSelection, f as queryAllIds, i as queryAllOidsWithQueryFeatures, j as queryFeaturesByGlobalID, c as getFeatureLayerView } from './mapViewUtils-b8deb4ae.js';
9
+ import { d as downloadCSV } from './downloadUtils-571a502d.js';
10
10
  import './esri-loader-2bf735ed.js';
11
11
  import './interfaces-586e863c.js';
12
12
  import './solution-resource-0d0eb597.js';
@@ -298,6 +298,10 @@ const LayerTable = class {
298
298
  if (this._selectAllActive && this.selectedIds.length !== this._allIds.length) {
299
299
  this._selectAllActive = false;
300
300
  }
301
+ if (this.selectedIds.length > 0) {
302
+ this._table.rowHighlightIds.removeAll();
303
+ this._table.rowHighlightIds.add(this.selectedIds[0]);
304
+ }
301
305
  }
302
306
  /**
303
307
  * Scroll and zoom to the selected feature from the Features widget.
@@ -397,7 +401,7 @@ const LayerTable = class {
397
401
  const selected = this.selectedIds.length.toString();
398
402
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
399
403
  this._validateActiveActions();
400
- return (h(Host, { key: 'd2e67c4d6676ede2d0094bfca008dfca12fb59b3' }, h("calcite-shell", { key: '62f1c76bbffcae878e4e3f3342c37bf3bbd865ca' }, this._getTableControlRow("header"), h("div", { key: '4efd17a2485f990984f61f2d8c8b45d3d096d428', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '443481322720ab22e9e2bddac98802a25ef87982', class: "height-full width-full" }, h("calcite-loader", { key: '445bb39ac5c33d470a52f10dd1c481fdaf38443d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '4f1ba294ece2f5b05030a1c3cdc48d6ff46ed5d4', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
404
+ return (h(Host, { key: '928286a8e4d1159b56b2aa4384f0d6eed38c9e76' }, h("calcite-shell", { key: '7c9b98056ee867df54ebfd31fee6f046f5152f64' }, this._getTableControlRow("header"), h("div", { key: 'b1a9a9cca100c7bef335afd5b6c7d7384ca7536c', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'ceeead9900f43c94f46c8c94698ae17f3ae558b7', class: "height-full width-full" }, h("calcite-loader", { key: '7bf3c9ba21daa27dd387ba5413b6f6e982e1f10d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '7d0440047453a45fe1688ad373ab2463fe7479ba', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
401
405
  .replace("{{total}}", total)
402
406
  .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
403
407
  }
@@ -998,43 +1002,38 @@ const LayerTable = class {
998
1002
  else if (this._shiftIsPressed) {
999
1003
  this._skipOnChange = true;
1000
1004
  this._previousCurrentId = this._currentId;
1001
- this._currentId = [...this._table.highlightIds.toArray()].reverse()[0];
1002
- if (this._previousCurrentId !== this._currentId) {
1005
+ this._currentId = [...ids].reverse()[0];
1006
+ if (ids.length === 1) {
1007
+ this._skipOnChange = false;
1008
+ }
1009
+ else if (this._previousCurrentId !== this._currentId) {
1003
1010
  // query the layer based on current sort and filters then grab between the current id and previous id
1004
1011
  const orderBy = this._table.activeSortOrders.reduce((prev, cur) => {
1005
1012
  prev.push(`${cur.fieldName} ${cur.direction}`);
1006
1013
  return prev;
1007
1014
  }, []);
1008
- const oids = await queryFeatureIds(this._layer, this._layer.definitionExpression, orderBy);
1015
+ const oids = await queryAllOidsWithQueryFeatures(0, this._layer, [], orderBy);
1009
1016
  let isBetween = false;
1010
1017
  const _start = this._table.viewModel.getObjectIdIndex(this._previousCurrentId);
1011
1018
  const _end = this._table.viewModel.getObjectIdIndex(this._currentId);
1012
1019
  const startIndex = _start < _end ? _start : _end;
1013
1020
  const endIndex = _end > _start ? _end : _start;
1014
1021
  this._skipOnChange = startIndex + 1 !== endIndex;
1015
- const selectedIds = oids.reduce((prev, cur) => {
1022
+ const idsInRange = oids.reduce((prev, cur) => {
1016
1023
  const id = cur;
1017
- const index = this._table.viewModel.getObjectIdIndex(id);
1018
1024
  if ((id === this._currentId || id === this._previousCurrentId)) {
1019
1025
  isBetween = !isBetween;
1020
1026
  if (prev.indexOf(id) < 0) {
1021
1027
  prev.push(id);
1022
1028
  }
1023
1029
  }
1024
- // The oids are sorted so after we have reached the start or end oid add all ids even if the index is -1.
1025
- // Index of -1 will occur for features between the start and and oid if
1026
- // you select a row then scroll faster than the FeatureTable loads the data to select the next id
1027
- if (isBetween && prev.indexOf(id) < 0) {
1028
- prev.push(id);
1029
- }
1030
- // Also add index based check.
1031
- // In some cases the FeatureTable and Layer query will have differences in how null/undefined field values are sorted
1032
- if ((this.selectedIds.indexOf(id) > -1 || (index >= startIndex && index <= endIndex)) && prev.indexOf(id) < 0 && index > -1) {
1030
+ else if (isBetween && prev.indexOf(id) < 0) {
1033
1031
  prev.push(id);
1034
1032
  }
1035
1033
  return prev;
1036
1034
  }, []);
1037
- this.selectedIds = _start < _end ? selectedIds.reverse() : selectedIds;
1035
+ const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
1036
+ this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
1038
1037
  this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
1039
1038
  }
1040
1039
  }
@@ -1376,9 +1375,10 @@ const LayerTable = class {
1376
1375
  * Clears the selected indexes
1377
1376
  */
1378
1377
  _clearSelection() {
1379
- var _a;
1378
+ var _a, _b;
1380
1379
  this.selectedIds = [];
1381
1380
  (_a = this._table) === null || _a === void 0 ? void 0 : _a.highlightIds.removeAll();
1381
+ (_b = this._table) === null || _b === void 0 ? void 0 : _b.rowHighlightIds.removeAll();
1382
1382
  this._finishOnChange();
1383
1383
  }
1384
1384
  /**
@@ -6,7 +6,7 @@
6
6
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-ba5da2b0.js';
7
7
  import { g as getLocaleComponentStrings } from './locale-a490c4f6.js';
8
8
  import { E as ELayoutMode } from './interfaces-586e863c.js';
9
- import { g as getLayerOrTable } from './mapViewUtils-4618ddb8.js';
9
+ import { g as getLayerOrTable } from './mapViewUtils-b8deb4ae.js';
10
10
  import './esri-loader-2bf735ed.js';
11
11
 
12
12
  const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.padding-1-2{padding:0.5rem}.display-flex{display:flex}.width-full{width:100%}.width-1-2{position:relative;width:50%}.width-1-3{position:relative;width:33.33%}.width-2-3{position:relative;width:66.66%}.width-0{width:0}.height-full{height:100%}.height-1-2{position:relative;height:50%}.height-0{height:0}.toggle-node{width:51px;height:51px}.overflow-hidden{overflow:hidden}.flex-column{flex-direction:column}.border{border:1px solid var(--calcite-color-border-3)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.border-sides{border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.position-relative{position:relative}.height-50{height:50%}.adjusted-height-50{height:calc(50% - 25px)}.adjusted-height-100{height:calc(100% - 50px)}.adjusted-height-100-50{height:calc(100% - 50px)}.display-none{display:none}.height-53{height:53px}.position-absolute-53{position:absolute;top:53px}.display-grid{display:grid}.height-50-px{height:50px}.padding-inline-start-75{padding-inline-start:0.75rem}.align-items-center{align-items:center}.esri-floor-filter__close-levels-button{width:40px !important;height:40px !important}.esri-floor-filter__level-button{width:40px !important;height:40px !important}.esri-floor-filter__browse-button{width:40px !important;height:40px !important}.position-absolute-50{position:absolute;top:50px;bottom:0px;left:0px;right:0px}.position-absolute-0{position:absolute;top:0px;bottom:0px;left:0px;right:0px}.visibility-hidden{visibility:hidden;height:0px}.position-fixed{position:fixed}.border-width-0{border-width:0px}.border-bottom-width-0{border-bottom-width:0px}.floating-container{position:fixed;width:100px;height:10px;bottom:0;right:0;margin:100px 0px}.floating-container .floating-button{box-shadow:0 10px 25px rgb(92 93 94 / 60%);transform:translatey(5px);transition:all 0.3s}";
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, H as Host, F as Fragment, g as getElement } from './index-ba5da2b0.js';
7
7
  import { l as loadModules, g as getLocaleComponentStrings } from './locale-a490c4f6.js';
8
- import { g as getLayerOrTable, a as getAllLayers, b as getAllTables, c as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash, q as queryFeaturesByID } from './mapViewUtils-4618ddb8.js';
8
+ import { g as getLayerOrTable, a as getAllLayers, b as getAllTables, c as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash, q as queryFeaturesByID } from './mapViewUtils-b8deb4ae.js';
9
9
  import './esri-loader-2bf735ed.js';
10
10
  import './interfaces-586e863c.js';
11
11
 
@@ -6,7 +6,7 @@
6
6
  import { g as getDefaultExportFromCjs } from './esri-loader-2bf735ed.js';
7
7
  import { a as getAssetPath } from './index-ba5da2b0.js';
8
8
  import { l as loadModules } from './locale-a490c4f6.js';
9
- import { q as queryFeaturesByID } from './mapViewUtils-4618ddb8.js';
9
+ import { q as queryFeaturesByID } from './mapViewUtils-b8deb4ae.js';
10
10
  import './solution-resource-0d0eb597.js';
11
11
  import './index-a1e91462.js';
12
12
  import { _ as __assign$1, r as request, c as cleanUrl, g as getJson } from './restHelpersGet-1bd54274.js';
@@ -1510,7 +1510,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1510
1510
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1511
1511
  * ====================================================================
1512
1512
  */
1513
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-57c15c9b.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},
1513
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-2f9f04c5.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},
1514
1514
  /** ====================================================================
1515
1515
  * @license
1516
1516
  * jsPDF XMP metadata plugin
@@ -5,10 +5,10 @@
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-ba5da2b0.js';
7
7
  import { l as loadModules, g as getLocaleComponentStrings } from './locale-a490c4f6.js';
8
- import { P as PopupUtils } from './popupUtils-650b6bba.js';
9
- import { g as getLayerOrTable, c as getFeatureLayerView, h as highlightFeatures } from './mapViewUtils-4618ddb8.js';
8
+ import { P as PopupUtils } from './popupUtils-17193415.js';
9
+ import { g as getLayerOrTable, c as getFeatureLayerView, h as highlightFeatures } from './mapViewUtils-b8deb4ae.js';
10
10
  import './esri-loader-2bf735ed.js';
11
- import './downloadUtils-5fa0d437.js';
11
+ import './downloadUtils-571a502d.js';
12
12
  import './solution-resource-0d0eb597.js';
13
13
  import './index-a1e91462.js';
14
14
  import './restHelpersGet-1bd54274.js';
@@ -4,10 +4,10 @@
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
6
  import { a as commonjsGlobal, g as getDefaultExportFromCjs } from './esri-loader-2bf735ed.js';
7
- import { b as _typeof$1 } from './downloadUtils-5fa0d437.js';
7
+ import { b as _typeof$1 } from './downloadUtils-571a502d.js';
8
8
  import './index-ba5da2b0.js';
9
9
  import './locale-a490c4f6.js';
10
- import './mapViewUtils-4618ddb8.js';
10
+ import './mapViewUtils-b8deb4ae.js';
11
11
  import './interfaces-586e863c.js';
12
12
  import './solution-resource-0d0eb597.js';
13
13
  import './index-a1e91462.js';
@@ -5,10 +5,10 @@
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-ba5da2b0.js';
7
7
  import { a as getComponentClosestLanguage, l as loadModules, g as getLocaleComponentStrings } from './locale-a490c4f6.js';
8
- import { e as goToSelection, h as highlightFeatures, k as queryObjectIds, l as getQueryGeoms, c as getFeatureLayerView, m as queryFeaturesByGeometry, n as getIdSets, o as highlightAllFeatures } from './mapViewUtils-4618ddb8.js';
8
+ import { e as goToSelection, h as highlightFeatures, k as queryObjectIds, l as getQueryGeoms, c as getFeatureLayerView, m as queryFeaturesByGeometry, n as getIdSets, o as highlightAllFeatures } from './mapViewUtils-b8deb4ae.js';
9
9
  import { a as EWorkflowType, e as ESelectionMode, f as EDrawMode } from './interfaces-586e863c.js';
10
10
  import { s as state } from './publicNotificationStore-74c7e9f4.js';
11
- import { d as downloadCSV, a as downloadPDF } from './downloadUtils-5fa0d437.js';
11
+ import { d as downloadCSV, a as downloadPDF } from './downloadUtils-571a502d.js';
12
12
  import './esri-loader-2bf735ed.js';
13
13
  import './index-c06194fa.js';
14
14
  import './solution-resource-0d0eb597.js';
@@ -20,6 +20,36 @@ import { a as EWorkflowType } from './interfaces-586e863c.js';
20
20
  * See the License for the specific language governing permissions and
21
21
  * limitations under the License.
22
22
  */
23
+ /**
24
+ * Query the layer for all OIDs valid for any definition expressions applied to the layer.
25
+ *
26
+ * This query allows OIDs to be returned in the same order as shown in the FeatureTable.
27
+ * FeatureLayer.queryObjectIds can return OIDs in a different order.
28
+ *
29
+ * @param start zero-based index indicating where to begin retrieving features
30
+ * @param layer the layer to retrieve features from
31
+ * @param graphics stores the features
32
+ * @param orderBy One or more field names used to order the query results.
33
+ * Specify ASC (ascending) or DESC (descending) after the field name to control the order.
34
+ * The default order is ASC.
35
+ *
36
+ * @returns Promise with the OIDs sorted based on any orderBy definitions
37
+ */
38
+ async function queryAllOidsWithQueryFeatures(start, layer, graphics, orderBy) {
39
+ const num = layer.capabilities.query.maxRecordCount;
40
+ const query = layer.createQuery();
41
+ query.start = start;
42
+ query.num = num;
43
+ query.returnGeometry = false;
44
+ query.orderByFields = orderBy;
45
+ query.outFields = [layer.objectIdField];
46
+ query.where = layer.definitionExpression || "1=1";
47
+ const result = await layer.queryFeatures(query);
48
+ graphics = graphics.concat(result.features);
49
+ return result.exceededTransferLimit ?
50
+ queryAllOidsWithQueryFeatures(start += num, layer, graphics, orderBy) :
51
+ Promise.resolve(graphics.map(g => g.attributes[layer.objectIdField]));
52
+ }
23
53
  /**
24
54
  * Query the layer for all IDs
25
55
  *
@@ -127,22 +157,6 @@ async function queryFeaturesByGeometry(start, layer, geometry, featuresCollectio
127
157
  queryFeaturesByGeometry(start += num, layer, geometry, featuresCollection) :
128
158
  Promise.resolve(featuresCollection);
129
159
  }
130
- /**
131
- * Query the layer for feature ids that match the provided where clause.
132
- * If no where clause is provided all features will be returned.
133
- *
134
- * @param layer the layer to retrieve features from
135
- * @param where the where clause for the query
136
- * @param orderBy any sort order to apply to the query
137
- *
138
- * @returns Promise with the ids from the layer that match the where and are sorted as defined by orderBy
139
- */
140
- async function queryFeatureIds(layer, where, orderBy) {
141
- const query = layer.createQuery();
142
- query.where = where ? where : "1=1";
143
- query.orderByFields = orderBy;
144
- return await layer.queryObjectIds(query);
145
- }
146
160
  /**
147
161
  * Query the layer for the extent of features with the provided OIDs
148
162
  *
@@ -473,4 +487,4 @@ async function goToSelection(ids, layerView, mapView, flashFeatures = true, feat
473
487
  }
474
488
  }
475
489
 
476
- export { getAllLayers as a, getAllTables as b, getFeatureLayerView as c, getMapLayerHash as d, goToSelection as e, queryAllIds as f, getLayerOrTable as g, highlightFeatures as h, queryFeatureIds as i, queryFeaturesByGlobalID as j, queryObjectIds as k, getQueryGeoms as l, queryFeaturesByGeometry as m, getIdSets as n, highlightAllFeatures as o, getMapTableHash as p, queryFeaturesByID as q };
490
+ export { getAllLayers as a, getAllTables as b, getFeatureLayerView as c, getMapLayerHash as d, goToSelection as e, queryAllIds as f, getLayerOrTable as g, highlightFeatures as h, queryAllOidsWithQueryFeatures as i, queryFeaturesByGlobalID as j, queryObjectIds as k, getQueryGeoms as l, queryFeaturesByGeometry as m, getIdSets as n, highlightAllFeatures as o, getMapTableHash as p, queryFeaturesByID as q };
@@ -3,7 +3,7 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import { _ as _prepareAttributeValue } from './downloadUtils-5fa0d437.js';
6
+ import { _ as _prepareAttributeValue } from './downloadUtils-571a502d.js';
7
7
  import { l as loadModules } from './locale-a490c4f6.js';
8
8
 
9
9
  /** @license
@@ -6,9 +6,9 @@
6
6
  import { r as registerInstance, c as createEvent, a as getAssetPath, h, H as Host, g as getElement } from './index-ba5da2b0.js';
7
7
  import { b as EExportType, c as EPageType, a as EWorkflowType } from './interfaces-586e863c.js';
8
8
  import { l as loadModules, g as getLocaleComponentStrings } from './locale-a490c4f6.js';
9
- import { e as goToSelection, h as highlightFeatures } from './mapViewUtils-4618ddb8.js';
9
+ import { e as goToSelection, h as highlightFeatures } from './mapViewUtils-b8deb4ae.js';
10
10
  import { s as state } from './publicNotificationStore-74c7e9f4.js';
11
- import { c as consolidateLabels, r as removeDuplicateLabels } from './downloadUtils-5fa0d437.js';
11
+ import { c as consolidateLabels, r as removeDuplicateLabels } from './downloadUtils-571a502d.js';
12
12
  import './esri-loader-2bf735ed.js';
13
13
  import './index-c06194fa.js';
14
14
  import './solution-resource-0d0eb597.js';