@arcgis/portal-components 6.0.0-next.11 → 6.0.0-next.13
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.
- package/dist/cdn/{D4RAOVZB.js → 6K4H4EN2.js} +1 -1
- package/dist/cdn/6U626CTA.js +2 -0
- package/dist/cdn/{XPB7BBSF.js → 7XBAKSHJ.js} +1 -1
- package/dist/cdn/ATQT25TR.js +2 -0
- package/dist/cdn/{677WIYZF.js → E3NOMS5M.js} +1 -1
- package/dist/cdn/MFLYO7PJ.js +2 -0
- package/dist/cdn/XQFUL7N2.js +2 -0
- package/dist/cdn/index.js +1 -1
- package/dist/components/arcgis-portal-delete-items/customElement.d.ts +62 -0
- package/dist/components/arcgis-portal-delete-items/customElement.js +167 -151
- package/dist/components/arcgis-portal-group-browser/customElement.js +14 -10
- package/dist/components/arcgis-portal-group-browser/types.d.ts +1 -0
- package/dist/components/arcgis-portal-navigation/index.js +4 -4
- package/dist/components/arcgis-portal-review-related-items/customElement.js +30 -21
- package/dist/components/portal-group-browser-filters/customElement.js +15 -15
- package/dist/components/portal-related-items-list-item/customElement.js +13 -13
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +1 -1
- package/package.json +7 -7
- package/dist/cdn/5JQ2EPJM.js +0 -2
- package/dist/cdn/6WBWK65Y.js +0 -2
- package/dist/cdn/CLRT422H.js +0 -2
- package/dist/cdn/HYFTOUH3.js +0 -2
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import { c as
|
|
2
|
+
import { c as F } from "../../chunks/runtime.js";
|
|
3
3
|
import b from "@arcgis/core/portal/PortalItem.js";
|
|
4
|
-
import { LitElement as
|
|
5
|
-
import { css as
|
|
4
|
+
import { LitElement as H, createEvent as v, safeClassMap as S, nothing as N } from "@arcgis/lumina";
|
|
5
|
+
import { css as q, html as d } from "lit";
|
|
6
|
+
import { createRef as W, ref as R } from "lit/directives/ref.js";
|
|
6
7
|
import w from "@arcgis/core/request.js";
|
|
7
|
-
import { c as
|
|
8
|
-
import { r as
|
|
8
|
+
import { c as z } from "../../chunks/item.js";
|
|
9
|
+
import { r as $ } from "../../chunks/request.js";
|
|
9
10
|
import { i as I } from "../../chunks/item2.js";
|
|
10
11
|
import "../arcgis-portal-review-related-items/customElement.js";
|
|
11
|
-
import { f as
|
|
12
|
-
import { u as
|
|
13
|
-
import { makeController as
|
|
14
|
-
import { g as
|
|
15
|
-
import { g as
|
|
16
|
-
import { g as
|
|
17
|
-
async function
|
|
12
|
+
import { f as x } from "../../chunks/portal-delete-items-review.js";
|
|
13
|
+
import { u as B } from "../../chunks/useT9n.js";
|
|
14
|
+
import { makeController as j } from "@arcgis/lumina/controllers";
|
|
15
|
+
import { g as G, a as C } from "../../chunks/portal.js";
|
|
16
|
+
import { g as V } from "../../chunks/items.js";
|
|
17
|
+
import { g as K } from "../../chunks/url.js";
|
|
18
|
+
async function _(i, t, e = !1) {
|
|
18
19
|
try {
|
|
19
20
|
const s = /* @__PURE__ */ new Map();
|
|
20
|
-
for (const
|
|
21
|
-
const { id: c, owner:
|
|
22
|
-
o.push(c), s.set(
|
|
21
|
+
for (const l of i) {
|
|
22
|
+
const { id: c, owner: a } = l, o = s.get(a) ?? [];
|
|
23
|
+
o.push(c), s.set(a, o);
|
|
23
24
|
}
|
|
24
25
|
const n = [];
|
|
25
|
-
for (const [
|
|
26
|
-
const
|
|
27
|
-
for (const o of
|
|
28
|
-
const m = w(
|
|
26
|
+
for (const [l, c] of s) {
|
|
27
|
+
const a = `${t.restUrl}/content/users/${encodeURIComponent(l)}/deleteItems`;
|
|
28
|
+
for (const o of z(c, 100)) {
|
|
29
|
+
const m = w(a, {
|
|
29
30
|
method: "post",
|
|
30
31
|
query: {
|
|
31
32
|
f: "json",
|
|
@@ -36,20 +37,20 @@ async function C(i, t, e = !1) {
|
|
|
36
37
|
n.push(m.then(({ data: h }) => h));
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
|
-
return { result: (await Promise.all(n)).flatMap(({ results:
|
|
40
|
+
return { result: (await Promise.all(n)).flatMap(({ results: l }) => l) };
|
|
40
41
|
} catch {
|
|
41
42
|
return { error: { code: "unhandledError" } };
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
async function
|
|
45
|
+
async function T(i) {
|
|
45
46
|
const { item: t, portal: e, permanentlyDelete: s } = i, { id: n, owner: r } = t;
|
|
46
47
|
if (!n || !r)
|
|
47
48
|
return { error: { code: "unhandledError" } };
|
|
48
|
-
const
|
|
49
|
+
const l = e.recycleBinEnabled && !s ? "/canRecycle" : "/canDelete", c = `${e.restUrl}/content/users/${encodeURIComponent(r)}/items/${n}${l}`;
|
|
49
50
|
try {
|
|
50
51
|
return { result: (await w(c, { query: { f: "json" } })).data };
|
|
51
|
-
} catch (
|
|
52
|
-
const o =
|
|
52
|
+
} catch (a) {
|
|
53
|
+
const o = a.details?.raw;
|
|
53
54
|
switch (o?.messageCode) {
|
|
54
55
|
case "CONT_00481":
|
|
55
56
|
case "CONT_00483":
|
|
@@ -64,7 +65,7 @@ async function x(i) {
|
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
|
-
async function
|
|
68
|
+
async function J(i, t) {
|
|
68
69
|
try {
|
|
69
70
|
const e = `${i.itemUrl}/setContentStatus`;
|
|
70
71
|
return { result: (await w(e, { query: { status: t ?? "", clearEmptyFields: !t, f: "json" }, method: "post" })).data };
|
|
@@ -72,10 +73,10 @@ async function V(i, t) {
|
|
|
72
73
|
return console.error(e), { error: { code: "unhandledError" } };
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
|
-
function
|
|
76
|
-
return (i.relatedItems ?? []).map((e) =>
|
|
76
|
+
function U(i, t) {
|
|
77
|
+
return (i.relatedItems ?? []).map((e) => Q(e, t));
|
|
77
78
|
}
|
|
78
|
-
function
|
|
79
|
+
function Q(i, t) {
|
|
79
80
|
return i instanceof b ? i : new b({ ...i, portal: t });
|
|
80
81
|
}
|
|
81
82
|
async function g({
|
|
@@ -85,28 +86,28 @@ async function g({
|
|
|
85
86
|
includeRecycleBin: s,
|
|
86
87
|
nextkey: n
|
|
87
88
|
}) {
|
|
88
|
-
const { relationshipType: r, direction:
|
|
89
|
+
const { relationshipType: r, direction: l } = e, c = `${t.restUrl}/content/items/${i}/relatedItems`;
|
|
89
90
|
try {
|
|
90
|
-
const
|
|
91
|
+
const a = await $({
|
|
91
92
|
url: c,
|
|
92
93
|
portal: t,
|
|
93
94
|
params: {
|
|
94
95
|
includeRecycleBin: s,
|
|
95
96
|
f: "json",
|
|
96
97
|
relationshipType: r ? Array.isArray(r) ? r.join(",") : r : void 0,
|
|
97
|
-
direction:
|
|
98
|
+
direction: l,
|
|
98
99
|
nextkey: n
|
|
99
100
|
}
|
|
100
101
|
});
|
|
101
102
|
return {
|
|
102
103
|
success: !0,
|
|
103
|
-
result: { ...
|
|
104
|
+
result: { ...a, relatedItems: U(a, t) }
|
|
104
105
|
};
|
|
105
|
-
} catch (
|
|
106
|
-
return { success: !1, error:
|
|
106
|
+
} catch (a) {
|
|
107
|
+
return { success: !1, error: a };
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
|
-
async function
|
|
110
|
+
async function X({
|
|
110
111
|
itemId: i,
|
|
111
112
|
portal: t,
|
|
112
113
|
relationship: e,
|
|
@@ -114,15 +115,15 @@ async function J({
|
|
|
114
115
|
num: n,
|
|
115
116
|
nextkey: r
|
|
116
117
|
}) {
|
|
117
|
-
const { relationshipRules:
|
|
118
|
+
const { relationshipRules: l, direction: c } = e, a = `${t.restUrl}/content/items/${i}/relatedItems`;
|
|
118
119
|
try {
|
|
119
|
-
const o = await
|
|
120
|
-
url:
|
|
120
|
+
const o = await $({
|
|
121
|
+
url: a,
|
|
121
122
|
portal: t,
|
|
122
123
|
params: {
|
|
123
124
|
includeRecycleBin: s,
|
|
124
125
|
f: "json",
|
|
125
|
-
...
|
|
126
|
+
...l?.length ? { relationshipRules: l.join(",") } : {},
|
|
126
127
|
includeSystemManaged: "true",
|
|
127
128
|
excludedFlags: "legacy,exclude",
|
|
128
129
|
num: n,
|
|
@@ -132,13 +133,13 @@ async function J({
|
|
|
132
133
|
});
|
|
133
134
|
return {
|
|
134
135
|
success: !0,
|
|
135
|
-
result: { ...o, relatedItems:
|
|
136
|
+
result: { ...o, relatedItems: U(o, t) }
|
|
136
137
|
};
|
|
137
138
|
} catch (o) {
|
|
138
139
|
return { success: !1, error: o };
|
|
139
140
|
}
|
|
140
141
|
}
|
|
141
|
-
async function
|
|
142
|
+
async function Y(i, t) {
|
|
142
143
|
const { id: e, type: s, typeKeywords: n = [] } = i;
|
|
143
144
|
if (!e)
|
|
144
145
|
return null;
|
|
@@ -149,12 +150,12 @@ async function Q(i, t) {
|
|
|
149
150
|
"OGCFeatureServer",
|
|
150
151
|
"Vector Tile Service",
|
|
151
152
|
"3DTiles Service"
|
|
152
|
-
].includes(s),
|
|
153
|
+
].includes(s), l = ["Map Service", "Vector Tile Service"].includes(s), c = (o) => o?.typeKeywords?.includes("View Service") ?? !1, a = () => r ? [
|
|
153
154
|
{ relationshipType: ["Service2Service"], direction: "reverse" },
|
|
154
155
|
{ relationshipType: ["Service2Data"], direction: "forward" }
|
|
155
156
|
] : n.includes("Bulk Published Service") ? { relationshipType: ["DataStore2BPService"], direction: "reverse" } : s === "Geoprocessing Service" && n.includes("Notebook Web Tool") ? { relationshipType: ["Notebook2WebTool"], direction: "reverse" } : n.includes("Route Layer") ? { relationshipType: ["Service2Route"], direction: "reverse" } : s === "Mobile Application" ? { relationshipType: ["MobileApp2Code"], direction: "reverse" } : s === "Map Package" ? { relationshipType: ["Area2Package"], direction: "reverse" } : s === "Feature Service" ? { relationshipType: ["Service2Layer"], direction: "reverse" } : n.includes("Document") ? { relationshipType: ["Item2Attachment"], direction: "reverse" } : s === "Application Configuration" ? { relationshipType: ["Map2AppConfig"], direction: "reverse" } : { relationshipType: ["Service2Data"], direction: "forward" };
|
|
156
157
|
try {
|
|
157
|
-
const o =
|
|
158
|
+
const o = a();
|
|
158
159
|
if (!o)
|
|
159
160
|
return null;
|
|
160
161
|
if (!Array.isArray(o))
|
|
@@ -173,7 +174,7 @@ async function Q(i, t) {
|
|
|
173
174
|
portal: t,
|
|
174
175
|
relationship: m
|
|
175
176
|
}), u = h.result?.total ? h.result.relatedItems.shift() ?? null : null;
|
|
176
|
-
if (
|
|
177
|
+
if (l && !c(u) || !u) {
|
|
177
178
|
m = { relationshipType: ["Service2Data"], direction: "forward" };
|
|
178
179
|
const y = await g({
|
|
179
180
|
itemId: e,
|
|
@@ -192,13 +193,13 @@ async function Q(i, t) {
|
|
|
192
193
|
return console.error(o), { sourceData: null, relationship: { direction: "forward" } };
|
|
193
194
|
}
|
|
194
195
|
}
|
|
195
|
-
async function
|
|
196
|
+
async function Z(i, t) {
|
|
196
197
|
const { id: e, type: s, typeKeywords: n = [] } = i;
|
|
197
198
|
try {
|
|
198
|
-
const
|
|
199
|
+
const l = s === "Notebook" ? { relationshipType: ["Notebook2WebTool"], direction: "forward" } : n.includes("Has Related Route Layers") ? { relationshipType: ["Service2Route"], direction: "forward" } : n.includes("Hosted Service") || s === "Feature Service" ? { relationshipType: ["Service2Service"], direction: s === "Feed" ? "reverse" : "forward" } : s === "Data Store" || n.includes("ArcGIS Server") ? { relationshipType: ["DataStore2BPService"], direction: "forward" } : { relationshipType: ["Service2Data"], direction: "reverse" }, c = await g({
|
|
199
200
|
itemId: e,
|
|
200
201
|
portal: t,
|
|
201
|
-
relationship:
|
|
202
|
+
relationship: l,
|
|
202
203
|
includeRecycleBin: !0
|
|
203
204
|
});
|
|
204
205
|
return {
|
|
@@ -206,7 +207,7 @@ async function X(i, t) {
|
|
|
206
207
|
items: c.result?.total ? c.result.relatedItems : null,
|
|
207
208
|
count: c.result?.total ?? 0
|
|
208
209
|
},
|
|
209
|
-
relationship:
|
|
210
|
+
relationship: l
|
|
210
211
|
};
|
|
211
212
|
} catch (r) {
|
|
212
213
|
return console.error(r), {
|
|
@@ -215,7 +216,7 @@ async function X(i, t) {
|
|
|
215
216
|
};
|
|
216
217
|
}
|
|
217
218
|
}
|
|
218
|
-
async function
|
|
219
|
+
async function ee(i, t) {
|
|
219
220
|
const { id: e } = i;
|
|
220
221
|
try {
|
|
221
222
|
return (await g({
|
|
@@ -227,14 +228,14 @@ async function Y(i, t) {
|
|
|
227
228
|
return console.error(s), [];
|
|
228
229
|
}
|
|
229
230
|
}
|
|
230
|
-
function
|
|
231
|
+
function te({
|
|
231
232
|
recycleItems: i,
|
|
232
233
|
cannotDeleteItems: t,
|
|
233
234
|
permanentlyDeleteItems: e
|
|
234
235
|
}) {
|
|
235
236
|
return [...i, ...t, ...e];
|
|
236
237
|
}
|
|
237
|
-
function
|
|
238
|
+
function se(i) {
|
|
238
239
|
return i.map(({ item: t, sourceData: e, resultData: s, replacementItemFor: n }) => ({
|
|
239
240
|
item: t,
|
|
240
241
|
sourceData: e,
|
|
@@ -242,35 +243,35 @@ function ee(i) {
|
|
|
242
243
|
replacementItemFor: n
|
|
243
244
|
}));
|
|
244
245
|
}
|
|
245
|
-
function
|
|
246
|
+
function L(i, t, e) {
|
|
246
247
|
return !t && !!e?.length && !I(i);
|
|
247
248
|
}
|
|
248
|
-
function
|
|
249
|
-
return !e?.some((s) => !s.inRecycleBin) ||
|
|
249
|
+
function ie({ item: i, sourceData: t, resultData: e }) {
|
|
250
|
+
return !e?.some((s) => !s.inRecycleBin) || L(i, t, e) ? !1 : !O(i, e) && !E(i, e);
|
|
250
251
|
}
|
|
251
|
-
function
|
|
252
|
+
function ne({
|
|
252
253
|
selectedItems: i
|
|
253
254
|
}) {
|
|
254
255
|
const t = [];
|
|
255
256
|
return t.push(
|
|
256
257
|
...i.flatMap(({ item: e, sourceData: s, resultData: n, replacementItemFor: r }) => {
|
|
257
|
-
const
|
|
258
|
-
return
|
|
258
|
+
const l = L(e, s, n), c = !!(n?.some((a) => !a.inRecycleBin) && !O(e, n) && !E(e, n));
|
|
259
|
+
return l && c ? [{ item: e, reason: "dependent", offendingItems: n ?? void 0 }] : r && r?.length > 0 ? [{ item: e, reason: "replacement", offendingItems: r }] : [];
|
|
259
260
|
})
|
|
260
261
|
), t;
|
|
261
262
|
}
|
|
262
|
-
function
|
|
263
|
+
function O(i, t) {
|
|
263
264
|
const e = t[0];
|
|
264
265
|
return i.type === "Feed" && I(i) && t.length === 1 && e?.type === "Feature Service" && I(e);
|
|
265
266
|
}
|
|
266
|
-
function
|
|
267
|
+
function E(i, t) {
|
|
267
268
|
const e = t[0];
|
|
268
269
|
return i.type === "Feature Service" && I(i) && t.length === 1 && e?.type === "Feed" && I(e);
|
|
269
270
|
}
|
|
270
271
|
function k(i) {
|
|
271
272
|
return i ? i.filter((t) => t.type !== "Code Attachment") : null;
|
|
272
273
|
}
|
|
273
|
-
function
|
|
274
|
+
function A(i) {
|
|
274
275
|
return !!(i && "inRecycleBin" in i && i.inRecycleBin === !0);
|
|
275
276
|
}
|
|
276
277
|
function p(i) {
|
|
@@ -279,23 +280,23 @@ function p(i) {
|
|
|
279
280
|
function D(i) {
|
|
280
281
|
return { ...i, originalStatus: i.originalStatus ?? i.kind };
|
|
281
282
|
}
|
|
282
|
-
function
|
|
283
|
+
function re(i, t) {
|
|
283
284
|
return {
|
|
284
285
|
...i,
|
|
285
286
|
kind: t,
|
|
286
287
|
originalStatus: i.originalStatus ?? i.kind
|
|
287
288
|
};
|
|
288
289
|
}
|
|
289
|
-
async function
|
|
290
|
-
const e = await
|
|
290
|
+
async function ae(i, t) {
|
|
291
|
+
const e = await T({ item: i, portal: t, permanentlyDelete: !1 });
|
|
291
292
|
if (e.error && e.error.code !== "itemNotSupportedInRecycleBin")
|
|
292
293
|
return { kind: "cannotDelete", errorCode: e.error.code };
|
|
293
294
|
if (e.result?.success)
|
|
294
295
|
return { kind: "recycle" };
|
|
295
|
-
const s = await
|
|
296
|
+
const s = await T({ item: i, portal: t, permanentlyDelete: !0 });
|
|
296
297
|
return s.result?.success ? { kind: "permanentlyDelete" } : { kind: "cannotDelete", errorCode: s.error?.code ?? "unhandledError" };
|
|
297
298
|
}
|
|
298
|
-
function
|
|
299
|
+
function le(i) {
|
|
299
300
|
switch (i) {
|
|
300
301
|
case "itemHasDependentItems":
|
|
301
302
|
return "hasDependentItems";
|
|
@@ -305,23 +306,23 @@ function re(i) {
|
|
|
305
306
|
return "uncaught";
|
|
306
307
|
}
|
|
307
308
|
}
|
|
308
|
-
async function
|
|
309
|
-
const e = await
|
|
309
|
+
async function ce(i, t) {
|
|
310
|
+
const e = await X({
|
|
310
311
|
itemId: i.id,
|
|
311
312
|
portal: t,
|
|
312
313
|
relationship: { direction: "forward" }
|
|
313
|
-
}), s = await
|
|
314
|
+
}), s = await Y(i, t), n = await Z(i, t), r = await ee(i, t), l = e.result?.relatedItems ?? [], c = k(l) ?? [], a = e.result?.aggregations?.total?.count, o = k(n.resultData.items), m = k(r), h = s?.sourceData, u = {
|
|
314
315
|
usedByItems: c,
|
|
315
|
-
usedByItemsCount:
|
|
316
|
+
usedByItemsCount: a == null ? c.length : Math.max(0, a - (l.length - c.length)),
|
|
316
317
|
sourceData: h?.type === "Code Attachment" ? null : h ?? null,
|
|
317
318
|
resultData: o,
|
|
318
319
|
replacementItemFor: m?.length ? m : null
|
|
319
|
-
}, y =
|
|
320
|
+
}, y = ie({ item: i, ...u }), f = await ae(i, t);
|
|
320
321
|
return f.kind === "cannotDelete" ? D({
|
|
321
322
|
item: i,
|
|
322
323
|
...u,
|
|
323
324
|
kind: "cannotDelete",
|
|
324
|
-
reason:
|
|
325
|
+
reason: le(f.errorCode)
|
|
325
326
|
}) : y ? D({
|
|
326
327
|
item: i,
|
|
327
328
|
...u,
|
|
@@ -334,72 +335,86 @@ async function ae(i, t) {
|
|
|
334
335
|
reason: "notSupported"
|
|
335
336
|
}) : D({ item: i, ...u, kind: f.kind });
|
|
336
337
|
}
|
|
337
|
-
async function
|
|
338
|
-
const e = await Promise.all(i.map(async (s) => await
|
|
339
|
-
return
|
|
338
|
+
async function oe(i, t) {
|
|
339
|
+
const e = await Promise.all(i.map(async (s) => await ce(s, t)));
|
|
340
|
+
return de(e);
|
|
340
341
|
}
|
|
341
|
-
function
|
|
342
|
+
function de(i) {
|
|
342
343
|
const t = /* @__PURE__ */ new Map();
|
|
343
344
|
for (const e of i)
|
|
344
345
|
e.item.id && t.set(e.item.id, e);
|
|
345
346
|
return i.map((e) => {
|
|
346
347
|
if (e.kind !== "cannotDelete" || e.reason !== "hasDependentItems" || !e.item.id)
|
|
347
348
|
return e;
|
|
348
|
-
const n =
|
|
349
|
+
const n = me(e.resultData, t);
|
|
349
350
|
if (n.length === 0)
|
|
350
351
|
return e;
|
|
351
|
-
const r = n.every((c) => t.has(c)),
|
|
352
|
-
return r &&
|
|
352
|
+
const r = n.every((c) => t.has(c)), l = n.every((c) => !t.get(c)?.item.protected);
|
|
353
|
+
return r && l ? re(e, "recycle") : e;
|
|
353
354
|
});
|
|
354
355
|
}
|
|
355
|
-
function
|
|
356
|
+
function me(i, t, e = /* @__PURE__ */ new Set()) {
|
|
356
357
|
if (!i?.length)
|
|
357
358
|
return [];
|
|
358
|
-
const s = i.filter((r) => !
|
|
359
|
+
const s = i.filter((r) => !A(r)), n = /* @__PURE__ */ new Set();
|
|
359
360
|
for (; s.length > 0; ) {
|
|
360
|
-
const
|
|
361
|
-
if (!
|
|
361
|
+
const l = s.shift().id;
|
|
362
|
+
if (!l || e.has(l))
|
|
362
363
|
continue;
|
|
363
|
-
e.add(
|
|
364
|
-
const
|
|
365
|
-
s.push(...
|
|
364
|
+
e.add(l), n.add(l);
|
|
365
|
+
const a = t.get(l)?.resultData ?? [];
|
|
366
|
+
s.push(...a.filter((o) => !A(o)));
|
|
366
367
|
}
|
|
367
368
|
return [...n];
|
|
368
369
|
}
|
|
369
|
-
const
|
|
370
|
-
async function
|
|
371
|
-
const e =
|
|
370
|
+
const ue = q`:host{display:block}calcite-dialog{--calcite-dialog-content-space: 0;--calcite-dialog-background-color: var(--calcite-color-background)}calcite-panel{display:flex;flex-direction:column;gap:.75rem;>*{margin-inline:.75rem}}.panel__content{width:100%;box-sizing:border-box}.single-item-bucket{--calcite-block-background-color: transparent;--calcite-block-border-color: transparent}.bucket__content{display:flex;align-items:flex-start;gap:.75rem;width:100%}.bucket__icon{flex-shrink:0}.bucket__icon--danger{color:var(--calcite-color-status-danger)}.bucket__details{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.bucket__header{font-weight:500}.bucket__label{margin-inline-end:.25rem}.bucket__checkbox{align-self:flex-start;margin-top:.5rem}.bucket__description{line-height:1.35;font-size:var(--calcite-font-size--1)}.bucket__link{display:flex;align-items:center;min-height:1.5rem}.item-link-content{position:relative;>arcgis-portal-item-type{margin-inline-end:.25rem;vertical-align:middle}}.panel__checkbox-container{width:100%;box-sizing:border-box;background-color:var(--calcite-color-foreground-1)}.panel__checkbox{padding-block:.75rem;padding-inline-start:.75rem}.panel__related-items{margin-top:1rem;border:1px solid var(--calcite-color-border-2)}.panel__related-items-icon{color:var(--calcite-color-status-warning)}.panel__related-items-notice{padding-bottom:.75rem}arcgis-portal-review-related-items{margin-bottom:.75rem}calcite-list{overflow:auto;min-block-size:0;max-height:min(250px,75vh)}.discouraged-items-warning{margin-bottom:.75rem}.header-description{font-size:var(--calcite-font-size--1);font-weight:400}`, P = /* @__PURE__ */ new Map();
|
|
371
|
+
async function he(i, t) {
|
|
372
|
+
const e = G(i), s = JSON.stringify([e, t]), n = P.get(s);
|
|
372
373
|
if (n)
|
|
373
374
|
return n;
|
|
374
375
|
try {
|
|
375
|
-
const
|
|
376
|
+
const l = (await $({
|
|
376
377
|
url: `${e}portals/helpmap`,
|
|
377
378
|
portal: i,
|
|
378
379
|
params: { culture: t }
|
|
379
380
|
}))?.helpMap?.m ?? {};
|
|
380
|
-
return
|
|
381
|
+
return P.set(s, l), l;
|
|
381
382
|
} catch {
|
|
382
383
|
return {};
|
|
383
384
|
}
|
|
384
385
|
}
|
|
385
|
-
const
|
|
386
|
+
const pe = (i) => j((t, e) => {
|
|
386
387
|
let s, n;
|
|
387
388
|
return e.onUpdate(() => {
|
|
388
|
-
const r = i.portal(),
|
|
389
|
-
c === s &&
|
|
390
|
-
e.exports =
|
|
389
|
+
const r = i.portal(), l = i.language(), c = r?.restUrl;
|
|
390
|
+
c === s && l === n || (s = c, n = l, e.exports = {}, !(!r || !c || !l) && he(r, l).then((a) => {
|
|
391
|
+
e.exports = a;
|
|
391
392
|
}));
|
|
392
393
|
}), {};
|
|
393
394
|
});
|
|
394
|
-
function
|
|
395
|
-
return d`<calcite-link id=${i ??
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
395
|
+
function M({ id: i, linkText: t, label: e, placement: s, items: n, portal: r, user: l }) {
|
|
396
|
+
return d`<calcite-link id=${i ?? N} @keydown=${(c) => {
|
|
397
|
+
if (c.key === " " || c.key === "Enter") {
|
|
398
|
+
const a = c.currentTarget.nextElementSibling;
|
|
399
|
+
a && (a.open = !a.open);
|
|
400
|
+
}
|
|
401
|
+
}}>${t}</calcite-link><calcite-popover .label=${e} .referenceElement=${i} .placement=${s} auto-close focus-trap-disabled @keydown=${(c) => {
|
|
402
|
+
if (c.key === "Tab") {
|
|
403
|
+
const a = c.currentTarget;
|
|
404
|
+
requestAnimationFrame(() => {
|
|
405
|
+
a.open = !1;
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
}} @calcitePopoverOpen=${(c) => {
|
|
409
|
+
c.currentTarget.querySelector("calcite-list-item")?.setFocus();
|
|
410
|
+
}}><calcite-list .label=${e} selection-mode=none>${n.map((c) => d`<calcite-list-item .label=${c.title ?? ""} @calciteListItemSelect=${() => {
|
|
411
|
+
const a = c.itemPageUrl;
|
|
412
|
+
a && window.open(a.replace("sharing/rest/", ""), "_blank", "noopener,noreferrer");
|
|
413
|
+
}}><span slot=content-start><arcgis-portal-item-type .item=${c} .portal=${r} .user=${l} hide-text></arcgis-portal-item-type></span><span slot=content>${c.title}</span></calcite-list-item>`)}</calcite-list></calcite-popover>`;
|
|
399
414
|
}
|
|
400
|
-
class
|
|
415
|
+
class ge extends H {
|
|
401
416
|
constructor() {
|
|
402
|
-
super(...arguments), this.deleteStatusRequestId = 0, this.updatedCannotDeleteItemIds = /* @__PURE__ */ new Set(), this.messages =
|
|
417
|
+
super(...arguments), this.deleteStatusRequestId = 0, this.updatedCannotDeleteItemIds = /* @__PURE__ */ new Set(), this.permanentlyDeleteCheckboxRef = W(), this.messages = B({ blocking: !0 }), this.fieldDeleteMessages = B({ name: "portal-field-delete" }), this.helpMap = pe({
|
|
403
418
|
portal: () => this.portal,
|
|
404
419
|
language: () => this.messages._t9nLocale
|
|
405
420
|
}), this.isLoading = !0, this.submittingAction = null, this.loadedItems = [], this.hasConfirmedReview = !1, this.hasReviewedSelectedItems = !1, this.cannotDeleteItems = [], this.recycleItems = [], this.permanentlyDeleteItems = [], this.deprecateItems = [], this.excludeItems = [], this.reviewingDirectlyUsedByItems = !1, this.reviewDecision = null, this.active = !0, this.items = [], this.itemIds = [], this.user = null, this.disableLinks = !1, this.arcgisClose = v(), this.arcgisConfirm = v(), this.arcgisError = v();
|
|
@@ -408,46 +423,46 @@ class he extends E {
|
|
|
408
423
|
this.properties = { isLoading: 16, submittingAction: 16, loadedItems: 16, hasConfirmedReview: 16, hasReviewedSelectedItems: 16, cannotDeleteItems: 16, recycleItems: 16, permanentlyDeleteItems: 16, deprecateItems: 16, excludeItems: 16, reviewingDirectlyUsedByItems: 16, reviewDecision: 16, active: 5, items: 0, itemIds: 0, portal: 0, user: 0, disableLinks: 5 };
|
|
409
424
|
}
|
|
410
425
|
static {
|
|
411
|
-
this.styles =
|
|
426
|
+
this.styles = ue;
|
|
412
427
|
}
|
|
413
428
|
willUpdate(t) {
|
|
414
429
|
const e = t.has("items") || t.has("itemIds") || t.has("portal") || t.has("user") || t.has("active");
|
|
415
430
|
this.active && e && (this.user ??= this.portal?.user || null, this.resetState(), this.initializeItems(++this.deleteStatusRequestId));
|
|
416
431
|
}
|
|
417
432
|
async initializeItems(t) {
|
|
418
|
-
const { items: e, itemIds: s, portal: n } = this, r = e.length ? e : await Promise.all(s.map(async (
|
|
433
|
+
const { items: e, itemIds: s, portal: n } = this, r = e.length ? e : await Promise.all(s.map(async (l) => await new b({ id: l, portal: n }).load()));
|
|
419
434
|
t === this.deleteStatusRequestId && (this.loadedItems = r, await this.determineDeleteStatus(t));
|
|
420
435
|
}
|
|
421
436
|
async handleReviewDecision(t) {
|
|
422
|
-
const e = this.itemsWithImpactedItems.map(({ item:
|
|
437
|
+
const e = this.itemsWithImpactedItems.map(({ item: a }) => a), s = t === "delete" ? "recycle" : t === "deprecate" ? "deprecate" : "exclude", n = this.permanentlyDeleteItems.filter((a) => this.isPermanentlyDeleteOverrideActive(a)), r = this.permanentlyDeleteItems.filter((a) => !this.isPermanentlyDeleteOverrideActive(a)), l = [
|
|
423
438
|
...this.recycleItems,
|
|
424
439
|
...this.deprecateItems,
|
|
425
440
|
...this.excludeItems,
|
|
426
441
|
...n
|
|
427
|
-
], c = t === "delete" &&
|
|
428
|
-
for (const
|
|
429
|
-
if (!e.some(({ id: h }) => h ===
|
|
442
|
+
], c = t === "delete" && l.some((a) => p(a) !== "recycle" && e.some(({ id: o }) => o === a.item.id));
|
|
443
|
+
for (const a of l) {
|
|
444
|
+
if (!e.some(({ id: h }) => h === a.item.id))
|
|
430
445
|
continue;
|
|
431
|
-
const m =
|
|
432
|
-
|
|
446
|
+
const m = a.originalStatus ?? a.kind;
|
|
447
|
+
a.originalStatus = m, a.updatedStatus = s;
|
|
433
448
|
}
|
|
434
449
|
if (this.reviewDecision = {
|
|
435
450
|
action: t,
|
|
436
451
|
items: e
|
|
437
|
-
}, this.hasConfirmedReview = !0, this.reviewingDirectlyUsedByItems = !1, this.recycleItems =
|
|
452
|
+
}, this.hasConfirmedReview = !0, this.reviewingDirectlyUsedByItems = !1, this.recycleItems = l.filter((a) => p(a) === "recycle"), this.deprecateItems = l.filter((a) => p(a) === "deprecate"), this.excludeItems = l.filter((a) => p(a) === "exclude"), this.permanentlyDeleteItems = r, t !== "delete" || c) {
|
|
438
453
|
this.isLoading = !0;
|
|
439
|
-
const
|
|
440
|
-
await this.determineDeleteStatus(++this.deleteStatusRequestId,
|
|
454
|
+
const a = [...this.cannotDeleteItems, ...this.recycleItems, ...this.permanentlyDeleteItems].map(({ item: o }) => o);
|
|
455
|
+
await this.determineDeleteStatus(++this.deleteStatusRequestId, a);
|
|
441
456
|
}
|
|
442
457
|
}
|
|
443
458
|
async updateAllContentStatus(t, e) {
|
|
444
|
-
return (await Promise.all(t.map(async (n) => await
|
|
459
|
+
return (await Promise.all(t.map(async (n) => await J(n, e)))).flatMap(({ result: n }) => n ? [n] : []);
|
|
445
460
|
}
|
|
446
461
|
async handleDelete() {
|
|
447
462
|
if (!this.active || this.submittingAction)
|
|
448
463
|
return;
|
|
449
464
|
this.submittingAction = "delete";
|
|
450
|
-
const t = { restUrl: this.portal.restUrl }, { result: e = [] } = this.recycleItems.length ? await
|
|
465
|
+
const t = { restUrl: this.portal.restUrl }, { result: e = [] } = this.recycleItems.length ? await _(this.recycleItems.map(({ item: r }) => r), t) : { result: [] }, { result: s = [] } = this.permanentlyDeleteItems.length ? await _(this.permanentlyDeleteItems.map(({ item: r }) => r), t, !0) : { result: [] }, n = this.deprecateItems.length ? await this.updateAllContentStatus(this.deprecateItems.map(({ item: r }) => r), "deprecated") : null;
|
|
451
466
|
this.arcgisConfirm.emit({
|
|
452
467
|
deletedItems: e,
|
|
453
468
|
permanentlyDeletedItems: s,
|
|
@@ -484,7 +499,7 @@ class he extends E {
|
|
|
484
499
|
this.isLoading = !0, this.submittingAction = null, this.loadedItems = [], this.hasConfirmedReview = !1, this.hasReviewedSelectedItems = !1, this.cannotDeleteItems = [], this.recycleItems = [], this.permanentlyDeleteItems = [], this.deprecateItems = [], this.excludeItems = [], this.reviewingDirectlyUsedByItems = !1, this.reviewDecision = null, this.updatedCannotDeleteItemIds.clear(), ++this.deleteStatusRequestId;
|
|
485
500
|
}
|
|
486
501
|
async determineDeleteStatus(t, e = this.loadedItems) {
|
|
487
|
-
const s = new Set(this.recycleItems.map(({ item: r }) => r.id).filter((r) => !!r)), n = await
|
|
502
|
+
const s = new Set(this.recycleItems.map(({ item: r }) => r.id).filter((r) => !!r)), n = await oe(e, this.portal);
|
|
488
503
|
if (t === this.deleteStatusRequestId) {
|
|
489
504
|
this.cannotDeleteItems = n.filter((r) => p(r) === "cannotDelete");
|
|
490
505
|
for (const r of this.cannotDeleteItems)
|
|
@@ -513,21 +528,22 @@ class he extends E {
|
|
|
513
528
|
isPermanentlyDeleteOverrideActive(t) {
|
|
514
529
|
return t.kind === "recycle" && t.updatedStatus === "permanentlyDelete";
|
|
515
530
|
}
|
|
516
|
-
handlePermanentlyDeleteOverrideChange(t) {
|
|
531
|
+
async handlePermanentlyDeleteOverrideChange(t) {
|
|
517
532
|
if (t) {
|
|
518
|
-
const
|
|
519
|
-
...
|
|
520
|
-
originalStatus:
|
|
533
|
+
const e = this.recycleItems.map((s) => ({
|
|
534
|
+
...s,
|
|
535
|
+
originalStatus: s.originalStatus ?? s.kind,
|
|
521
536
|
updatedStatus: "permanentlyDelete"
|
|
522
537
|
}));
|
|
523
|
-
this.recycleItems = [], this.permanentlyDeleteItems = [...this.permanentlyDeleteItems, ...
|
|
524
|
-
|
|
538
|
+
this.recycleItems = [], this.permanentlyDeleteItems = [...this.permanentlyDeleteItems, ...e];
|
|
539
|
+
} else {
|
|
540
|
+
const e = this.permanentlyDeleteItems.filter((s) => this.isPermanentlyDeleteOverrideActive(s));
|
|
541
|
+
this.permanentlyDeleteItems = this.permanentlyDeleteItems.filter((s) => !this.isPermanentlyDeleteOverrideActive(s)), this.recycleItems = [
|
|
542
|
+
...this.recycleItems,
|
|
543
|
+
...e.map((s) => ({ ...s, updatedStatus: "recycle" }))
|
|
544
|
+
];
|
|
525
545
|
}
|
|
526
|
-
|
|
527
|
-
this.permanentlyDeleteItems = this.permanentlyDeleteItems.filter((s) => !this.isPermanentlyDeleteOverrideActive(s)), this.recycleItems = [
|
|
528
|
-
...this.recycleItems,
|
|
529
|
-
...e.map((s) => ({ ...s, updatedStatus: "recycle" }))
|
|
530
|
-
];
|
|
546
|
+
await this.updateComplete, await new Promise((e) => requestAnimationFrame(() => e())), await this.permanentlyDeleteCheckboxRef.value?.setFocus();
|
|
531
547
|
}
|
|
532
548
|
get deleteButtonEnabled() {
|
|
533
549
|
return !this.isLoading && (!this.itemsNeedReview || this.hasConfirmedReview);
|
|
@@ -544,7 +560,7 @@ class he extends E {
|
|
|
544
560
|
].filter((e) => e.length > 0).length > 1 ? "mixed" : this.markedForDeprecation.length > 0 ? "deprecate" : this.permanentlyDeleteItems.length > 0 ? "permanentlyDelete" : this.recycleItems.length > 0 ? "delete" : (this.cannotDeleteItems.length > 0, "none");
|
|
545
561
|
}
|
|
546
562
|
getHeaderText() {
|
|
547
|
-
return this.reviewingDirectlyUsedByItems ? this.messages.reviewItemsCount.replace("{count}", `${this.itemsWithImpactedItems.length}`) : (this.items.length ? this.items : this.itemIds).length === 1 ? this.messages.deleteItem : this.messages.deleteItems;
|
|
563
|
+
return this.reviewingDirectlyUsedByItems ? this.messages.reviewItemsCount.replace("{count}", `${this.itemsWithImpactedItems.length}`) : this.isLoading ? "" : this.loadedItems.length > 0 && this.permanentlyDeleteItems.length === this.loadedItems.length ? this.messages.permanentlyDelete : (this.items.length ? this.items : this.itemIds).length === 1 ? this.messages.deleteItem : this.messages.deleteItems;
|
|
548
564
|
}
|
|
549
565
|
getHeaderDescription() {
|
|
550
566
|
return this.loadedItems.length <= 1 ? "" : this.reviewingDirectlyUsedByItems ? this.messages.reviewItemsDescription : this.messages.selectedItems.replace("{count}", `${this.loadedItems.length}`);
|
|
@@ -563,8 +579,8 @@ class he extends E {
|
|
|
563
579
|
return this.messages.delete;
|
|
564
580
|
}
|
|
565
581
|
}
|
|
566
|
-
renderBucket({ icon: t, label: e, description: s, link: n, additionalContent: r, dangerIcon:
|
|
567
|
-
return d`<calcite-block class=${
|
|
582
|
+
renderBucket({ icon: t, label: e, description: s, link: n, additionalContent: r, dangerIcon: l = !1, bucket: c }) {
|
|
583
|
+
return d`<calcite-block class=${S({ "single-item-bucket": (this.items.length ? this.items : this.itemIds).length === 1 })} scale=l expanded><div class="bucket__content"><calcite-icon class=${S({ bucket__icon: !0, "bucket__icon--danger": l })} scale=l .icon=${t}></calcite-icon><div class="bucket__details"><div class="bucket__header"><span class="bucket__label">${e}</span><span>${this.renderBucketItems(c)}</span></div>${s && d`<span class="bucket__description">${s}</span>` || ""}${n && d`<div class="bucket__link"><calcite-link .href=${n.href} target=_blank icon-start=launch>${n.text ?? this.messages.moreInfo}</calcite-link></div>` || ""}${r}</div></div></calcite-block>`;
|
|
568
584
|
}
|
|
569
585
|
renderBucketItems(t = []) {
|
|
570
586
|
return this.renderItemLinks(t.map(({ item: e }) => e));
|
|
@@ -573,10 +589,10 @@ class he extends E {
|
|
|
573
589
|
if (t.length === 0)
|
|
574
590
|
return null;
|
|
575
591
|
if (t.length === 1) {
|
|
576
|
-
const s = t[0], n = `${
|
|
592
|
+
const s = t[0], n = `${K({ portal: this.portal })}/item.html?id=${s.id}`;
|
|
577
593
|
return d`<calcite-link .href=${n} target=_blank><span class="item-link-content"><arcgis-portal-item-type .item=${s} .portal=${this.portal} .user=${this.user} hide-text></arcgis-portal-item-type><span>${s.title}</span></span></calcite-link>`;
|
|
578
594
|
}
|
|
579
|
-
return
|
|
595
|
+
return M({
|
|
580
596
|
id: e,
|
|
581
597
|
linkText: t.length,
|
|
582
598
|
label: this.messages.bucketItems.replace("{count}", String(t.length)),
|
|
@@ -588,9 +604,9 @@ class he extends E {
|
|
|
588
604
|
}
|
|
589
605
|
renderRelatedItemsPopover(t) {
|
|
590
606
|
const e = t.flatMap(({ usedByItems: n }) => n);
|
|
591
|
-
return t.length > 1 || e.length === 0 ? null :
|
|
607
|
+
return t.length > 1 || e.length === 0 ? null : M({
|
|
592
608
|
id: "delete-items-directly-used-by",
|
|
593
|
-
linkText:
|
|
609
|
+
linkText: x(this.messages._t9nLocale, this.messages.usedByOtherItems, e.length),
|
|
594
610
|
label: this.messages.usedByPopover,
|
|
595
611
|
placement: "auto",
|
|
596
612
|
items: e,
|
|
@@ -599,14 +615,14 @@ class he extends E {
|
|
|
599
615
|
});
|
|
600
616
|
}
|
|
601
617
|
renderDirectlyUsedByItems() {
|
|
602
|
-
const t =
|
|
618
|
+
const t = te({
|
|
603
619
|
recycleItems: this.recycleItems,
|
|
604
620
|
cannotDeleteItems: this.cannotDeleteItems,
|
|
605
621
|
permanentlyDeleteItems: this.permanentlyDeleteItems
|
|
606
|
-
}), e = this.cannotDeleteItems.find(({ reason: o }) => o === "hasDependentItems"), s = e ? e.resultData ?? [] : t.flatMap(({ usedByItems: o }) => o), n = e ? s.length : t[0]?.usedByItemsCount, r =
|
|
607
|
-
selectedItems:
|
|
608
|
-
}),
|
|
609
|
-
return d`${this.loadedItems.length === 1 && ["delete", "permanentlyDelete"].includes(this.deleteMode) && r.length > 0 ? d`<div class="discouraged-items-warning"><calcite-notice kind=warning open><div slot=message>${
|
|
622
|
+
}), e = this.cannotDeleteItems.find(({ reason: o }) => o === "hasDependentItems"), s = e ? e.resultData ?? [] : t.flatMap(({ usedByItems: o }) => o), n = e ? s.length : t[0]?.usedByItemsCount, r = ne({
|
|
623
|
+
selectedItems: se(t)
|
|
624
|
+
}), l = r.find(({ reason: o }) => o === "replacement"), c = l?.offendingItems ?? [], a = x(this.messages._t9nLocale, this.messages.replacementItem.isReplacementFor, c.length, { itemLink: "{itemLink}" });
|
|
625
|
+
return d`${this.loadedItems.length === 1 && ["delete", "permanentlyDelete"].includes(this.deleteMode) && r.length > 0 ? d`<div class="discouraged-items-warning"><calcite-notice kind=warning open><div slot=message>${l ? a.split("{itemLink}").map((o, m) => d`${m > 0 && this.renderItemLinks(c, "delete-items-replacement-for") || ""}${o}`) : this.messages.deleteDiscouraged}</div>${!l && d`<calcite-link .href=${`${C(this.portal)}${this.helpMap[120001208] || ""}`} icon-end=launch slot=link>${this.messages.learnMoreAboutDeletingSourceItems}</calcite-link>` || ""}</calcite-notice></div>` : null}${!this.cannotDeleteItems.some(({ reason: o }) => o === "deleteProtected") && d`<arcgis-portal-review-related-items .sourceItem=${this.loadedItems[0] ?? null} .relatedItems=${s} .relatedItemsCount=${n} .showDependentItems=${!!e} .portal=${this.portal} .user=${this.user}></arcgis-portal-review-related-items>` || ""}`;
|
|
610
626
|
}
|
|
611
627
|
renderDirectlyUsedByItemsNotice() {
|
|
612
628
|
const t = new Set(this.itemsWithImpactedItems.flatMap(({ usedByItems: s }) => s.map(({ id: n }) => n))), e = this.messages.reviewRelatedItems.multiple.replace("{totalCount}", String(t.size));
|
|
@@ -615,9 +631,9 @@ class he extends E {
|
|
|
615
631
|
}}>${this.messages.reviewItems}</calcite-button></calcite-notice></div>`;
|
|
616
632
|
}
|
|
617
633
|
renderDeleteSummary() {
|
|
618
|
-
return d`<div class="panel__content">${this.isLoading ? d`<calcite-scrim loading></calcite-scrim>` : d`<calcite-panel>${this.renderRecycleBucket()}${this.renderDeprecateBucket()}${this.renderExcludeBucket()}${this.renderCannotDeleteBucket()}${this.renderPermanentlyDeleteBucket()}${this.loadedItems.length === 1 && this.renderDirectlyUsedByItems() || ""}${this.itemsHaveImpactedItems && d`<div>${this.loadedItems.length > 1 ? this.renderDirectlyUsedByItemsNotice() : null}</div>` || ""}</calcite-panel>`}</div>${this.itemsNeedReview && !this.hasReviewedSelectedItems && d`<
|
|
634
|
+
return d`<div class="panel__content">${this.isLoading ? d`<calcite-scrim loading></calcite-scrim>` : d`<calcite-panel>${this.renderRecycleBucket()}${this.renderDeprecateBucket()}${this.renderExcludeBucket()}${this.renderCannotDeleteBucket()}${this.renderPermanentlyDeleteBucket()}${this.loadedItems.length === 1 && this.renderDirectlyUsedByItems() || ""}${this.itemsHaveImpactedItems && d`<div>${this.loadedItems.length > 1 ? this.renderDirectlyUsedByItemsNotice() : null}</div>` || ""}</calcite-panel>`}</div>${this.itemsNeedReview && !this.hasReviewedSelectedItems && d`<div slot=content-bottom class="panel__checkbox-container"><calcite-checkbox class="panel__checkbox" .checked=${this.hasConfirmedReview} @calciteCheckboxChange=${(t) => {
|
|
619
635
|
this.hasConfirmedReview = t.target.checked;
|
|
620
|
-
}} .label=${this.messages.proceedWithDeletion} .labelText=${this.messages.proceedWithDeletion} required></calcite-checkbox>` || ""}${!this.isLoading && d`${this.loadedItems.length === 1 &&
|
|
636
|
+
}} .label=${this.messages.proceedWithDeletion} .labelText=${this.messages.proceedWithDeletion} required></calcite-checkbox></div>` || ""}${!this.isLoading && d`${this.loadedItems.length === 1 && V(this.loadedItems[0]).contentStatus !== "deprecated" && d`<calcite-button slot=footer-start kind=danger appearance=outline-fill .disabled=${!!this.submittingAction} .loading=${this.submittingAction === "deprecate"} @click=${this.handleDeprecate}>${this.messages.deprecateInstead}</calcite-button>` || ""}<calcite-button slot=footer-end appearance=outline-fill @click=${this.handleDialogClose}>${this.messages.cancel}</calcite-button>${this.deleteMode !== "none" && d`<calcite-button .disabled=${!this.deleteButtonEnabled || !!this.submittingAction} .loading=${this.submittingAction === "delete"} kind=danger slot=footer-end @click=${async () => await this.handleDelete()}>${this.getConfirmButtonText()}</calcite-button>` || ""}` || ""}`;
|
|
621
637
|
}
|
|
622
638
|
renderReviewItems() {
|
|
623
639
|
return d`<div class="panel__content"><calcite-panel><arcgis-portal-delete-items-review .items=${this.itemsWithImpactedItems} .portal=${this.portal} .user=${this.user}></arcgis-portal-delete-items-review></calcite-panel></div><calcite-button slot=footer-start appearance=solid kind=neutral @click=${async () => await this.handleReviewDecision("exclude")}>${this.messages.exclude}</calcite-button><calcite-button slot=footer-end appearance=outline-fill kind=danger @click=${async () => await this.handleReviewDecision("deprecate")}>${this.messages.deprecateInstead}</calcite-button><calcite-button slot=footer-end appearance=solid kind=danger @click=${async () => await this.handleReviewDecision("delete")}>${this.messages.proceedToDelete}</calcite-button>`;
|
|
@@ -632,7 +648,7 @@ class he extends E {
|
|
|
632
648
|
description: t ? this.messages.summary.permanentDelete.default.single : this.messages.summary.canBeRecovered.single.replace("{days}", "14"),
|
|
633
649
|
updated: this.recycleItems.some(({ kind: e, updatedStatus: s }) => s === "recycle" && s !== e),
|
|
634
650
|
bucket: this.recycleItems,
|
|
635
|
-
additionalContent: t ? void 0 : d`<calcite-checkbox class="bucket__checkbox" .label=${this.messages.permanentlyDeleteInstead} .labelText=${this.messages.permanentlyDeleteInstead} @calciteCheckboxChange=${(e) => this.handlePermanentlyDeleteOverrideChange(e.target.checked)}></calcite-checkbox>`
|
|
651
|
+
additionalContent: t ? void 0 : d`<calcite-checkbox class="bucket__checkbox" .label=${this.messages.permanentlyDeleteInstead} .labelText=${this.messages.permanentlyDeleteInstead} @calciteCheckboxChange=${async (e) => await this.handlePermanentlyDeleteOverrideChange(e.target.checked)} ${R(this.permanentlyDeleteCheckboxRef)}></calcite-checkbox>`
|
|
636
652
|
});
|
|
637
653
|
}
|
|
638
654
|
renderDeprecateBucket() {
|
|
@@ -668,26 +684,26 @@ class he extends E {
|
|
|
668
684
|
renderPermanentlyDeleteBucket() {
|
|
669
685
|
if (!this.permanentlyDeleteItems || this.permanentlyDeleteItems.length === 0)
|
|
670
686
|
return null;
|
|
671
|
-
const t = !this.portal.recycleBinEnabled;
|
|
687
|
+
const t = !this.portal.recycleBinEnabled, e = this.permanentlyDeleteItems.some((s) => this.isPermanentlyDeleteOverrideActive(s));
|
|
672
688
|
return this.renderBucket({
|
|
673
689
|
icon: "trash",
|
|
674
690
|
label: t ? this.messages.summary.permanentDelete.delete : this.messages.summary.permanentlyDelete,
|
|
675
|
-
description: t ? this.messages.summary.permanentDelete.default.single :
|
|
676
|
-
link: {
|
|
677
|
-
href: `${
|
|
678
|
-
text: this.messages.moreInfo
|
|
691
|
+
description: t ? this.messages.summary.permanentDelete.default.single : e ? null : this.messages.summary.permanentDelete.notSupported.single,
|
|
692
|
+
link: e ? void 0 : {
|
|
693
|
+
href: `${C(this.portal)}${this.helpMap[120004692] || ""}`,
|
|
694
|
+
text: this.fieldDeleteMessages.learnMore ?? this.messages.moreInfo
|
|
679
695
|
},
|
|
680
696
|
bucket: this.permanentlyDeleteItems,
|
|
681
|
-
dangerIcon:
|
|
682
|
-
additionalContent: !t &&
|
|
697
|
+
dangerIcon: !t,
|
|
698
|
+
additionalContent: !t && e ? d`<calcite-checkbox class="bucket__checkbox" checked .label=${this.messages.permanentlyDeleteInstead} .labelText=${this.messages.permanentlyDeleteInstead} @calciteCheckboxChange=${async (s) => await this.handlePermanentlyDeleteOverrideChange(s.target.checked)} ${R(this.permanentlyDeleteCheckboxRef)}></calcite-checkbox>` : void 0
|
|
683
699
|
});
|
|
684
700
|
}
|
|
685
701
|
render() {
|
|
686
702
|
const { loadedItems: t, portal: e } = this;
|
|
687
|
-
return !t || !e ? null : d`<calcite-dialog modal .open=${this.active} width=s .heading=${this.getHeaderText()} heading-level=2 outside-close-disabled escape-disabled kind=danger @calciteDialogClose=${this.handleDialogClose}
|
|
703
|
+
return !t || !e ? null : d`<calcite-dialog modal .open=${this.active} width=s .heading=${this.getHeaderText()} heading-level=2 outside-close-disabled escape-disabled kind=danger @calciteDialogClose=${this.handleDialogClose}>${!this.isLoading || this.reviewingDirectlyUsedByItems ? d`<div slot=heading><span>${this.getHeaderText()}</span><br><span class="header-description">${this.getHeaderDescription()}</span></div>` : void 0}${this.reviewingDirectlyUsedByItems ? this.renderReviewItems() : this.renderDeleteSummary()}</calcite-dialog>`;
|
|
688
704
|
}
|
|
689
705
|
}
|
|
690
|
-
|
|
706
|
+
F("arcgis-portal-delete-items", ge);
|
|
691
707
|
export {
|
|
692
|
-
|
|
708
|
+
ge as ArcgisPortalDeleteItems
|
|
693
709
|
};
|