@arcgis/portal-components 4.34.0-next.147 → 5.0.0-next.0

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 (70) hide show
  1. package/dist/cdn/{NWZTBBKI.js → 2BGNA5B6.js} +3 -3
  2. package/dist/cdn/{IL74IS5F.js → 3JA4XVXG.js} +3 -3
  3. package/dist/cdn/{4YD5GTOX.js → E6A6P5DT.js} +3 -3
  4. package/dist/cdn/{BBT6BT3V.js → HII3K2AH.js} +3 -3
  5. package/dist/cdn/{UNFASFJT.js → HP6FLO6G.js} +2 -2
  6. package/dist/cdn/{OWMACU34.js → IPBJFU7J.js} +3 -3
  7. package/dist/cdn/{72AE5F2Y.js → MFXEQDSV.js} +3 -3
  8. package/dist/cdn/{6YOY64XI.js → N5WPRKA2.js} +2 -2
  9. package/dist/cdn/{7RZYD2G7.js → O6FBVWEQ.js} +3 -3
  10. package/dist/cdn/SMUWQIWD.js +4 -0
  11. package/dist/cdn/{3DLLLEKB.js → XVHSY45D.js} +2 -2
  12. package/dist/cdn/{LHKCC7R3.js → YHT2PRHK.js} +3 -3
  13. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ar.json +1 -1
  14. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.bg.json +1 -1
  15. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.bs.json +1 -1
  16. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ca.json +1 -1
  17. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.cs.json +1 -1
  18. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.da.json +1 -1
  19. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.de.json +1 -1
  20. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.el.json +1 -1
  21. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.es.json +1 -1
  22. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.et.json +1 -1
  23. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.fi.json +1 -1
  24. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.fr.json +1 -1
  25. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.he.json +1 -1
  26. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.hr.json +1 -1
  27. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.hu.json +1 -1
  28. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.id.json +1 -1
  29. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.it.json +1 -1
  30. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ja.json +1 -1
  31. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ko.json +1 -1
  32. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.lt.json +1 -1
  33. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.lv.json +1 -1
  34. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.nl.json +1 -1
  35. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.no.json +1 -1
  36. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pl.json +1 -1
  37. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pt-BR.json +1 -1
  38. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pt-PT.json +1 -1
  39. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ro.json +1 -1
  40. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ru.json +1 -1
  41. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sk.json +1 -1
  42. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sl.json +1 -1
  43. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sr.json +1 -1
  44. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sv.json +1 -1
  45. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.th.json +1 -1
  46. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.tr.json +1 -1
  47. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.uk.json +1 -1
  48. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.vi.json +1 -1
  49. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-CN.json +1 -1
  50. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-HK.json +1 -1
  51. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-TW.json +1 -1
  52. package/dist/cdn/index.js +3 -3
  53. package/dist/chunks/common.js +2 -2
  54. package/dist/chunks/fieldAddDelete.js +2 -2
  55. package/dist/chunks/loadClassificationData.js +2 -2
  56. package/dist/chunks/requests.js +2 -2
  57. package/dist/chunks/runtime.js +2 -2
  58. package/dist/chunks/useT9n.js +2 -2
  59. package/dist/components/arcgis-portal-classification-banner/customElement.js +2 -2
  60. package/dist/components/arcgis-portal-classification-config/customElement.js +2 -2
  61. package/dist/components/arcgis-portal-classification-favorite/customElement.js +2 -2
  62. package/dist/components/arcgis-portal-classification-form-element/customElement.js +2 -2
  63. package/dist/components/arcgis-portal-field-delete/customElement.js +58 -63
  64. package/dist/docs/api.json +2 -2
  65. package/dist/docs/docs.json +2 -2
  66. package/dist/docs/web-types.json +1 -1
  67. package/dist/index.js +2 -2
  68. package/dist/loader.js +2 -2
  69. package/package.json +3 -3
  70. package/dist/cdn/4NMG7H5D.js +0 -4
@@ -1,18 +1,17 @@
1
- import { c as k } from "../../chunks/runtime.js";
1
+ import { c as C } 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 * 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";
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";
10
9
  import y from "@arcgis/core/request.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";
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";
13
12
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
14
- See https://js.arcgis.com/4.34/esri/copyright.txt for details.
15
- v4.34.0-next.147 */
13
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
14
+ v5.0.0-next.0 */
16
15
  const n = /* @__PURE__ */ new Map();
17
16
  n.set("oid", "key");
18
17
  n.set("guid", "key");
