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