@arcgis/portal-components 5.2.0-next.77 → 5.2.0-next.79
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/{FLXTOBVV.js → BG35I5AA.js} +1 -1
- package/dist/cdn/J35PMSMA.js +2 -0
- package/dist/cdn/{IGF2UOWS.js → JGBFHQ6Q.js} +10 -10
- package/dist/cdn/{NDMJK6MD.js → WDDPDNVX.js} +13 -13
- package/dist/cdn/{2WI5FBDF.js → X7RTUKI5.js} +1 -1
- package/dist/cdn/assets/portal-item-type/icons/knowledgegraphconfiguration16.svg +1 -0
- package/dist/cdn/assets/portal-item-type/icons/knowledgegraphconfiguration32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.en.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/utils2.js +13 -10
- package/dist/components/arcgis-portal-navigation/customElement.d.ts +2 -0
- package/dist/components/arcgis-portal-navigation/customElement.js +502 -493
- package/dist/components/arcgis-portal-navigation/index.js +1 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/types/item.d.ts +1 -1
- package/package.json +6 -6
- package/dist/cdn/YY4236HO.js +0 -2
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import { g as ee, c as
|
|
3
|
-
import { safeStyleMap as ke, safeClassMap as
|
|
4
|
-
import { u as
|
|
5
|
-
import { nothing as
|
|
6
|
-
import { formatDate as
|
|
7
|
-
import { g as
|
|
8
|
-
import { a as
|
|
9
|
-
import { repeat as
|
|
10
|
-
import { m as
|
|
11
|
-
import { i as
|
|
2
|
+
import { g as ee, c as yt } from "../../chunks/runtime.js";
|
|
3
|
+
import { safeStyleMap as ke, safeClassMap as te, LitElement as $t, createEvent as H } from "@arcgis/lumina";
|
|
4
|
+
import { u as At } from "../../chunks/useT9n.js";
|
|
5
|
+
import { nothing as O, html as c, svg as kt, css as xt } from "lit";
|
|
6
|
+
import { formatDate as St, substitute as K, getLocale as It } from "@arcgis/core/intl.js";
|
|
7
|
+
import { g as oe, b as xe } from "../../chunks/url.js";
|
|
8
|
+
import { a as B } from "../../chunks/requests.js";
|
|
9
|
+
import { repeat as U } from "lit/directives/repeat.js";
|
|
10
|
+
import { m as Pt } from "../../chunks/icons.js";
|
|
11
|
+
import { i as M, c as me, a as Tt } from "../../chunks/user2.js";
|
|
12
12
|
import "@arcgis/core/portal/Portal.js";
|
|
13
|
-
import { c as
|
|
14
|
-
import { c as
|
|
15
|
-
import { i as
|
|
16
|
-
import { g as
|
|
17
|
-
import { g as
|
|
18
|
-
import { keyed as
|
|
19
|
-
import { e as
|
|
20
|
-
import { ref as
|
|
21
|
-
import { c as
|
|
22
|
-
import { debounce as
|
|
23
|
-
import
|
|
24
|
-
import { t as
|
|
25
|
-
import { c as
|
|
26
|
-
function
|
|
13
|
+
import { c as Nt, d as Ct, e as Mt, f as Lt, h as Ot } from "../../chunks/portal2.js";
|
|
14
|
+
import { c as Et, d as jt, e as Dt } from "../../chunks/user.js";
|
|
15
|
+
import { i as Se, a as zt } from "../../chunks/utils2.js";
|
|
16
|
+
import { g as Gt } from "../../chunks/request.js";
|
|
17
|
+
import { g as Ie } from "../../chunks/item2.js";
|
|
18
|
+
import { keyed as se } from "lit/directives/keyed.js";
|
|
19
|
+
import { e as ae, n as Ut, g as ce, f as q, a as Bt } from "../../chunks/portal.js";
|
|
20
|
+
import { ref as R, createRef as W } from "lit/directives/ref.js";
|
|
21
|
+
import { c as Ft, g as Wt } from "../../chunks/dom.js";
|
|
22
|
+
import { debounce as fe } from "@arcgis/toolkit/function";
|
|
23
|
+
import Rt from "@arcgis/core/identity/IdentityManager.js";
|
|
24
|
+
import { t as Vt } from "../../chunks/functionalities.js";
|
|
25
|
+
import { c as Ht } from "../../chunks/string.js";
|
|
26
|
+
function ge({ portal: e, productInfo: t }) {
|
|
27
27
|
const { name: i, glyph: n } = t || {};
|
|
28
|
-
return c`<img alt class="logo__glyph" src=${n ??
|
|
28
|
+
return c`<img alt class="logo__glyph" src=${n ?? O}><span class="logo__text"><span class="logo__title">${i}</span>${e?.name && c`<span class="logo__subtitle">${e.name}</span>` || ""}</span>`;
|
|
29
29
|
}
|
|
30
|
-
function
|
|
31
|
-
const
|
|
32
|
-
return !i || !t || !o ||
|
|
33
|
-
e({ event:
|
|
34
|
-
}} class="logo fade-in logo--link">${
|
|
30
|
+
function qt({ navigate: e, portal: t, product: i, productInfo: n, productHref: r, messages: o, searchActive: s, showNav: a, projectTitleEditing: l }) {
|
|
31
|
+
const d = s && i === "Online" && !a || i !== "Online" && l && window.innerWidth < 960;
|
|
32
|
+
return !i || !t || !o || d ? null : r ? c`<a href=${r ?? O} @click=${(m) => {
|
|
33
|
+
e({ event: m, href: r });
|
|
34
|
+
}} class="logo fade-in logo--link">${ge({ portal: t, productInfo: n })}</a>` : c`<div class="logo fade-in">${ge({ portal: t, productInfo: n })}</div>`;
|
|
35
35
|
}
|
|
36
|
-
const Y = {},
|
|
36
|
+
const Y = {}, C = {
|
|
37
37
|
Month: 2628e3,
|
|
38
38
|
Week: 604800,
|
|
39
39
|
Day: 86400,
|
|
@@ -41,73 +41,73 @@ const Y = {}, T = {
|
|
|
41
41
|
Minute: 60,
|
|
42
42
|
Second: 1
|
|
43
43
|
};
|
|
44
|
-
function
|
|
44
|
+
function Pe(e) {
|
|
45
45
|
if (!e)
|
|
46
46
|
return null;
|
|
47
|
-
const t = Math.floor(e / 1e3), i = Math.abs(t), n =
|
|
47
|
+
const t = Math.floor(e / 1e3), i = Math.abs(t), n = C.Day * 365;
|
|
48
48
|
switch (!0) {
|
|
49
|
-
case i <
|
|
50
|
-
return [Math.floor(t /
|
|
51
|
-
case i <
|
|
52
|
-
return [Math.floor(t /
|
|
53
|
-
case i <
|
|
54
|
-
return [Math.floor(t /
|
|
55
|
-
case i <
|
|
56
|
-
return [Math.floor(t /
|
|
57
|
-
case i <
|
|
58
|
-
return [Math.floor(t /
|
|
49
|
+
case i < C.Minute:
|
|
50
|
+
return [Math.floor(t / C.Second), "second"];
|
|
51
|
+
case i < C.Hour:
|
|
52
|
+
return [Math.floor(t / C.Minute), "minute"];
|
|
53
|
+
case i < C.Day:
|
|
54
|
+
return [Math.floor(t / C.Hour), "hour"];
|
|
55
|
+
case i < C.Week:
|
|
56
|
+
return [Math.floor(t / C.Day), "day"];
|
|
57
|
+
case i < C.Month:
|
|
58
|
+
return [Math.floor(t / C.Week), "week"];
|
|
59
59
|
case i < n:
|
|
60
|
-
return [Math.floor(t /
|
|
60
|
+
return [Math.floor(t / C.Month), "month"];
|
|
61
61
|
default:
|
|
62
62
|
return [Math.floor(t / n), "year"];
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
function
|
|
65
|
+
function Te(e) {
|
|
66
66
|
return (typeof e == "number" ? e : e.getTime?.()) - (/* @__PURE__ */ new Date()).getTime();
|
|
67
67
|
}
|
|
68
68
|
function Ne({ locale: e, time: t, t9n: i }) {
|
|
69
69
|
if (!e || !t)
|
|
70
70
|
return "";
|
|
71
|
-
const n =
|
|
71
|
+
const n = Te(t);
|
|
72
72
|
Y[e] ??= new Intl.RelativeTimeFormat(e, { style: "long" });
|
|
73
|
-
const r =
|
|
73
|
+
const r = Pe(n);
|
|
74
74
|
return r ? r[1] === "second" ? i?.lessThanOneMinute || `< ${Y[e].format(r[0] > 0 ? 1 : -1, "minutes")}` : Y[e].format(r[0], r[1]) : "";
|
|
75
75
|
}
|
|
76
|
-
const
|
|
76
|
+
const Jt = {
|
|
77
77
|
month: "long",
|
|
78
78
|
day: "numeric",
|
|
79
79
|
year: "numeric"
|
|
80
|
-
},
|
|
80
|
+
}, Kt = {
|
|
81
81
|
month: "long",
|
|
82
82
|
day: "numeric"
|
|
83
83
|
};
|
|
84
|
-
function
|
|
84
|
+
function Qt({ locale: e, time: t }, i) {
|
|
85
85
|
if (!e || !t)
|
|
86
86
|
return "";
|
|
87
87
|
const n = new Date(t);
|
|
88
|
-
return
|
|
88
|
+
return St(n, i ? Jt : Kt);
|
|
89
89
|
}
|
|
90
|
-
async function
|
|
90
|
+
async function Xt({ portal: e }) {
|
|
91
91
|
if (!e?.user)
|
|
92
92
|
return { result: [] };
|
|
93
|
-
const t = `${e.restUrl}/community/users/${e.user.id}/notifications`, { result: i, error: n } = await
|
|
93
|
+
const t = `${e.restUrl}/community/users/${e.user.id}/notifications`, { result: i, error: n } = await B(t);
|
|
94
94
|
return n ? { error: n } : { result: i?.notifications };
|
|
95
95
|
}
|
|
96
|
-
async function
|
|
96
|
+
async function Yt(e, t) {
|
|
97
97
|
if (!e?.user)
|
|
98
98
|
return { success: !0 };
|
|
99
|
-
const i = t.map((o) => ({ portal: e, id: o })).map(
|
|
99
|
+
const i = t.map((o) => ({ portal: e, id: o })).map(Ce);
|
|
100
100
|
return { success: !((await Promise.allSettled(i))?.filter((o) => o.status === "rejected" || !o.value?.success)).length };
|
|
101
101
|
}
|
|
102
|
-
async function
|
|
102
|
+
async function Ce({
|
|
103
103
|
portal: e,
|
|
104
104
|
id: t
|
|
105
105
|
}) {
|
|
106
|
-
const i = `${e.restUrl}/community/users/${e.user?.id}/notifications/${t}/delete`, { result: n } = await
|
|
106
|
+
const i = `${e.restUrl}/community/users/${e.user?.id}/notifications/${t}/delete`, { result: n } = await B(i, { method: "post" });
|
|
107
107
|
return n?.success ? { success: !0, id: t } : { success: !1, id: t };
|
|
108
108
|
}
|
|
109
|
-
const
|
|
110
|
-
function
|
|
109
|
+
const Me = "notifications-menu";
|
|
110
|
+
function Zt(e) {
|
|
111
111
|
try {
|
|
112
112
|
const t = decodeURIComponent(e);
|
|
113
113
|
return t !== e ? t : e;
|
|
@@ -115,7 +115,7 @@ function Jt(e) {
|
|
|
115
115
|
return e;
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
function
|
|
118
|
+
function ei(e) {
|
|
119
119
|
switch (e) {
|
|
120
120
|
case "group_join_admin":
|
|
121
121
|
return "users";
|
|
@@ -170,7 +170,7 @@ function Kt(e) {
|
|
|
170
170
|
return "bell";
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
function
|
|
173
|
+
function ti({
|
|
174
174
|
notification: e,
|
|
175
175
|
portal: t,
|
|
176
176
|
locale: i,
|
|
@@ -181,12 +181,12 @@ function Qt({
|
|
|
181
181
|
date: Ne({ locale: i, time: e.received, t9n: n }),
|
|
182
182
|
id: e.id,
|
|
183
183
|
text: "",
|
|
184
|
-
icon:
|
|
184
|
+
icon: ei(e.type)
|
|
185
185
|
};
|
|
186
|
-
if (e.type === "webapp_not_copied" && t.isPortal && (e.type = "webapp_not_copied_portal"), e.data?.taskTitle && (e.data.taskTitle =
|
|
186
|
+
if (e.type === "webapp_not_copied" && t.isPortal && (e.type = "webapp_not_copied_portal"), e.data?.taskTitle && (e.data.taskTitle = Zt(e.data.taskTitle)), e.type === "message_received")
|
|
187
187
|
r.text = e.data.message || "";
|
|
188
188
|
else if (n.types[e.type]) {
|
|
189
|
-
const o =
|
|
189
|
+
const o = oe({ portal: t, usePortalHostname: !!t.user });
|
|
190
190
|
e.data.baseUrl = `${o}/home/`, r.text = K(n.types[e.type], e.data);
|
|
191
191
|
}
|
|
192
192
|
if (r.text)
|
|
@@ -194,64 +194,64 @@ function Qt({
|
|
|
194
194
|
}
|
|
195
195
|
return null;
|
|
196
196
|
}
|
|
197
|
-
async function
|
|
197
|
+
async function be({
|
|
198
198
|
portal: e,
|
|
199
199
|
locale: t,
|
|
200
200
|
t9n: i
|
|
201
201
|
}) {
|
|
202
202
|
if (!i)
|
|
203
203
|
return [];
|
|
204
|
-
const { result: n, error: r } = await
|
|
205
|
-
return r && console.error(r), n?.length ? n.map((s) =>
|
|
204
|
+
const { result: n, error: r } = await Xt({ portal: e });
|
|
205
|
+
return r && console.error(r), n?.length ? n.map((s) => ti({ notification: s, portal: e, t9n: i, locale: t })).filter((s) => s) : [];
|
|
206
206
|
}
|
|
207
|
-
function
|
|
208
|
-
return t ? c`<calcite-action class="action" scale=l .text=${t.label} icon=bell .indicator=${!!e?.length} id=${
|
|
207
|
+
function ii({ notifications: e, messages: t, handleToggleNotifications: i, handleToggleSearch: n, notificationsActive: r }) {
|
|
208
|
+
return t ? c`<calcite-action class="action" scale=l .text=${t.label} icon=bell .indicator=${!!e?.length} id=${Me} @click=${() => i(!r)} @focusin=${() => n(!1, !0)}></calcite-action>` : null;
|
|
209
209
|
}
|
|
210
210
|
function J({ icon: e, title: t, description: i }) {
|
|
211
|
-
return !t && !i ? null : c`<div class="empty">${e && c`<svg xmlns=http://www.w3.org/2000/svg width=64 height=64 viewBox="0 0 64 64" fill=none>${
|
|
212
|
-
}
|
|
213
|
-
function
|
|
214
|
-
return i ? c`<calcite-popover .referenceElement=${
|
|
215
|
-
const
|
|
216
|
-
if (
|
|
217
|
-
const p = `${
|
|
218
|
-
n({ event:
|
|
211
|
+
return !t && !i ? null : c`<div class="empty">${e && c`<svg xmlns=http://www.w3.org/2000/svg width=64 height=64 viewBox="0 0 64 64" fill=none>${kt`<path d=${Pt[e] ?? O} fill=var(--calcite-color-border-input) />`}</svg>` || ""}${t && c`<h3 class="notifications__empty__header">${t}</h3>` || ""}${i && c`<p class="notifications__empty__text">${i}</p>` || ""}</div>`;
|
|
212
|
+
}
|
|
213
|
+
function ni({ notifications: e, deleteNotifications: t, messages: i, navigate: n, portal: r, notificationsActive: o, handleToggleNotifications: s, notificationDeleteProgress: a }) {
|
|
214
|
+
return i ? c`<calcite-popover .referenceElement=${Me} @calcitePopoverClose=${() => s(!1)} .label=${i.label} auto-close .open=${o} pointer-disabled flip-disabled trigger-disabled placement=bottom-end scale=l .heading=${i.label}>${e?.length > 0 ? c`<div class="notifications notifications--full">${typeof a == "number" && c`<calcite-scrim><calcite-loader type=determinate-value .label=${i.deleting} .value=${a}></calcite-loader></calcite-scrim>` || ""}<calcite-list .label=${i.label} interaction-mode=static class="notifications__list" scale=l>${U(e, (l) => l.id, (l) => c`<calcite-list-item closable @calciteListItemClose=${async () => await t([l.id])} .messageOverrides=${{ close: i.dismissLabel }} .iconStart=${l.icon}><div slot=content class="notification"><div class="notification__message" .innerHTML=${l.text ?? ""} @click=${(d) => {
|
|
215
|
+
const m = d.target, g = m.href;
|
|
216
|
+
if (m.nodeName === "CALCITE-LINK" && g) {
|
|
217
|
+
const p = `${oe({ portal: r, usePortalHostname: !!r.user })}/home/`;
|
|
218
|
+
n({ event: d, href: g, relativePath: g.replace(p, "") });
|
|
219
219
|
}
|
|
220
220
|
}}></div><div class="notification__date">${l.date}</div></div></calcite-list-item>`)}</calcite-list></div><calcite-button class="notifications__dismiss" scale=l appearance=transparent @click=${async (l) => {
|
|
221
|
-
const
|
|
222
|
-
await t(e?.map(({ id:
|
|
221
|
+
const d = l.currentTarget?.parentElement;
|
|
222
|
+
await t(e?.map(({ id: m }) => m)), d.open = !1;
|
|
223
223
|
}}>${i.dismissAllLabel}</calcite-button>` : c`<div class="notifications">${J({ title: i.noNotifications, description: i.noNotificationsDescription, icon: "check" })}</div>`}</calcite-popover>` : null;
|
|
224
224
|
}
|
|
225
|
-
function
|
|
225
|
+
function ri(e) {
|
|
226
226
|
return e.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
|
|
227
227
|
}
|
|
228
|
-
function
|
|
229
|
-
|
|
228
|
+
function oi(e, t, i, n) {
|
|
229
|
+
di(e, JSON.stringify(t), i);
|
|
230
230
|
}
|
|
231
|
-
function
|
|
232
|
-
return
|
|
231
|
+
function si(e) {
|
|
232
|
+
return li(e, !0);
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function ai(e) {
|
|
235
235
|
try {
|
|
236
236
|
window.localStorage.removeItem(e);
|
|
237
237
|
} catch {
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
|
-
function
|
|
240
|
+
function ci(e) {
|
|
241
241
|
try {
|
|
242
242
|
window.sessionStorage.removeItem(e);
|
|
243
243
|
} catch {
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
|
-
function
|
|
247
|
-
const i =
|
|
246
|
+
function li(e, t) {
|
|
247
|
+
const i = ui(e);
|
|
248
248
|
return i && t ? JSON.parse(i) : i;
|
|
249
249
|
}
|
|
250
|
-
function
|
|
251
|
-
const t = document.cookie, i = new RegExp(`(?:^|; )${
|
|
250
|
+
function ui(e) {
|
|
251
|
+
const t = document.cookie, i = new RegExp(`(?:^|; )${ri(e)}=([^;]*)`, "u"), n = t.match(i);
|
|
252
252
|
return n ? decodeURIComponent(n[1]) : "";
|
|
253
253
|
}
|
|
254
|
-
function
|
|
254
|
+
function di(e, t, i) {
|
|
255
255
|
i = i || {};
|
|
256
256
|
let n = i?.expires;
|
|
257
257
|
if (typeof n == "number") {
|
|
@@ -267,9 +267,9 @@ function si(e, t, i) {
|
|
|
267
267
|
}
|
|
268
268
|
document.cookie = r;
|
|
269
269
|
}
|
|
270
|
-
async function
|
|
270
|
+
async function pi(e) {
|
|
271
271
|
const i = `owner:"${e.isPortal ? "esri" : "esri_config"}" AND title:"AppSwitcher Config" AND type:"Application Configuration"`, n = `${e.restUrl}/search`;
|
|
272
|
-
return await
|
|
272
|
+
return await B(n, { query: {
|
|
273
273
|
num: 1,
|
|
274
274
|
start: 0,
|
|
275
275
|
sortField: "title",
|
|
@@ -277,46 +277,46 @@ async function ai(e) {
|
|
|
277
277
|
q: i
|
|
278
278
|
} });
|
|
279
279
|
}
|
|
280
|
-
async function
|
|
280
|
+
async function hi(e) {
|
|
281
281
|
const t = { appSwitcher: { apps: [] } };
|
|
282
282
|
if (!e?.id || !e.user)
|
|
283
283
|
return t;
|
|
284
|
-
const { result: i } = await
|
|
284
|
+
const { result: i } = await pi(e), n = i?.results?.[0];
|
|
285
285
|
if (!n)
|
|
286
286
|
return t;
|
|
287
287
|
const r = n.id;
|
|
288
|
-
return (await
|
|
288
|
+
return (await Ie(e, r)).result;
|
|
289
289
|
}
|
|
290
|
-
async function
|
|
290
|
+
async function mi(e, t, i) {
|
|
291
291
|
if (!t || !e?.length)
|
|
292
292
|
return { result: null };
|
|
293
293
|
const n = `${i.restUrl}/search`;
|
|
294
|
-
return await
|
|
294
|
+
return await B(n, {
|
|
295
295
|
query: {
|
|
296
296
|
num: 100,
|
|
297
297
|
q: `id:(${e.map((r) => `"${r.itemId}"`).join(" OR ")})`
|
|
298
298
|
}
|
|
299
299
|
});
|
|
300
300
|
}
|
|
301
|
-
async function
|
|
301
|
+
async function fi(e) {
|
|
302
302
|
const t = `${e.restUrl}/search`, i = {
|
|
303
303
|
num: 10,
|
|
304
304
|
start: 0,
|
|
305
305
|
sortField: "title",
|
|
306
306
|
sortOrder: "asc",
|
|
307
307
|
q: 'owner:"esri" AND title:"BlockedApps Config" AND type: "Application Configuration"'
|
|
308
|
-
}, { result: n } = await
|
|
309
|
-
return r ? (await
|
|
308
|
+
}, { result: n } = await B(t, { query: i }), r = n?.results?.[0]?.id;
|
|
309
|
+
return r ? (await Ie(e, r))?.result?.blockedApps || [] : [];
|
|
310
310
|
}
|
|
311
|
-
function
|
|
311
|
+
function gi(e, t) {
|
|
312
312
|
const i = e?.toLowerCase() || "", n = `${t.title || ""} ${t.label || ""}`;
|
|
313
313
|
return !i || n.toLowerCase().includes(i);
|
|
314
314
|
}
|
|
315
|
-
function
|
|
316
|
-
if (
|
|
315
|
+
function bi() {
|
|
316
|
+
if (si("APSW-query")?.expires > (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours()))
|
|
317
317
|
return !0;
|
|
318
318
|
const t = { expires: (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours() + 5) };
|
|
319
|
-
return
|
|
319
|
+
return oi(
|
|
320
320
|
"APSW-query",
|
|
321
321
|
t,
|
|
322
322
|
{
|
|
@@ -326,16 +326,16 @@ function pi() {
|
|
|
326
326
|
}
|
|
327
327
|
), !1;
|
|
328
328
|
}
|
|
329
|
-
function
|
|
329
|
+
function vi(e, t) {
|
|
330
330
|
const { landingPage: i } = t || {};
|
|
331
331
|
return {
|
|
332
332
|
image: "arcgis-online.png",
|
|
333
333
|
label: "ArcGIS Online",
|
|
334
334
|
title: "ArcGIS Online",
|
|
335
|
-
url: `${
|
|
335
|
+
url: `${xe({ portal: e })}/${i?.url ? i.url : Se(e.user) ? "organization.html" : "index.html"}`
|
|
336
336
|
};
|
|
337
337
|
}
|
|
338
|
-
function
|
|
338
|
+
function ve(e) {
|
|
339
339
|
const i = [
|
|
340
340
|
"api-for-python",
|
|
341
341
|
"appstudio",
|
|
@@ -418,10 +418,10 @@ function be(e) {
|
|
|
418
418
|
"workflow-manager-beta",
|
|
419
419
|
"workflow-manager",
|
|
420
420
|
"workforce"
|
|
421
|
-
].find((n) => e?.includes(n) &&
|
|
422
|
-
return i ?
|
|
421
|
+
].find((n) => e?.includes(n) && V(`${n}.png`) === e);
|
|
422
|
+
return i ? V(`${i}.avif`) : e;
|
|
423
423
|
}
|
|
424
|
-
function
|
|
424
|
+
function _i(e, t) {
|
|
425
425
|
const i = e?.blockedApps || [], n = [];
|
|
426
426
|
return !i.length && !e.blockBetaApps || !t?.length ? [] : (e.blockBetaApps && t.forEach((r) => {
|
|
427
427
|
r.isBeta && !i.includes(r.clientid) && i.push(r.clientid);
|
|
@@ -430,102 +430,102 @@ function mi(e, t) {
|
|
|
430
430
|
o && n.push(o);
|
|
431
431
|
}), n);
|
|
432
432
|
}
|
|
433
|
-
function
|
|
433
|
+
function S(e, t) {
|
|
434
434
|
return t && t[e.toLowerCase()]?.valid || !1;
|
|
435
435
|
}
|
|
436
|
-
function
|
|
437
|
-
return e?.portalProperties && !e.portalProperties?.openData?.enabled ? !1 :
|
|
436
|
+
function wi(e, t) {
|
|
437
|
+
return e?.portalProperties && !e.portalProperties?.openData?.enabled ? !1 : S("HubforArcGIS", t);
|
|
438
438
|
}
|
|
439
|
-
function
|
|
439
|
+
function yi(e, t) {
|
|
440
440
|
if (!e)
|
|
441
441
|
return !1;
|
|
442
442
|
const i = [
|
|
443
443
|
"portal:publisher:publishFeeds",
|
|
444
444
|
"portal:publisher:publishRealTimeAnalytics",
|
|
445
445
|
"portal:publisher:publishBigDataAnalytics"
|
|
446
|
-
], r = (e?.privileges || []).some((s) => i.includes(s)), o =
|
|
446
|
+
], r = (e?.privileges || []).some((s) => i.includes(s)), o = S("velocity", t);
|
|
447
447
|
return r && o;
|
|
448
448
|
}
|
|
449
|
-
function
|
|
450
|
-
return
|
|
449
|
+
function $i(e) {
|
|
450
|
+
return S("HubforArcGIS", e);
|
|
451
451
|
}
|
|
452
|
-
function
|
|
453
|
-
return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) &&
|
|
452
|
+
function Ai(e, t) {
|
|
453
|
+
return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) && S("arcgisWebApps", t);
|
|
454
454
|
}
|
|
455
|
-
function
|
|
455
|
+
function ki(e) {
|
|
456
456
|
return !!e.helperServices?.rasterAnalytics && !!e.helperServices.orthoMapping;
|
|
457
457
|
}
|
|
458
|
-
function
|
|
458
|
+
function xi(e, t, i) {
|
|
459
459
|
const n = i && (!e.isPortal || !!e.sourceJSON?.supportsHostedNotebooks), r = !!t?.privileges?.length && t.privileges.some((o) => o === "premium:publisher:createNotebooks");
|
|
460
460
|
return n && r;
|
|
461
461
|
}
|
|
462
|
-
function
|
|
462
|
+
function Si(e, t) {
|
|
463
463
|
return !!e.helperServices?.locationTracking && t;
|
|
464
464
|
}
|
|
465
|
-
function
|
|
465
|
+
function Ii(e, t, i, n) {
|
|
466
466
|
const r = e?.user;
|
|
467
467
|
return {
|
|
468
468
|
"Open Data": {
|
|
469
|
-
hasAccess: () =>
|
|
469
|
+
hasAccess: () => wi(e, n)
|
|
470
470
|
},
|
|
471
471
|
AppStudio: {
|
|
472
|
-
hasAccess: () =>
|
|
472
|
+
hasAccess: () => S("arcgisWebApps", n)
|
|
473
473
|
},
|
|
474
474
|
"ArcGIS Velocity": {
|
|
475
|
-
hasAccess: () => e.isPortal ||
|
|
475
|
+
hasAccess: () => e.isPortal || yi(r, n)
|
|
476
476
|
},
|
|
477
477
|
"ArcGIS Hub": {
|
|
478
|
-
hasAccess: () =>
|
|
478
|
+
hasAccess: () => S("HubforArcGIS", n)
|
|
479
479
|
},
|
|
480
480
|
"ArcGIS Enterprise Sites": {
|
|
481
|
-
hasAccess: () =>
|
|
481
|
+
hasAccess: () => $i(n)
|
|
482
482
|
},
|
|
483
483
|
"ArcGIS QuickCapture Web Designer": {
|
|
484
|
-
hasAccess: () =>
|
|
484
|
+
hasAccess: () => S("arcgisWebApps", n)
|
|
485
485
|
},
|
|
486
486
|
"ArcGIS Dashboards": {
|
|
487
|
-
hasAccess: () =>
|
|
487
|
+
hasAccess: () => S("dashboards", n)
|
|
488
488
|
},
|
|
489
489
|
"Map Viewer": {
|
|
490
|
-
hasAccess: () =>
|
|
490
|
+
hasAccess: () => Ai(e, n)
|
|
491
491
|
},
|
|
492
492
|
"Map Viewer Classic": {
|
|
493
|
-
hasAccess: () =>
|
|
493
|
+
hasAccess: () => S("arcgisWebApps", n)
|
|
494
494
|
},
|
|
495
495
|
"Operations Dashboard for ArcGIS": {
|
|
496
|
-
hasAccess: () =>
|
|
496
|
+
hasAccess: () => S("opsdashboard", n)
|
|
497
497
|
},
|
|
498
498
|
"ArcGIS Dashboards Classic": {
|
|
499
|
-
hasAccess: () =>
|
|
499
|
+
hasAccess: () => S("opsdashboard", n)
|
|
500
500
|
},
|
|
501
501
|
"Ortho Maker": {
|
|
502
|
-
hasAccess: () =>
|
|
502
|
+
hasAccess: () => ki(e)
|
|
503
503
|
},
|
|
504
504
|
Notebook: {
|
|
505
|
-
hasAccess: () =>
|
|
505
|
+
hasAccess: () => xi(e, r, t)
|
|
506
506
|
},
|
|
507
507
|
"Scene Viewer": {
|
|
508
|
-
hasAccess: () =>
|
|
508
|
+
hasAccess: () => S("arcgisWebApps", n)
|
|
509
509
|
},
|
|
510
510
|
"Story Maps": {
|
|
511
|
-
hasAccess: () =>
|
|
511
|
+
hasAccess: () => S("arcgisWebApps", n)
|
|
512
512
|
},
|
|
513
513
|
Survey123: {
|
|
514
|
-
hasAccess: () =>
|
|
514
|
+
hasAccess: () => S("survey123", n)
|
|
515
515
|
},
|
|
516
516
|
"Track Viewer": {
|
|
517
|
-
hasAccess: () =>
|
|
517
|
+
hasAccess: () => Si(e, i)
|
|
518
518
|
},
|
|
519
519
|
"Instant Apps": {
|
|
520
520
|
// For Portal
|
|
521
|
-
hasAccess: () =>
|
|
521
|
+
hasAccess: () => S("arcgisWebApps", n)
|
|
522
522
|
},
|
|
523
523
|
"ArcGIS Maps for Adobe Creative Cloud": {
|
|
524
|
-
hasAccess: () =>
|
|
524
|
+
hasAccess: () => S("arcgisWebApps", n) && !e.isPortal
|
|
525
525
|
}
|
|
526
526
|
};
|
|
527
527
|
}
|
|
528
|
-
function
|
|
528
|
+
function Pi(e) {
|
|
529
529
|
let t = {
|
|
530
530
|
opsdashboard: 1,
|
|
531
531
|
arcgisWebApps: 1,
|
|
@@ -549,47 +549,47 @@ function ki(e) {
|
|
|
549
549
|
};
|
|
550
550
|
return e.isPortal && (t = { ...t, arcgisonline: 1, arcgisUrban: 1, arcgisinstantapps: 1 }), t;
|
|
551
551
|
}
|
|
552
|
-
function
|
|
552
|
+
function ie(e) {
|
|
553
553
|
return e.sourceJSON?.subscriptionInfo?.options?.includes("Developer");
|
|
554
554
|
}
|
|
555
|
-
function
|
|
555
|
+
function V(e) {
|
|
556
556
|
return ee(`assets/portal-navigation/apps/${e || ""}`);
|
|
557
557
|
}
|
|
558
|
-
function
|
|
558
|
+
function Le(e, t, i) {
|
|
559
559
|
return e.icon ? `${t.restUrl}/portals/self/resources/${e.icon}?token=${i}` : `${t.restUrl}/content/items/${e.itemId}/resources/${e.image || e.properties?.appSwitcher?.image}?token=${i}`;
|
|
560
560
|
}
|
|
561
|
-
function
|
|
562
|
-
if (e.image ? e.image =
|
|
561
|
+
function G(e, t, i) {
|
|
562
|
+
if (e.image ? e.image = V(e.image) : e.placeHolderIcon = `${V()}svg-app-icon.svg`, e.url?.startsWith("../")) {
|
|
563
563
|
const n = i.urlKey ? `${i.urlKey}.${i.customBaseUrl}` : i.portalHostname;
|
|
564
564
|
e.url = `${window.location.protocol}//${n}${e.url.substring(2, e.url.length)}`;
|
|
565
565
|
}
|
|
566
566
|
return delete e.isLicensed, delete e.privileges, e.itemId = t, e;
|
|
567
567
|
}
|
|
568
|
-
function
|
|
569
|
-
return `${
|
|
568
|
+
function Oe() {
|
|
569
|
+
return `${V()}svg-app-circle.svg`;
|
|
570
570
|
}
|
|
571
|
-
function
|
|
571
|
+
function Ti(e, t, i) {
|
|
572
572
|
const n = e.properties?.appSwitcher?.image || e.icon;
|
|
573
573
|
return {
|
|
574
574
|
abbr: e.properties?.appSwitcher?.abbr || e.abbreviation,
|
|
575
575
|
itemId: e.itemId,
|
|
576
576
|
canAccess: !0,
|
|
577
577
|
webMappingApp: !0,
|
|
578
|
-
image: n ?
|
|
578
|
+
image: n ? Le(e, t, i) : void 0,
|
|
579
579
|
label: e.title || e.label,
|
|
580
580
|
url: e.url,
|
|
581
|
-
placeHolderIcon: e.placeHolderIcon ||
|
|
581
|
+
placeHolderIcon: e.placeHolderIcon || Oe()
|
|
582
582
|
};
|
|
583
583
|
}
|
|
584
|
-
function
|
|
585
|
-
return e.appSwitcher?.image || e.icon ? e.image =
|
|
584
|
+
function Ni(e, t, i) {
|
|
585
|
+
return e.appSwitcher?.image || e.icon ? e.image = Le(e, t, i) : e.placeHolderIcon = Oe(), e.abbr = e.appSwitcher?.abbr || e.abbreviation, delete e.abbreviation, delete e.appSwitcher, delete e.approvedApp, delete e.webMappingApp, e;
|
|
586
586
|
}
|
|
587
|
-
function
|
|
587
|
+
function _e(e, t) {
|
|
588
588
|
e.forEach((i) => {
|
|
589
589
|
i.uid === "Map Viewer Beta" && (i.uid = "Map Viewer"), t.isPortal && (i.uid === "Operations Dashboard for ArcGIS" ? i.uid = "ArcGIS Dashboards Classic" : i.uid === "Workforce for ArcGIS" && (i.uid = "ArcGIS Workforce"));
|
|
590
590
|
});
|
|
591
591
|
}
|
|
592
|
-
async function
|
|
592
|
+
async function Ci({
|
|
593
593
|
userApps: e,
|
|
594
594
|
servers: t,
|
|
595
595
|
portal: i,
|
|
@@ -599,76 +599,76 @@ async function Si({
|
|
|
599
599
|
orgCapabilities: s,
|
|
600
600
|
trackViewerEnabled: a,
|
|
601
601
|
notebookServerEnabled: l,
|
|
602
|
-
willQueryForItems:
|
|
603
|
-
approvedApps:
|
|
602
|
+
willQueryForItems: d,
|
|
603
|
+
approvedApps: m
|
|
604
604
|
}) {
|
|
605
|
-
const
|
|
606
|
-
for (let
|
|
607
|
-
const
|
|
608
|
-
let
|
|
609
|
-
const
|
|
610
|
-
(
|
|
605
|
+
const g = {}, p = {}, $ = Ii(i, l, a, n), y = Pi(i), w = [], I = e.length;
|
|
606
|
+
for (let h = 0; h < I; h++) {
|
|
607
|
+
const u = e[h], v = u.itemId || u.title;
|
|
608
|
+
let T = !0;
|
|
609
|
+
const _ = !u.serverFunction || t?.some((x) => (x.serverFunction?.split(",") || []).includes(u.serverFunction)), b = r?.some(
|
|
610
|
+
(x) => u.itemId && u.itemId === x.itemid || u.title && u.title === x.title
|
|
611
611
|
);
|
|
612
|
-
if (
|
|
612
|
+
if (g[v] = 1, p[v] = u, b || ie(i) && !u.showInLocationPlatform || i.sourceJSON?.portalDeploymentType === "ArcGISEnterpriseOnKubernetes" && u.supportsKubernetes === !1)
|
|
613
613
|
continue;
|
|
614
|
-
const
|
|
615
|
-
if (
|
|
614
|
+
const k = u.title;
|
|
615
|
+
if ($[k] && !$[k]?.hasAccess())
|
|
616
616
|
continue;
|
|
617
|
-
const
|
|
618
|
-
if (
|
|
619
|
-
|
|
617
|
+
const N = i.sourceJSON?.subscriptionInfo;
|
|
618
|
+
if (u.subscriptionType) {
|
|
619
|
+
N?.type === u.subscriptionType && (p[v].canAccess = !0, w.push(G(u, v, i)));
|
|
620
620
|
continue;
|
|
621
621
|
}
|
|
622
|
-
if (
|
|
623
|
-
s?.length && s.some((
|
|
622
|
+
if (u.orgCapabilities) {
|
|
623
|
+
s?.length && s.some((j) => u.orgCapabilities?.includes(j.id)) && (p[v].canAccess = !0, w.push(G(u, v, i)));
|
|
624
624
|
continue;
|
|
625
625
|
}
|
|
626
|
-
if (!
|
|
627
|
-
p[
|
|
626
|
+
if (!u.privileges?.length && !u.isLicensed && _ && (u.label !== "ArcGIS Location Platform" || ie(i))) {
|
|
627
|
+
p[v].canAccess = !0, w.push(G(u, v, i));
|
|
628
628
|
continue;
|
|
629
629
|
}
|
|
630
|
-
if (i.user?.sourceJSON?.userLicenseTypeId?.toLowerCase() === "storytellerut" &&
|
|
631
|
-
p[
|
|
630
|
+
if (i.user?.sourceJSON?.userLicenseTypeId?.toLowerCase() === "storytellerut" && u.label?.toLowerCase() === "storymaps") {
|
|
631
|
+
p[v].canAccess = !0, w.push(G(u, v, i));
|
|
632
632
|
continue;
|
|
633
633
|
}
|
|
634
|
-
if (
|
|
635
|
-
for (let
|
|
636
|
-
if (!i.user.privileges.includes(
|
|
637
|
-
|
|
634
|
+
if (u.privileges?.length && i.user?.privileges) {
|
|
635
|
+
for (let x = 0; x < u.privileges.length; x++)
|
|
636
|
+
if (!i.user.privileges.includes(u.privileges[x])) {
|
|
637
|
+
T = !1;
|
|
638
638
|
break;
|
|
639
639
|
}
|
|
640
|
-
if (!
|
|
641
|
-
p[
|
|
640
|
+
if (!u.isLicensed && T && _) {
|
|
641
|
+
p[v].canAccess = !0, w.push(G(u, v, i));
|
|
642
642
|
continue;
|
|
643
643
|
}
|
|
644
644
|
}
|
|
645
|
-
if (
|
|
646
|
-
for (let
|
|
647
|
-
if (
|
|
648
|
-
p[
|
|
645
|
+
if (u.isLicensed && T && _) {
|
|
646
|
+
for (let x = 0; x < o.length; x++)
|
|
647
|
+
if (v === o[x].itemId || v === o[x].title) {
|
|
648
|
+
p[v].canAccess = !0, w.push(G(u, v, i));
|
|
649
649
|
break;
|
|
650
650
|
}
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
|
-
const
|
|
654
|
-
return o.forEach((
|
|
655
|
-
if (
|
|
656
|
-
const
|
|
657
|
-
p[
|
|
653
|
+
const P = await Gt(i);
|
|
654
|
+
return o.forEach((h) => {
|
|
655
|
+
if (h.type === "Web Mapping Application" && !y[h.clientId] && !g[h.itemId] && h.url && h.title && !g[h.title] && !h.typeKeywords.includes("hideFromAppSwitcher")) {
|
|
656
|
+
const u = Ti(h, i, P);
|
|
657
|
+
p[h.itemId] = u, w.push(u);
|
|
658
658
|
}
|
|
659
659
|
}), {
|
|
660
660
|
apps: [
|
|
661
|
-
...
|
|
662
|
-
const
|
|
663
|
-
...
|
|
664
|
-
itemId:
|
|
661
|
+
...m.map((h) => {
|
|
662
|
+
const u = {
|
|
663
|
+
...h.appProperties,
|
|
664
|
+
itemId: h.itemId,
|
|
665
665
|
webMappingApp: !0,
|
|
666
666
|
approvedApp: !0,
|
|
667
|
-
canAccess: !
|
|
667
|
+
canAccess: !d
|
|
668
668
|
};
|
|
669
|
-
return p[
|
|
669
|
+
return p[h.itemId] = u, Ni(u, i, P);
|
|
670
670
|
}),
|
|
671
|
-
...
|
|
671
|
+
...w
|
|
672
672
|
],
|
|
673
673
|
appDictionary: p
|
|
674
674
|
};
|
|
@@ -678,7 +678,7 @@ function Z(e, t) {
|
|
|
678
678
|
(r) => i.itemId && i.itemId === r.itemid || i.title && i.title === r.title
|
|
679
679
|
));
|
|
680
680
|
}
|
|
681
|
-
function
|
|
681
|
+
function we({
|
|
682
682
|
apps: e,
|
|
683
683
|
app: t,
|
|
684
684
|
appDictionary: i,
|
|
@@ -686,92 +686,92 @@ function _e({
|
|
|
686
686
|
portal: r
|
|
687
687
|
}) {
|
|
688
688
|
let s = Object.keys(i).map((a) => i[a]).filter((a) => a.itemId === t.uid || a.title === t.uid).shift();
|
|
689
|
-
return s && !i[t.uid] && (t.uid = s.itemId || s.title || ""), s?.hasBeenPopulated || (s ? ((t.hasChanged || s.hasChanged || !s.canAccess && !s.ignoreNoAccess) &&
|
|
689
|
+
return s && !i[t.uid] && (t.uid = s.itemId || s.title || ""), s?.hasBeenPopulated || (s ? ((t.hasChanged || s.hasChanged || !s.canAccess && !s.ignoreNoAccess) && Se(r.user) && (i[t.uid].hasChanged = !0, i[t.uid].ignoreNoAccess = t.ignoreNoAccess), t.isNew && (i[t.uid].isNew = !0), delete n[t.uid]) : (s = t, s.canAccess = !1, s.itemId = t.uid, i[t.uid] = s), i[t.uid].hasBeenPopulated = !0, e.push(s)), e;
|
|
690
690
|
}
|
|
691
|
-
async function
|
|
691
|
+
async function Mi({
|
|
692
692
|
portal: e,
|
|
693
693
|
trackViewerEnabled: t,
|
|
694
694
|
notebookServerEnabled: i
|
|
695
695
|
}) {
|
|
696
696
|
if (!e?.id || !e.user)
|
|
697
697
|
return { apps: [], hiddenApps: {} };
|
|
698
|
-
const n =
|
|
699
|
-
|
|
698
|
+
const n = bi(), [r, o, s, a, l, d, m] = await Promise.all([
|
|
699
|
+
hi(e),
|
|
700
|
+
jt(e),
|
|
701
|
+
Dt(e),
|
|
702
|
+
Nt(e),
|
|
700
703
|
Ct(e),
|
|
701
704
|
Mt(e),
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
o?.forEach((g) => {
|
|
713
|
-
const v = g.clientId?.toLowerCase();
|
|
714
|
-
v && (k[v] = {
|
|
705
|
+
fi(e)
|
|
706
|
+
]), g = e.isPortal ? await Lt(e) : null, p = s?.result?.properties;
|
|
707
|
+
let $ = r?.appSwitcher?.apps || [];
|
|
708
|
+
e.isPortal || ($ = $.filter(
|
|
709
|
+
(_) => _.title !== "Map Viewer Classic" || e.sourceJSON.created < /* @__PURE__ */ new Date("February 26 2025")
|
|
710
|
+
), $.unshift(vi(e, p)));
|
|
711
|
+
const y = a?.result?.approvedApps?.filter((_) => !_.hideForNonPrivilegedMember) || [], w = {};
|
|
712
|
+
o?.forEach((_) => {
|
|
713
|
+
const b = _.clientId?.toLowerCase();
|
|
714
|
+
b && (w[b] = {
|
|
715
715
|
valid: !0,
|
|
716
|
-
itemId:
|
|
717
|
-
clientId:
|
|
716
|
+
itemId: _.itemId,
|
|
717
|
+
clientId: _.clientId
|
|
718
718
|
});
|
|
719
|
-
}), l?.forEach((
|
|
720
|
-
const
|
|
721
|
-
|
|
719
|
+
}), l?.forEach((_) => {
|
|
720
|
+
const b = _.id?.toLowerCase();
|
|
721
|
+
b && (w[b] = {
|
|
722
722
|
valid: !0,
|
|
723
|
-
clientId:
|
|
723
|
+
clientId: _.id
|
|
724
724
|
});
|
|
725
725
|
});
|
|
726
|
-
const
|
|
727
|
-
userApps:
|
|
728
|
-
servers:
|
|
726
|
+
const I = _i(d, m), { apps: P, appDictionary: f } = await Ci({
|
|
727
|
+
userApps: $,
|
|
728
|
+
servers: g,
|
|
729
729
|
portal: e,
|
|
730
|
-
blockedApps:
|
|
730
|
+
blockedApps: I,
|
|
731
731
|
provisionedListings: o,
|
|
732
732
|
orgCapabilities: l,
|
|
733
|
-
licenses:
|
|
733
|
+
licenses: w,
|
|
734
734
|
trackViewerEnabled: t,
|
|
735
735
|
notebookServerEnabled: i,
|
|
736
736
|
willQueryForItems: n,
|
|
737
|
-
approvedApps:
|
|
737
|
+
approvedApps: y
|
|
738
738
|
});
|
|
739
|
-
p?.appLauncher && (p?.appLauncher.primary &&
|
|
740
|
-
let
|
|
739
|
+
p?.appLauncher && (p?.appLauncher.primary && _e(p?.appLauncher.primary, e), p?.appLauncher.secondary && _e(p?.appLauncher.secondary, e));
|
|
740
|
+
let h = [], u = [];
|
|
741
741
|
if (!p?.appLauncher?.primary || !p?.appLauncher.secondary)
|
|
742
|
-
|
|
742
|
+
h = P.slice().sort((_, b) => (_.label || "") < (b.label || "") ? -1 : 1), h = Z(h, I), u = [];
|
|
743
743
|
else {
|
|
744
|
-
const { result:
|
|
745
|
-
|
|
746
|
-
const
|
|
747
|
-
|
|
744
|
+
const { result: _ } = await mi(y, n, e);
|
|
745
|
+
_?.results?.length && _.results.forEach((A) => {
|
|
746
|
+
const k = f[A.id];
|
|
747
|
+
k.canAccess = !0, k.hasChanged = k.url !== A.url ? !!A.url : !1;
|
|
748
748
|
});
|
|
749
|
-
const
|
|
750
|
-
p?.appLauncher?.primary?.forEach((
|
|
751
|
-
|
|
752
|
-
}),
|
|
753
|
-
(
|
|
749
|
+
const b = { ...f };
|
|
750
|
+
p?.appLauncher?.primary?.forEach((A) => {
|
|
751
|
+
A.label === "Map Viewer" && (A.uid = "Map Viewer");
|
|
752
|
+
}), h = p?.appLauncher.primary.reduce(
|
|
753
|
+
(A, k) => we({ apps: A, app: k, appDictionary: f, newAppDictionary: b, portal: e }),
|
|
754
754
|
[]
|
|
755
|
-
) || [],
|
|
756
|
-
(
|
|
755
|
+
) || [], u = p?.appLauncher.secondary.reduce(
|
|
756
|
+
(A, k) => we({ apps: A, app: k, appDictionary: f, newAppDictionary: b, portal: e }),
|
|
757
757
|
[]
|
|
758
|
-
) || [],
|
|
759
|
-
for (const
|
|
760
|
-
|
|
758
|
+
) || [], h = Z(h, I), u = Z(u, I), ie(e) && (h = h.filter((A) => A.canAccess), u = u.filter((A) => A.canAccess));
|
|
759
|
+
for (const A of Object.keys(b))
|
|
760
|
+
b[A].canAccess && (b[A].isNew = !0, f[A] = b[A], h.push(b[A]));
|
|
761
761
|
}
|
|
762
|
-
const
|
|
762
|
+
const v = [...h, ...u], T = u.reduce((_, b) => (b.itemId && (_[b.itemId] = !0), _), {});
|
|
763
763
|
return {
|
|
764
|
-
apps:
|
|
765
|
-
hiddenApps:
|
|
766
|
-
signInSettings:
|
|
767
|
-
licenses:
|
|
764
|
+
apps: v,
|
|
765
|
+
hiddenApps: T,
|
|
766
|
+
signInSettings: d,
|
|
767
|
+
licenses: w,
|
|
768
768
|
userProperties: p
|
|
769
769
|
};
|
|
770
770
|
}
|
|
771
|
-
function
|
|
771
|
+
function Li(e, t) {
|
|
772
772
|
return !e?.itemId || !t ? !1 : t[e.itemId];
|
|
773
773
|
}
|
|
774
|
-
async function
|
|
774
|
+
async function Oi({
|
|
775
775
|
apps: e,
|
|
776
776
|
hiddenApps: t,
|
|
777
777
|
userProperties: i,
|
|
@@ -787,63 +787,63 @@ async function Ni({
|
|
|
787
787
|
},
|
|
788
788
|
{ primary: [], secondary: [] }
|
|
789
789
|
), o = { ...i || {}, appLauncher: r };
|
|
790
|
-
return await
|
|
790
|
+
return await Et(o, n);
|
|
791
791
|
}
|
|
792
|
-
function
|
|
792
|
+
function Ee({ app: e }) {
|
|
793
793
|
if (!e)
|
|
794
794
|
return null;
|
|
795
795
|
if (!e.canAccess)
|
|
796
796
|
return c`<span class="list-item__logo list-item__logo-empty"></span>`;
|
|
797
797
|
const t = !e.image && e.abbr;
|
|
798
|
-
return c`${t && c`<span class="list-item__logo">${e.placeHolderIcon && c`<img src=${
|
|
798
|
+
return c`${t && c`<span class="list-item__logo">${e.placeHolderIcon && c`<img src=${ve(e.placeHolderIcon) ?? O} class="list-item__logo-bg" alt>` || ""}<span style=${ke({ fontSize: e.fontSize || "20px" })} class="list-item__abbr">${e.abbr}</span></span>` || ""}${e.image && c`<img src=${ve(e.image) ?? O} class="list-item__logo" alt>` || ""}`;
|
|
799
799
|
}
|
|
800
|
-
function
|
|
800
|
+
function Ei({ app: e, hiddenApps: t, messages: i, toggleAppVisibility: n, handleAppDelete: r }) {
|
|
801
801
|
if (!e || !i)
|
|
802
802
|
return null;
|
|
803
|
-
const
|
|
804
|
-
return c`<calcite-list-item .label=${
|
|
803
|
+
const o = Li(e, t), { title: s, itemId: a, label: l } = e;
|
|
804
|
+
return c`<calcite-list-item .label=${s || l} class=${te(o ? "app--hidden" : "")}><span slot=content-start>${Ee({ app: e })}</span>${e.canAccess ? c`<calcite-action .text=${o ? i.show : i.hide} .icon=${o ? "view-hide" : "view-visible"} slot=actions-end @click=${() => a && n(a, !o)}></calcite-action>` : c`<calcite-action .text=${i.delete} icon=x slot=actions-end @click=${() => a && r(a)}></calcite-action>`}</calcite-list-item>`;
|
|
805
805
|
}
|
|
806
|
-
function
|
|
806
|
+
function ji({ app: e, messages: t }) {
|
|
807
807
|
if (!e || !t)
|
|
808
808
|
return null;
|
|
809
809
|
const { title: i, itemId: n, label: r, url: o, isNew: s } = e, a = t?.descriptions?.[i] || t?.descriptions?.[r];
|
|
810
|
-
return c`<li class="list-item"><a class="list-item__link" href=${o ??
|
|
810
|
+
return c`<li class="list-item"><a class="list-item__link" href=${o ?? O} target=_blank id=${n ?? O} aria-describedby=${`${n}--tooltip`}>${c`<span class="list-item__container">${Ee({ app: e })}<span class="list-item__title">${i || r}</span>${s && c`<calcite-chip scale=s class="list-item__chip" .label=${t.new}>${t.new}</calcite-chip>` || ""}</span>`}</a>${a && c`<calcite-tooltip .referenceElement=${n} placement=trailing .id=${`${n}--tooltip`} role=tooltip>${a}</calcite-tooltip>` || ""}</li>`;
|
|
811
811
|
}
|
|
812
|
-
function
|
|
812
|
+
function Di({ apps: e, appsLoading: t, appsSearchTerm: i, hiddenApps: n, messages: r, handleAppsSearch: o, handleAppReorder: s, handleAppSave: a, handleAppHide: l, handleAppDelete: d, handleAppCancel: m, handleAppEdit: g, editingApplications: p, portal: $ }) {
|
|
813
813
|
if (!e || !r)
|
|
814
814
|
return null;
|
|
815
|
-
const y = i?.length > 0,
|
|
816
|
-
return
|
|
817
|
-
|
|
815
|
+
const y = i?.length > 0, w = (e || []).filter((f) => f.itemId && (!n?.[f.itemId] || y) && gi(i, f)), I = y ? r.noAppResults.replace("{term}", i) : r.noAppsAvailable, P = y ? M($) ? r.noAppsDescriptionPublic : r.noAppResultsDescriptionOrg : r.noAppsAvailable;
|
|
816
|
+
return p ? c`<div class="list__header"><calcite-button appearance=outline width=half @click=${() => {
|
|
817
|
+
m();
|
|
818
818
|
}}>${r.cancel}</calcite-button><calcite-button width=half @click=${() => {
|
|
819
819
|
a();
|
|
820
|
-
}}>${r.applyChanges}</calcite-button></div><calcite-list .label=${r.allMyApplications} drag-enabled @calciteListDragEnd=${(
|
|
821
|
-
const { newIndex:
|
|
822
|
-
s({ newIndex:
|
|
823
|
-
}} .loading=${t}>${
|
|
824
|
-
l({ app:
|
|
825
|
-
} }))}</calcite-list>` : c`<div class="list__header"><calcite-input type=search icon .placeholder=${r.searchMyApps} scale=m class="list__search" @calciteInputInput=${(
|
|
826
|
-
o(
|
|
827
|
-
}}></calcite-input><calcite-button appearance=transparent kind=neutral icon-start=reorder-cards .label=${r.reorder} @click=${() =>
|
|
828
|
-
}
|
|
829
|
-
const
|
|
820
|
+
}}>${r.applyChanges}</calcite-button></div><calcite-list .label=${r.allMyApplications} drag-enabled @calciteListDragEnd=${(f) => {
|
|
821
|
+
const { newIndex: h, oldIndex: u } = f.detail;
|
|
822
|
+
s({ newIndex: h, oldIndex: u });
|
|
823
|
+
}} .loading=${t}>${U(e, (f) => f.itemId, (f) => Ei({ app: f, hiddenApps: n, messages: r, toggleAppVisibility: (h, u) => {
|
|
824
|
+
l({ app: h, hidden: u });
|
|
825
|
+
}, handleAppDelete: d }))}</calcite-list>` : c`<div class="list__header"><calcite-input type=search icon .placeholder=${r.searchMyApps} .value=${i} scale=m class="list__search" @calciteInputInput=${(f) => {
|
|
826
|
+
o(f.currentTarget.value);
|
|
827
|
+
}}></calcite-input><calcite-button appearance=transparent kind=neutral icon-start=reorder-cards .label=${r.reorder} @click=${() => g()} id=customize-apps></calcite-button><calcite-tooltip reference-element=customize-apps><span>${r.customizeApps}</span></calcite-tooltip></div>${w?.length > 0 ? c`<ul class="list">${U(w, (f) => f.itemId, (f) => ji({ app: f, messages: r }))}</ul>` : J({ title: I, description: P, icon: i ? "search" : "apps" })}`;
|
|
828
|
+
}
|
|
829
|
+
const ye = "portalAppClientId", le = {
|
|
830
830
|
GeoanalyticsEngine: "geoanalyticsengine",
|
|
831
831
|
GeoanalyticsFabric: "geoanalyticsfabric",
|
|
832
832
|
IndoorsOnline: "indoorsonline"
|
|
833
833
|
};
|
|
834
|
-
function le(e) {
|
|
835
|
-
return ce.GeoanalyticsEngine === e;
|
|
836
|
-
}
|
|
837
834
|
function ue(e) {
|
|
838
|
-
return
|
|
839
|
-
}
|
|
840
|
-
function Ee(e) {
|
|
841
|
-
return ce.IndoorsOnline === e;
|
|
835
|
+
return le.GeoanalyticsEngine === e;
|
|
842
836
|
}
|
|
843
837
|
function de(e) {
|
|
838
|
+
return le.GeoanalyticsFabric === e;
|
|
839
|
+
}
|
|
840
|
+
function je(e) {
|
|
841
|
+
return le.IndoorsOnline === e;
|
|
842
|
+
}
|
|
843
|
+
function pe(e) {
|
|
844
844
|
return ["Location Platform", "GeoAnalytics Fabric", "GeoAnalytics Engine", "Online", "Enterprise"].includes(e);
|
|
845
845
|
}
|
|
846
|
-
function
|
|
846
|
+
function zi({
|
|
847
847
|
portal: e,
|
|
848
848
|
messages: t,
|
|
849
849
|
licenses: i,
|
|
@@ -852,68 +852,68 @@ function Li({
|
|
|
852
852
|
}) {
|
|
853
853
|
if (!t || !e)
|
|
854
854
|
return [];
|
|
855
|
-
const o = e.sourceJSON?.subscriptionInfo, s =
|
|
855
|
+
const o = e.sourceJSON?.subscriptionInfo, s = Fi({ messages: t, portal: e });
|
|
856
856
|
if (!e.user)
|
|
857
857
|
return s;
|
|
858
|
-
if (!e || !s || e?.user && !i && !
|
|
858
|
+
if (!e || !s || e?.user && !i && !M(e))
|
|
859
859
|
return [];
|
|
860
|
-
const a =
|
|
860
|
+
const a = Ri({
|
|
861
861
|
portal: e,
|
|
862
862
|
licenses: i,
|
|
863
863
|
subscriptionInfo: o
|
|
864
864
|
});
|
|
865
|
-
return
|
|
865
|
+
return Wi({ messages: t, portal: e, clientId: n, signInSettings: r, navLinkDictionary: a });
|
|
866
866
|
}
|
|
867
|
-
function
|
|
867
|
+
function Gi(e) {
|
|
868
868
|
const { id: t, access: i, isPortal: n } = e;
|
|
869
869
|
return !t && !i && !n;
|
|
870
870
|
}
|
|
871
|
-
function
|
|
871
|
+
function Ui(e, t) {
|
|
872
872
|
const i = new URL(e), n = t || window.location.pathname;
|
|
873
873
|
return i.pathname === n;
|
|
874
874
|
}
|
|
875
|
-
function
|
|
875
|
+
function De({
|
|
876
876
|
portal: e,
|
|
877
877
|
clientId: t,
|
|
878
878
|
signInSettings: i
|
|
879
879
|
}) {
|
|
880
|
-
const n = e.user, r =
|
|
880
|
+
const n = e.user, r = je(t), o = !!i?.blockedApps?.includes("arcgisnotebooks"), {
|
|
881
881
|
gallery: s = "all",
|
|
882
882
|
groups: a = "all",
|
|
883
883
|
map: l = "all",
|
|
884
|
-
notebook:
|
|
885
|
-
scene:
|
|
884
|
+
notebook: d = "notebookCreators",
|
|
885
|
+
scene: m = "all"
|
|
886
886
|
} = e.portalProperties?.topNav || {};
|
|
887
|
-
let
|
|
887
|
+
let g = ["home"];
|
|
888
888
|
if (!n) {
|
|
889
889
|
if (!e.portalProperties?.topNav) {
|
|
890
|
-
const
|
|
891
|
-
return [...
|
|
890
|
+
const $ = ["gallery", "map", "scene", "groups"], y = e.isPortal ? ["help"] : [];
|
|
891
|
+
return [...g, ...$, ...y];
|
|
892
892
|
}
|
|
893
893
|
return [
|
|
894
|
-
...
|
|
894
|
+
...g,
|
|
895
895
|
...s === "all" ? ["gallery"] : [],
|
|
896
896
|
...l === "all" ? ["map"] : [],
|
|
897
|
-
...
|
|
897
|
+
...m === "all" ? ["scene"] : [],
|
|
898
898
|
...a === "all" ? ["groups"] : [],
|
|
899
899
|
...e.isPortal ? ["help"] : []
|
|
900
900
|
];
|
|
901
901
|
}
|
|
902
902
|
const p = n.orgId === e.id;
|
|
903
|
-
return !e.portalProperties?.topNav &&
|
|
904
|
-
...
|
|
903
|
+
return !e.portalProperties?.topNav && M(e) ? g = ["ArcGIS", "overview", "pricing", "map", "scene", "groups", "myContent"] : g = [
|
|
904
|
+
...g,
|
|
905
905
|
...(s === "all" || s === "members" && p) && !r ? ["gallery"] : [],
|
|
906
|
-
...(l === "all" || l === "members" && p || l === "mapCreators" &&
|
|
907
|
-
...(
|
|
908
|
-
...!o && (!e.isPortal || e.sourceJSON.supportsHostedNotebooks) && (
|
|
906
|
+
...(l === "all" || l === "members" && p || l === "mapCreators" && me(n)) && !r ? ["map"] : [],
|
|
907
|
+
...(m === "all" || m === "members" && p || m === "sceneCreators" && me(n)) && !r ? ["scene"] : [],
|
|
908
|
+
...!o && (!e.isPortal || e.sourceJSON.supportsHostedNotebooks) && (d === "members" && p || d === "notebookCreators" && Tt(n)) && !r ? ["notebook"] : [],
|
|
909
909
|
...(a === "all" || a === "members" && p) && !r ? ["groups"] : [],
|
|
910
910
|
...p && !r ? ["myContent", "organization"] : []
|
|
911
|
-
],
|
|
911
|
+
], g;
|
|
912
912
|
}
|
|
913
|
-
function
|
|
914
|
-
return `${
|
|
913
|
+
function E(e) {
|
|
914
|
+
return `${xe({ portal: e })}/`;
|
|
915
915
|
}
|
|
916
|
-
function
|
|
916
|
+
function Bi({
|
|
917
917
|
keys: e,
|
|
918
918
|
navLinkDictionary: t,
|
|
919
919
|
messages: i
|
|
@@ -922,44 +922,44 @@ function ji({
|
|
|
922
922
|
return e.forEach((r) => {
|
|
923
923
|
const o = t[r];
|
|
924
924
|
if (o && (!("show" in o) || o.show)) {
|
|
925
|
-
const { href: s, newTab: a, icon: l, relativePath:
|
|
925
|
+
const { href: s, newTab: a, icon: l, relativePath: d } = o;
|
|
926
926
|
n.push({
|
|
927
927
|
label: i[r],
|
|
928
928
|
href: s,
|
|
929
929
|
newTab: a,
|
|
930
|
-
relativePath:
|
|
930
|
+
relativePath: d,
|
|
931
931
|
icon: l
|
|
932
932
|
});
|
|
933
933
|
}
|
|
934
934
|
}), n;
|
|
935
935
|
}
|
|
936
|
-
function
|
|
936
|
+
function Fi({
|
|
937
937
|
messages: e,
|
|
938
938
|
portal: t
|
|
939
939
|
}) {
|
|
940
940
|
if (!e || !t)
|
|
941
941
|
return [];
|
|
942
|
-
const i =
|
|
942
|
+
const i = E(t), n = {
|
|
943
943
|
overview: { label: e.overview, href: `${i}../features/features.html`, icon: "information" },
|
|
944
944
|
pricing: { label: e.pricing, href: `${i}../features/plans/pricing.html`, icon: "credit-card" },
|
|
945
945
|
map: { label: e.map, href: `${i}apps/mapviewer/index.html`, icon: "map" },
|
|
946
946
|
scene: { label: e.scene, href: `${i}webscene/viewer.html`, icon: "globe" },
|
|
947
|
-
help: { label: e.help, href:
|
|
947
|
+
help: { label: e.help, href: ae(t), newTab: !0, icon: "headset" },
|
|
948
948
|
home: { label: e.home, href: `${i}index.html`, relativePath: "index.html", icon: "home" },
|
|
949
949
|
gallery: { label: e.gallery, href: `${i}gallery.html`, relativePath: "gallery.html", icon: "gallery" },
|
|
950
950
|
groups: { label: e.groups, href: `${i}groups.html`, relativePath: "groups.html", icon: "group" }
|
|
951
951
|
};
|
|
952
|
-
return (
|
|
952
|
+
return (Gi(t) ? ["overview", "pricing", "map", "scene", "help"] : De({ portal: t })).map((o) => n[o]);
|
|
953
953
|
}
|
|
954
|
-
function
|
|
954
|
+
function Wi({
|
|
955
955
|
messages: e,
|
|
956
956
|
portal: t,
|
|
957
957
|
clientId: i,
|
|
958
958
|
signInSettings: n,
|
|
959
959
|
navLinkDictionary: r
|
|
960
960
|
}) {
|
|
961
|
-
const o =
|
|
962
|
-
return o ||
|
|
961
|
+
const o = ue(i), s = De({ portal: t, clientId: i, signInSettings: n }), a = `${E(t)}geoanalytics${o ? "engine" : "fabric"}.html`;
|
|
962
|
+
return o || de(i) ? [
|
|
963
963
|
{
|
|
964
964
|
// TODO: active calculations in the component need to account for hash for these options
|
|
965
965
|
href: `${a}#subscription`,
|
|
@@ -979,20 +979,20 @@ function zi({
|
|
|
979
979
|
href: `${a}#account`,
|
|
980
980
|
label: e.account
|
|
981
981
|
}
|
|
982
|
-
] :
|
|
982
|
+
] : Bi({ keys: s, messages: e, navLinkDictionary: r });
|
|
983
983
|
}
|
|
984
|
-
function
|
|
984
|
+
function Ri({
|
|
985
985
|
portal: e,
|
|
986
986
|
licenses: t,
|
|
987
987
|
subscriptionInfo: i
|
|
988
988
|
}) {
|
|
989
|
-
const n = e.user, r =
|
|
989
|
+
const n = e.user, r = E(e), o = i?.options?.includes("Developer"), s = S("arcgiswebapps", t) || o && S("locationplatformwebapps", t) || M(e);
|
|
990
990
|
return {
|
|
991
991
|
pricing: { href: `${r}../features/plans/pricing.html` },
|
|
992
992
|
overview: { href: `${r}../features/features.html` },
|
|
993
993
|
ArcGIS: {
|
|
994
|
-
href: `${r}${
|
|
995
|
-
show:
|
|
994
|
+
href: `${r}${M(e) ? "index.html" : "../features/features.html"}`,
|
|
995
|
+
show: M(e) || !n
|
|
996
996
|
},
|
|
997
997
|
groups: {
|
|
998
998
|
href: `${r}groups.html`,
|
|
@@ -1010,7 +1010,7 @@ function Gi({
|
|
|
1010
1010
|
icon: "map"
|
|
1011
1011
|
},
|
|
1012
1012
|
help: {
|
|
1013
|
-
href:
|
|
1013
|
+
href: ae(e),
|
|
1014
1014
|
newTab: !0
|
|
1015
1015
|
},
|
|
1016
1016
|
gallery: {
|
|
@@ -1020,7 +1020,7 @@ function Gi({
|
|
|
1020
1020
|
icon: "gallery"
|
|
1021
1021
|
},
|
|
1022
1022
|
home: {
|
|
1023
|
-
show: !
|
|
1023
|
+
show: !M(e) && !o,
|
|
1024
1024
|
href: `${r}index.html`,
|
|
1025
1025
|
relativePath: "index.html",
|
|
1026
1026
|
icon: "home"
|
|
@@ -1031,43 +1031,43 @@ function Gi({
|
|
|
1031
1031
|
icon: "globe"
|
|
1032
1032
|
},
|
|
1033
1033
|
notebook: {
|
|
1034
|
-
show:
|
|
1034
|
+
show: Ut(e),
|
|
1035
1035
|
href: `${r}notebook/notebookhome.html`,
|
|
1036
1036
|
relativePath: "notebook/notebookhome.html",
|
|
1037
1037
|
icon: "notebook"
|
|
1038
1038
|
},
|
|
1039
1039
|
organization: {
|
|
1040
|
-
show: !
|
|
1040
|
+
show: !M(e),
|
|
1041
1041
|
href: `${r}organization.html`,
|
|
1042
1042
|
relativePath: "organization.html",
|
|
1043
1043
|
icon: "organization"
|
|
1044
1044
|
},
|
|
1045
1045
|
features: {
|
|
1046
|
-
show:
|
|
1046
|
+
show: M(e) && !e.isPortal,
|
|
1047
1047
|
href: `${r}../features/features.html`,
|
|
1048
1048
|
icon: "information"
|
|
1049
1049
|
}
|
|
1050
1050
|
};
|
|
1051
1051
|
}
|
|
1052
|
-
function
|
|
1052
|
+
function Vi({ portal: e, item: t, messages: i, navigate: n, locale: r }) {
|
|
1053
1053
|
if (!t || !i || !t.modified)
|
|
1054
1054
|
return null;
|
|
1055
|
-
const o = t.modified, s = { lessThanOneMinute: i.lessThanOneMinute }, a =
|
|
1056
|
-
return
|
|
1057
|
-
n({ event:
|
|
1055
|
+
const o = t.modified, s = { lessThanOneMinute: i.lessThanOneMinute }, a = Pe(Te(o)), l = a?.[1] === "year" || a?.[1] === "month" ? Qt({ locale: r, time: o }, a?.[1] === "year") : Ne({ locale: r, time: o, t9n: s }), d = `item.html?id=${t.id}`, m = `${E(e)}${d}}`;
|
|
1056
|
+
return se(t.id, c`<li class="list-item"><a class="list-item__link" href=${m ?? O} @click=${(g) => {
|
|
1057
|
+
n({ event: g, href: m, relativePath: d });
|
|
1058
1058
|
}}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular">${t.title}</span><span class="list-item__subtitle">${K(i.lastUpdated, { date: l })}</span></span></span>`}</a></li>`);
|
|
1059
1059
|
}
|
|
1060
|
-
function
|
|
1061
|
-
if (!
|
|
1060
|
+
function Hi({ locale: e, navigate: t, portal: i, open: n, apps: r, appsLoading: o, hiddenApps: s, appsSearchTerm: a, handlePlatformClose: l, handleAppsSearch: d, handleAppReorder: m, handleAppSave: g, handleAppDelete: p, handleAppHide: $, handleAppCancel: y, handleAppEdit: w, handleItemSearch: I, editingApplications: P, recentContent: f, recentContentLoading: h, recentContentSearchTerm: u, product: v, platformInfo: T, links: _, messages: b }) {
|
|
1061
|
+
if (!v || !i || !b)
|
|
1062
1062
|
return null;
|
|
1063
|
-
const { name:
|
|
1064
|
-
return c`<calcite-sheet class="platform" .label=${
|
|
1065
|
-
(
|
|
1066
|
-
}} @click=${(
|
|
1067
|
-
t({ event:
|
|
1068
|
-
}}></calcite-tile>`)}</div>${i?.user && c`<calcite-tabs layout=center class="platform__tabs"><calcite-tab-nav slot=title-group>${!
|
|
1069
|
-
}
|
|
1070
|
-
const
|
|
1063
|
+
const { name: A, icon: k } = T || {};
|
|
1064
|
+
return c`<calcite-sheet class="platform" .label=${b.label} position=inline-start display-mode=overlay id=example-sheet .open=${n} @calciteSheetClose=${l}><calcite-panel class="platform__panel"><div slot=header-content class="platform__header"><img src=${k ?? O} class="platform__header-image"><div class="platform__header-text"><h2 class="platform__title">${A}</h2><p class="platform__subtitle">${i.name}</p></div><calcite-action icon=x text="Close menu" scale=l @click=${l}></calcite-action></div><div class="platform__container"><div class="platform__tiles">${_.filter(({ icon: N }) => N).map(({ label: N, href: L, icon: x, relativePath: j }) => c`<calcite-tile .icon=${x} .description=${N} .href=${L} alignment=center scale=s @keydown=${(D) => {
|
|
1065
|
+
(D.key === "Enter" || D.key === " ") && t({ event: D, href: L, relativePath: j });
|
|
1066
|
+
}} @click=${(D) => {
|
|
1067
|
+
t({ event: D, href: L, relativePath: j });
|
|
1068
|
+
}}></calcite-tile>`)}</div>${i?.user && c`<calcite-tabs layout=center class="platform__tabs"><calcite-tab-nav slot=title-group>${!M(i) && c`<calcite-tab-title selected>${b.myApps}</calcite-tab-title>` || ""}<calcite-tab-title>${b.recentContent}</calcite-tab-title></calcite-tab-nav>${!M(i) && c`<calcite-tab selected class="platform__tab">${o && c`<calcite-scrim loading></calcite-scrim>` || ""}${Di({ apps: r, appsLoading: o, appsSearchTerm: a, hiddenApps: s, messages: b, handleAppsSearch: d, handleAppReorder: m, handleAppSave: g, handleAppDelete: p, handleAppHide: $, handleAppCancel: y, handleAppEdit: w, editingApplications: P, portal: i })}</calcite-tab>` || ""}<calcite-tab class="platform__tab"><div class="list__header"><calcite-input type=search icon .placeholder=${b.searchRecentContent} scale=m class="list__search" @calciteInputInput=${(N) => I(N.target.value)}></calcite-input></div>${h && !o && c`<calcite-scrim loading></calcite-scrim>` || ""}<div class="list__container">${f?.length > 0 || h ? c`<ul class="list">${U(f, (N) => N.id, (N) => Vi({ portal: i, messages: b, navigate: t, item: N, locale: e }))}</ul>` : u?.length ? J({ title: K(b.noAppResults, { term: u }), description: b.recentContentNoResultsDescription, icon: "search" }) : J({ title: b.noContent, description: b.noContentDescription, icon: "clock" })}</div></calcite-tab></calcite-tabs>` || ""}</div></calcite-panel></calcite-sheet>`;
|
|
1069
|
+
}
|
|
1070
|
+
const ne = [
|
|
1071
1071
|
"new",
|
|
1072
1072
|
"open",
|
|
1073
1073
|
"rename",
|
|
@@ -1078,19 +1078,19 @@ const ie = [
|
|
|
1078
1078
|
"embed",
|
|
1079
1079
|
"details"
|
|
1080
1080
|
];
|
|
1081
|
-
async function
|
|
1081
|
+
async function qi(e) {
|
|
1082
1082
|
return await Promise.resolve({ status: "success" });
|
|
1083
1083
|
}
|
|
1084
|
-
function
|
|
1085
|
-
return
|
|
1084
|
+
function re(e) {
|
|
1085
|
+
return ne.includes(e.id);
|
|
1086
1086
|
}
|
|
1087
|
-
function
|
|
1087
|
+
function Ji(e) {
|
|
1088
1088
|
return (e || [])?.toSorted((t, i) => {
|
|
1089
|
-
const n =
|
|
1090
|
-
return n && !r ? -1 : r && !n ? 1 : r && n ?
|
|
1089
|
+
const n = re(t), r = re(i);
|
|
1090
|
+
return n && !r ? -1 : r && !n ? 1 : r && n ? ne.indexOf(t.id) - ne.indexOf(i.id) : -1;
|
|
1091
1091
|
});
|
|
1092
1092
|
}
|
|
1093
|
-
function
|
|
1093
|
+
function Ki(e, t) {
|
|
1094
1094
|
const i = {
|
|
1095
1095
|
new: [],
|
|
1096
1096
|
save: [],
|
|
@@ -1110,47 +1110,47 @@ function Ri(e, t) {
|
|
|
1110
1110
|
copyLink: { text: t.copyLink, group: "share" },
|
|
1111
1111
|
embed: { text: t.embed, group: "share" },
|
|
1112
1112
|
details: { text: t.itemDetails, group: "details", external: !0 }
|
|
1113
|
-
}, r =
|
|
1113
|
+
}, r = Ji(e), o = [];
|
|
1114
1114
|
return r.forEach((s) => {
|
|
1115
|
-
if (!
|
|
1115
|
+
if (!re(s)) {
|
|
1116
1116
|
o.push(s);
|
|
1117
1117
|
return;
|
|
1118
1118
|
}
|
|
1119
|
-
const { text: l, external:
|
|
1120
|
-
i[
|
|
1119
|
+
const { text: l, external: d, group: m } = n[s.id];
|
|
1120
|
+
i[m].push({ text: l, external: d, ...s });
|
|
1121
1121
|
}), o.forEach((s) => {
|
|
1122
1122
|
const a = s.group || "custom";
|
|
1123
1123
|
i[a].push(s);
|
|
1124
1124
|
}), i;
|
|
1125
1125
|
}
|
|
1126
|
-
function
|
|
1126
|
+
function Qi({ navigate: e, portal: t, menuItem: i, messages: n, portalItem: r, openProjectTitleEdit: o, projectMenuClick: s }) {
|
|
1127
1127
|
if (!t || !n || !i || i.id === "details" && !r)
|
|
1128
1128
|
return null;
|
|
1129
|
-
const { external: a, id: l, text:
|
|
1130
|
-
return
|
|
1129
|
+
const { external: a, id: l, text: d } = i, m = `${E(t)}item.html?id=${r?.id}`;
|
|
1130
|
+
return se(`${l}${d}`, c`<calcite-dropdown-item .iconEnd=${a ? "launch" : void 0} .href=${l === "details" ? m : i.href} .target=${a ? "_blank" : void 0} @calciteDropdownItemSelect=${(g) => {
|
|
1131
1131
|
if (l === "rename") {
|
|
1132
1132
|
o?.();
|
|
1133
1133
|
return;
|
|
1134
1134
|
}
|
|
1135
|
-
l === "details" && e({ event:
|
|
1136
|
-
}}>${
|
|
1135
|
+
l === "details" && e({ event: g, href: m }), s?.({ type: l });
|
|
1136
|
+
}}>${d}${l === "save" && c`<calcite-icon icon=bullet-point-large class="project__indicator" scale=s></calcite-icon>` || ""}</calcite-dropdown-item>`);
|
|
1137
1137
|
}
|
|
1138
|
-
function
|
|
1139
|
-
if (!t || !f || !
|
|
1138
|
+
function Xi({ navigate: e, portal: t, projectTitle: i, editedProjectTitle: n, handleProjectTitleSave: r, handleProjectTitleEdit: o, handleProjectTitleCancel: s, openProjectTitleEdit: a, portalItem: l, projectTitleEditing: d, projectTitleSaving: m, projectTitleErrorMessage: g, projectMenuIcon: p, projectMenuSaveIndicator: $, projectMenuClick: y, projectMenuOptions: w, projectTitleInputRef: I, projectButtonRef: P, messages: f }) {
|
|
1139
|
+
if (!t || !f || !w?.length && !i)
|
|
1140
1140
|
return null;
|
|
1141
|
-
if (!
|
|
1142
|
-
return c`<div class="project__title">${p && c`<calcite-icon .icon=${p} scale=s class="project__menu-icon"></calcite-icon>` || ""}<h1 class="project__title__header">${i}</h1>${
|
|
1143
|
-
const
|
|
1144
|
-
return
|
|
1145
|
-
|
|
1146
|
-
}} @keydown=${(
|
|
1147
|
-
|
|
1148
|
-
}}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${f.title} .value=${n} .status=${
|
|
1149
|
-
}
|
|
1150
|
-
function
|
|
1141
|
+
if (!w?.length)
|
|
1142
|
+
return c`<div class="project__title">${p && c`<calcite-icon .icon=${p} scale=s class="project__menu-icon"></calcite-icon>` || ""}<h1 class="project__title__header">${i}</h1>${$ && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}</div>`;
|
|
1143
|
+
const h = Ki(w, f), u = !!g;
|
|
1144
|
+
return d ? c`<form class="rename" @submit=${async (v) => {
|
|
1145
|
+
v.preventDefault(), await r?.(n);
|
|
1146
|
+
}} @keydown=${(v) => {
|
|
1147
|
+
v.key === "Escape" && s?.();
|
|
1148
|
+
}}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${f.title} .value=${n} .status=${u ? "invalid" : "idle"} @calciteInputInput=${(v) => o?.(v.target.value)} ${R(I)}></calcite-input>${u && c`<calcite-popover open .label=${f.error} .referenceElement=${I?.value || "project-title-input"} pointer-disabled placement=bottom-start><calcite-notice kind=danger open><div slot=message>${g}</div></calcite-notice></calcite-popover>` || ""}<calcite-action .disabled=${m} icon=check scale=l .text=${f?.saveRename} active class="rename__action" type=submit .loading=${m}></calcite-action><calcite-action .disabled=${m} icon=x scale=l .text=${f?.cancelRename} class="rename__action" @click=${() => s?.()}></calcite-action></form>` : c`<calcite-dropdown width=m class="fade-in project__dropdown"><button slot=trigger class="project" ${R(P)}>${p && c`<calcite-icon scale=s .icon=${p} class="project__menu-icon"></calcite-icon>` || ""}<span class="project__text">${i}</span>${$ && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}<calcite-icon scale=s icon=chevron-down></calcite-icon></button>${U(Object.entries(h).filter(([v, T]) => T.length), ([v, T]) => v, ([v, T]) => c`<calcite-dropdown-group selection-mode=none>${T.map((_) => Qi({ menuItem: _, navigate: e, portal: t, messages: f, portalItem: l, openProjectTitleEdit: a, projectMenuClick: y }))}</calcite-dropdown-group>`)}</calcite-dropdown>`;
|
|
1149
|
+
}
|
|
1150
|
+
function Yi(e) {
|
|
1151
1151
|
return ["Location Platform", "Online", "Enterprise"].includes(e);
|
|
1152
1152
|
}
|
|
1153
|
-
function
|
|
1153
|
+
function ze({
|
|
1154
1154
|
portal: e,
|
|
1155
1155
|
searchType: t,
|
|
1156
1156
|
searchTerm: i
|
|
@@ -1158,61 +1158,61 @@ function De({
|
|
|
1158
1158
|
const r = e?.sourceJSON?.vectorSearchEnabled ? `&mode=${t}` : "";
|
|
1159
1159
|
return `search.html?q=${i}${r}`;
|
|
1160
1160
|
}
|
|
1161
|
-
function
|
|
1161
|
+
function Zi({ portal: e, item: t, messages: i, navigate: n }) {
|
|
1162
1162
|
if (!t || !i)
|
|
1163
1163
|
return null;
|
|
1164
1164
|
const r = K(i.by, {
|
|
1165
|
-
itemType:
|
|
1165
|
+
itemType: zt(t),
|
|
1166
1166
|
owner: t.owner
|
|
1167
|
-
}), o = `item.html?id=${t.id}`, s = `${
|
|
1168
|
-
return
|
|
1167
|
+
}), o = `item.html?id=${t.id}`, s = `${E(e)}${o}`;
|
|
1168
|
+
return se(t.id, c`<li class="list-item"><a class="list-item__link" href=${s ?? O} @click=${(a) => n({ event: a, href: s, relativePath: o })}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular list-item__title--large">${t.title}</span><span class="list-item__subtitle list-item__subtitle--large">${r}</span></span></span>`}</a></li>`);
|
|
1169
1169
|
}
|
|
1170
|
-
function
|
|
1170
|
+
function en({ portal: e, suggestions: t, messages: i, navigate: n, searchType: r, searchTerm: o }) {
|
|
1171
1171
|
if (!i || !e || !o)
|
|
1172
1172
|
return null;
|
|
1173
1173
|
if (!t)
|
|
1174
1174
|
return c`<div><calcite-loader scale=l .label=${i.loadingResults}></calcite-loader></div>`;
|
|
1175
|
-
const s =
|
|
1176
|
-
return c`<ul class="list">${t.map((
|
|
1177
|
-
n({ href: l, event:
|
|
1175
|
+
const s = ze({ portal: e, searchType: r, searchTerm: o }), a = `/${s}`, l = `${E(e)}${s}`;
|
|
1176
|
+
return c`<ul class="list">${t.map((d) => Zi({ messages: i, portal: e, item: d, navigate: n }))}</ul><div class="suggestions__footer"><calcite-button icon-end=arrow-right scale=l appearance=outline class="suggestions__footer__button" kind=neutral round .href=${l} @click=${(d) => {
|
|
1177
|
+
n({ href: l, event: d, relativePath: a });
|
|
1178
1178
|
}}>${i.viewAll}</calcite-button></div>`;
|
|
1179
1179
|
}
|
|
1180
|
-
function
|
|
1180
|
+
function tn({ portal: e, messages: t, searchType: i, handleSearchTypeChange: n }) {
|
|
1181
1181
|
if (!t || !e?.sourceJSON?.vectorSearchEnabled)
|
|
1182
1182
|
return null;
|
|
1183
1183
|
const r = i === "keyword", o = t.searchType;
|
|
1184
1184
|
return c`<calcite-chip .label=${o.label} .icon=${r ? "text" : "effects"} id=search-type-toggle appearance=solid kind=neutral><span>${r ? o.keywordTitle : o.semanticTitle}</span><calcite-icon icon=chevron-down scale=s class="suggestions__search-type__icon" aria-hidden=true></calcite-icon></calcite-chip><calcite-popover pointer-disabled .label=${t.searchType.label} reference-element=search-type-toggle placement=bottom-end class="suggestions__search-type"><div class="esri-header-search-type-popover-contents"><calcite-list .label=${t.searchType.label} interaction-mode=interactive display-mode=flat scale=m selection-mode=none><calcite-list-item @calciteListItemSelect=${() => n("keyword")} icon-start=text value=keyword .label=${o.keywordTitle} .description=${o.keywordDescription}></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => n("vector")} icon-start=effects value=semantic .label=${o.semanticTitle} .description=${o.semanticDescription}></calcite-list-item></calcite-list></div></calcite-popover>`;
|
|
1185
1185
|
}
|
|
1186
|
-
function
|
|
1187
|
-
if (!
|
|
1186
|
+
function nn({ currentPathname: e, navigate: t, product: i, portal: n, messages: r, searchActive: o, searchType: s, searchTerm: a, suggestions: l, searchInputRef: d, searchActionRef: m, searchPopoverRef: g, handleSearch: p, handleToggleSearch: $, handleSearchTypeChange: y }) {
|
|
1187
|
+
if (!Yi(i) || !r || !n || e?.includes("search.html"))
|
|
1188
1188
|
return null;
|
|
1189
|
-
const
|
|
1189
|
+
const w = ze({ portal: n, searchType: s, searchTerm: a }), I = `/${w}`, P = `${E(n)}${w}`;
|
|
1190
1190
|
return o ? c`<div class="search" id=search-reference-element><calcite-input type=search scale=l icon=search class="search__input" .ariaLabel=${r.label} .placeholder=${s === "vector" ? r.searchType.semanticPlaceholder : r.searchType.keywordPlaceholder} @calciteInputInput=${(f) => p(f.target.value)} @keydown=${(f) => {
|
|
1191
|
-
f.key === "Enter" && (t({ href:
|
|
1192
|
-
}} ${
|
|
1191
|
+
f.key === "Enter" && (t({ href: P, event: f, relativePath: I }), f.defaultPrevented || (window.location.href = P)), f.key === "Escape" && $(!1);
|
|
1192
|
+
}} ${R(d)}></calcite-input><calcite-action icon=x scale=l .text=${r?.close} active class="search__action" @click=${() => $(!1)}></calcite-action><calcite-popover .label=${r.suggestions} reference-element=search-reference-element .open=${o && !!a} pointer-disabled placement=bottom-start trigger-disabled .focusTrapOptions=${{ initialFocus: !1 }} ${R(g)}><div class="suggestions__header"><h3 class="suggestions__title">${r.topResults}</h3>${tn({ portal: n, messages: r, searchType: s, handleSearchTypeChange: y })}</div><div class="suggestions__results">${en({ portal: n, suggestions: l, navigate: t, messages: r, searchType: s, searchTerm: a })}</div></calcite-popover></div>` : c`<calcite-action icon=search scale=l text=search class="search__action fade-in" @click=${() => $(!0)} ${R(m)}></calcite-action>`;
|
|
1193
1193
|
}
|
|
1194
|
-
function
|
|
1194
|
+
function rn({ signIn: e, messages: t }) {
|
|
1195
1195
|
return c`<calcite-menu slot=user .label=${t?.account || ""} class="border-start fade-in"><calcite-menu-item .label=${t?.signIn || ""} text-enabled .text=${t?.signIn || ""} @calciteMenuItemSelect=${() => e()}></calcite-menu-item></calcite-menu>`;
|
|
1196
1196
|
}
|
|
1197
|
-
function
|
|
1198
|
-
return !i || !t || !r || !
|
|
1197
|
+
function on({ navigate: e, portal: t, product: i, links: n, messages: r, currentPathname: o, searchActive: s }) {
|
|
1198
|
+
return !i || !t || !r || !pe(i) || !n || s ? null : c`<calcite-menu slot=content-start .label=${r.label} class="site-nav fade-in">${U(n, ({ href: a }) => a, ({ label: a, href: l, relativePath: d }) => c`<calcite-menu-item .text=${a} text-enabled .label=${a} .href=${l} .active=${Ui(l, o)} @click=${(m) => e({ event: m, href: l, relativePath: d })}></calcite-menu-item>`)}</calcite-menu>`;
|
|
1199
1199
|
}
|
|
1200
|
-
function
|
|
1200
|
+
function sn({ userLinks: e, messages: t, navigate: i, openAccountSwitcher: n, portal: r, signOut: o, textDisabled: s }) {
|
|
1201
1201
|
const a = r?.user;
|
|
1202
|
-
return !a || !e || !t || e?.account?.options.length < 1 && e?.resources?.options.length < 1 ? null : c`<div class="user fade-in"><calcite-dropdown .width=${s ? "l" : "m"} class="user__dropdown"><calcite-button class="user__button" slot=trigger appearance=transparent kind=neutral><span class="user__button__contents"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__button__avatar"></arcgis-portal-user-avatar>${!s && c`<span class="user__button__text"><h2 class="user__button__full user__full">${a.fullName}</h2><p class="user__button__username user__username">${a.username}</p></span>` || ""}</span></calcite-button>${s && c`<div class="user__top"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__avatar"></arcgis-portal-user-avatar><div class="user__top__text"><h2 class="user__top__full user__full">${a.fullName}</h2><p class="user__top__username user__username">${a.username}</p></div></div>` || ""}${Object.values(e).filter((l) => l.options.length).map(({ title: l, options:
|
|
1203
|
-
(
|
|
1204
|
-
}} @click=${(
|
|
1205
|
-
i({ event:
|
|
1206
|
-
}}>${
|
|
1207
|
-
const
|
|
1208
|
-
|
|
1202
|
+
return !a || !e || !t || e?.account?.options.length < 1 && e?.resources?.options.length < 1 ? null : c`<div class="user fade-in"><calcite-dropdown .width=${s ? "l" : "m"} class="user__dropdown"><calcite-button class="user__button" slot=trigger appearance=transparent kind=neutral><span class="user__button__contents"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__button__avatar"></arcgis-portal-user-avatar>${!s && c`<span class="user__button__text"><h2 class="user__button__full user__full">${a.fullName}</h2><p class="user__button__username user__username">${a.username}</p></span>` || ""}</span></calcite-button>${s && c`<div class="user__top"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__avatar"></arcgis-portal-user-avatar><div class="user__top__text"><h2 class="user__top__full user__full">${a.fullName}</h2><p class="user__top__username user__username">${a.username}</p></div></div>` || ""}${Object.values(e).filter((l) => l.options.length).map(({ title: l, options: d }) => c`<calcite-dropdown-group selection-mode=none .groupTitle=${l}>${d.map(({ icon: m, label: g, href: p, relativePath: $ }) => c`<calcite-dropdown-item .iconStart=${m} .href=${p} @keydown=${(y) => {
|
|
1203
|
+
(y.key === "Enter" || y.key === " ") && i({ event: y, href: p, relativePath: $ });
|
|
1204
|
+
}} @click=${(y) => {
|
|
1205
|
+
i({ event: y, href: p, relativePath: $ });
|
|
1206
|
+
}}>${g}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}<calcite-dropdown-group selection-mode=none>${n && c`<calcite-dropdown-item icon-start=users @calciteDropdownItemSelect=${(l) => {
|
|
1207
|
+
const d = Ft(l.target, "calcite-dropdown");
|
|
1208
|
+
d && (d.open = !1), n();
|
|
1209
1209
|
}}>${t.switchAccounts}</calcite-dropdown-item>` || ""}<calcite-dropdown-item icon-start=sign-out @calciteDropdownItemSelect=${() => o()}>${t.signOut}</calcite-dropdown-item></calcite-dropdown-group></calcite-dropdown></div>`;
|
|
1210
1210
|
}
|
|
1211
|
-
const
|
|
1211
|
+
const Ge = {
|
|
1212
1212
|
community: "https://community.esri.com/plugins/common/feature/oauth2sso_v2/sso_login_redirect?referer=https%3A%2F%2Fcommunity.esri.com%2F",
|
|
1213
1213
|
myEsri: "https://my.esri.com"
|
|
1214
1214
|
};
|
|
1215
|
-
function
|
|
1215
|
+
function an({
|
|
1216
1216
|
messages: e,
|
|
1217
1217
|
userLinks: t
|
|
1218
1218
|
}) {
|
|
@@ -1224,7 +1224,7 @@ function tn({
|
|
|
1224
1224
|
i[n.group].options.push(n);
|
|
1225
1225
|
}), i;
|
|
1226
1226
|
}
|
|
1227
|
-
function
|
|
1227
|
+
function cn({
|
|
1228
1228
|
portal: e,
|
|
1229
1229
|
messages: t,
|
|
1230
1230
|
clientId: i
|
|
@@ -1234,10 +1234,10 @@ function nn({
|
|
|
1234
1234
|
account: { title: t?.account, options: [] },
|
|
1235
1235
|
resources: { title: t?.account, options: [] }
|
|
1236
1236
|
};
|
|
1237
|
-
const n =
|
|
1238
|
-
return
|
|
1237
|
+
const n = dn(e), r = ln({ navLinkDictionary: n, messages: t, clientId: i });
|
|
1238
|
+
return an({ userLinks: r, messages: t });
|
|
1239
1239
|
}
|
|
1240
|
-
function
|
|
1240
|
+
function ln({
|
|
1241
1241
|
navLinkDictionary: e,
|
|
1242
1242
|
messages: t,
|
|
1243
1243
|
clientId: i
|
|
@@ -1252,27 +1252,27 @@ function rn({
|
|
|
1252
1252
|
"arcgisBlog",
|
|
1253
1253
|
"help"
|
|
1254
1254
|
];
|
|
1255
|
-
return (
|
|
1255
|
+
return (ue(i) || de(i)) && (n = ["mySettings", "arcgisBlog", "help"]), je(i) && (n = []), un(n, t, e);
|
|
1256
1256
|
}
|
|
1257
|
-
function
|
|
1257
|
+
function un(e, t, i) {
|
|
1258
1258
|
const n = [];
|
|
1259
1259
|
return e.forEach((r) => {
|
|
1260
1260
|
const o = i[r];
|
|
1261
1261
|
if (o && (!("show" in o) || o.show)) {
|
|
1262
|
-
const { href: s, newTab: a, icon: l, group:
|
|
1262
|
+
const { href: s, newTab: a, icon: l, group: d, relativePath: m } = o;
|
|
1263
1263
|
n.push({
|
|
1264
1264
|
label: t[r],
|
|
1265
|
-
group:
|
|
1265
|
+
group: d,
|
|
1266
1266
|
href: s,
|
|
1267
1267
|
newTab: a,
|
|
1268
|
-
relativePath:
|
|
1268
|
+
relativePath: m,
|
|
1269
1269
|
icon: l
|
|
1270
1270
|
});
|
|
1271
1271
|
}
|
|
1272
1272
|
}), n;
|
|
1273
1273
|
}
|
|
1274
|
-
function
|
|
1275
|
-
const t =
|
|
1274
|
+
function dn(e) {
|
|
1275
|
+
const t = E(e), i = pn(e), n = `user.html${window.location.pathname.includes("home/user.html") ? "?nav=1" : ""}`;
|
|
1276
1276
|
return {
|
|
1277
1277
|
myProfile: {
|
|
1278
1278
|
href: `${t}${n}`,
|
|
@@ -1289,21 +1289,21 @@ function sn(e) {
|
|
|
1289
1289
|
help: {
|
|
1290
1290
|
group: "resources",
|
|
1291
1291
|
icon: "question",
|
|
1292
|
-
href:
|
|
1292
|
+
href: ae(e),
|
|
1293
1293
|
newTab: !0
|
|
1294
1294
|
},
|
|
1295
1295
|
communityForums: {
|
|
1296
1296
|
show: i,
|
|
1297
1297
|
group: "resources",
|
|
1298
1298
|
icon: "speech-bubbles",
|
|
1299
|
-
href:
|
|
1299
|
+
href: Ge.community,
|
|
1300
1300
|
newTab: !0
|
|
1301
1301
|
},
|
|
1302
1302
|
myEsri: {
|
|
1303
1303
|
show: i,
|
|
1304
1304
|
group: "account",
|
|
1305
1305
|
icon: "globe",
|
|
1306
|
-
href:
|
|
1306
|
+
href: mn(e),
|
|
1307
1307
|
newTab: !0
|
|
1308
1308
|
},
|
|
1309
1309
|
arcgisBlog: {
|
|
@@ -1317,41 +1317,41 @@ function sn(e) {
|
|
|
1317
1317
|
show: i,
|
|
1318
1318
|
group: "resources",
|
|
1319
1319
|
icon: "education",
|
|
1320
|
-
href:
|
|
1320
|
+
href: hn(e),
|
|
1321
1321
|
newTab: !0
|
|
1322
1322
|
},
|
|
1323
1323
|
trialDownload: {
|
|
1324
1324
|
group: "resources",
|
|
1325
1325
|
icon: "download-to",
|
|
1326
|
-
show:
|
|
1326
|
+
show: gn(e),
|
|
1327
1327
|
href: `${t}/home/user.html${window.location.pathname.includes("home/user.html") ? "?nav=1&tab=licenses" : "?tab=licenses"}#settings`
|
|
1328
1328
|
}
|
|
1329
1329
|
};
|
|
1330
1330
|
}
|
|
1331
|
-
function
|
|
1331
|
+
function pn(e) {
|
|
1332
1332
|
return !e.isPortal && e?.user?.sourceJSON?.userType === "both";
|
|
1333
1333
|
}
|
|
1334
|
-
function
|
|
1335
|
-
return
|
|
1334
|
+
function hn(e) {
|
|
1335
|
+
return Ue(
|
|
1336
1336
|
e,
|
|
1337
1337
|
`${window.location.protocol}//www.esri.com/training/arcgis-online-training`
|
|
1338
1338
|
);
|
|
1339
1339
|
}
|
|
1340
|
-
function
|
|
1341
|
-
return
|
|
1340
|
+
function mn(e) {
|
|
1341
|
+
return Ue(e, Ge.myEsri);
|
|
1342
1342
|
}
|
|
1343
|
-
function
|
|
1344
|
-
const i =
|
|
1343
|
+
function Ue(e, t) {
|
|
1344
|
+
const i = ce(e), n = fn(e), r = `https://accounts${n ? n === "dev" ? "-dev" : "-stg" : ""}.esri.com/`, o = `&authBaseUrl=${q(i.replace("/sharing/rest/", ""), e)}`, s = `${r}LoginHandler/switchuser?`, a = `username=${e?.user?.username ?? ""}&redirect_uri=${t}${o}`;
|
|
1345
1345
|
return `${s}${a}`;
|
|
1346
1346
|
}
|
|
1347
|
-
function
|
|
1347
|
+
function fn(e) {
|
|
1348
1348
|
const t = e.portalHostname;
|
|
1349
1349
|
return t?.includes("dev") ? "dev" : t?.includes("qa") ? "qa" : "";
|
|
1350
1350
|
}
|
|
1351
|
-
function
|
|
1351
|
+
function gn(e) {
|
|
1352
1352
|
return !e?.isPortal && ["Trial", "Trial Press"].includes(e?.sourceJSON.subscriptionInfo?.type);
|
|
1353
1353
|
}
|
|
1354
|
-
function
|
|
1354
|
+
function Be(e) {
|
|
1355
1355
|
switch (e) {
|
|
1356
1356
|
case "360 VR":
|
|
1357
1357
|
return {
|
|
@@ -1572,51 +1572,58 @@ function pn(e) {
|
|
|
1572
1572
|
};
|
|
1573
1573
|
}
|
|
1574
1574
|
}
|
|
1575
|
-
function
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1575
|
+
function Fe({
|
|
1576
|
+
name: e,
|
|
1577
|
+
fileName: t,
|
|
1578
|
+
icon: i
|
|
1579
1579
|
}) {
|
|
1580
|
-
return e !== "Online" ? e : t?.sourceJSON?.subscriptionInfo?.options?.includes("Developer") ? "Location Platform" : ue(i) ? "GeoAnalytics Fabric" : le(i) ? "GeoAnalytics Engine" : t?.isPortal ? "Enterprise" : "Online";
|
|
1581
|
-
}
|
|
1582
|
-
function ye(e) {
|
|
1583
|
-
const t = hn(e), { name: i, fileName: n, icon: r } = pn(t);
|
|
1584
1580
|
return {
|
|
1585
|
-
name:
|
|
1586
|
-
glyph: ee(`assets/portal-navigation/product-logos/${
|
|
1587
|
-
icon: ee(`assets/portal-navigation/apps/${
|
|
1581
|
+
name: e,
|
|
1582
|
+
glyph: ee(`assets/portal-navigation/product-logos/${t}-glyph-32.svg`),
|
|
1583
|
+
icon: ee(`assets/portal-navigation/apps/${i}.avif`)
|
|
1588
1584
|
};
|
|
1589
1585
|
}
|
|
1590
|
-
function
|
|
1591
|
-
|
|
1586
|
+
function We({ portal: e, clientId: t }) {
|
|
1587
|
+
return e?.sourceJSON?.subscriptionInfo?.options?.includes("Developer") ? "Location Platform" : de(t) ? "GeoAnalytics Fabric" : ue(t) ? "GeoAnalytics Engine" : e?.isPortal ? "Enterprise" : "Online";
|
|
1588
|
+
}
|
|
1589
|
+
function bn(e) {
|
|
1590
|
+
const t = We(e);
|
|
1591
|
+
return Fe(Be(t));
|
|
1592
|
+
}
|
|
1593
|
+
function $e(e) {
|
|
1594
|
+
const t = e?.product === "Online" ? We(e) : e?.product;
|
|
1595
|
+
return Fe(Be(t));
|
|
1596
|
+
}
|
|
1597
|
+
function vn() {
|
|
1598
|
+
const e = It();
|
|
1592
1599
|
["item.html", "group.html"].some((t) => window.location.href.includes(t)) ? window.location.href = `./signin.html?locale=${e}&useLandingPage=false&returnUrl=${encodeURIComponent(
|
|
1593
1600
|
window.location.href
|
|
1594
1601
|
)}` : window.location.href = `./signin.html?locale=${e}&useLandingPage=true`;
|
|
1595
1602
|
}
|
|
1596
|
-
function
|
|
1597
|
-
const i =
|
|
1603
|
+
function _n({ portal: e, clientId: t }) {
|
|
1604
|
+
const i = oe({ portal: e });
|
|
1598
1605
|
if (e?.isPortal) {
|
|
1599
1606
|
const n = e.access === "private" ? q("signin.html", e) : e.allSSL || window.location.protocol === "https:" ? q("./index.html", e) : `${i}/index.html`;
|
|
1600
|
-
|
|
1607
|
+
yn(e, n);
|
|
1601
1608
|
} else
|
|
1602
1609
|
window.location.href = `${i}/pages/Account/manage_accounts.html#client_id=${t}&signout=true`;
|
|
1603
1610
|
}
|
|
1604
|
-
function
|
|
1605
|
-
|
|
1611
|
+
function wn() {
|
|
1612
|
+
ai(ye), ci(ye);
|
|
1606
1613
|
}
|
|
1607
|
-
function
|
|
1608
|
-
const i = window.location.href.startsWith("http://"), n =
|
|
1609
|
-
|
|
1610
|
-
const r = new URL(q(`${
|
|
1614
|
+
function yn(e, t = window.location.href) {
|
|
1615
|
+
const i = window.location.href.startsWith("http://"), n = Bt(e);
|
|
1616
|
+
Rt.destroyCredentials(), wn();
|
|
1617
|
+
const r = new URL(q(`${ce(e)}oauth2/signout`, e)), { searchParams: o } = r;
|
|
1611
1618
|
o.append("client_id", "arcgisonline"), o.append("redirect_uri", t), n && i && (e.isPortal || e.user?.sourceJSON.provider === "enterprise") && o.append("token", n), window.location.href = r.href;
|
|
1612
1619
|
}
|
|
1613
|
-
function
|
|
1620
|
+
function z(e, t) {
|
|
1614
1621
|
if (!e)
|
|
1615
1622
|
return 0;
|
|
1616
|
-
const i =
|
|
1623
|
+
const i = Wt({ text: e, font: `${t === "s" ? ".875rem" : "1rem"} 'Avenir Next'` });
|
|
1617
1624
|
return Math.ceil(i);
|
|
1618
1625
|
}
|
|
1619
|
-
function
|
|
1626
|
+
function $n({
|
|
1620
1627
|
portal: e,
|
|
1621
1628
|
product: t,
|
|
1622
1629
|
projectTitle: i,
|
|
@@ -1626,28 +1633,28 @@ function vn({
|
|
|
1626
1633
|
}) {
|
|
1627
1634
|
if (!t || !e)
|
|
1628
1635
|
return;
|
|
1629
|
-
const s = e.user, l =
|
|
1636
|
+
const s = e.user, l = pe(t) && n?.length ? 24 + n.reduce((g, p) => g + 16 + z(p.label) + 16, 0) : 0, d = 40 + z(i) + 32 + 16 + 16 + 12, m = s ? Math.max(z(s?.username, "s"), z(s?.fullName)) : z(r?.signIn);
|
|
1630
1637
|
return {
|
|
1631
1638
|
actions: 192,
|
|
1632
|
-
project: i ? Math.min(
|
|
1633
|
-
product: 64 + Math.max(
|
|
1639
|
+
project: i ? Math.min(d, 400) : 0,
|
|
1640
|
+
product: 64 + Math.max(z(o?.name), z(e.name, "s")) + 16,
|
|
1634
1641
|
nav: l,
|
|
1635
|
-
user: 64 +
|
|
1642
|
+
user: 64 + m + 16
|
|
1636
1643
|
};
|
|
1637
1644
|
}
|
|
1638
|
-
function
|
|
1645
|
+
function An({
|
|
1639
1646
|
measurements: e,
|
|
1640
1647
|
screenWidth: t
|
|
1641
1648
|
}) {
|
|
1642
|
-
const { actions: i, nav: n, product: r, project: o, user: s } = e, a = 64, l = t - i - a > n,
|
|
1649
|
+
const { actions: i, nav: n, product: r, project: o, user: s } = e, a = 64, l = t - i - a > n, d = t - i - (l ? n : 0) - o - a > Math.min(r, 400), m = t - n - o - i - r < Math.min(s, 320);
|
|
1643
1650
|
return {
|
|
1644
1651
|
nav: l,
|
|
1645
|
-
product:
|
|
1646
|
-
user:
|
|
1652
|
+
product: d,
|
|
1653
|
+
user: m ? "avatar" : "full"
|
|
1647
1654
|
};
|
|
1648
1655
|
}
|
|
1649
|
-
const
|
|
1650
|
-
async function
|
|
1656
|
+
const Re = ' -type:"Code Attachment" -type:"Featured Items" -type:"Symbol Set" -type:"Color Set" -type:"Windows Viewer Add In" -type:"Windows Viewer Configuration" -type:"Map Area" -typekeywords:"MapAreaPackage" -type:"Indoors Map Configuration" -typekeywords:"SMX"';
|
|
1657
|
+
async function Ae({
|
|
1651
1658
|
portal: e,
|
|
1652
1659
|
searchTerm: t
|
|
1653
1660
|
}) {
|
|
@@ -1656,7 +1663,7 @@ async function $e({
|
|
|
1656
1663
|
try {
|
|
1657
1664
|
return (await e.queryItems({
|
|
1658
1665
|
...t ? { query: t } : {},
|
|
1659
|
-
filter: `owner:${e.user.username}${
|
|
1666
|
+
filter: `owner:${e.user.username}${Re}`,
|
|
1660
1667
|
num: 20,
|
|
1661
1668
|
sortField: "modified",
|
|
1662
1669
|
sortOrder: "desc"
|
|
@@ -1665,37 +1672,37 @@ async function $e({
|
|
|
1665
1672
|
return [];
|
|
1666
1673
|
}
|
|
1667
1674
|
}
|
|
1668
|
-
async function
|
|
1675
|
+
async function kn({
|
|
1669
1676
|
portal: e,
|
|
1670
1677
|
searchTerm: t
|
|
1671
1678
|
}) {
|
|
1672
1679
|
if (!e)
|
|
1673
1680
|
return [];
|
|
1674
|
-
const i =
|
|
1675
|
-
return (await
|
|
1681
|
+
const i = Ht((t || "").substring(0, 409)), n = `${e?.id ? `accountid:"${e.id}"` : ""}${Re}`, r = `${ce(e)}search/suggest`;
|
|
1682
|
+
return (await B(r, { query: {
|
|
1676
1683
|
suggest: i,
|
|
1677
1684
|
filters: n,
|
|
1678
1685
|
searchFields: "title",
|
|
1679
1686
|
f: "json"
|
|
1680
1687
|
} }))?.result?.results || [];
|
|
1681
1688
|
}
|
|
1682
|
-
const yn = wt`:host{display:block;--arcgis-portal-navigation-logo-max-width: 260px;--arcgis-portal-navigation-logo-text-display: flex;--arcgis-portal-navigation-user-max-width: 260px;--arcgis-portal-navigation-user-text-display: block;--arcgis-portal-navigation-project-max-width: auto}.scrim{z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out;--calcite-scrim-background: rgba(0, 0, 0, .85)}.scrim--active{opacity:1}.wrapper{background:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3);position:relative;z-index:200}.navigation{width:100%;min-width:0;min-height:4rem;display:flex;align-items:stretch;max-width:var(--arcgis-portal-navigation-max-width);margin-inline:auto;overflow:hidden}.navigation--loading .fade-in{opacity:0}.fade-in{opacity:1;transition:opacity ease-in-out .15s}.content-end{margin-inline-start:auto;display:flex;align-items:center}.content-end[hidden]{display:none}.action{height:100%;--calcite-internal-action-spacing: 1.25rem}.border-start{border-inline-start:1px solid var(--calcite-color-border-3)}.platform{--calcite-sheet-width: 24rem}.platform__container{display:flex;flex-direction:column;max-height:100%}.platform__header{display:flex;align-items:center}.platform__header-image{width:48px;height:48px;margin-inline-end:1rem}.platform__header-text{flex:1 1 auto;line-height:1.375}.platform__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium)}.platform__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-2)}.platform__panel{border-inline-end:1px solid var(--calcite-color-border-3);--calcite-panel-background-color: var(--calcite-color-foreground-1)}.platform__tiles{margin:.75rem .75rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.5rem}.platform__tabs{min-height:0;flex:1 1 auto;--calcite-tab-content-space-y: 0}.platform__tab{position:relative}.list{list-style:none;margin:0;padding:0}.list__container{position:relative}.list__header{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--calcite-color-border-3);background-color:var(--calcite-color-foreground-1);position:sticky;top:0;z-index:701}.list__search{flex:1 1 auto;--calcite-color-border-input: var(--calcite-color-foreground-1)}.list-item__link{display:block;box-sizing:border-box;width:100%;padding-inline-start:.75rem;background-color:var(--calcite-color-foreground-1);outline-color:transparent;text-decoration:none;outline-offset:0;transition:color var(--calcite-animation-timing) ease-in-out,background-color var(--calcite-animation-timing) ease-in-out,outline-color var(--calcite-internal-animation-timing-fast) ease-in-out,outline-offset var(--calcite-internal-animation-timing-fast) ease-in-out}.list-item__link:hover{background-color:var(--calcite-color-transparent-hover)}.list-item__link:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus);outline-offset:-2px}.list-item:focus-within .list-item__container{border-bottom-color:transparent}.list-item__container{box-sizing:border-box;width:100%;padding-block:.5rem;padding-inline-start:0;padding-inline-end:.5rem;border-bottom:1px solid var(--calcite-color-border-3);display:flex;align-items:center;position:relative;pointer-events:none}.list-item__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.list-item__logo{width:48px;height:48px;flex:0 0 auto;box-sizing:border-box;margin-inline-end:.5rem;justify-content:center;align-items:center;position:relative;display:flex}.list-item__logo-bg{position:absolute}.list-item__indicator{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--calcite-color-status-success);border:2px solid var(--calcite-color-foreground-1);z-index:50;top:.25rem;inset-inline-start:-.25rem}.list-item__abbr{color:#fff;font-weight:700;position:relative}.list-item__logo-empty{border:2px dashed var(--calcite-color-border-3);border-radius:8px}.list-item__logo--item-type{background-color:var(--calcite-color-background);display:flex;justify-content:center;align-items:center}.list-item__title{display:block;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1);font-weight:500;word-wrap:break-word}.list-item__title--regular{font-weight:400;padding-top:.25rem}.list-item__title--large{font-size:var(--calcite-font-size-0);line-height:1}.list-item__subtitle{display:block;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-3);font-weight:500;padding-top:.25rem;padding-bottom:.25rem}.list-item__subtitle--large{font-size:var(--calcite-font-size--1);font-weight:400;padding:0}.list-item__chip{margin-inline-start:auto;--calcite-chip-background-color: var(--calcite-color-foreground-current)}.app--hidden{--calcite-list-background-color: var(--calcite-color-background)}.app--hidden .list-item__logo{opacity:.4}.logo{border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-logo-max-width);display:flex;align-items:center}.logo--link{text-decoration:none}.logo--link:hover{background-color:var(--calcite-color-transparent-hover)}.logo--link:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.logo__glyph{width:32px;height:32px;padding-inline:1rem}.logo__text{display:var(--arcgis-portal-navigation-logo-text-display);flex-direction:column;overflow:hidden;white-space:nowrap;text-align:start;padding-inline:var(--calcite-internal-navigation-logo-padding-inline);padding-inline-end:1rem}.logo__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.25rem;text-overflow:ellipsis;overflow:hidden}.logo__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-2);font-size:.875rem;line-height:1rem;text-overflow:ellipsis;overflow:hidden}.site-nav{margin-inline-start:1.5rem}.project{min-width:0;outline:none;border:none;border-inline-end:1px solid var(--calcite-color-border-3);cursor:pointer;background-color:var(--calcite-color-foreground-1);box-sizing:border-box;display:flex;user-select:none;appearance:none;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-weight:var(--calcite-font-weight-normal);text-decoration-line:none;outline-color:transparent;box-shadow:var(--calcite-button-shadow, var(--calcite-shadow-none));color:var(--calcite-color-text-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;inset-inline-end:.25rem;background:transparent;white-space:nowrap;padding:0 1.375rem;flex-grow:2}.project:hover{background-color:var(--calcite-color-transparent-hover)}.project:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.project__title{display:flex;justify-self:stretch;min-width:0;align-items:center;justify-content:center;padding:0 1.5rem;margin-inline-end:1.5rem;color:var(--calcite-color-text-1);border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-project-max-width, 60%)}.project__title__header{padding:0;margin:0;font-size:1rem;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project__dropdown{max-width:var(--arcgis-portal-navigation-project-max-width, 60%);min-width:0;margin-inline-end:1.5rem}.project__indicator{margin-inline-end:.5rem;--calcite-ui-icon-color: var(--calcite-color-status-danger)}.project__menu-icon{margin-inline-end:.75rem}.project__text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-inline-end:.75rem}.rename{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.rename__action{margin-inline-end:.5rem;display:flex;align-items:center}.rename__input{margin-inline-end:.5rem;display:block;width:100%}.search{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.search__action{margin-inline-end:.5rem;display:flex;align-items:center}.search__input{margin-inline-end:.5rem;display:block;width:100%}.suggestions__header{display:flex;align-items:center;width:var(--calcite-popover-max-size-x);box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--calcite-color-border-3)}.suggestions__title{padding:0;margin:0;font-weight:500;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-1);flex:1 1 0}.suggestions__search-type{--calcite-popover-max-size-x: 320px}.suggestions__search-type__icon{vertical-align:-.2rem}.suggestions__footer{display:flex;align-items:center;justify-content:center;padding:1rem}.notifications{width:min(24rem,80vw)}.notifications--full:after{content:"";display:block;border-top:1px solid var(--calcite-color-border-3);margin-left:1rem}.notifications__list{max-height:min(18rem,80vh);overflow:auto;box-sizing:border-box;width:100%}.notifications--empty{padding:2rem}.empty{padding:1rem;text-align:center;color:var(--calcite-color-text-3);--calcite-icon-color: var(--calcite-color-status-success-hover)}.empty__header{margin:0;padding:.75rem 0 0;color:var(--calcite-color-text-1);font-weight:500;font-size:var(--calcite-font-size-1)}.empty__text{margin:0;padding:0;color:var(--calcite-color-text-3);font-weight:400;font-size:var(--calcite-font-size-0)}.notification{display:flex;flex-direction:column;padding:.5rem}.notification__message{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);--calcite-color-brand-underline: transparent}.notification__date{color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-0)}.notifications__dismiss{margin-inline-start:auto;margin-inline-end:1rem;margin-block:.5rem}.user{display:flex;max-width:var(--arcgis-portal-navigation-user-max-width);--calcite-dropdown-item-text-color: var(--calcite-color-text-3);--calcite-dropdown-group-title-text-color: var(--calcite-color-text-2)}.user__dropdown{max-width:100%}.user__button{max-width:100%;--calcite-spacing-base: -2px}.user__button__contents{display:flex;text-align:start}.user__button__text{display:var(--arcgis-portal-navigation-user-text-display);flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375;overflow:hidden}.user__button__avatar{flex:0 0 auto}.user__button__full,.user__button__username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.user__top{display:flex;padding:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.user__top__avatar{flex:0 0 auto}.user__top__text{box-sizing:border-box;word-wrap:break-word;flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375}.user__full{font-size:1rem;font-weight:medium;color:var(--calcite-colot-text-1);line-height:1.25;padding:0;margin:0}.user__username{font-size:.875rem;line-height:1.25;color:var(--calcite-colot-text-2);padding:0;margin:0}`;
|
|
1683
|
-
function
|
|
1689
|
+
const xn = xt`:host{display:block;--arcgis-portal-navigation-logo-max-width: 260px;--arcgis-portal-navigation-logo-text-display: flex;--arcgis-portal-navigation-user-max-width: 260px;--arcgis-portal-navigation-user-text-display: block;--arcgis-portal-navigation-project-max-width: auto}.scrim{z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out;--calcite-scrim-background: rgba(0, 0, 0, .85)}.scrim--active{opacity:1}.wrapper{background:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3);position:relative;z-index:200}.navigation{width:100%;min-width:0;min-height:4rem;display:flex;align-items:stretch;max-width:var(--arcgis-portal-navigation-max-width);margin-inline:auto;overflow:hidden}.navigation--loading .fade-in{opacity:0}.fade-in{opacity:1;transition:opacity ease-in-out .15s}.content-end{margin-inline-start:auto;display:flex;align-items:center}.content-end[hidden]{display:none}.action{height:100%;--calcite-internal-action-spacing: 1.25rem}.border-start{border-inline-start:1px solid var(--calcite-color-border-3)}.platform{--calcite-sheet-width: 24rem}.platform__container{display:flex;flex-direction:column;max-height:100%}.platform__header{display:flex;align-items:center}.platform__header-image{width:48px;height:48px;margin-inline-end:1rem}.platform__header-text{flex:1 1 auto;line-height:1.375}.platform__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium)}.platform__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-2)}.platform__panel{border-inline-end:1px solid var(--calcite-color-border-3);--calcite-panel-background-color: var(--calcite-color-foreground-1)}.platform__tiles{margin:.75rem .75rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.5rem}.platform__tabs{min-height:0;flex:1 1 auto;--calcite-tab-content-space-y: 0}.platform__tab{position:relative}.list{list-style:none;margin:0;padding:0}.list__container{position:relative}.list__header{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--calcite-color-border-3);background-color:var(--calcite-color-foreground-1);position:sticky;top:0;z-index:701}.list__search{flex:1 1 auto;--calcite-color-border-input: var(--calcite-color-foreground-1)}.list-item__link{display:block;box-sizing:border-box;width:100%;padding-inline-start:.75rem;background-color:var(--calcite-color-foreground-1);outline-color:transparent;text-decoration:none;outline-offset:0;transition:color var(--calcite-animation-timing) ease-in-out,background-color var(--calcite-animation-timing) ease-in-out,outline-color var(--calcite-internal-animation-timing-fast) ease-in-out,outline-offset var(--calcite-internal-animation-timing-fast) ease-in-out}.list-item__link:hover{background-color:var(--calcite-color-transparent-hover)}.list-item__link:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus);outline-offset:-2px}.list-item:focus-within .list-item__container{border-bottom-color:transparent}.list-item__container{box-sizing:border-box;width:100%;padding-block:.5rem;padding-inline-start:0;padding-inline-end:.5rem;border-bottom:1px solid var(--calcite-color-border-3);display:flex;align-items:center;position:relative;pointer-events:none}.list-item__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.list-item__logo{width:48px;height:48px;flex:0 0 auto;box-sizing:border-box;margin-inline-end:.5rem;justify-content:center;align-items:center;position:relative;display:flex}.list-item__logo-bg{position:absolute}.list-item__indicator{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--calcite-color-status-success);border:2px solid var(--calcite-color-foreground-1);z-index:50;top:.25rem;inset-inline-start:-.25rem}.list-item__abbr{color:#fff;font-weight:700;position:relative}.list-item__logo-empty{border:2px dashed var(--calcite-color-border-3);border-radius:8px}.list-item__logo--item-type{background-color:var(--calcite-color-background);display:flex;justify-content:center;align-items:center}.list-item__title{display:block;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1);font-weight:500;word-wrap:break-word}.list-item__title--regular{font-weight:400;padding-top:.25rem}.list-item__title--large{font-size:var(--calcite-font-size-0);line-height:1}.list-item__subtitle{display:block;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-3);font-weight:500;padding-top:.25rem;padding-bottom:.25rem}.list-item__subtitle--large{font-size:var(--calcite-font-size--1);font-weight:400;padding:0}.list-item__chip{margin-inline-start:auto;--calcite-chip-background-color: var(--calcite-color-foreground-current)}.app--hidden{--calcite-list-background-color: var(--calcite-color-background)}.app--hidden .list-item__logo{opacity:.4}.logo{border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-logo-max-width);display:flex;align-items:center}.logo--link{text-decoration:none}.logo--link:hover{background-color:var(--calcite-color-transparent-hover)}.logo--link:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.logo__glyph{width:32px;height:32px;padding-inline:1rem}.logo__text{display:var(--arcgis-portal-navigation-logo-text-display);flex-direction:column;overflow:hidden;white-space:nowrap;text-align:start;padding-inline:var(--calcite-internal-navigation-logo-padding-inline);padding-inline-end:1rem}.logo__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.25rem;text-overflow:ellipsis;overflow:hidden}.logo__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-2);font-size:.875rem;line-height:1rem;text-overflow:ellipsis;overflow:hidden}.site-nav{margin-inline-start:1.5rem}.project{min-width:0;outline:none;border:none;border-inline-end:1px solid var(--calcite-color-border-3);cursor:pointer;background-color:var(--calcite-color-foreground-1);box-sizing:border-box;display:flex;user-select:none;appearance:none;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-weight:var(--calcite-font-weight-normal);text-decoration-line:none;outline-color:transparent;box-shadow:var(--calcite-button-shadow, var(--calcite-shadow-none));color:var(--calcite-color-text-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;inset-inline-end:.25rem;background:transparent;white-space:nowrap;padding:0 1.375rem;flex-grow:2}.project:hover{background-color:var(--calcite-color-transparent-hover)}.project:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.project__title{display:flex;justify-self:stretch;min-width:0;align-items:center;justify-content:center;padding:0 1.5rem;margin-inline-end:1.5rem;color:var(--calcite-color-text-1);border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-project-max-width, 60%)}.project__title__header{padding:0;margin:0;font-size:1rem;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project__dropdown{max-width:var(--arcgis-portal-navigation-project-max-width, 60%);min-width:0;margin-inline-end:1.5rem}.project__indicator{margin-inline-end:.5rem;--calcite-ui-icon-color: var(--calcite-color-status-danger)}.project__menu-icon{margin-inline-end:.75rem}.project__text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-inline-end:.75rem}.rename{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.rename__action{margin-inline-end:.5rem;display:flex;align-items:center}.rename__input{margin-inline-end:.5rem;display:block;width:100%}.search{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.search__action{margin-inline-end:.5rem;display:flex;align-items:center}.search__input{margin-inline-end:.5rem;display:block;width:100%}.suggestions__header{display:flex;align-items:center;width:var(--calcite-popover-max-size-x);box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--calcite-color-border-3)}.suggestions__title{padding:0;margin:0;font-weight:500;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-1);flex:1 1 0}.suggestions__search-type{--calcite-popover-max-size-x: 320px}.suggestions__search-type__icon{vertical-align:-.2rem}.suggestions__footer{display:flex;align-items:center;justify-content:center;padding:1rem}.notifications{width:min(24rem,80vw)}.notifications--full:after{content:"";display:block;border-top:1px solid var(--calcite-color-border-3);margin-left:1rem}.notifications__list{max-height:min(18rem,80vh);overflow:auto;box-sizing:border-box;width:100%}.notifications--empty{padding:2rem}.empty{padding:1rem;text-align:center;color:var(--calcite-color-text-3);--calcite-icon-color: var(--calcite-color-status-success-hover)}.empty__header{margin:0;padding:.75rem 0 0;color:var(--calcite-color-text-1);font-weight:500;font-size:var(--calcite-font-size-1)}.empty__text{margin:0;padding:0;color:var(--calcite-color-text-3);font-weight:400;font-size:var(--calcite-font-size-0)}.notification{display:flex;flex-direction:column;padding:.5rem}.notification__message{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);--calcite-color-brand-underline: transparent}.notification__date{color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-0)}.notifications__dismiss{margin-inline-start:auto;margin-inline-end:1rem;margin-block:.5rem}.user{display:flex;max-width:var(--arcgis-portal-navigation-user-max-width);--calcite-dropdown-item-text-color: var(--calcite-color-text-3);--calcite-dropdown-group-title-text-color: var(--calcite-color-text-2)}.user__dropdown{max-width:100%}.user__button{max-width:100%;--calcite-spacing-base: -2px}.user__button__contents{display:flex;text-align:start}.user__button__text{display:var(--arcgis-portal-navigation-user-text-display);flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375;overflow:hidden}.user__button__avatar{flex:0 0 auto}.user__button__full,.user__button__username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.user__top{display:flex;padding:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.user__top__avatar{flex:0 0 auto}.user__top__text{box-sizing:border-box;word-wrap:break-word;flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375}.user__full{font-size:1rem;font-weight:medium;color:var(--calcite-colot-text-1);line-height:1.25;padding:0;margin:0}.user__username{font-size:.875rem;line-height:1.25;color:var(--calcite-colot-text-2);padding:0;margin:0}`;
|
|
1690
|
+
function Sn({ messages: e, portal: t, showNav: i, openPlatformMenu: n, handleToggleSearch: r }) {
|
|
1684
1691
|
return !e || i && !t?.user ? null : c`<calcite-action .label=${e.applicationMenu} text="app switcher" icon=app-launcher scale=l class="action" @click=${n} @focusin=${() => r(!1, !0)}></calcite-action>`;
|
|
1685
1692
|
}
|
|
1686
|
-
class
|
|
1693
|
+
class In extends $t {
|
|
1687
1694
|
constructor() {
|
|
1688
|
-
super(...arguments), this.messages =
|
|
1695
|
+
super(...arguments), this.messages = At({ blocking: !0 }), this.refreshNotifications = async () => {
|
|
1689
1696
|
const { portal: t, messages: i } = this;
|
|
1690
|
-
this.notifications = await
|
|
1697
|
+
this.notifications = await be({ portal: t, locale: i._t9nLocale, t9n: i.notifications });
|
|
1691
1698
|
}, this.deleteNotifications = async (t) => {
|
|
1692
1699
|
const { portal: i } = this;
|
|
1693
1700
|
if (t?.length < 20)
|
|
1694
|
-
await
|
|
1701
|
+
await Yt(i, t);
|
|
1695
1702
|
else {
|
|
1696
1703
|
let n = 0;
|
|
1697
1704
|
for await (const r of t)
|
|
1698
|
-
await
|
|
1705
|
+
await Ce({ id: r, portal: i }), this.notificationDeleteProgress = Math.ceil(n++ / t.length * 100);
|
|
1699
1706
|
}
|
|
1700
1707
|
this.notificationDeleteProgress = void 0, this.refreshNotifications();
|
|
1701
1708
|
}, this.navigate = (t) => {
|
|
@@ -1714,7 +1721,7 @@ class kn extends bt {
|
|
|
1714
1721
|
});
|
|
1715
1722
|
}, this.handleProjectTitleSave = async (t) => {
|
|
1716
1723
|
this.projectTitleSaving = !0;
|
|
1717
|
-
const n = await (this.projectTitleSave ||
|
|
1724
|
+
const n = await (this.projectTitleSave || qi)(t);
|
|
1718
1725
|
if (this.projectTitleSaving = !1, n.status === "success") {
|
|
1719
1726
|
this.closeProjectTitleEdit();
|
|
1720
1727
|
return;
|
|
@@ -1726,21 +1733,23 @@ class kn extends bt {
|
|
|
1726
1733
|
this.editedProjectTitle = this.projectTitle, this.closeProjectTitleEdit();
|
|
1727
1734
|
}, this.signOut = () => {
|
|
1728
1735
|
const { portal: t, clientId: i } = this;
|
|
1729
|
-
|
|
1736
|
+
_n({ portal: t, clientId: i }), this.arcgisNavigationSignOut.emit();
|
|
1730
1737
|
}, this.signIn = () => {
|
|
1731
|
-
this.arcgisNavigationSignIn.emit(),
|
|
1738
|
+
this.arcgisNavigationSignIn.emit(), vn();
|
|
1732
1739
|
}, this.openAccountSwitcher = () => {
|
|
1733
1740
|
this.accountSwitcherOpen = !0;
|
|
1734
1741
|
}, this.handlePlatformClose = () => {
|
|
1735
|
-
this.platformMenuOpen = !1, this.handleAppCancel();
|
|
1742
|
+
this.platformMenuOpen = !1, this.handleAppCancel(), this.appsSearchTerm = "";
|
|
1736
1743
|
}, this.handleAppSave = async () => {
|
|
1737
1744
|
const { hiddenApps: t, sortedApps: i, userProperties: n, portal: r } = this;
|
|
1738
1745
|
this.apps = [...i], this.editingApplications = !1, this.appsLoading = !0;
|
|
1739
|
-
const { result: o } = await
|
|
1746
|
+
const { result: o } = await Oi({ apps: i, hiddenApps: t, userProperties: n, portal: r });
|
|
1740
1747
|
o?.success && (this.previousAppState = {
|
|
1741
1748
|
apps: i,
|
|
1742
1749
|
hiddenApps: t
|
|
1743
|
-
}), await
|
|
1750
|
+
}), await Vt(1e3), this.appsLoading = !1;
|
|
1751
|
+
}, this.handleAppDelete = async (t) => {
|
|
1752
|
+
t && (this.apps = this.sortedApps.filter((i) => i.itemId !== t), this.sortedApps = this.sortedApps.filter((i) => i.itemId !== t));
|
|
1744
1753
|
}, this.handleAppCancel = () => {
|
|
1745
1754
|
this.previousAppState && (this.apps = this.previousAppState.apps, this.hiddenApps = this.previousAppState.hiddenApps), this.editingApplications = !1;
|
|
1746
1755
|
}, this.handleAppHide = ({ app: t, hidden: i }) => {
|
|
@@ -1750,10 +1759,10 @@ class kn extends bt {
|
|
|
1750
1759
|
n.splice(t, 1), n.splice(i, 0, r), this.sortedApps = n;
|
|
1751
1760
|
}, this.handleItemSearch = (t) => {
|
|
1752
1761
|
this.recentContentLoading = !0, this.recentContentSearchTerm = t, this.debouncedItemSearch(t);
|
|
1753
|
-
}, this.debouncedItemSearch =
|
|
1754
|
-
this.recentContent = await
|
|
1755
|
-
}, 1e3), this.debouncedSuggest =
|
|
1756
|
-
this.suggestions = await
|
|
1762
|
+
}, this.debouncedItemSearch = fe(async (t) => {
|
|
1763
|
+
this.recentContent = await Ae({ portal: this.portal, searchTerm: t }), this.recentContentLoading = !1;
|
|
1764
|
+
}, 1e3), this.debouncedSuggest = fe(async (t) => {
|
|
1765
|
+
this.suggestions = await kn({ portal: this.portal, searchTerm: t });
|
|
1757
1766
|
}, 1e3), this.handleSearch = (t) => {
|
|
1758
1767
|
this.searchTerm = t, this.suggestions = void 0, this.debouncedSuggest(t);
|
|
1759
1768
|
}, this.sizeSearchPopover = () => {
|
|
@@ -1774,24 +1783,24 @@ class kn extends bt {
|
|
|
1774
1783
|
});
|
|
1775
1784
|
}, this.handleSearchTypeChange = (t) => {
|
|
1776
1785
|
this.searchType = t;
|
|
1777
|
-
}, this.searchInput =
|
|
1786
|
+
}, this.searchInput = W(), this.searchAction = W(), this.searchPopover = W(), this.projectTitleInputRef = W(), this.projectButtonRef = W(), this.initialDocumentOverflowStyle = document.documentElement.style.overflow, this.links = [], this.notifications = [], this.notificationsActive = !1, this.apps = [], this.hiddenApps = {}, this.sortedApps = [], this.appsSearchTerm = "", this.appsLoading = !0, this.editingApplications = !1, this.recentContent = [], this.recentContentSearchTerm = "", this.recentContentLoading = !0, this.platformMenuOpen = !1, this.accountSwitcherOpen = !1, this.projectTitleEditing = !1, this.projectTitleSaving = !1, this.screenWidth = window.innerWidth, this.searchActive = !1, this.searchTerm = "", this.searchType = "keyword", this.projectMenuOptions = [], this.currentPathname = window.location.pathname, this.arcgisNavigate = H(), this.arcgisNavigationProjectMenuClick = H(), this.arcgisNavigationSignIn = H(), this.arcgisNavigationSignOut = H();
|
|
1778
1787
|
}
|
|
1779
1788
|
static {
|
|
1780
|
-
this.properties = { infoBanner: 16, links: 16, userLinks: 16, notifications: 16, notificationsActive: 16, apps: 16, hiddenApps: 16, sortedApps: 16, previousAppState: 16, appsSearchTerm: 16, appsLoading: 16, editingApplications: 16, recentContent: 16, recentContentSearchTerm: 16, recentContentLoading: 16, platformMenuOpen: 16, accountSwitcherOpen: 16, editedProjectTitle: 16, projectTitleEditing: 16, projectTitleSaving: 16, projectTitleErrorMessage: 16, productInfo: 16, notificationDeleteProgress: 16, measurements: 16, screenWidth: 16, showProduct: 16, showNav: 16, showUser: 16, searchActive: 16, searchTerm: 16, suggestions: 16, searchType: 16, portal: 0, portalItem: 0, product: 1, productHref: 1, projectTitle: 1, projectTitleSave: 0, projectMenuIcon: 1, projectMenuSaveIndicator: 5, projectMenuOptions: 0, disableTrackViewer: 5, disableNotebookServer: 5, clientId: 1, currentPathname: 1, maxWidth: 9 };
|
|
1789
|
+
this.properties = { infoBanner: 16, links: 16, userLinks: 16, notifications: 16, notificationsActive: 16, apps: 16, hiddenApps: 16, sortedApps: 16, previousAppState: 16, appsSearchTerm: 16, appsLoading: 16, editingApplications: 16, recentContent: 16, recentContentSearchTerm: 16, recentContentLoading: 16, platformMenuOpen: 16, accountSwitcherOpen: 16, editedProjectTitle: 16, projectTitleEditing: 16, projectTitleSaving: 16, projectTitleErrorMessage: 16, productInfo: 16, platformInfo: 16, notificationDeleteProgress: 16, measurements: 16, screenWidth: 16, showProduct: 16, showNav: 16, showUser: 16, searchActive: 16, searchTerm: 16, suggestions: 16, searchType: 16, portal: 0, portalItem: 0, product: 1, productHref: 1, projectTitle: 1, projectTitleSave: 0, projectMenuIcon: 1, projectMenuSaveIndicator: 5, projectMenuOptions: 0, disableTrackViewer: 5, disableNotebookServer: 5, clientId: 1, currentPathname: 1, maxWidth: 9 };
|
|
1781
1790
|
}
|
|
1782
1791
|
static {
|
|
1783
|
-
this.styles =
|
|
1792
|
+
this.styles = xn;
|
|
1784
1793
|
}
|
|
1785
1794
|
#e;
|
|
1786
1795
|
async loaded() {
|
|
1787
1796
|
const { portal: t, messages: i, clientId: n, product: r } = this;
|
|
1788
|
-
this.calculateMeasurements(), this.productInfo =
|
|
1789
|
-
const { apps: o, hiddenApps: s, signInSettings: a, licenses: l, userProperties:
|
|
1797
|
+
this.calculateMeasurements(), this.productInfo = $e({ product: r, clientId: n, portal: t }), this.platformInfo = bn({ clientId: n, portal: t }), this.userLinks = cn({ portal: t, messages: i.user, clientId: n }), this.notifications = await be({ portal: t, locale: i._t9nLocale, t9n: i.notifications }), this.recentContent = await Ae({ portal: t }), this.recentContentLoading = !1;
|
|
1798
|
+
const { apps: o, hiddenApps: s, signInSettings: a, licenses: l, userProperties: d } = await Mi({
|
|
1790
1799
|
portal: t,
|
|
1791
1800
|
trackViewerEnabled: !this.disableTrackViewer,
|
|
1792
1801
|
notebookServerEnabled: !this.disableNotebookServer
|
|
1793
|
-
}),
|
|
1794
|
-
this.infoBanner =
|
|
1802
|
+
}), m = await Ot(t);
|
|
1803
|
+
this.infoBanner = m?.informationalBanner, this.userProperties = d, this.apps = o, this.hiddenApps = s, this.sortedApps = o, this.previousAppState = { apps: o, hiddenApps: s }, this.appsLoading = !1, this.links = zi({
|
|
1795
1804
|
portal: t,
|
|
1796
1805
|
messages: i.links,
|
|
1797
1806
|
licenses: l,
|
|
@@ -1810,7 +1819,7 @@ class kn extends bt {
|
|
|
1810
1819
|
this.el && this.#e && (this.#e.observe(this.el), this.screenWidth = window.innerWidth);
|
|
1811
1820
|
}
|
|
1812
1821
|
willUpdate(t) {
|
|
1813
|
-
(t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo =
|
|
1822
|
+
(t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo = $e({ product: this.product, clientId: this.clientId, portal: this.portal }));
|
|
1814
1823
|
}
|
|
1815
1824
|
disconnectedCallback() {
|
|
1816
1825
|
this.#e?.disconnect(), this.#e = void 0, document.documentElement.style.overflow = this.initialDocumentOverflowStyle, super.disconnectedCallback();
|
|
@@ -1818,7 +1827,7 @@ class kn extends bt {
|
|
|
1818
1827
|
calculateMeasurements() {
|
|
1819
1828
|
const { links: t, messages: i, portal: n, product: r, productInfo: o, projectTitle: s } = this;
|
|
1820
1829
|
if (n) {
|
|
1821
|
-
const a =
|
|
1830
|
+
const a = $n({
|
|
1822
1831
|
portal: n,
|
|
1823
1832
|
product: r,
|
|
1824
1833
|
productInfo: o,
|
|
@@ -1832,18 +1841,18 @@ class kn extends bt {
|
|
|
1832
1841
|
updateBreakpoints() {
|
|
1833
1842
|
const { measurements: t, maxWidth: i } = this;
|
|
1834
1843
|
if (t) {
|
|
1835
|
-
const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r =
|
|
1844
|
+
const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r = An({ measurements: t, screenWidth: n });
|
|
1836
1845
|
this.showProduct = r.product, this.showNav = r.nav, this.showUser = r.user;
|
|
1837
1846
|
}
|
|
1838
1847
|
}
|
|
1839
1848
|
render() {
|
|
1840
|
-
const { accountSwitcherOpen: t, apps: i, appsLoading: n, appsSearchTerm: r, currentPathname: o, handleAppCancel: s,
|
|
1841
|
-
return c`<calcite-scrim class=${
|
|
1849
|
+
const { accountSwitcherOpen: t, apps: i, appsLoading: n, appsSearchTerm: r, currentPathname: o, handleAppCancel: s, handleAppDelete: a, handleAppHide: l, handleAppReorder: d, handleAppSave: m, handleItemSearch: g, handlePlatformClose: p, handleSearch: $, handleToggleSearch: y, handleSearchTypeChange: w, hiddenApps: I, infoBanner: P, links: f, messages: h, navigate: u, notifications: v, notificationsActive: T, notificationDeleteProgress: _, openAccountSwitcher: b, platformInfo: A, portal: k, portalItem: N, product: L, productInfo: x, productHref: j, projectTitle: D, editedProjectTitle: Ve, handleProjectTitleSave: He, handleProjectTitleEdit: qe, handleProjectTitleCancel: Je, handleToggleNotifications: he, openProjectTitleEdit: Ke, openPlatformMenu: Qe, platformMenuOpen: Xe, projectTitleEditing: Q, projectTitleSaving: Ye, projectTitleErrorMessage: Ze, projectMenuIcon: et, projectMenuSaveIndicator: tt, projectMenuClick: it, projectMenuOptions: nt, projectTitleInputRef: rt, projectButtonRef: ot, recentContent: st, recentContentSearchTerm: at, recentContentLoading: ct, userLinks: lt, searchActive: F, searchTerm: ut, searchType: dt, searchInput: pt, searchAction: ht, searchPopover: mt, showNav: X, showProduct: ft, showUser: gt, suggestions: bt } = this, vt = k?.user, _t = pe(L) && !f?.length || !this.measurements;
|
|
1850
|
+
return c`<calcite-scrim class=${te({ scrim: !0, "scrim--active": F })}></calcite-scrim><div class="wrapper" style=${ke({ "--arcgis-portal-navigation-max-width": this.maxWidth ? `${this.maxWidth}px` : "100%" })}><arcgis-portal-info-banner .config=${P}></arcgis-portal-info-banner>${k?.isPortal && N?.loaded && c`<arcgis-portal-classification-banner .portalItem=${N}></arcgis-portal-classification-banner>` || ""}<header class=${te({ navigation: !0, "navigation--loading": _t })}>${Sn({ messages: h?.platform, portal: k, showNav: X, openPlatformMenu: Qe, handleToggleSearch: y })}${ft && qt({ navigate: u, portal: k, product: L, productInfo: x, productHref: j, messages: h?.logo, showNav: X, searchActive: F, projectTitleEditing: Q }) || ""}${Xi({ navigate: u, portal: k, portalItem: N, messages: h?.project, projectTitle: D, editedProjectTitle: Ve, handleProjectTitleSave: He, handleProjectTitleEdit: qe, openProjectTitleEdit: Ke, projectTitleErrorMessage: Ze, handleProjectTitleCancel: Je, projectTitleEditing: Q, projectTitleSaving: Ye, projectMenuIcon: et, projectMenuSaveIndicator: tt, projectMenuClick: it, projectMenuOptions: nt, projectTitleInputRef: rt, projectButtonRef: ot })}${X && on({ searchActive: F, navigate: u, portal: k, product: L, messages: h?.links, links: f, currentPathname: o }) || ""}<div slot=content-end class="content-end fade-in" .hidden=${Q || F}><slot name=content-end></slot></div>${nn({ currentPathname: o, navigate: u, portal: k, product: L, messages: h?.search, searchActive: F, searchType: dt, searchTerm: ut, suggestions: bt, handleSearch: $, handleToggleSearch: y, handleSearchTypeChange: w, searchInputRef: pt, searchActionRef: ht, searchPopoverRef: mt })}${vt ? c`<div class="border-start fade-in">${ii({ notifications: v, notificationsActive: T, messages: h?.notifications, handleToggleNotifications: he, handleToggleSearch: y })}${ni({ notificationsActive: T, notifications: v, navigate: u, portal: k, deleteNotifications: this.deleteNotifications, handleToggleNotifications: he, messages: h?.notifications, notificationDeleteProgress: _ })}</div>${sn({ portal: k, userLinks: lt, openAccountSwitcher: k?.isPortal ? void 0 : b, signOut: this.signOut, messages: h?.user, textDisabled: gt === "avatar", navigate: u })}` : rn({ messages: h.user, signIn: this.signIn })}</header>${Hi({ locale: h._t9nLocale, navigate: u, portal: k, product: L, platformInfo: A, messages: h?.platform, apps: i, appsLoading: n, hiddenApps: I, appsSearchTerm: r, editingApplications: this.editingApplications, open: Xe, links: f, recentContent: st, recentContentSearchTerm: at, recentContentLoading: ct, handlePlatformClose: p, handleAppReorder: d, handleAppEdit: () => this.editingApplications = !0, handleAppDelete: a, handleAppsSearch: (wt) => this.appsSearchTerm = wt, handleAppSave: m, handleAppCancel: s, handleAppHide: l, handleItemSearch: g })}${t && c`<arcgis-portal-account-switcher .portal=${k} @arcgisClose=${() => {
|
|
1842
1851
|
this.accountSwitcherOpen = !1;
|
|
1843
1852
|
}}></arcgis-portal-account-switcher>` || ""}</div>`;
|
|
1844
1853
|
}
|
|
1845
1854
|
}
|
|
1846
|
-
|
|
1855
|
+
yt("arcgis-portal-navigation", In);
|
|
1847
1856
|
export {
|
|
1848
|
-
|
|
1857
|
+
In as ArcGISPortalNavigation
|
|
1849
1858
|
};
|