@@ -30,10 +29,10 @@ n.set("date-only", "calendar");
30
29
  n.set("time-only", "clock");
31
30
  n.set("timestamp-offset", "time-zone");
32
31
  n.set("string", "string");
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 {
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 {
35
34
  constructor() {
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, {
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, {
37
36
  task: async ([e, t]) => {
38
37
  if (!(D(e) && D(t)))
39
38
  throw console.error("Required properties are missing."), new Error();
@@ -46,7 +45,7 @@ class V extends M {
46
45
  this.properties = { currentLayerInfo: 16, deleteInProgress: 16, fieldsAreDeletable: 16, config: 0, fieldNames: 0, layer: 0, mapView: 0, options: 0 };
47
46
  }
48
47
  static {
49
- this.styles = _;
48
+ this.styles = W;
50
49
  }
51
50
  async processProps() {
52
51
  const { layer: e, mapView: t, fieldNames: s } = this;
@@ -55,27 +54,27 @@ class V extends M {
55
54
  return;
56
55
  }
57
56
  e.loaded || await e.load(), this.layerFields = e.fields.filter((o) => s.includes(o.name));
58
- const a = s.some((o) => !e.fields.find((r) => r.name === o));
57
+ const a = s.some((o) => !e.fields.find((l) => l.name === o));
59
58
  if (!this.layerFields?.length || a)
60
59
  this.fieldsAreDeletable = !1;
61
60
  else {
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)
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)
64
63
  return;
65
64
  }
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) {
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) {
67
66
  this.fieldsAreDeletable = !1;
68
67
  return;
69
68
  }
70
- await j.getCredential(this.item.url.replace("rest/services", "rest/admin/services"));
69
+ await S.getCredential(this.item.url.replace("rest/services", "rest/admin/services"));
71
70
  }
72
71
  getFieldLabel(e) {
73
72
  const { layer: t, arcadeExpMap: s } = this;
74
73
  if (this.options?.ignorePopupTemplate)
75
74
  return this.getFieldDisplayNameFromLayerFields(e);
76
75
  {
77
- const o = (t.popupTemplate ?? t.createPopupTemplate()).fieldInfos?.find((r) => r.fieldName === e);
78
- return o ? R(o, s) : this.getFieldDisplayNameFromLayerFields(e);
76
+ const o = (t.popupTemplate ?? t.createPopupTemplate()).fieldInfos?.find((l) => l.fieldName === e);
77
+ return o ? q(o, s) : this.getFieldDisplayNameFromLayerFields(e);
79
78
  }
80
79
  }
81
80
  getFieldDisplayNameFromLayerFields(e) {
@@ -84,8 +83,8 @@ class V extends M {
84
83
  }
85
84
  async deleteFields() {
86
85
  const { layer: e, fieldNames: t } = this, s = `${e.url.replace("/rest/services", "/rest/admin/services")}/${e.layerId}/deleteFromDefinition`, a = {
87
- fields: t.map((r) => ({
88
- name: r
86
+ fields: t.map((l) => ({
87
+ name: l
89
88
  }))
90
89
  }, o = {
91
90
  deleteFromDefinition: JSON.stringify(a)
@@ -94,18 +93,18 @@ class V extends M {
94
93
  query: { ...o, f: "json", async: !1 },
95
94
  method: "post",
96
95
  responseType: "json"
97
- }).then(async (r) => {
98
- if (r.data?.success) {
96
+ }).then(async (l) => {
97
+ if (l.data?.success) {
99
98
  const h = `${e.url}/${e.layerId}`;
100
99
  t.forEach((i) => {
101
100
  e.type === "feature" && e.floorInfo?.floorField === i && (e.floorInfo = null);
102
101
  });
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]);
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]);
109
108
  });
110
109
  }), this.updateFeatureService(i));
111
110
  } else
@@ -128,20 +127,20 @@ class V extends M {
128
127
  updateTemplatesList(e) {
129
128
  const { currentLayerInfo: t, messages: s } = this, a = [];
130
129
  return (e ?? []).forEach((o) => {
131
- const r = new L();
132
- r.description = o.description ?? "", r.name = o.name || s.newFeature, r.drawingTool = o.drawingTool || "point";
130
+ const l = new x();
131
+ l.description = o.description ?? "", l.name = o.name || s.newFeature, l.drawingTool = o.drawingTool || "point";
133
132
  const h = {};
134
133
  t.fields.forEach((i) => {
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];
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];
139
138
  break;
140
139
  }
141
- !l && i.editable && (h[i.name] = i.defaultValue || null);
140
+ !r && i.editable && (h[i.name] = i.defaultValue || null);
142
141
  });
143
- const u = new S({ attributes: h });
144
- r.prototype = u, a.push(r);
142
+ const m = new L({ attributes: h });
143
+ l.prototype = m, a.push(l);
145
144
  }), a;
146
145
  }
