@arcgis/portal-components 5.0.0-next.1 → 5.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/cdn/{QXPXCLIB.js → 7OV2IBOO.js} +2 -2
  2. package/dist/cdn/{M5TSWZEI.js → 7RVOHHKS.js} +2 -2
  3. package/dist/cdn/{YKLWML27.js → AGNO2UPY.js} +1 -1
  4. package/dist/cdn/{MMZ2SLQM.js → GILAAO3X.js} +2 -2
  5. package/dist/cdn/IXNT3BOV.js +4 -0
  6. package/dist/cdn/{VUHRSXSV.js → JPJ5YLCH.js} +2 -2
  7. package/dist/cdn/{UYHDCO7W.js → JUEEPVEQ.js} +2 -2
  8. package/dist/cdn/{UAMIU7I6.js → M66PPIKS.js} +2 -2
  9. package/dist/cdn/{TBZVZ3NK.js → Q5E66I3X.js} +2 -2
  10. package/dist/cdn/{36SCONH7.js → QW7ZTXVQ.js} +1 -1
  11. package/dist/cdn/{YXRYHZH5.js → X6NWGPDH.js} +1 -1
  12. package/dist/cdn/{OHA5XBKC.js → XAAZ6FZY.js} +2 -2
  13. package/dist/cdn/index.js +2 -2
  14. package/dist/chunks/common.js +1 -1
  15. package/dist/chunks/fieldAddDelete.js +139 -148
  16. package/dist/chunks/loadClassificationData.js +1 -1
  17. package/dist/chunks/requests.js +1 -1
  18. package/dist/chunks/runtime.js +1 -1
  19. package/dist/chunks/useT9n.js +1 -1
  20. package/dist/components/arcgis-portal-classification-banner/customElement.js +1 -1
  21. package/dist/components/arcgis-portal-classification-config/customElement.js +1 -1
  22. package/dist/components/arcgis-portal-classification-favorite/customElement.js +1 -1
  23. package/dist/components/arcgis-portal-classification-form-element/customElement.js +1 -1
  24. package/dist/components/arcgis-portal-field-delete/customElement.js +62 -57
  25. package/dist/docs/api.json +2 -2
  26. package/dist/docs/docs.json +2 -2
  27. package/dist/docs/web-types.json +1 -1
  28. package/dist/index.js +1 -1
  29. package/dist/loader.js +1 -1
  30. package/package.json +4 -4
  31. package/dist/cdn/3C7EKA4P.js +0 -4
@@ -1,17 +1,18 @@
1
- import { c as C } from "../../chunks/runtime.js";
1
+ import { c as k } from "../../chunks/runtime.js";
2
2
  import { html as p, css as P } from "lit";
3
3
  import { LitElement as M, createEvent as F, renderElement as T } from "@arcgis/lumina";
4
4
  import { createRef as E, ref as N } from "lit/directives/ref.js";
5
5
  import { Task as O } from "@lit/task";
6
- import x from "@arcgis/core/layers/support/FeatureTemplate.js";
7
- import L from "@arcgis/core/Graphic.js";
8
- import S from "@arcgis/core/identity/IdentityManager.js";
6
+ import * as x from "@arcgis/core/core/lang.js";
7
+ import L from "@arcgis/core/layers/support/FeatureTemplate.js";
8
+ import S from "@arcgis/core/Graphic.js";
9
+ import j from "@arcgis/core/identity/IdentityManager.js";
9
10
  import y from "@arcgis/core/request.js";
10
- import { a as j, g as B, b as U, d as q, e as w, f as R, i as D } from "../../chunks/fieldAddDelete.js";
11
- import { u as J } from "../../chunks/useT9n.js";
11
+ import { a as B, g as U, b as q, d as R, e as w, f as J, i as D } from "../../chunks/fieldAddDelete.js";
12
+ import { u as z } from "../../chunks/useT9n.js";
12
13
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
13
14
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
14
- v5.0.0-next.1 */
15
+ v5.0.0-next.2 */
15
16
  const n = /* @__PURE__ */ new Map();
16
17
  n.set("oid", "key");
17
18
  n.set("guid", "key");
@@ -29,10 +30,10 @@ n.set("date-only", "calendar");
29
30
  n.set("time-only", "clock");
30
31
  n.set("timestamp-offset", "time-zone");
31
32
  n.set("string", "string");