147
146
  addType(e, t) {
@@ -151,46 +150,42 @@ class V extends M {
151
150
  const { layer: t, fieldNames: s } = this, a = {
152
151
  templates: e.templates,
153
152
  types: e.types
154
- }, o = `${t.url.replace("/rest/services", "/rest/admin/services")}/${t.layerId}/updateDefinition`, r = {
153
+ }, o = `${t.url.replace("/rest/services", "/rest/admin/services")}/${t.layerId}/updateDefinition`, l = {
155
154
  f: "json",
156
155
  updateDefinition: JSON.stringify(a)
157
156
  };
158
157
  await y(o, {
159
- query: { ...r, f: "json" },
158
+ query: { ...l, f: "json" },
160
159
  method: "post",
161
160
  responseType: "json"
162
161
  }).then(async (h) => {
163
162
  if (h.data?.success) {
164
- const u = `${w(this.portal)}content/items/${this.item.id}/data`;
163
+ const m = `${w(this.portal)}content/items/${this.item.id}/data`;
165
164
  if (this.options?.ignorePopupTemplate || s.forEach((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));
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));
168
167
  });
169
168
  }), t.attributeTableTemplate) {
170
169
  const i = t.attributeTableTemplate.clone();
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;
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;
172
171
  }
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, {
172
+ await y(m, {
178
173
  query: { f: "json" },
179
174
  responseType: "json"
180
175
  }).then(async (i) => {
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);
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);
184
179
  if (s.forEach((g) => {
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) {
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) {
187
182
  s.forEach((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));
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));
190
185
  });
191
186
  });
192
187
  const g = `${w(this.portal)}content/users/${this.item.owner}/items/${this.item.id}/update`, f = {};
193
- d ? (f.tables = m, l.layers && (f.layers = l.layers)) : (f.layers = m, l.tables && (f.tables = l.tables));
188
+ c ? (f.tables = u, r.layers && (f.layers = r.layers)) : (f.layers = u, r.tables && (f.tables = r.tables));
194
189
  const A = {
195
190
  f: "json",
196
191
  text: JSON.stringify(f)
@@ -245,9 +240,9 @@ class V extends M {
245
240
  }
246
241
  renderFieldsPreview() {
247
242
  const { fieldNames: e, layerFields: t, layerFieldsMap: s, arcadeExpMap: a, messages: o } = this;
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>`;
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>`;
251
246
  })}</calcite-list>`;
252
247
  }
253
248
  renderCancelButton() {
@@ -262,7 +257,7 @@ class V extends M {
262
257
  }}>${t.length === 1 ? e.deleteField : e.deleteFieldsWithNumber.replace("${number}", `${t.length}`)}</calcite-button>`;
263
258
  }
264
259
  }
265
- k("arcgis-portal-field-delete", V);
260
+ C("arcgis-portal-field-delete", _);
266
261
  export {
267
- V as ArcgisPortalFieldDelete
262
+ _ as ArcgisPortalFieldDelete
268
263
  };
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-09-26T17:30:13",
2
+ "timestamp": "2025-09-25T16:27:59",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "4.34.0-next.147",
5
+ "version": "5.0.0-next.0",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "schemaVersion": "1.0.0",
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2025-09-26T17:30:13",
2
+ "timestamp": "2025-09-25T16:27:59",
3
3
  "compiler": {
4
4
  "name": "@arcgis/lumina-compiler",
5
- "version": "4.34.0-next.147",
5
+ "version": "5.0.0-next.0",
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": "4.34.0-next.147",
4
+ "version": "5.0.0-next.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  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
- See https://js.arcgis.com/4.34/esri/copyright.txt for details.
5
- v4.34.0-next.147 */
4
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
5
+ v5.0.0-next.0 */
6
6
  export {
7
7
  o as canAddField,
8
8
  r as canDeleteField,
package/dist/loader.js CHANGED
@@ -1,8 +1,8 @@
1
1
  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
- See https://js.arcgis.com/4.34/esri/copyright.txt for details.
5
- v4.34.0-next.147 */
4
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
5
+ v5.0.0-next.0 */
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": "4.34.0-next.147",
3
+ "version": "5.0.0-next.0",
4
4
  "description": "ArcGIS Portal Components",
5
5
  "keywords": [
6
6
  "ArcGIS",
@@ -38,8 +38,8 @@
38
38
  ],
39
39
  "license": "SEE LICENSE IN LICENSE.md",
40
40
  "dependencies": {
41
- "@arcgis/lumina": "4.34.0-next.147",
42
- "@arcgis/toolkit": "4.34.0-next.147",
41
+ "@arcgis/lumina": "5.0.0-next.0",
42
+ "@arcgis/toolkit": "5.0.0-next.0",
43
43
  "@lit/task": "^1.0.2",
44
44
  "lit": "^3.3.0",
45
45
  "tslib": "^2.8.1"
@@ -1,4 +0,0 @@
1
- /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
- See https://js.arcgis.com/4.34/esri/copyright.txt for details.
3
- v4.34.0-next.147 */
4
- import{b as J}from"./4YD5GTOX.js";import{d as B}from"./7RZYD2G7.js";import{B as S,C as A,D as j,G as P,I as R,h as M,j as y,p as D}from"./UNFASFJT.js";export default $arcgis.t(([H,we,be,Ie,E,I,Q,X,k,T,$])=>{var C=(s=>(s.expression="expression/",s.raster="Raster.",s.relationship="relationships/",s))(C||{});function N(s){return s!=null}function q(s,e){let t=s.fieldName;if(t.includes(C.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 _(s){return new Map((await Z(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=`${C.expression}${t.name}`;e.set(i,t)}),e}async function Z(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 ee=s=>s&&!s.endsWith("/")?`${s}/`:s;function F(s){return ee(s.restUrl)}function te(s,e){return V(s,e)||se(s,e)}function V(s,e){return s.owner===e.username}function se(s,e){let t=s.owner,i=s.itemControl==="admin",r=["esri_livingatlas","esri_demographics","esri_boundaries"];return s.portal?.isPortal&&!V(s,e)&&i&&t?.includes("esri_")&&!r.includes(t)?!1:i}function ie(s){return s.typeKeywords?.includes("Spatiotemporal")}function re(s){return s.typeKeywords?.includes("View Service")}function ae(s){return s.typeKeywords?.includes("Hosted Service")}function ne(s){return s.typeKeywords?.includes("Multi Services View")}function oe(s){return s?.hasViews&&!s.sourceSchemaChangesAllowed}async function le(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 de(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 ce(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 pe(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||!ae(a)||re(a)||ne(a)||oe(n)||a.portal.isPortal&&ie(a)||["oid","global-id","geometry"].includes(t.type)||await fe(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 me(e,t,i)||await he(e,t))return!1;if(await ye(e,t))return await Promise.resolve(!1);if(await ge(e,t))return await Promise.resolve(!1);if(ue(s,e,t)||e.relationships?.map(u=>u.keyField)?.some(u=>d(u,t.name)))return!1;let f=te(a,a.portal.user),v=i?.userItemInfo?.userGroups??await le(e)??[],h=i?.userItemInfo?.itemGroups??await de(e)??[],w=pe(v,h);if(!f&&!w)return!1;let g=i?.userItemInfo?.relatedItems??await ce(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 fe(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 ue(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 me(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 he(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 ye(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 ge(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"?Q.fromJSON(t):X.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 ve=({fieldType:s})=>y`<calcite-icon scale=s .icon=${m.get(s)}></calcite-icon>`,Fe=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}`,L=class extends j{constructor(){super(...arguments),this.arcadeExpMap=new Map,this.cancelNode=S(),this.dialogNode=S(),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=D(),this.arcgisBeforeModalClose=D(),this.arcgisClose=D()}static{this.properties={currentLayerInfo:16,deleteInProgress:16,fieldsAreDeletable:16,config:0,fieldNames:0,layer:0,mapView:0,options:0}}static{this.styles=Fe}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 _(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 Ie.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 we;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 be({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}if(t.fieldConfigurations?.length){let o=H.clone(t.fieldConfigurations).filter(l=>!i.includes(l.name));t.fieldConfigurations=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?.layerDefinition?.fieldConfigurations&&(h.layerDefinition.fieldConfigurations=h.layerDefinition.fieldConfigurations.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(Y=>Y.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=P(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=P(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=P(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">${ve({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",L);return L},"core/lang","layers/support/FeatureTemplate","Graphic","identity/IdentityManager","request","layers/support/fieldUtils","layers/support/FeatureReductionBinning","layers/support/FeatureReductionCluster","renderers/support/jsonUtils","request","core/sql")