32
- const z = ({ fieldType: $ }) => p`<calcite-icon scale=s .icon=${n.get($)}></calcite-icon>`, W = P`.dialog{--calcite-dialog-max-size-y: 60%}.dialog-content-wrapper{position:relative;min-height:100px}.hide-overflow{overflow:hidden}.field-icons{padding:0 var(--calcite-spacing-lg);display:flex;align-items:center}.warning{border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-3);margin-bottom:var(--calcite-spacing-md)}.warning-message{font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-bold)}.loader-container{position:absolute;height:100%;width:100%;top:0;right:0;display:none;z-index:40;overflow:hidden;background:#fffffff2;padding:0}.active{display:flex;flex-direction:column;align-items:center;justify-content:center}.loader{padding:0}.loader-text{font-weight:var(--calcite-font-weight-medium);text-align:center;margin-right:6.25rem;margin-left:6.25rem}`;
33
- class _ extends M {
33
+ const W = ({ fieldType: $ }) => p`<calcite-icon scale=s .icon=${n.get($)}></calcite-icon>`, _ = P`.dialog{--calcite-dialog-max-size-y: 60%}.dialog-content-wrapper{position:relative;min-height:100px}.hide-overflow{overflow:hidden}.field-icons{padding:0 var(--calcite-spacing-lg);display:flex;align-items:center}.warning{border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-3);margin-bottom:var(--calcite-spacing-md)}.warning-message{font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-bold)}.loader-container{position:absolute;height:100%;width:100%;top:0;right:0;display:none;z-index:40;overflow:hidden;background:#fffffff2;padding:0}.active{display:flex;flex-direction:column;align-items:center;justify-content:center}.loader{padding:0}.loader-text{font-weight:var(--calcite-font-weight-medium);text-align:center;margin-right:6.25rem;margin-left:6.25rem}`;
34
+ class V extends M {
34
35
  constructor() {
35
- super(...arguments), this.arcadeExpMap = /* @__PURE__ */ new Map(), this.cancelNode = E(), this.dialogNode = E(), this.layerFields = [], this.layerFieldsMap = /* @__PURE__ */ new Map(), this.messages = J({ blocking: !0 }), this._propWatcherTask = new O(this, {
36
+ super(...arguments), this.arcadeExpMap = /* @__PURE__ */ new Map(), this.cancelNode = E(), this.dialogNode = E(), this.layerFields = [], this.layerFieldsMap = /* @__PURE__ */ new Map(), this.messages = z({ blocking: !0 }), this._propWatcherTask = new O(this, {
36
37
  task: async ([e, t]) => {
37
38
  if (!(D(e) && D(t)))
38
39
  throw console.error("Required properties are missing."), new Error();
@@ -45,7 +46,7 @@ class _ extends M {
45
46
  this.properties = { currentLayerInfo: 16, deleteInProgress: 16, fieldsAreDeletable: 16, config: 0, fieldNames: 0, layer: 0, mapView: 0, options: 0 };
46
47
  }
47
48
  static {
48
- this.styles = W;
49
+ this.styles = _;
49
50
  }
50
51
  async processProps() {
51
52
  const { layer: e, mapView: t, fieldNames: s } = this;
@@ -54,27 +55,27 @@ class _ extends M {
54
55
  return;
55
56
  }
56
57
  e.loaded || await e.load(), this.layerFields = e.fields.filter((o) => s.includes(o.name));
57
- const a = s.some((o) => !e.fields.find((l) => l.name === o));
58
+ const a = s.some((o) => !e.fields.find((r) => r.name === o));
58
59
  if (!this.layerFields?.length || a)
59
60
  this.fieldsAreDeletable = !1;
60
61
  else {
61
- const o = await Promise.all(this.layerFields.map(async (l) => await j(t, e, l, this.options)));
62
- if (this.fieldsAreDeletable = o.every((l) => l), !this.fieldsAreDeletable)
62
+ const o = await Promise.all(this.layerFields.map(async (r) => await B(t, e, r, this.options)));
63
+ if (this.fieldsAreDeletable = o.every((r) => r), !this.fieldsAreDeletable)
63
64
  return;
64
65
  }
65
- if (this.layerFieldsMap = await B(e), this.options?.ignorePopupTemplate || (this.arcadeExpMap = U(e.popupTemplate)), this.portal = e.portalItem?.portal ?? this.options?.portal, this.item = e.portalItem ?? this.options?.item, !this.item) {
66
+ if (this.layerFieldsMap = await U(e), this.options?.ignorePopupTemplate || (this.arcadeExpMap = q(e.popupTemplate)), this.portal = e.portalItem?.portal ?? this.options?.portal, this.item = e.portalItem ?? this.options?.item, !this.item) {
66
67
  this.fieldsAreDeletable = !1;
67
68
  return;
68
69
  }
69
- await S.getCredential(this.item.url.replace("rest/services", "rest/admin/services"));
70
+ await j.getCredential(this.item.url.replace("rest/services", "rest/admin/services"));
70
71
  }
71
72
  getFieldLabel(e) {
72
73
  const { layer: t, arcadeExpMap: s } = this;
73
74
  if (this.options?.ignorePopupTemplate)
74
75
  return this.getFieldDisplayNameFromLayerFields(e);
75
76
  {
76
- const o = (t.popupTemplate ?? t.createPopupTemplate()).fieldInfos?.find((l) => l.fieldName === e);
77
- return o ? q(o, s) : this.getFieldDisplayNameFromLayerFields(e);
77
+ const o = (t.popupTemplate ?? t.createPopupTemplate()).fieldInfos?.find((r) => r.fieldName === e);
78
+ return o ? R(o, s) : this.getFieldDisplayNameFromLayerFields(e);
78
79
  }
79
80
  }
80
81
  getFieldDisplayNameFromLayerFields(e) {
@@ -83,8 +84,8 @@ class _ extends M {
83
84
  }
84
85
  async deleteFields() {
85
86
  const { layer: e, fieldNames: t } = this, s = `${e.url.replace("/rest/services", "/rest/admin/services")}/${e.layerId}/deleteFromDefinition`, a = {
86
- fields: t.map((l) => ({
87
- name: l
87
+ fields: t.map((r) => ({
88
+ name: r
88
89
  }))
89
90
  }, o = {
90
91
  deleteFromDefinition: JSON.stringify(a)
@@ -93,18 +94,18 @@ class _ extends M {
93
94
  query: { ...o, f: "json", async: !1 },
94
95
  method: "post",
95
96
  responseType: "json"
96
- }).then(async (l) => {
97
- if (l.data?.success) {
97
+ }).then(async (r) => {
98
+ if (r.data?.success) {
98
99
  const h = `${e.url}/${e.layerId}`;
99
100
  t.forEach((i) => {
100
101
  e.type === "feature" && e.floorInfo?.floorField === i && (e.floorInfo = null);
101
102
  });
102
- const m = await y(h, { query: { f: "json" }, responseType: "json" });
103
- if (m) {
104
- const i = m.data;
105
- this.currentLayerInfo = m.data, i && (this.updateTypesAndTemplatesOnLayer(), t.forEach((r) => {
106
- i.templates?.length ? i.templates.forEach((c) => delete c.prototype.attributes[r]) : i.types?.forEach((c) => {
107
- c.templates.forEach((u) => delete u.prototype.attributes[r]);
103
+ const u = await y(h, { query: { f: "json" }, responseType: "json" });
104
+ if (u) {
105
+ const i = u.data;
106
+ this.currentLayerInfo = u.data, i && (this.updateTypesAndTemplatesOnLayer(), t.forEach((l) => {
107
+ i.templates?.length ? i.templates.forEach((d) => delete d.prototype.attributes[l]) : i.types?.forEach((d) => {
108
+ d.templates.forEach((m) => delete m.prototype.attributes[l]);
108
109
  });
109
110
  }), this.updateFeatureService(i));
110
111
  } else
@@ -127,20 +128,20 @@ class _ extends M {
127
128
  updateTemplatesList(e) {
128
129
  const { currentLayerInfo: t, messages: s } = this, a = [];
129
130
  return (e ?? []).forEach((o) => {
130
- const l = new x();
131
- l.description = o.description ?? "", l.name = o.name || s.newFeature, l.drawingTool = o.drawingTool || "point";
131
+ const r = new L();
132
+ r.description = o.description ?? "", r.name = o.name || s.newFeature, r.drawingTool = o.drawingTool || "point";
132
133
  const h = {};
133
134
  t.fields.forEach((i) => {
134
- let r = !1;
135
- for (let c = 0; c < o.prototype.attributes.length; c++)
136
- if (o.prototype.attributes[c] === i.name) {
137
- r = !0, h[i.name] = o.prototype.attributes[i.name];
135
+ let l = !1;
136
+ for (let d = 0; d < o.prototype.attributes.length; d++)
137
+ if (o.prototype.attributes[d] === i.name) {
138
+ l = !0, h[i.name] = o.prototype.attributes[i.name];
138
139
  break;
139
140
  }
140
- !r && i.editable && (h[i.name] = i.defaultValue || null);
141
+ !l && i.editable && (h[i.name] = i.defaultValue || null);
141
142
  });
142
- const m = new L({ attributes: h });
143
- l.prototype = m, a.push(l);
143
+ const u = new S({ attributes: h });
144
+ r.prototype = u, a.push(r);
144
145
  }), a;
145
146
  }
146
147
  addType(e, t) {
@@ -150,42 +151,46 @@ class _ extends M {
150
151
  const { layer: t, fieldNames: s } = this, a = {
151
152
  templates: e.templates,
152
153
  types: e.types
153
- }, o = `${t.url.replace("/rest/services", "/rest/admin/services")}/${t.layerId}/updateDefinition`, l = {
154
+ }, o = `${t.url.replace("/rest/services", "/rest/admin/services")}/${t.layerId}/updateDefinition`, r = {
154
155
  f: "json",
155
156
  updateDefinition: JSON.stringify(a)
156
157
  };
157
158
  await y(o, {
158
- query: { ...l, f: "json" },
159
+ query: { ...r, f: "json" },
159
160
  method: "post",
160
161
  responseType: "json"
161
162
  }).then(async (h) => {
162
163
  if (h.data?.success) {
163
- const m = `${w(this.portal)}content/items/${this.item.id}/data`;
164
+ const u = `${w(this.portal)}content/items/${this.item.id}/data`;
164
165
  if (this.options?.ignorePopupTemplate || s.forEach((i) => {
165
- t.popupTemplate?.fieldInfos && (t.popupTemplate.fieldInfos = t.popupTemplate.fieldInfos.filter((r) => r.fieldName !== i)), t.popupTemplate?.content?.forEach((r, c) => {
166
- r.type === "fields" && r.fieldInfos && ((t.popupTemplate?.content)[c].fieldInfos = (t.popupTemplate?.content)[c].fieldInfos?.filter((u) => u.fieldName !== i));
166
+ t.popupTemplate?.fieldInfos && (t.popupTemplate.fieldInfos = t.popupTemplate.fieldInfos.filter((l) => l.fieldName !== i)), t.popupTemplate?.content?.forEach((l, d) => {
167
+ l.type === "fields" && l.fieldInfos && ((t.popupTemplate?.content)[d].fieldInfos = (t.popupTemplate?.content)[d].fieldInfos?.filter((m) => m.fieldName !== i));
167
168
  });
168
169
  }), t.attributeTableTemplate) {
169
170
  const i = t.attributeTableTemplate.clone();
170
- i.elements = i.elements.filter((r) => !(r.type === "field" && s.includes(r.fieldName))), i.orderByFields = i.orderByFields.filter((r) => !s.includes(r.field)), t.attributeTableTemplate = i;
171
+ i.elements = i.elements.filter((l) => !(l.type === "field" && s.includes(l.fieldName))), i.orderByFields = i.orderByFields.filter((l) => !s.includes(l.field)), t.attributeTableTemplate = i;
171
172
  }
172
- await y(m, {
173
+ if (t.fieldConfigurations?.length) {
174
+ const l = x.clone(t.fieldConfigurations).filter((d) => !s.includes(d.name));
175
+ t.fieldConfigurations = l;
176
+ }
177
+ await y(u, {
173
178
  query: { f: "json" },
174
179
  responseType: "json"
175
180
  }).then(async (i) => {
176
- const r = i.data;
177
- if (r?.layers || r?.tables) {
178
- const c = t.isTable, u = c ? r.tables : r.layers, d = u?.find((g) => g.id === t.layerId);
181
+ const l = i.data;
182
+ if (l?.layers || l?.tables) {
183
+ const d = t.isTable, m = d ? l.tables : l.layers, c = m?.find((g) => g.id === t.layerId);
179
184
  if (s.forEach((g) => {
180
- d?.attributeTableInfo?.attributeTableElements && (d.attributeTableInfo.attributeTableElements = d.attributeTableInfo.attributeTableElements.filter((f) => !(f.type === "field" && f.fieldName === g)), d.attributeTableInfo.orderByFields = d.attributeTableInfo.orderByFields.filter((f) => f.field !== g));
181
- }), d?.fieldConfiguration && (d.fieldConfiguration = d.fieldConfiguration.filter((g) => !s.includes(g.name))), d?.popupInfo) {
185
+ c?.attributeTableInfo?.attributeTableElements && (c.attributeTableInfo.attributeTableElements = c.attributeTableInfo.attributeTableElements.filter((f) => !(f.type === "field" && f.fieldName === g)), c.attributeTableInfo.orderByFields = c.attributeTableInfo.orderByFields.filter((f) => f.field !== g));
186
+ }), c?.layerDefinition?.fieldConfigurations && (c.layerDefinition.fieldConfigurations = c.layerDefinition.fieldConfigurations.filter((g) => !s.includes(g.name))), c?.popupInfo) {
182
187
  s.forEach((b) => {
183
- d.popupInfo.fieldInfos = d.popupInfo.fieldInfos.filter((v) => v.fieldName !== b), d.popupInfo.popupElements?.forEach((v, I) => {
184
- v.type === "fields" && v.fieldInfos && (d.popupInfo.popupElements[I].fieldInfos = d.popupInfo.popupElements[I].fieldInfos.filter((k) => k.fieldName !== b));
188
+ c.popupInfo.fieldInfos = c.popupInfo.fieldInfos.filter((v) => v.fieldName !== b), c.popupInfo.popupElements?.forEach((v, I) => {
189
+ v.type === "fields" && v.fieldInfos && (c.popupInfo.popupElements[I].fieldInfos = c.popupInfo.popupElements[I].fieldInfos.filter((C) => C.fieldName !== b));
185
190
  });
186
191
  });
187
192
  const g = `${w(this.portal)}content/users/${this.item.owner}/items/${this.item.id}/update`, f = {};
188
- c ? (f.tables = u, r.layers && (f.layers = r.layers)) : (f.layers = u, r.tables && (f.tables = r.tables));
193
+ d ? (f.tables = m, l.layers && (f.layers = l.layers)) : (f.layers = m, l.tables && (f.tables = l.tables));
189
194
  const A = {
190
195
  f: "json",
191
196
  text: JSON.stringify(f)
@@ -240,9 +245,9 @@ class _ extends M {
240
245
  }
241
246
  renderFieldsPreview() {
242
247
  const { fieldNames: e, layerFields: t, layerFieldsMap: s, arcadeExpMap: a, messages: o } = this;
243
- return p`<calcite-list .label=${o.fields}>${e.map((l) => {
244
- const h = t.find((m) => m.name === l);
245
- return p`<calcite-list-item .label=${this.getFieldLabel(l)} .description=${`{${l}}`} .value=${l} .disabled=${!h.editable}><div slot=actions-end class="field-icons">${z({ fieldType: R(l, s, a) })}</div></calcite-list-item>`;
248
+ return p`<calcite-list .label=${o.fields}>${e.map((r) => {
249
+ const h = t.find((u) => u.name === r);
250
+ return p`<calcite-list-item .label=${this.getFieldLabel(r)} .description=${`{${r}}`} .value=${r} .disabled=${!h.editable}><div slot=actions-end class="field-icons">${W({ fieldType: J(r, s, a) })}</div></calcite-list-item>`;
246
251
  })}</calcite-list>`;
247
252
  }
248
253
  renderCancelButton() {
@@ -257,7 +262,7 @@ class _ extends M {
257
262
  }}>${t.length === 1 ? e.deleteField : e.deleteFieldsWithNumber.replace("${number}", `${t.length}`)}</calcite-button>`;
258
263
  }
259
264
  }
260
- C("arcgis-portal-field-delete", _);
265
+ k("arcgis-portal-field-delete", V);
261
266
  export {
262
- _ as ArcgisPortalFieldDelete
267
+ V as ArcgisPortalFieldDelete
263
268
  };
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-09-26T04:37:34",
2
+ "timestamp": "2025-09-27T04:42:41",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "5.0.0-next.1",
5
+ "version": "5.0.0-next.2",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "schemaVersion": "1.0.0",
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-09-26T04:37:34",
2
+ "timestamp": "2025-09-27T04:42:41",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "5.0.0-next.1",
5
+ "version": "5.0.0-next.2",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "components": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@arcgis/portal-components",
4
- "version": "5.0.0-next.1",
4
+ "version": "5.0.0-next.2",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { g as a, s as t } from "./chunks/runtime.js";
2
2
  import { c as o, a as r } from "./chunks/fieldAddDelete.js";
3
3
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
4
4
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
5
- v5.0.0-next.1 */
5
+ v5.0.0-next.2 */
6
6
  export {
7
7
  o as canAddField,
8
8
  r as canDeleteField,
package/dist/loader.js CHANGED
@@ -2,7 +2,7 @@ import { r as i } from "./chunks/runtime.js";
2
2
  import { makeDefineCustomElements as t } from "@arcgis/lumina";
3
3
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
4
4
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
5
- v5.0.0-next.1 */
5
+ v5.0.0-next.2 */
6
6
  const s = t(i, {
7
7
  "arcgis-portal-classification-banner": [() => import("./components/arcgis-portal-classification-banner/customElement.js"), "autoDestroyDisabled,missingExistingClassification,portalItem:,validationErrors,variant;destroy"],
8
8
  "arcgis-portal-classification-config": [() => import("./components/arcgis-portal-classification-config/customElement.js"), "autoDestroyDisabled,portalItem:,status,valid,values;destroy,resetForm,validateForm"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/portal-components",
3
- "version": "5.0.0-next.1",
3
+ "version": "5.0.0-next.2",
4
4
  "description": "ArcGIS Portal Components",
5
5
  "keywords": [
6
6
  "ArcGIS",
@@ -38,14 +38,14 @@
38
38
  ],
39
39
  "license": "SEE LICENSE IN LICENSE.md",
40
40
  "dependencies": {
41
- "@arcgis/lumina": "5.0.0-next.1",
42
- "@arcgis/toolkit": "5.0.0-next.1",
41
+ "@arcgis/lumina": "5.0.0-next.2",
42
+ "@arcgis/toolkit": "5.0.0-next.2",
43
43
  "@lit/task": "^1.0.2",
44
44
  "lit": "^3.3.0",
45
45
  "tslib": "^2.8.1"
46
46
  },
47
47
  "peerDependencies": {
48
- "@arcgis/core": ">=4.34.0-next.43 <4.35",
48
+ "@arcgis/core": ">=5.0.0-next.1 <5.1",
49
49
  "@esri/calcite-components": "^3.3.0"
50
50
  },
51
51
  "css.customData": [
@@ -1,4 +0,0 @@
1
- /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
- See https://js.arcgis.com/5.0/esri/copyright.txt for details.
3
- v5.0.0-next.1 */
4
- import{b as J}from"./M5TSWZEI.js";import{d as B}from"./UYHDCO7W.js";import{B as D,C as A,D as j,G as S,I as R,h as M,j as y,p as P}from"./YXRYHZH5.js";export default $arcgis.t(([ge,we,be,E,I,Y,Q,k,T,$])=>{var L=(s=>(s.expression="expression/",s.raster="Raster.",s.relationship="relationships/",s))(L||{});function N(s){return s!=null}function q(s,e){let t=s.fieldName;if(t.includes(L.expression)){let i=e.get(t);return i?.title?i.title:t}else return s.label?s.label:t}function W(s,e,t){let i="";if(/^raster.(?:item|service)pixelvalue/iu.test(s))i="number";else if(e.has(s)){let r=e.get(s);i=r.type?r.type.toLowerCase():""}else if(t.has(s)){let r=t.get(s);i=r.returnType?r.returnType.toLowerCase():""}else i="number";return i}async function V(s){return new Map((await X(s)).filter(e=>e.visible).map(e=>[e.name,e]))}function G(s){let e=new Map;return s?.expressionInfos&&s.expressionInfos.forEach(t=>{let i=`${L.expression}${t.name}`;e.set(i,t)}),e}async function X(s){return await new Promise((e,t)=>{switch(s.type){case"feature":case"ogc-feature":case"stream":e(s.fields);break;case"sublayer":{let i=s,r=i?.layer;r?.portalItem&&r.url.includes("https://demographics")&&r.url.includes(".arcgis.com")?r.portalItem?.fetchData().then(a=>{if(a?.thematicGroup){let n=new Map(i.fields.map(o=>[o.name,o])),c=a.thematicGroup.fieldNames,p=[];c.forEach(o=>{n.has(o)&&p.push(n.get(o))}),e(p)}else e(i.fields)}).catch(a=>{t(new Error(a))}):e(i.fields);break}case"imagery":case"imagery-tile":case"wcs":e(s.rasterFields);break;default:e("fields"in s?s.fields??[]:[])}})}var Z=s=>s&&!s.endsWith("/")?`${s}/`:s;function F(s){return Z(s.restUrl)}function ee(s,e){return _(s,e)||te(s,e)}function _(s,e){return s.owner===e.username}function te(s,e){let t=s.owner,i=s.itemControl==="admin",r=["esri_livingatlas","esri_demographics","esri_boundaries"];return s.portal?.isPortal&&!_(s,e)&&i&&t?.includes("esri_")&&!r.includes(t)?!1:i}function se(s){return s.typeKeywords?.includes("Spatiotemporal")}function ie(s){return s.typeKeywords?.includes("View Service")}function re(s){return s.typeKeywords?.includes("Hosted Service")}function ae(s){return s.typeKeywords?.includes("Multi Services View")}function ne(s){return s?.hasViews&&!s.sourceSchemaChangesAllowed}async function oe(s){let e=s?.portalItem;if(!e)return await Promise.resolve(null);let t=e.portal;if(t?.user){let i=`${F(t)}community/users/${t.user.username}`;return await T(i,{query:{f:"json",token:e.portal.credential?.token},responseType:"json"}).then(async r=>{let a=r.data?.groups??[];return await Promise.resolve(a)},async()=>await Promise.reject(new Error("Failed to fetch user groups")))}return await Promise.resolve(null)}async function le(s){let e=s?.portalItem;if(!e)return await Promise.resolve(null);let t=e.portal,i=`${F(t)}content/items/${e.id}/groups`;return await T(i,{query:{f:"json",token:e.portal.credential?.token},responseType:"json"}).then(async r=>{let a=r.data?.admin??[],n=r.data?.member??[],c=r.data?.other??[],p=[...a,...n,...c];return await Promise.resolve(p)},async()=>await Promise.reject(new Error("Failed to fetch item groups")))}async function de(s,e,{relationshipType:t,direction:i}){let r=`${F(e)}content/items/${s}/relatedItems`;return await T(r,{query:{f:"json",relationshipType:t,direction:i},responseType:"json"})}function ce(s,e){return s?.some(t=>e?.some(i=>t.id===i.id&&t.capabilities.includes("updateitemcontrol")))}function d(s,e){return!s||!e?!1:s.toLocaleLowerCase()===e.toLocaleLowerCase()}async function z(s,e,t,i){if(!t)return!1;let r=["feature","oriented-imagery"].includes(e.type),a=i?.item??e.portalItem,n=e.sourceJSON;if(!r||!a||!a.portal.user||!re(a)||ie(a)||ae(a)||ne(n)||a.portal.isPortal&&se(a)||["oid","global-id","geometry"].includes(t.type)||await pe(e,t.name,i))return!1;let c=e.sourceJSON.geometryProperties,p=c?.shapeLengthFieldName,o=c?.shapeAreaFieldName;if(d(p,t.name)||d(o,t.name))return!1;let l=e.editFieldsInfo;if(l&&(d(l.creationDateField,t.name)||d(l.creatorField,t.name)||d(l.editDateField,t.name)||d(l.editorField,t.name))||d(e.objectIdField,t.name)||d(e.displayField,t.name)||d(e.typeIdField,t.name)||d(e.subtypeField,t.name)||e.timeInfo&&(d(e.timeInfo.startField,t.name)||d(e.timeInfo.endField,t.name)||d(e.timeInfo.trackIdField,t.name)))return!1;if(!i?.ignoreLayerRenderer&&e.featureReduction){let u=new Set;if(await I.collectFeatureReductionFields(u,e,e.featureReduction),Array.from(u).some(b=>d(b,t.name)))return!1}if(!i?.ignoreLayerRenderer&&(await I.getRendererFields(e.renderer,e.fieldsIndex)).some(u=>d(u,t.name)))return!1;if(!i?.ignoreLayerLabelingInfo){let u=e.labelingInfo?.map(b=>b.labelExpressionInfo?.expression);if(u&&((await I.getExpressionFields(e,u)).some(b=>d(b,t.name))||await U(e,t,"layer")))return!1}if(!i?.ignoreLayerDefinitionExpression&&e.definitionExpression&&(await $.parseWhereClause(e.definitionExpression,e.fieldsIndex)).fieldNames.some(u=>d(u,t.name))||await ue(e,t,i)||await me(e,t))return!1;if(await he(e,t))return await Promise.resolve(!1);if(await ye(e,t))return await Promise.resolve(!1);if(fe(s,e,t)||e.relationships?.map(u=>u.keyField)?.some(u=>d(u,t.name)))return!1;let f=ee(a,a.portal.user),v=i?.userItemInfo?.userGroups??await oe(e)??[],h=i?.userItemInfo?.itemGroups??await le(e)??[],w=ce(v,h);if(!f&&!w)return!1;let g=i?.userItemInfo?.relatedItems??await de(a.id,a.portal,{relationshipType:"Service2Service"});return!(g?.data?.relatedItems&&g.data.relatedItems.some(u=>["WMTS","Map Service","Vector Tile Service"].includes(u.type)))}async function pe(s,e,t){let i=`${s.url}/${s.layerId}/fieldGroups`,r=t?.userItemInfo?.fieldGroups??(await T(i,{query:{f:"json"},responseType:"json"}))?.data?.fieldGroups;return r?r.some(a=>a.fields.some(n=>d(n,e))):!1}function fe(s,e,t){if(!s)return!1;let i=s.map?.applicationProperties?.viewing?.search;if(i){let r=i.layers?.find(a=>a.id===e.id);if(r){let a=r?.field?.name;if(a)return d(a,t.name)}}return!1}async function U(s,e,t){let i=t==="layer"?s.labelingInfo?.filter(n=>N(n.where)):s.sourceJSON?.drawingInfo?.labelingInfo?.filter(n=>N(n.where));if(!i?.length)return!1;let r=[...await Promise.all(i.map(async n=>await $.parseWhereClause(n.where,s.fieldsIndex)))],a=!1;for(let n=0;n<r.length;n++){let c=r[n].fieldNames?.some(p=>d(p,e.name));if(!a&&c){a=!0;break}}return await Promise.resolve(a)}async function ue(s,e,t){let i=s.portalItem;if(!i)return!1;let r=`${F(i.portal)}content/items/${i.id}/data`,a=(t?.userItemInfo?.itemData??await T(r,{query:{f:"json"},responseType:"json"}))?.data;if(!a)return!1;if(a?.layers){let n=a.layers.find(l=>l.id===s.layerId),c=n?.layerDefinition?.drawingInfo?.renderer,p=n?.layerDefinition?.featureReduction,o=n?.layerDefinition?.definitionExpression;if(!c&&!p&&!o)return!1;if(!t?.ignoreItemRenderer&&c){let l=k.fromJSON(c);if((await I.getRendererFields(l,s.fieldsIndex)).some(f=>d(f,e.name)))return!0}if(!t?.ignoreItemFeatureReduction&&p&&await K(s,e,p)||o&&(await $.parseWhereClause(o,s.fieldsIndex)).fieldNames.some(l=>d(l,e.name)))return!0}return!1}async function me(s,e){let t=s.sourceJSON,i=t?.drawingInfo?.renderer,r=t?.featureReduction;if(!i&&!r)return!1;if(i){let a=k.fromJSON(i);if((await I.getRendererFields(a,s.fieldsIndex)).some(n=>d(n,e.name)))return!0}return!!(r&&await K(s,e,r))}async function he(s,e){let t=s.sourceJSON?.drawingInfo?.labelingInfo;if(!t)return await Promise.resolve(!1);let i=t?.map(r=>r.labelExpressionInfo?.expression);if(i){if((await I.getExpressionFields(s,i)).some(r=>d(r,e.name)))return await Promise.resolve(!0);if(await U(s,e,"service"))return await Promise.resolve(!0)}return await Promise.resolve(!1)}async function ye(s,e){let t=s.sourceJSON?.definitionQuery;return t?(await $.parseWhereClause(t,s.fieldsIndex)).fieldNames.some(i=>d(i,e.name))?await Promise.resolve(!0):await Promise.resolve(!1):await Promise.resolve(!1)}async function K(s,e,t){let i=t.type==="binning"?Y.fromJSON(t):Q.fromJSON(t),r=new Set;return await I.collectFeatureReductionFields(r,s,i),!!Array.from(r).some(a=>d(a,e.name))}var m=new Map;m.set("oid","key");m.set("guid","key");m.set("global-id","key");m.set("blob","binary");m.set("integer","integer");m.set("small-integer","integer");m.set("big-integer","integer");m.set("single","number");m.set("double","number");m.set("long","number");m.set("number","number");m.set("date","date-time");m.set("date-only","calendar");m.set("time-only","clock");m.set("timestamp-offset","time-zone");m.set("string","string");var Ie=({fieldType:s})=>y`<calcite-icon scale=s .icon=${m.get(s)}></calcite-icon>`,ve=M`.dialog{--calcite-dialog-max-size-y: 60%}.dialog-content-wrapper{position:relative;min-height:100px}.hide-overflow{overflow:hidden}.field-icons{padding:0 var(--calcite-spacing-lg);display:flex;align-items:center}.warning{border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-3);margin-bottom:var(--calcite-spacing-md)}.warning-message{font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-bold)}.loader-container{position:absolute;height:100%;width:100%;top:0;right:0;display:none;z-index:40;overflow:hidden;background:#fffffff2;padding:0}.active{display:flex;flex-direction:column;align-items:center;justify-content:center}.loader{padding:0}.loader-text{font-weight:var(--calcite-font-weight-medium);text-align:center;margin-right:6.25rem;margin-left:6.25rem}`,C=class extends j{constructor(){super(...arguments),this.arcadeExpMap=new Map,this.cancelNode=D(),this.dialogNode=D(),this.layerFields=[],this.layerFieldsMap=new Map,this.messages=B({blocking:!0}),this._propWatcherTask=new J(this,{task:async([e,t])=>{if(!(N(e)&&N(t)))throw console.error("Required properties are missing."),new Error;this._propWatcherTask.autoRun=!1,await this.processProps()},args:()=>[this.layer,this.fieldNames]}),this.deleteInProgress=!1,this.fieldsAreDeletable=!1,this.arcgisFieldsDeleted=P(),this.arcgisBeforeModalClose=P(),this.arcgisClose=P()}static{this.properties={currentLayerInfo:16,deleteInProgress:16,fieldsAreDeletable:16,config:0,fieldNames:0,layer:0,mapView:0,options:0}}static{this.styles=ve}async processProps(){let{layer:e,mapView:t,fieldNames:i}=this;if(!e||!i){this.fieldsAreDeletable=!1;return}e.loaded||await e.load(),this.layerFields=e.fields.filter(a=>i.includes(a.name));let r=i.some(a=>!e.fields.find(n=>n.name===a));if(!this.layerFields?.length||r)this.fieldsAreDeletable=!1;else{let a=await Promise.all(this.layerFields.map(async n=>await z(t,e,n,this.options)));if(this.fieldsAreDeletable=a.every(n=>n),!this.fieldsAreDeletable)return}if(this.layerFieldsMap=await V(e),this.options?.ignorePopupTemplate||(this.arcadeExpMap=G(e.popupTemplate)),this.portal=e.portalItem?.portal??this.options?.portal,this.item=e.portalItem??this.options?.item,!this.item){this.fieldsAreDeletable=!1;return}await be.getCredential(this.item.url.replace("rest/services","rest/admin/services"))}getFieldLabel(e){let{layer:t,arcadeExpMap:i}=this;if(this.options?.ignorePopupTemplate)return this.getFieldDisplayNameFromLayerFields(e);{let r=(t.popupTemplate??t.createPopupTemplate()).fieldInfos?.find(a=>a.fieldName===e);return r?q(r,i):this.getFieldDisplayNameFromLayerFields(e)}}getFieldDisplayNameFromLayerFields(e){let t=this.layerFieldsMap.get(e);return t.alias??t.name}async deleteFields(){let{layer:e,fieldNames:t}=this,i=`${e.url.replace("/rest/services","/rest/admin/services")}/${e.layerId}/deleteFromDefinition`,r={fields:t.map(n=>({name:n}))},a={deleteFromDefinition:JSON.stringify(r)};await E(i,{query:{...a,f:"json",async:!1},method:"post",responseType:"json"}).then(async n=>{if(n.data?.success){let c=`${e.url}/${e.layerId}`;t.forEach(o=>{e.type==="feature"&&e.floorInfo?.floorField===o&&(e.floorInfo=null)});let p=await E(c,{query:{f:"json"},responseType:"json"});if(p){let o=p.data;this.currentLayerInfo=p.data,o&&(this.updateTypesAndTemplatesOnLayer(),t.forEach(l=>{o.templates?.length?o.templates.forEach(f=>delete f.prototype.attributes[l]):o.types?.forEach(f=>{f.templates.forEach(v=>delete v.prototype.attributes[l])})}),this.updateFeatureService(o))}else this.handleError()}},()=>this.handleError())}updateTypesAndTemplatesOnLayer(){let{currentLayerInfo:e}=this,t=e;if(t.templates?.length){let i=this.updateTemplatesList(t.templates);t.templates=i}else if(t.types){let i=t.types;t.types=[],i.forEach(r=>{r.templates=this.updateTemplatesList(r.templates),this.addType(t,r)})}}updateTemplatesList(e){let{currentLayerInfo:t,messages:i}=this,r=[];return(e??[]).forEach(a=>{let n=new ge;n.description=a.description??"",n.name=a.name||i.newFeature,n.drawingTool=a.drawingTool||"point";let c={};t.fields.forEach(o=>{let l=!1;for(let f=0;f<a.prototype.attributes.length;f++)if(a.prototype.attributes[f]===o.name){l=!0,c[o.name]=a.prototype.attributes[o.name];break}!l&&o.editable&&(c[o.name]=o.defaultValue||null)});let p=new we({attributes:c});n.prototype=p,r.push(n)}),r}addType(e,t){e.types?e.types.some(i=>i.id===t.id)||e.types.push(t):e.types=[t]}async updateFeatureService(e){let{layer:t,fieldNames:i}=this,r={templates:e.templates,types:e.types},a=`${t.url.replace("/rest/services","/rest/admin/services")}/${t.layerId}/updateDefinition`,n={f:"json",updateDefinition:JSON.stringify(r)};await E(a,{query:{...n,f:"json"},method:"post",responseType:"json"}).then(async c=>{if(c.data?.success){let p=`${F(this.portal)}content/items/${this.item.id}/data`;if(this.options?.ignorePopupTemplate||i.forEach(o=>{t.popupTemplate?.fieldInfos&&(t.popupTemplate.fieldInfos=t.popupTemplate.fieldInfos.filter(l=>l.fieldName!==o)),t.popupTemplate?.content?.forEach((l,f)=>{l.type==="fields"&&l.fieldInfos&&((t.popupTemplate?.content)[f].fieldInfos=(t.popupTemplate?.content)[f].fieldInfos?.filter(v=>v.fieldName!==o))})}),t.attributeTableTemplate){let o=t.attributeTableTemplate.clone();o.elements=o.elements.filter(l=>!(l.type==="field"&&i.includes(l.fieldName))),o.orderByFields=o.orderByFields.filter(l=>!i.includes(l.field)),t.attributeTableTemplate=o}await E(p,{query:{f:"json"},responseType:"json"}).then(async o=>{let l=o.data;if(l?.layers||l?.tables){let f=t.isTable,v=f?l.tables:l.layers,h=v?.find(w=>w.id===t.layerId);if(i.forEach(w=>{h?.attributeTableInfo?.attributeTableElements&&(h.attributeTableInfo.attributeTableElements=h.attributeTableInfo.attributeTableElements.filter(g=>!(g.type==="field"&&g.fieldName===w)),h.attributeTableInfo.orderByFields=h.attributeTableInfo.orderByFields.filter(g=>g.field!==w))}),h?.fieldConfiguration&&(h.fieldConfiguration=h.fieldConfiguration.filter(w=>!i.includes(w.name))),h?.popupInfo){i.forEach(b=>{h.popupInfo.fieldInfos=h.popupInfo.fieldInfos.filter(x=>x.fieldName!==b),h.popupInfo.popupElements?.forEach((x,O)=>{x.type==="fields"&&x.fieldInfos&&(h.popupInfo.popupElements[O].fieldInfos=h.popupInfo.popupElements[O].fieldInfos.filter(H=>H.fieldName!==b))})});let w=`${F(this.portal)}content/users/${this.item.owner}/items/${this.item.id}/update`,g={};f?(g.tables=v,l.layers&&(g.layers=l.layers)):(g.layers=v,l.tables&&(g.tables=l.tables));let u={f:"json",text:JSON.stringify(g)};await E(w,{query:{...u},method:"post",responseType:"json"}).then(b=>{b.data?.success?this.handleSuccess():this.handleError()},()=>this.handleError())}else this.handleSuccess()}else o.httpStatus===200&&(!o.data||JSON.stringify(o.data)==="{}")?this.handleSuccess():this.handleError()},()=>this.handleError())}},()=>this.handleError())}handleSuccess(){this.arcgisFieldsDeleted.emit(),this.dialogNode?.value&&(this.dialogNode.value.open=!1),this.options?.handleCloseOnConsumer?this.arcgisBeforeModalClose.emit("success"):this.displaySuccessAlert()}handleError(e){this.dialogNode?.value&&(this.dialogNode.value.open=!1),e?this.options?.handleCloseOnConsumer?this.arcgisBeforeModalClose.emit("read-only-error"):this.displayReadOnlyErrorAlert():this.options?.handleCloseOnConsumer?this.arcgisBeforeModalClose.emit("error"):this.displayErrorAlert()}displaySuccessAlert(){let{messages:e,fieldNames:t}=this;this.successAlertNode&&(this.successAlertNode.parentElement?.removeChild(this.successAlertNode),this.successAlertNode=void 0),this.successAlertNode=S(y`<calcite-alert .label=${t.length===1?e.fieldDeleted:e.fieldsDeleted} kind=success icon=check-circle auto-close open><div slot=message>${t.length===1?e.fieldDeleted:e.fieldsDeleted}</div></calcite-alert>`),document.body.append(this.successAlertNode)}displayErrorAlert(){let{messages:e}=this;this.errorAlertNode&&(this.errorAlertNode.parentElement?.removeChild(this.errorAlertNode),this.errorAlertNode=void 0),this.errorAlertNode=S(y`<calcite-alert .label=${e.fieldDeletionUnsuccessful} kind=danger icon=exclamation-mark-triangle auto-close open><div slot=message>${e.fieldDeletionUnsuccessful}</div></calcite-alert>`),document.body.append(this.errorAlertNode)}displayReadOnlyErrorAlert(){let{messages:e,portal:t}=this;this.errorAlertNode&&(this.errorAlertNode.parentElement?.removeChild(this.errorAlertNode),this.errorAlertNode=void 0),this.errorAlertNode=S(y`<calcite-alert .label=${e.fieldDeletionUnsuccessful} kind=danger icon=exclamation-mark-triangle auto-close auto-close-duration=slow open><div slot=title>${e.error}</div><div slot=message>${t.isPortal?e.readOnlyErrorMessageEnterprise:e.readOnlyErrorMessage}</div>${!t.isPortal&&y`<calcite-link slot=link target=_blank href=https://status.arcgis.com>${e.healthDashboard}</calcite-link>`||""}</calcite-alert>`),document.body.append(this.errorAlertNode)}render(){let{messages:e,fieldsAreDeletable:t,fieldNames:i,deleteInProgress:r}=this;return this._propWatcherTask.render({complete:()=>(t||(i?.length?i?.length===1?console.error("Field cannot be deleted"):console.error("One or more fields cannot be deleted"):console.error("You must select at least one field.")),y`<calcite-dialog class="dialog" width=s open modal outside-close-disabled escape-disabled @calciteDialogClose=${()=>this.arcgisClose.emit()} .heading=${i?.length===1?e.deleteField:e.deleteFields} ${A(this.dialogNode)}>${t?y`<div class=${`dialog-content-wrapper ${r?"hide-overflow":""}`}>${this.renderDeleteLoader()}<calcite-label>${i.length===1?e.deletePrompt:e.deleteMultiplePrompt}</calcite-label>${this.renderFieldsPreview()}</div>${this.renderCancelButton()}${this.renderDeleteButton()}`:this.renderError()}</calcite-dialog>`)})}renderError(){let{messages:e}=this;return y`<div class="loader-container active"><div class="loader-text">${e.errorOccurred}</div></div>`}renderDeleteLoader(){let{messages:e,fieldNames:t,deleteInProgress:i}=this;return y`<div class=${`loader-container ${i?"active":""}`}><calcite-loader class="loader" .label=${t.length===1?e.deletingField:e.deletingFields} .hidden=${!i}></calcite-loader><div class="loader-text">${t.length===1?e.deletingField:e.deletingFields}</div></div>`}renderFieldsPreview(){let{fieldNames:e,layerFields:t,layerFieldsMap:i,arcadeExpMap:r,messages:a}=this;return y`<calcite-list .label=${a.fields}>${e.map(n=>{let c=t.find(p=>p.name===n);return y`<calcite-list-item .label=${this.getFieldLabel(n)} .description=${`{${n}}`} .value=${n} .disabled=${!c.editable}><div slot=actions-end class="field-icons">${Ie({fieldType:W(n,i,r)})}</div></calcite-list-item>`})}</calcite-list>`}renderCancelButton(){let{messages:e}=this;return y`<calcite-button @click=${()=>this.dialogNode.value.open=!1} slot=footer-end appearance=outline ${A(this.cancelNode)}>${e.cancel}</calcite-button>`}renderDeleteButton(){let{messages:e,fieldNames:t}=this;return y`<calcite-button kind=danger slot=footer-end @click=${async i=>{let{portal:r}=this;i.currentTarget.disabled=!0,this.cancelNode.value.disabled=!0,this.dialogNode.value.closeDisabled=!0,r.sourceJSON?.isReadOnly?this.handleError(!0):(this.deleteInProgress=!0,await this.deleteFields())}}>${t.length===1?e.deleteField:e.deleteFieldsWithNumber.replace("${number}",`${t.length}`)}</calcite-button>`}};R("arcgis-portal-field-delete",C);return C},"layers/support/FeatureTemplate","Graphic","identity/IdentityManager","request","layers/support/fieldUtils","layers/support/FeatureReductionBinning","layers/support/FeatureReductionCluster","renderers/support/jsonUtils","request","core/sql")