@ynput/ayon-frontend-shared 0.8.0 → 0.8.1
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/Views.es.js +2 -2
- package/dist/chunks/TableExportContextInstance.es.js +10 -10
- package/dist/chunks/searchTerms.es.js +1 -0
- package/dist/components.es.js +1175 -1128
- package/dist/types/ProjectTreeTable.d.ts +77 -0
- package/dist/types/api.d.ts +1 -0
- package/dist/types/components.d.ts +118 -0
- package/package.json +2 -2
package/dist/components.es.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { C as
|
|
2
|
-
import { t as
|
|
3
|
-
import { jsxs as
|
|
4
|
-
import { useState as x, useRef as
|
|
5
|
-
import { matchSorter as
|
|
6
|
-
import { InputText as
|
|
1
|
+
import { C as mt, S as ht, A as De, a as gt, T as bt, D as wt, b as vt, c as yt, d as Re, e as Ve, f as Et, g as St, h as kt, M as Ct, F as Ot, i as Tt, j as It, k as Pt, l as At, m as Dt, B as Rt, L as Vt, n as xt, o as Ft, p as _t, q as Lt, r as Mt, s as Nt } from "./chunks/ReviewablesSelector.es.js";
|
|
2
|
+
import { t as Ao, u as Do, v as Ro, w as Vo, x as xo, y as Fo, z as _o, E as Lo, G as Mo, H as No, I as Uo, J as Bo, K as $o, N as Go, O as zo, Q as Ho, P as Wo, U as Yo, R as jo, V as Ko, W as qo, X as Qo, Y as Xo, Z as Jo, _ as Zo, $ as en, a0 as tn, a1 as sn, a2 as an, a3 as on, a4 as nn, a5 as rn, a6 as ln } from "./chunks/ReviewablesSelector.es.js";
|
|
3
|
+
import { jsxs as L, jsx as p, Fragment as te } from "react/jsx-runtime";
|
|
4
|
+
import { useState as x, useRef as ie, useCallback as j, useEffect as H, useMemo as B, createElement as Ut, useId as Bt, useContext as $t } from "react";
|
|
5
|
+
import { matchSorter as xe } from "match-sorter";
|
|
6
|
+
import { InputText as je, Icon as pe, Panel as Ce, InputPassword as Gt, Button as Oe, Section as zt, SEARCH_FILTER_ID as Ht } from "@ynput/ayon-react-components";
|
|
7
7
|
import ue from "clsx";
|
|
8
|
-
import { B as
|
|
9
|
-
import { d as
|
|
10
|
-
import { A as
|
|
11
|
-
import { createPortal as
|
|
12
|
-
import { format as de, parseISO as
|
|
13
|
-
import { B as
|
|
14
|
-
import { $ as
|
|
15
|
-
import { c as
|
|
16
|
-
import { d as
|
|
17
|
-
import { p as
|
|
18
|
-
import { e as
|
|
19
|
-
import { D as
|
|
20
|
-
import { q as
|
|
21
|
-
import { s as
|
|
22
|
-
import { E as
|
|
23
|
-
import { E as
|
|
24
|
-
import { I as
|
|
25
|
-
import { J as
|
|
26
|
-
import { E as
|
|
27
|
-
import { a as
|
|
28
|
-
import { a as
|
|
29
|
-
import { bQ as
|
|
8
|
+
import { B as un, a as dn, S as pn } from "./chunks/SimpleForm.es.js";
|
|
9
|
+
import { d as Ke, P as Wt } from "./chunks/MetaWidget.es.js";
|
|
10
|
+
import { A as mn, k as hn, l as gn, m as bn, n as wn, L as vn, o as yn, q as En, r as Sn, s as kn } from "./chunks/MetaWidget.es.js";
|
|
11
|
+
import { createPortal as Yt } from "react-dom";
|
|
12
|
+
import { format as de, parseISO as qe, isValid as Qe } from "date-fns";
|
|
13
|
+
import { B as Fe, e as Xe, g as Ee, h as Se } from "./chunks/FilmstripEntityCard.es.js";
|
|
14
|
+
import { $ as On, j as Tn, k as In, l as Pn, m as An, n as Dn, o as Rn, q as Vn, A as xn, C as Fn, a as _n, r as Ln, D as Mn, s as Nn, t as Un, u as Bn, v as $n, w as Gn, x as zn, F as Hn, y as Wn, I as Yn, z as jn, E as Kn, G as qn, H as Qn, J as Xn, M as Jn, K as Zn, L as er, N as tr, U as sr, Y as ar, O as or, P as nr, Q as rr, R as ir, d as lr, f as cr, S as ur, T as dr, V as pr, W as fr, X as mr, Z as hr, _ as gr, a0 as br, a1 as wr, a2 as vr, a3 as yr, a4 as Er, p as Sr, a5 as kr, a6 as Cr, a7 as Or } from "./chunks/FilmstripEntityCard.es.js";
|
|
15
|
+
import { c as Je, q as Ze, b as jt, ar as et, av as tt, ax as Kt, s as qt, u as st } from "./chunks/TableExportContextInstance.es.js";
|
|
16
|
+
import { d as Ir, D as Pr, z as Ar } from "./chunks/TableExportContextInstance.es.js";
|
|
17
|
+
import { p as Qt, d as _e } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
|
|
18
|
+
import { e as Rr, D as Vr, b as xr, a as Fr, c as _r, s as Lr } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
|
|
19
|
+
import { D as Nr } from "./chunks/DetailsDialog.es.js";
|
|
20
|
+
import { q as Xt, r as Jt, n as Zt } from "./chunks/Watchers.es.js";
|
|
21
|
+
import { s as Br, t as $r, v as Gr, R as zr, c as Hr, b as Wr, w as Yr, x as jr, W as Kr, u as qr } from "./chunks/Watchers.es.js";
|
|
22
|
+
import { E as Xr, P as Jr } from "./chunks/EmptyPlaceholder.es.js";
|
|
23
|
+
import { E as ei, a as ti } from "./chunks/EmptyPlaceholderFlex.styled.es.js";
|
|
24
|
+
import { I as ai } from "./chunks/InfoMessage.es.js";
|
|
25
|
+
import { J as ni } from "./chunks/JsonViewer.es.js";
|
|
26
|
+
import { E as ii, a as li, R as ci, g as ui } from "./chunks/EntityPath.es.js";
|
|
27
|
+
import { a as pi, E as fi } from "./chunks/EntityTooltip.es.js";
|
|
28
|
+
import { a as Le, bB as Me, bA as es, bD as ts } from "./chunks/searchTerms.es.js";
|
|
29
|
+
import { bQ as ss, bV as as, cC as os, aO as ns, aT as rs, bL as is, bs as ls, dv as cs, cp as us, cb as ds, cf as ps, bT as fs } from "./chunks/getUris.es.js";
|
|
30
30
|
export * from "primereact/confirmdialog";
|
|
31
31
|
import "@module-federation/enhanced/runtime";
|
|
32
|
-
import { loadPiece as
|
|
32
|
+
import { loadPiece as ms, pieceContext as hs, reportContributionError as Ne, menuItemsAt as Ue } from "@ynput/ayon-addon/host";
|
|
33
33
|
import { toast as Q } from "react-toastify";
|
|
34
|
-
import { isEmpty as
|
|
34
|
+
import { isEmpty as gs, upperFirst as me } from "lodash";
|
|
35
35
|
import "uuid";
|
|
36
|
-
import { a as
|
|
37
|
-
import
|
|
36
|
+
import { a as bs } from "./chunks/afterStartup.es.js";
|
|
37
|
+
import Be from "axios";
|
|
38
38
|
import "semver";
|
|
39
39
|
import "./chunks/ContextMenuContextInstance.es.js";
|
|
40
|
-
import { useSearchParams as
|
|
41
|
-
import { F as
|
|
42
|
-
import { C as
|
|
43
|
-
import { F as
|
|
40
|
+
import { useSearchParams as ws, useLocation as vs, useNavigate as at, useParams as ys } from "react-router-dom";
|
|
41
|
+
import { F as Es } from "./chunks/addonColumnTags.es.js";
|
|
42
|
+
import { C as gi, S as bi, b as wi, u as vi } from "./chunks/addonColumnTags.es.js";
|
|
43
|
+
import { F as Ei } from "./chunks/FilterErrorActions.es.js";
|
|
44
44
|
import "lexical";
|
|
45
45
|
import "@lexical/markdown";
|
|
46
46
|
import "@lexical/code";
|
|
@@ -50,57 +50,57 @@ import "@lexical/selection";
|
|
|
50
50
|
import "@lexical/utils";
|
|
51
51
|
import "@lexical/react/LexicalBlockWithAlignableContents";
|
|
52
52
|
import "@lexical/react/LexicalDecoratorBlockNode";
|
|
53
|
-
import { m as
|
|
54
|
-
import { T as
|
|
55
|
-
import { useContributions as
|
|
56
|
-
import { useDispatch as
|
|
57
|
-
import
|
|
58
|
-
import
|
|
59
|
-
import { Splitter as
|
|
60
|
-
import { o as
|
|
61
|
-
import { p as
|
|
53
|
+
import { m as ki, r as Ci, a as Oi, u as Ti } from "./chunks/useDateRangeFilter.es.js";
|
|
54
|
+
import { T as Pi } from "./chunks/TableSettingsFallback.es.js";
|
|
55
|
+
import { useContributions as we, ContributionView as ve, ProjectPageLayout as Ss, Slicer as ks, prefetchPiece as Te, runContribution as ot } from "@ynput/ayon-addon";
|
|
56
|
+
import { useDispatch as Cs } from "react-redux";
|
|
57
|
+
import Os from "remark-gfm";
|
|
58
|
+
import Ts from "react-markdown";
|
|
59
|
+
import { Splitter as Is, SplitterPanel as $e } from "primereact/splitter";
|
|
60
|
+
import { o as Ps, h as As, e as Ds } from "./chunks/Slicer.es.js";
|
|
61
|
+
import { p as Di, q as Ri } from "./chunks/Slicer.es.js";
|
|
62
62
|
import "./chunks/NewEntityContextInstance.es.js";
|
|
63
|
-
import { V as
|
|
64
|
-
import { u as
|
|
63
|
+
import { V as Rs } from "./chunks/VersionUploadContextInstance.es.js";
|
|
64
|
+
import { u as xi, a as Fi } from "./chunks/VersionUploadContextInstance.es.js";
|
|
65
65
|
import "@tanstack/react-table";
|
|
66
|
-
import { M as
|
|
67
|
-
import { b as
|
|
68
|
-
import { A as
|
|
69
|
-
import { s as
|
|
70
|
-
import { e as
|
|
71
|
-
import { T as
|
|
66
|
+
import { M as nt, a as rt } from "./chunks/Menu.es.js";
|
|
67
|
+
import { b as Li, c as Mi, d as Ni } from "./chunks/Menu.es.js";
|
|
68
|
+
import { A as Vs, f as xs } from "./chunks/SimpleTable.es.js";
|
|
69
|
+
import { s as Bi, g as $i } from "./chunks/SimpleTable.es.js";
|
|
70
|
+
import { e as Fs, E as _s } from "./chunks/EntityPickerDialog.es.js";
|
|
71
|
+
import { T as zi } from "./chunks/EntityPickerDialog.es.js";
|
|
72
72
|
import { g as re } from "./chunks/getEntityTypeIcon.es.js";
|
|
73
73
|
import { g as q } from "./chunks/iconUtils.es.js";
|
|
74
|
-
import { C as
|
|
75
|
-
import { S as
|
|
76
|
-
import { e as
|
|
77
|
-
import { b as
|
|
78
|
-
import { p as
|
|
79
|
-
import { C as
|
|
80
|
-
const
|
|
74
|
+
import { C as Wi, T as Yi } from "./chunks/ThumbnailSimple.es.js";
|
|
75
|
+
import { S as Ki } from "./chunks/SimpleFormDialog.es.js";
|
|
76
|
+
import { e as Ls } from "./chunks/extractVersionFromFilename.es.js";
|
|
77
|
+
import { b as Ms, c as Ns, v as Us } from "./chunks/versionUploadHelpers.es.js";
|
|
78
|
+
import { p as Bs } from "./chunks/parseFilename.es.js";
|
|
79
|
+
import { C as Qi } from "./chunks/ColumnHeaderMenuUI.es.js";
|
|
80
|
+
const Ge = 500, $s = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, eo = ({
|
|
81
81
|
shareOptions: e,
|
|
82
82
|
existingAccess: t,
|
|
83
83
|
owner: n,
|
|
84
|
-
placeholder:
|
|
85
|
-
disabled:
|
|
86
|
-
mode:
|
|
87
|
-
onSelectOption:
|
|
88
|
-
pt:
|
|
89
|
-
...
|
|
84
|
+
placeholder: r = "Add people or access groups",
|
|
85
|
+
disabled: s = !1,
|
|
86
|
+
mode: a = "internal",
|
|
87
|
+
onSelectOption: o,
|
|
88
|
+
pt: u,
|
|
89
|
+
...l
|
|
90
90
|
}) => {
|
|
91
|
-
const [
|
|
92
|
-
const v = (
|
|
93
|
-
return k !==
|
|
94
|
-
}), w = (
|
|
91
|
+
const [f, c] = x(""), [S, y] = x(!1), [T, g] = x(-1), V = ie(null), O = e.filter((C) => !t.includes(C.value)).toSorted((C, b) => {
|
|
92
|
+
const v = (m) => m.value === "__everyone__" ? 0 : m.value.startsWith("__") ? 1 : m.value.startsWith("team:") ? 2 : m.value.startsWith("group:") ? 3 : m.value.startsWith("user:") ? 4 : 5, k = v(C), i = v(b);
|
|
93
|
+
return k !== i ? k - i : C.label.localeCompare(b.label);
|
|
94
|
+
}), w = (f ? xe(O, f, {
|
|
95
95
|
keys: ["name", "label", "value"],
|
|
96
|
-
threshold:
|
|
97
|
-
}) : O).slice(0,
|
|
96
|
+
threshold: xe.rankings.CONTAINS
|
|
97
|
+
}) : O).slice(0, Ge), D = $s.test(f) && !e.some((C) => C.name === f) && a === "external", R = () => {
|
|
98
98
|
y(!0), g(-1);
|
|
99
|
-
},
|
|
99
|
+
}, M = () => {
|
|
100
100
|
setTimeout(() => {
|
|
101
101
|
y(!1), g(-1);
|
|
102
102
|
}, 200);
|
|
103
|
-
},
|
|
103
|
+
}, U = (C) => {
|
|
104
104
|
c(C.target.value), g(-1), y(!0);
|
|
105
105
|
}, F = (C) => {
|
|
106
106
|
if (!S || w.length === 0) {
|
|
@@ -122,42 +122,42 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
122
122
|
break;
|
|
123
123
|
}
|
|
124
124
|
}, $ = (C) => {
|
|
125
|
-
|
|
125
|
+
o(C, 10), c(""), y(!1), g(-1), V.current?.focus();
|
|
126
126
|
}, W = () => {
|
|
127
|
-
|
|
127
|
+
o(
|
|
128
128
|
{
|
|
129
|
-
name:
|
|
130
|
-
label:
|
|
131
|
-
value:
|
|
129
|
+
name: f,
|
|
130
|
+
label: f,
|
|
131
|
+
value: f,
|
|
132
132
|
shareType: "guest"
|
|
133
133
|
},
|
|
134
134
|
10
|
|
135
135
|
), c(""), y(!1), g(-1), V.current?.focus();
|
|
136
136
|
};
|
|
137
|
-
return /* @__PURE__ */
|
|
137
|
+
return /* @__PURE__ */ L(mt, { ...l, children: [
|
|
138
138
|
/* @__PURE__ */ p(
|
|
139
|
-
|
|
139
|
+
je,
|
|
140
140
|
{
|
|
141
141
|
ref: V,
|
|
142
|
-
value:
|
|
143
|
-
placeholder:
|
|
144
|
-
disabled:
|
|
142
|
+
value: f,
|
|
143
|
+
placeholder: r,
|
|
144
|
+
disabled: s,
|
|
145
145
|
onFocus: R,
|
|
146
146
|
onClick: R,
|
|
147
|
-
onBlur:
|
|
148
|
-
onChange:
|
|
147
|
+
onBlur: M,
|
|
148
|
+
onChange: U,
|
|
149
149
|
onKeyDown: F,
|
|
150
150
|
style: { width: "100%" }
|
|
151
151
|
}
|
|
152
152
|
),
|
|
153
|
-
S && (w.length > 0 || D) && /* @__PURE__ */
|
|
154
|
-
|
|
153
|
+
S && (w.length > 0 || D) && /* @__PURE__ */ L(
|
|
154
|
+
ht,
|
|
155
155
|
{
|
|
156
|
-
...
|
|
157
|
-
className: ue(
|
|
156
|
+
...u?.list,
|
|
157
|
+
className: ue(u?.list?.className, { "no-owner": !n }),
|
|
158
158
|
children: [
|
|
159
159
|
w.map((C, b) => /* @__PURE__ */ p(
|
|
160
|
-
|
|
160
|
+
De,
|
|
161
161
|
{
|
|
162
162
|
name: C.name,
|
|
163
163
|
label: C.label,
|
|
@@ -175,10 +175,10 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
175
175
|
C.value
|
|
176
176
|
)),
|
|
177
177
|
D && /* @__PURE__ */ p(
|
|
178
|
-
|
|
178
|
+
De,
|
|
179
179
|
{
|
|
180
|
-
name:
|
|
181
|
-
label:
|
|
180
|
+
name: f,
|
|
181
|
+
label: f,
|
|
182
182
|
shareType: "guest",
|
|
183
183
|
isOwner: !1,
|
|
184
184
|
isMe: !1,
|
|
@@ -191,32 +191,32 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
191
191
|
isSearchResult: !0
|
|
192
192
|
}
|
|
193
193
|
),
|
|
194
|
-
w.length ===
|
|
194
|
+
w.length === Ge && /* @__PURE__ */ p("li", { className: "tip", children: "More than 500 results, please refine your search..." })
|
|
195
195
|
]
|
|
196
196
|
}
|
|
197
197
|
)
|
|
198
198
|
] });
|
|
199
|
-
},
|
|
199
|
+
}, to = {
|
|
200
200
|
0: "No access",
|
|
201
201
|
10: "Viewer",
|
|
202
202
|
20: "Editor",
|
|
203
203
|
30: "Admin"
|
|
204
|
-
},
|
|
204
|
+
}, ze = (e) => {
|
|
205
205
|
if (!e) return "";
|
|
206
206
|
try {
|
|
207
|
-
const t =
|
|
208
|
-
if (
|
|
209
|
-
return
|
|
207
|
+
const t = qe(e);
|
|
208
|
+
if (Qe(t))
|
|
209
|
+
return Xe(t, "yyyy-MM-dd");
|
|
210
210
|
} catch {
|
|
211
211
|
return "";
|
|
212
212
|
}
|
|
213
213
|
return "";
|
|
214
|
-
},
|
|
214
|
+
}, He = (e, t) => {
|
|
215
215
|
if (!e) return null;
|
|
216
216
|
try {
|
|
217
|
-
const n =
|
|
218
|
-
if (
|
|
219
|
-
return
|
|
217
|
+
const n = qe(e);
|
|
218
|
+
if (Qe(n))
|
|
219
|
+
return Xe(n, t);
|
|
220
220
|
} catch {
|
|
221
221
|
return null;
|
|
222
222
|
}
|
|
@@ -224,32 +224,32 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
224
224
|
}, ne = (e) => {
|
|
225
225
|
if (!e) return null;
|
|
226
226
|
try {
|
|
227
|
-
const [t, n,
|
|
228
|
-
if (t && n &&
|
|
229
|
-
return new Date(Date.UTC(t, n - 1,
|
|
227
|
+
const [t, n, r] = e.split("-").map(Number);
|
|
228
|
+
if (t && n && r)
|
|
229
|
+
return new Date(Date.UTC(t, n - 1, r)).toISOString();
|
|
230
230
|
} catch {
|
|
231
231
|
return null;
|
|
232
232
|
}
|
|
233
233
|
return null;
|
|
234
|
-
},
|
|
234
|
+
}, so = ({
|
|
235
235
|
value: e,
|
|
236
236
|
onChange: t,
|
|
237
237
|
emptyTrigger: n,
|
|
238
|
-
valueTrigger:
|
|
239
|
-
align:
|
|
240
|
-
disabled:
|
|
241
|
-
className:
|
|
242
|
-
displayFormat:
|
|
243
|
-
minDate:
|
|
244
|
-
maxDate:
|
|
238
|
+
valueTrigger: r,
|
|
239
|
+
align: s = "left",
|
|
240
|
+
disabled: a = !1,
|
|
241
|
+
className: o,
|
|
242
|
+
displayFormat: u = "MMM d",
|
|
243
|
+
minDate: l,
|
|
244
|
+
maxDate: f,
|
|
245
245
|
pt: c
|
|
246
246
|
}) => {
|
|
247
|
-
const [S, y] = x(!1), [T, g] = x(""), [V, O] = x(""), w =
|
|
247
|
+
const [S, y] = x(!1), [T, g] = x(""), [V, O] = x(""), w = ie(null), D = ie(null), R = ie(null), M = ie(null), U = e.startDate || e.endDate, F = j(() => {
|
|
248
248
|
const E = ne(T), _ = ne(V);
|
|
249
249
|
(E !== e.startDate || _ !== e.endDate) && t({ startDate: E, endDate: _ }), y(!1);
|
|
250
250
|
}, [T, V, e.startDate, e.endDate, t]);
|
|
251
251
|
H(() => {
|
|
252
|
-
S && (g(
|
|
252
|
+
S && (g(ze(e.startDate)), O(ze(e.endDate)), !e.startDate && !e.endDate && setTimeout(() => {
|
|
253
253
|
try {
|
|
254
254
|
R.current?.showPicker();
|
|
255
255
|
} catch {
|
|
@@ -258,8 +258,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
258
258
|
}, [S, e.startDate, e.endDate]), H(() => {
|
|
259
259
|
if (!S) return;
|
|
260
260
|
const E = (_) => {
|
|
261
|
-
const
|
|
262
|
-
w.current && !w.current.contains(
|
|
261
|
+
const G = _.target;
|
|
262
|
+
w.current && !w.current.contains(G) && D.current && !D.current.contains(G) && F();
|
|
263
263
|
};
|
|
264
264
|
return document.addEventListener("mousedown", E), () => document.removeEventListener("mousedown", E);
|
|
265
265
|
}, [S, F]), H(() => {
|
|
@@ -272,74 +272,74 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
272
272
|
const $ = (E) => {
|
|
273
273
|
const _ = E.target.value;
|
|
274
274
|
g(_);
|
|
275
|
-
const
|
|
276
|
-
if (
|
|
277
|
-
const X = new Date(
|
|
275
|
+
const G = ne(_), K = ne(V);
|
|
276
|
+
if (G && K) {
|
|
277
|
+
const X = new Date(G), oe = new Date(K);
|
|
278
278
|
X > oe && O(_);
|
|
279
279
|
}
|
|
280
|
-
|
|
280
|
+
G && setTimeout(() => {
|
|
281
281
|
try {
|
|
282
|
-
|
|
282
|
+
M.current?.showPicker();
|
|
283
283
|
} catch {
|
|
284
284
|
}
|
|
285
285
|
}, 100);
|
|
286
286
|
}, W = (E) => {
|
|
287
287
|
const _ = E.target.value;
|
|
288
288
|
O(_);
|
|
289
|
-
const
|
|
290
|
-
let X =
|
|
291
|
-
if (
|
|
292
|
-
const
|
|
293
|
-
new Date(
|
|
289
|
+
const G = ne(_), K = ne(T);
|
|
290
|
+
let X = K, oe = G;
|
|
291
|
+
if (G && K) {
|
|
292
|
+
const se = new Date(K);
|
|
293
|
+
new Date(G) < se && (g(_), X = G);
|
|
294
294
|
}
|
|
295
295
|
t({ startDate: X, endDate: oe });
|
|
296
296
|
}, C = () => {
|
|
297
297
|
g(""), O(""), t({ startDate: null, endDate: null }), y(!1);
|
|
298
298
|
}, b = (E) => {
|
|
299
|
-
E.stopPropagation(),
|
|
300
|
-
}, v = S ? ne(T) : e.startDate, k = S ? ne(V) : e.endDate,
|
|
299
|
+
E.stopPropagation(), a || (S ? F() : y(!0));
|
|
300
|
+
}, v = S ? ne(T) : e.startDate, k = S ? ne(V) : e.endDate, i = He(v, u), m = He(k, u), d = i && m ? `${i} - ${m}` : i || m || "", h = () => {
|
|
301
301
|
if (!w.current) return { top: 0, left: 0 };
|
|
302
302
|
const E = w.current.getBoundingClientRect();
|
|
303
303
|
return {
|
|
304
304
|
top: E.bottom + 4,
|
|
305
|
-
left:
|
|
305
|
+
left: s === "left" ? E.left : E.right
|
|
306
306
|
};
|
|
307
|
-
}, I = () =>
|
|
308
|
-
return /* @__PURE__ */
|
|
309
|
-
|
|
307
|
+
}, I = () => U ? r ? r(e, d) : /* @__PURE__ */ p("span", { className: ue("date-value", c?.valueDisplay?.className), ...c?.valueDisplay, children: d }) : n || /* @__PURE__ */ p(St, { icon: "calendar_add_on" }), P = h();
|
|
308
|
+
return /* @__PURE__ */ L(
|
|
309
|
+
gt,
|
|
310
310
|
{
|
|
311
311
|
...c?.root,
|
|
312
|
-
className: ue(
|
|
312
|
+
className: ue(Fe, o, c?.root?.className),
|
|
313
313
|
children: [
|
|
314
314
|
/* @__PURE__ */ p(
|
|
315
|
-
|
|
315
|
+
bt,
|
|
316
316
|
{
|
|
317
317
|
ref: w,
|
|
318
318
|
onClick: b,
|
|
319
|
-
disabled:
|
|
319
|
+
disabled: a,
|
|
320
320
|
type: "button",
|
|
321
321
|
...c?.trigger,
|
|
322
|
-
className: ue(
|
|
322
|
+
className: ue(U ? "has-value" : "empty", c?.trigger?.className),
|
|
323
323
|
children: I()
|
|
324
324
|
}
|
|
325
325
|
),
|
|
326
|
-
S &&
|
|
326
|
+
S && Yt(
|
|
327
327
|
/* @__PURE__ */ p(
|
|
328
|
-
|
|
328
|
+
wt,
|
|
329
329
|
{
|
|
330
330
|
ref: D,
|
|
331
331
|
style: {
|
|
332
332
|
top: P.top,
|
|
333
|
-
left:
|
|
334
|
-
right:
|
|
333
|
+
left: s === "left" ? P.left : "auto",
|
|
334
|
+
right: s === "right" ? window.innerWidth - P.left : "auto",
|
|
335
335
|
...c?.dropdown?.style
|
|
336
336
|
},
|
|
337
337
|
onMouseDown: (E) => E.stopPropagation(),
|
|
338
338
|
...c?.dropdown,
|
|
339
|
-
className: ue(
|
|
340
|
-
children: /* @__PURE__ */
|
|
339
|
+
className: ue(Fe, s, c?.dropdown?.className),
|
|
340
|
+
children: /* @__PURE__ */ L(vt, { className: c?.content?.className, ...c?.content, children: [
|
|
341
341
|
/* @__PURE__ */ p(
|
|
342
|
-
|
|
342
|
+
yt,
|
|
343
343
|
{
|
|
344
344
|
icon: "close",
|
|
345
345
|
variant: "text",
|
|
@@ -347,22 +347,22 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
347
347
|
...c?.closeButton
|
|
348
348
|
}
|
|
349
349
|
),
|
|
350
|
-
/* @__PURE__ */
|
|
351
|
-
|
|
350
|
+
/* @__PURE__ */ L(
|
|
351
|
+
Re,
|
|
352
352
|
{
|
|
353
353
|
className: c?.startDate?.field?.className,
|
|
354
354
|
...c?.startDate?.field,
|
|
355
355
|
children: [
|
|
356
356
|
/* @__PURE__ */ p("label", { ...c?.startDate?.label, children: "Start date" }),
|
|
357
357
|
/* @__PURE__ */ p(
|
|
358
|
-
|
|
358
|
+
Ve,
|
|
359
359
|
{
|
|
360
360
|
ref: R,
|
|
361
361
|
type: "date",
|
|
362
362
|
value: T,
|
|
363
363
|
onChange: $,
|
|
364
|
-
max:
|
|
365
|
-
min:
|
|
364
|
+
max: f ? de(f, "yyyy-MM-dd") : void 0,
|
|
365
|
+
min: l ? de(l, "yyyy-MM-dd") : void 0,
|
|
366
366
|
onClick: (E) => {
|
|
367
367
|
try {
|
|
368
368
|
E.currentTarget.showPicker();
|
|
@@ -375,17 +375,17 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
375
375
|
]
|
|
376
376
|
}
|
|
377
377
|
),
|
|
378
|
-
/* @__PURE__ */
|
|
378
|
+
/* @__PURE__ */ L(Re, { className: c?.endDate?.field?.className, ...c?.endDate?.field, children: [
|
|
379
379
|
/* @__PURE__ */ p("label", { ...c?.endDate?.label, children: "End date" }),
|
|
380
380
|
/* @__PURE__ */ p(
|
|
381
|
-
|
|
381
|
+
Ve,
|
|
382
382
|
{
|
|
383
|
-
ref:
|
|
383
|
+
ref: M,
|
|
384
384
|
type: "date",
|
|
385
385
|
value: V,
|
|
386
386
|
onChange: W,
|
|
387
|
-
max:
|
|
388
|
-
min: T || (
|
|
387
|
+
max: f ? de(f, "yyyy-MM-dd") : void 0,
|
|
388
|
+
min: T || (l ? de(l, "yyyy-MM-dd") : void 0),
|
|
389
389
|
onClick: (E) => {
|
|
390
390
|
try {
|
|
391
391
|
E.currentTarget.showPicker();
|
|
@@ -396,7 +396,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
396
396
|
}
|
|
397
397
|
)
|
|
398
398
|
] }),
|
|
399
|
-
|
|
399
|
+
U && /* @__PURE__ */ p(Et, { onClick: C, variant: "text", ...c?.clearButton, children: "Clear dates" })
|
|
400
400
|
] })
|
|
401
401
|
}
|
|
402
402
|
),
|
|
@@ -405,343 +405,343 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
405
405
|
]
|
|
406
406
|
}
|
|
407
407
|
);
|
|
408
|
-
},
|
|
408
|
+
}, le = {
|
|
409
409
|
version: 1,
|
|
410
410
|
name: "review",
|
|
411
411
|
productType: "review"
|
|
412
|
-
},
|
|
412
|
+
}, ao = ({
|
|
413
413
|
children: e,
|
|
414
414
|
projectName: t,
|
|
415
415
|
onVersionCreated: n,
|
|
416
|
-
dispatch:
|
|
416
|
+
dispatch: r
|
|
417
417
|
}) => {
|
|
418
|
-
const [
|
|
419
|
-
{ projectName: t, folderId:
|
|
420
|
-
{ skip: !
|
|
421
|
-
), P =
|
|
422
|
-
if (!(
|
|
423
|
-
return
|
|
424
|
-
}, [
|
|
418
|
+
const [s, a] = x(""), [o, u] = x(""), [l, f] = x(null), [c, S] = x(null), [y, T] = x(!1), [g, V] = x([]), [O, w] = x(le), [D, R] = x(!1), [M, U] = x(""), [F, $] = x(null), [W, C] = x(null), [b, v] = x(void 0), [k, i] = x(void 0), m = ie(!1), d = ie(null), { data: h = [], isLoading: I } = ss(
|
|
419
|
+
{ projectName: t, folderId: s },
|
|
420
|
+
{ skip: !s || !y || !!o }
|
|
421
|
+
), P = B(() => {
|
|
422
|
+
if (!(o || !O.name || h.length === 0))
|
|
423
|
+
return h.find((A) => A.name === O.name);
|
|
424
|
+
}, [o, O.name, h]), E = o || P?.id || "", { currentData: _ } = as(
|
|
425
425
|
{
|
|
426
426
|
projectName: t,
|
|
427
|
-
productId:
|
|
427
|
+
productId: o
|
|
428
428
|
},
|
|
429
|
-
{ skip: !
|
|
430
|
-
), { data:
|
|
429
|
+
{ skip: !o || !y || b != null }
|
|
430
|
+
), { data: G } = os(
|
|
431
431
|
{ projectName: t, versionId: k },
|
|
432
|
-
{ skip: !k || !y ||
|
|
433
|
-
),
|
|
434
|
-
({ productId: A, folderId:
|
|
435
|
-
|
|
436
|
-
...
|
|
432
|
+
{ skip: !k || !y || l !== null }
|
|
433
|
+
), K = l ?? G?.taskId ?? "", X = !!(k && l === null && !G), oe = j(
|
|
434
|
+
({ productId: A, folderId: N, taskId: z, linkedTask: ae, latestVersionNumber: fe, latestVersionId: pt }) => {
|
|
435
|
+
u(A || ""), a(N || ""), f(z || null), S(ae || null), v(fe), i(pt), w((ft) => ({
|
|
436
|
+
...ft,
|
|
437
437
|
...fe != null ? { version: fe + 1 } : {}
|
|
438
438
|
})), T(!0);
|
|
439
439
|
},
|
|
440
440
|
[]
|
|
441
|
-
),
|
|
441
|
+
), se = j(() => {
|
|
442
442
|
g.forEach((A) => {
|
|
443
443
|
A.preview && URL.revokeObjectURL(A.preview);
|
|
444
|
-
}), V([]), w(
|
|
445
|
-
}, [g]), [
|
|
444
|
+
}), V([]), w(le), $(null), C(null), U(""), R(!1), T(!1), u(""), a(""), f(null), S(null), m.current = !1, v(void 0), i(void 0);
|
|
445
|
+
}, [g]), [ye] = ns(), [he] = rs(), J = j(
|
|
446
446
|
async (A) => {
|
|
447
447
|
try {
|
|
448
448
|
if (E) {
|
|
449
|
-
const
|
|
449
|
+
const N = await Ms(he, t, {
|
|
450
450
|
productId: E,
|
|
451
451
|
version: A.version,
|
|
452
|
-
taskId:
|
|
452
|
+
taskId: K || void 0
|
|
453
453
|
});
|
|
454
|
-
return n(E,
|
|
454
|
+
return n(E, N.id), Q.success("Created new version"), {
|
|
455
455
|
productId: E,
|
|
456
|
-
versionId:
|
|
456
|
+
versionId: N.id
|
|
457
457
|
};
|
|
458
458
|
} else {
|
|
459
|
-
const { product:
|
|
460
|
-
|
|
459
|
+
const { product: N, version: z } = await Ns(
|
|
460
|
+
ye,
|
|
461
461
|
he,
|
|
462
462
|
t,
|
|
463
463
|
{
|
|
464
|
-
folderId:
|
|
464
|
+
folderId: s,
|
|
465
465
|
name: A.name,
|
|
466
466
|
productType: A.productType || "review",
|
|
467
467
|
productBaseType: A.productType || "review"
|
|
468
468
|
},
|
|
469
469
|
{
|
|
470
470
|
version: A.version,
|
|
471
|
-
taskId:
|
|
471
|
+
taskId: K || void 0
|
|
472
472
|
}
|
|
473
473
|
);
|
|
474
|
-
return n(
|
|
475
|
-
productId:
|
|
476
|
-
versionId:
|
|
474
|
+
return n(N.id, z.id), Q.success("Created new version"), {
|
|
475
|
+
productId: N.id,
|
|
476
|
+
versionId: z.id
|
|
477
477
|
};
|
|
478
478
|
}
|
|
479
|
-
} catch (
|
|
480
|
-
throw console.error("Error uploading version:",
|
|
479
|
+
} catch (N) {
|
|
480
|
+
throw console.error("Error uploading version:", N), N.message || N;
|
|
481
481
|
}
|
|
482
482
|
},
|
|
483
|
-
[
|
|
484
|
-
), ge =
|
|
483
|
+
[se, E, s, K, t]
|
|
484
|
+
), ge = j(
|
|
485
485
|
(A) => {
|
|
486
486
|
if (E) return;
|
|
487
|
-
const
|
|
488
|
-
if (
|
|
489
|
-
const
|
|
490
|
-
|
|
487
|
+
const N = A[0];
|
|
488
|
+
if (N) {
|
|
489
|
+
const z = Bs(N.name), ae = Ls(z);
|
|
490
|
+
ae && ae !== O.version && w((fe) => ({
|
|
491
491
|
...fe,
|
|
492
|
-
version:
|
|
492
|
+
version: ae
|
|
493
493
|
}));
|
|
494
494
|
}
|
|
495
495
|
},
|
|
496
496
|
[E, O.version]
|
|
497
|
-
), Z = _?.version ?? b ?? P?.latestVersion?.version, ee =
|
|
498
|
-
w((
|
|
499
|
-
...
|
|
500
|
-
[A]:
|
|
501
|
-
})),
|
|
502
|
-
}, []),
|
|
497
|
+
), Z = _?.version ?? b ?? P?.latestVersion?.version, ee = j((A, N) => {
|
|
498
|
+
w((z) => ({
|
|
499
|
+
...z,
|
|
500
|
+
[A]: N
|
|
501
|
+
})), U("");
|
|
502
|
+
}, []), Pe = j(
|
|
503
503
|
async (A) => {
|
|
504
504
|
try {
|
|
505
|
-
R(!0),
|
|
506
|
-
const
|
|
507
|
-
if (!
|
|
508
|
-
throw
|
|
509
|
-
const
|
|
510
|
-
|
|
511
|
-
} catch (
|
|
512
|
-
|
|
505
|
+
R(!0), U("");
|
|
506
|
+
const N = Us(A, Z, !E);
|
|
507
|
+
if (!N.isValid)
|
|
508
|
+
throw N.error;
|
|
509
|
+
const z = await J(A);
|
|
510
|
+
s && (d.current = { folderId: s, productName: A.name }), z?.productId && $(z.productId), z?.versionId && C(z.versionId), g.length < 1 && (R(!1), se());
|
|
511
|
+
} catch (N) {
|
|
512
|
+
U(N), R(!1);
|
|
513
513
|
}
|
|
514
514
|
},
|
|
515
|
-
[J, g.length,
|
|
515
|
+
[J, g.length, se, Z, E]
|
|
516
516
|
);
|
|
517
517
|
H(() => {
|
|
518
518
|
if (!(!y || b != null))
|
|
519
|
-
return w(_ ? (A) => ({ ...A, version: _.version + 1 }) :
|
|
520
|
-
w(
|
|
519
|
+
return w(_ ? (A) => ({ ...A, version: _.version + 1 }) : le), () => {
|
|
520
|
+
w(le);
|
|
521
521
|
};
|
|
522
522
|
}, [y, _, b]), H(() => {
|
|
523
|
-
if (!y ||
|
|
524
|
-
const A =
|
|
525
|
-
if (A && A.folderId ===
|
|
526
|
-
w((
|
|
523
|
+
if (!y || o || h.length === 0 || O.name !== le.name) return;
|
|
524
|
+
const A = d.current;
|
|
525
|
+
if (A && A.folderId === s && h.some((ae) => ae.name === A.productName)) {
|
|
526
|
+
w((ae) => ({ ...ae, name: A.productName }));
|
|
527
527
|
return;
|
|
528
528
|
}
|
|
529
|
-
const
|
|
530
|
-
|
|
531
|
-
}, [y,
|
|
532
|
-
if (!(!y ||
|
|
529
|
+
const N = h[h.length - 1];
|
|
530
|
+
N && w((z) => ({ ...z, name: N.name }));
|
|
531
|
+
}, [y, o, h]), H(() => {
|
|
532
|
+
if (!(!y || o))
|
|
533
533
|
if (P) {
|
|
534
|
-
w((
|
|
535
|
-
...
|
|
534
|
+
w((N) => ({
|
|
535
|
+
...N,
|
|
536
536
|
productType: P.productType,
|
|
537
537
|
...P.latestVersion && {
|
|
538
538
|
version: P.latestVersion.version + 1
|
|
539
539
|
}
|
|
540
540
|
}));
|
|
541
541
|
const A = P.latestVersion?.task;
|
|
542
|
-
A && (
|
|
542
|
+
A && (l === null || m.current) ? (f(A.id), S({
|
|
543
543
|
id: A.id,
|
|
544
544
|
name: A.name,
|
|
545
545
|
label: A.label,
|
|
546
546
|
taskType: A.taskType
|
|
547
|
-
}),
|
|
547
|
+
}), m.current = !0) : !A && m.current && (f(null), S(null), m.current = !1);
|
|
548
548
|
} else
|
|
549
|
-
w((A) => ({ ...A, version:
|
|
550
|
-
}, [y,
|
|
551
|
-
const
|
|
552
|
-
|
|
553
|
-
}, []),
|
|
549
|
+
w((A) => ({ ...A, version: le.version })), (l === null || m.current) && (f(null), S(null), m.current = !1);
|
|
550
|
+
}, [y, o, P]);
|
|
551
|
+
const Ae = j((A) => {
|
|
552
|
+
f(A), m.current = !1;
|
|
553
|
+
}, []), dt = B(
|
|
554
554
|
() => ({
|
|
555
|
-
productId:
|
|
556
|
-
setProductId:
|
|
557
|
-
folderId:
|
|
558
|
-
taskId:
|
|
555
|
+
productId: o,
|
|
556
|
+
setProductId: u,
|
|
557
|
+
folderId: s,
|
|
558
|
+
taskId: K,
|
|
559
559
|
linkedTask: c,
|
|
560
560
|
isLoadingTask: X,
|
|
561
|
-
setTaskId:
|
|
561
|
+
setTaskId: Ae,
|
|
562
562
|
setLinkedTask: S,
|
|
563
|
-
setFolderId:
|
|
563
|
+
setFolderId: a,
|
|
564
564
|
isOpen: y,
|
|
565
565
|
projectName: t,
|
|
566
566
|
latestVersion: Z,
|
|
567
567
|
pendingFiles: g,
|
|
568
568
|
setPendingFiles: V,
|
|
569
569
|
onOpenVersionUpload: oe,
|
|
570
|
-
onCloseVersionUpload:
|
|
570
|
+
onCloseVersionUpload: se,
|
|
571
571
|
onUploadVersion: J,
|
|
572
572
|
extractAndSetVersionFromFiles: ge,
|
|
573
573
|
form: O,
|
|
574
574
|
setForm: w,
|
|
575
575
|
isSubmitting: D,
|
|
576
|
-
error:
|
|
576
|
+
error: M,
|
|
577
577
|
createdProductId: F,
|
|
578
578
|
createdVersionId: W,
|
|
579
579
|
handleFormChange: ee,
|
|
580
|
-
handleFormSubmit:
|
|
581
|
-
folderProducts:
|
|
580
|
+
handleFormSubmit: Pe,
|
|
581
|
+
folderProducts: h,
|
|
582
582
|
isFolderProductsLoading: I,
|
|
583
583
|
matchedProduct: P,
|
|
584
|
-
dispatch:
|
|
584
|
+
dispatch: r
|
|
585
585
|
}),
|
|
586
586
|
[
|
|
587
|
-
o,
|
|
588
587
|
s,
|
|
589
588
|
a,
|
|
590
|
-
|
|
589
|
+
o,
|
|
590
|
+
K,
|
|
591
591
|
c,
|
|
592
592
|
X,
|
|
593
|
-
|
|
593
|
+
Ae,
|
|
594
594
|
S,
|
|
595
|
-
|
|
595
|
+
u,
|
|
596
596
|
y,
|
|
597
597
|
t,
|
|
598
598
|
Z,
|
|
599
599
|
g,
|
|
600
600
|
V,
|
|
601
601
|
oe,
|
|
602
|
-
|
|
602
|
+
se,
|
|
603
603
|
J,
|
|
604
604
|
ge,
|
|
605
605
|
O,
|
|
606
606
|
D,
|
|
607
|
-
|
|
607
|
+
M,
|
|
608
608
|
F,
|
|
609
609
|
W,
|
|
610
610
|
ee,
|
|
611
|
-
|
|
612
|
-
|
|
611
|
+
Pe,
|
|
612
|
+
h,
|
|
613
613
|
I,
|
|
614
614
|
P,
|
|
615
|
-
|
|
615
|
+
r
|
|
616
616
|
]
|
|
617
617
|
);
|
|
618
|
-
return /* @__PURE__ */ p(
|
|
619
|
-
},
|
|
620
|
-
const [t, n] = x(!1), { siteInfo:
|
|
618
|
+
return /* @__PURE__ */ p(Rs.Provider, { value: dt, children: e });
|
|
619
|
+
}, oo = ({ children: e }) => {
|
|
620
|
+
const [t, n] = x(!1), { siteInfo: r, user: s, cloudInfo: a } = Je(), { data: o, isLoading: u } = is(
|
|
621
621
|
{},
|
|
622
622
|
{
|
|
623
|
-
skip: !
|
|
623
|
+
skip: !s?.name || !a?.connected
|
|
624
624
|
}
|
|
625
|
-
),
|
|
626
|
-
t || (
|
|
625
|
+
), l = () => {
|
|
626
|
+
t || (bs(() => {
|
|
627
627
|
if (document.getElementById("featurebase-sdk")) return;
|
|
628
|
-
const
|
|
629
|
-
|
|
628
|
+
const d = document.createElement("script");
|
|
629
|
+
d.src = "https://do.featurebase.app/js/sdk.js", d.id = "featurebase-sdk", d.async = !0, document.body.appendChild(d);
|
|
630
630
|
}), n(!0));
|
|
631
|
-
},
|
|
632
|
-
const
|
|
633
|
-
typeof
|
|
634
|
-
(
|
|
631
|
+
}, f = () => {
|
|
632
|
+
const d = window;
|
|
633
|
+
typeof d.Featurebase != "function" && (d.Featurebase = function() {
|
|
634
|
+
(d.Featurebase.q = d.Featurebase.q || []).push(arguments);
|
|
635
635
|
});
|
|
636
|
-
}, c =
|
|
637
|
-
if (!
|
|
638
|
-
const
|
|
639
|
-
...
|
|
636
|
+
}, c = r?.version?.split("+")[0] || "unknown", S = r?.version?.split("+")[1] || "unknown", y = () => {
|
|
637
|
+
if (!s?.name || !o?.available) return;
|
|
638
|
+
const d = {
|
|
639
|
+
...o.data,
|
|
640
640
|
customFields: {
|
|
641
641
|
origin: window.location.origin,
|
|
642
642
|
serverVersion: c,
|
|
643
643
|
frontendVersion: S,
|
|
644
|
-
instanceId:
|
|
644
|
+
instanceId: a?.instanceId
|
|
645
645
|
}
|
|
646
646
|
};
|
|
647
|
-
console.log(
|
|
647
|
+
console.log(d), window.Featurebase("identify", d, (I) => {
|
|
648
648
|
I ? console.error(I) : console.log("Featurebase identify completed");
|
|
649
649
|
});
|
|
650
650
|
}, [T, g] = x(!1), [V, O] = x(0), w = () => {
|
|
651
|
-
const
|
|
652
|
-
if (typeof
|
|
653
|
-
if (console.log("Initializing Featurebase messenger widget"), !
|
|
651
|
+
const d = window;
|
|
652
|
+
if (typeof d.Featurebase == "function") {
|
|
653
|
+
if (console.log("Initializing Featurebase messenger widget"), !o?.available)
|
|
654
654
|
return console.warn("messenger verification not available, skipping messenger init");
|
|
655
|
-
|
|
655
|
+
d.Featurebase(
|
|
656
656
|
"boot",
|
|
657
657
|
{
|
|
658
658
|
theme: "dark",
|
|
659
|
-
...
|
|
659
|
+
...o?.data
|
|
660
660
|
},
|
|
661
|
-
(
|
|
662
|
-
|
|
661
|
+
(h) => {
|
|
662
|
+
h ? console.error(h) : (console.log("Featurebase messenger completed"), g(!0), d.Featurebase("onUnreadCountChange", function(I) {
|
|
663
663
|
O(I);
|
|
664
664
|
}));
|
|
665
665
|
}
|
|
666
666
|
);
|
|
667
667
|
}
|
|
668
668
|
}, D = () => {
|
|
669
|
-
const
|
|
670
|
-
if (
|
|
669
|
+
const d = [];
|
|
670
|
+
if (s?.data?.isAdmin) {
|
|
671
671
|
const I = ["Server", "Addon", "Pipeline"];
|
|
672
|
-
|
|
673
|
-
} else
|
|
674
|
-
const
|
|
675
|
-
return typeof
|
|
672
|
+
d.push(...I);
|
|
673
|
+
} else r?.disableChangelog || d.push("Highlights");
|
|
674
|
+
const h = window;
|
|
675
|
+
return typeof h.Featurebase == "function" && h.Featurebase("init_changelog_widget", {
|
|
676
676
|
organization: "ayon",
|
|
677
677
|
dropdown: {
|
|
678
678
|
enabled: !0
|
|
679
679
|
},
|
|
680
680
|
popup: {
|
|
681
681
|
enabled: !0,
|
|
682
|
-
usersName:
|
|
682
|
+
usersName: s?.attrib?.fullName,
|
|
683
683
|
autoOpenForNewUpdates: !0
|
|
684
684
|
},
|
|
685
|
-
category:
|
|
685
|
+
category: d,
|
|
686
686
|
theme: "dark"
|
|
687
687
|
}), !1;
|
|
688
688
|
}, R = () => {
|
|
689
|
-
const
|
|
690
|
-
return typeof
|
|
689
|
+
const d = window;
|
|
690
|
+
return typeof d.Featurebase == "function" && d.Featurebase(
|
|
691
691
|
"initialize_feedback_widget",
|
|
692
692
|
{
|
|
693
693
|
organization: "ayon",
|
|
694
694
|
theme: "dark",
|
|
695
695
|
metadata: {}
|
|
696
696
|
},
|
|
697
|
-
(
|
|
698
|
-
|
|
697
|
+
(h) => {
|
|
698
|
+
h && console.error("Error initializing feedback widget:", h);
|
|
699
699
|
}
|
|
700
700
|
), !1;
|
|
701
|
-
},
|
|
702
|
-
const
|
|
703
|
-
return typeof
|
|
701
|
+
}, M = () => {
|
|
702
|
+
const d = window;
|
|
703
|
+
return typeof d.Featurebase == "function" && d.Featurebase(
|
|
704
704
|
"initialize_portal_widget",
|
|
705
705
|
{
|
|
706
706
|
organization: "ayon",
|
|
707
707
|
fullScreen: !0,
|
|
708
708
|
initialPage: "MainView"
|
|
709
709
|
},
|
|
710
|
-
(
|
|
710
|
+
(h) => h ? (console.error("Error initializing portal widget:", h), !1) : !0
|
|
711
711
|
), !1;
|
|
712
|
-
},
|
|
713
|
-
const
|
|
714
|
-
return typeof
|
|
712
|
+
}, U = () => {
|
|
713
|
+
const d = window;
|
|
714
|
+
return typeof d.Featurebase == "function" && d.Featurebase(
|
|
715
715
|
"initialize_survey_widget",
|
|
716
716
|
{
|
|
717
717
|
organization: "ayon",
|
|
718
718
|
placement: "bottom-right",
|
|
719
719
|
theme: "dark",
|
|
720
|
-
email:
|
|
721
|
-
featurebaseJwt:
|
|
720
|
+
email: s?.attrib?.email,
|
|
721
|
+
featurebaseJwt: o?.data?.featurebaseJwt,
|
|
722
722
|
locale: "en"
|
|
723
723
|
},
|
|
724
|
-
(
|
|
725
|
-
|
|
724
|
+
(h) => {
|
|
725
|
+
h ? console.error("Error initializing survey widget:", h) : console.log("Survey widget initialized successfully");
|
|
726
726
|
}
|
|
727
727
|
), !1;
|
|
728
728
|
};
|
|
729
729
|
H(() => {
|
|
730
|
-
|
|
731
|
-
}, [
|
|
730
|
+
s?.name && r && (r.disableFeedback || t || (l(), f(), D(), R(), M()));
|
|
731
|
+
}, [s?.name, t, r]);
|
|
732
732
|
const [F, $] = x(!1);
|
|
733
733
|
H(() => {
|
|
734
|
-
!
|
|
734
|
+
!s?.name || !a || !o || !t || F || (y(), U(), $(!0));
|
|
735
735
|
}, [
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
736
|
+
s?.name,
|
|
737
|
+
a?.instanceId,
|
|
738
|
+
o?.available,
|
|
739
739
|
t,
|
|
740
740
|
window.location.pathname,
|
|
741
741
|
F
|
|
742
742
|
]), H(() => {
|
|
743
|
-
|
|
744
|
-
}, [
|
|
743
|
+
u || !t || w();
|
|
744
|
+
}, [o, u, t]);
|
|
745
745
|
const W = () => {
|
|
746
746
|
window.postMessage({
|
|
747
747
|
target: "FeaturebaseWidget",
|
|
@@ -749,27 +749,27 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
749
749
|
action: "openFeedbackWidget"
|
|
750
750
|
}
|
|
751
751
|
});
|
|
752
|
-
}, C = (
|
|
752
|
+
}, C = (d = "MainView", h) => {
|
|
753
753
|
window.postMessage({
|
|
754
754
|
target: "FeaturebaseWidget",
|
|
755
755
|
data: {
|
|
756
756
|
action: "changePage",
|
|
757
|
-
payload:
|
|
757
|
+
payload: d,
|
|
758
758
|
openWidget: !0,
|
|
759
|
-
...
|
|
759
|
+
...h && { articleId: h }
|
|
760
760
|
}
|
|
761
761
|
});
|
|
762
|
-
}, [b, v] = x(!1), k = document.getElementById("fb-messenger-root"),
|
|
762
|
+
}, [b, v] = x(!1), k = document.getElementById("fb-messenger-root"), i = (d) => k instanceof HTMLElement && (k.style.display = d ? "block" : "none");
|
|
763
763
|
H(() => {
|
|
764
|
-
!t || !T ||
|
|
764
|
+
!t || !T || i(b);
|
|
765
765
|
}, [t, T, b]), H(() => {
|
|
766
766
|
if (!t || !T) return;
|
|
767
|
-
const
|
|
768
|
-
typeof
|
|
767
|
+
const d = window;
|
|
768
|
+
typeof d.Featurebase == "function" && d.Featurebase("onHide", function() {
|
|
769
769
|
v(!1);
|
|
770
770
|
});
|
|
771
771
|
}, [t, T]);
|
|
772
|
-
const
|
|
772
|
+
const m = (d = "Home", h) => {
|
|
773
773
|
const I = window;
|
|
774
774
|
if (typeof I.Featurebase != "function") {
|
|
775
775
|
window.alert("Featurebase SDK is not loaded yet. Please try again later."), console.warn("Featurebase SDK is not loaded yet.");
|
|
@@ -779,7 +779,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
779
779
|
I.Featurebase("hide"), v(!1);
|
|
780
780
|
return;
|
|
781
781
|
}
|
|
782
|
-
switch (v(!0),
|
|
782
|
+
switch (v(!0), d) {
|
|
783
783
|
case "Home":
|
|
784
784
|
I.Featurebase("show");
|
|
785
785
|
break;
|
|
@@ -793,10 +793,10 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
793
793
|
I.Featurebase("show", "help");
|
|
794
794
|
break;
|
|
795
795
|
case "ShowArticle":
|
|
796
|
-
|
|
796
|
+
h ? I.Featurebase("showArticle", h) : I.Featurebase("show", "help");
|
|
797
797
|
break;
|
|
798
798
|
case "NewMessage":
|
|
799
|
-
I.Featurebase("showNewMessage",
|
|
799
|
+
I.Featurebase("showNewMessage", h);
|
|
800
800
|
break;
|
|
801
801
|
default:
|
|
802
802
|
I.Featurebase("show");
|
|
@@ -804,10 +804,10 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
804
804
|
}
|
|
805
805
|
};
|
|
806
806
|
return /* @__PURE__ */ p(
|
|
807
|
-
|
|
807
|
+
Es.Provider,
|
|
808
808
|
{
|
|
809
809
|
value: {
|
|
810
|
-
openSupport:
|
|
810
|
+
openSupport: m,
|
|
811
811
|
openFeedback: W,
|
|
812
812
|
openPortal: C,
|
|
813
813
|
messengerLoaded: T,
|
|
@@ -819,23 +819,23 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
819
819
|
children: e
|
|
820
820
|
}
|
|
821
821
|
);
|
|
822
|
-
},
|
|
822
|
+
}, no = ({
|
|
823
823
|
projectName: e,
|
|
824
824
|
list: t,
|
|
825
825
|
isLoading: n,
|
|
826
|
-
attributes:
|
|
826
|
+
attributes: r = []
|
|
827
827
|
}) => {
|
|
828
|
-
const [
|
|
828
|
+
const [s, a] = x({
|
|
829
829
|
label: "",
|
|
830
830
|
tags: [],
|
|
831
831
|
active: !1
|
|
832
|
-
}),
|
|
833
|
-
() =>
|
|
832
|
+
}), o = (t?.accessLevel || 0) >= 30, { tags: u } = Ze(), { data: l = [] } = ls(), f = B(
|
|
833
|
+
() => l.filter((g) => g.scope?.includes("list")).map((g) => ({
|
|
834
834
|
name: g.name,
|
|
835
835
|
data: g.data
|
|
836
836
|
})),
|
|
837
|
-
[
|
|
838
|
-
), c =
|
|
837
|
+
[l]
|
|
838
|
+
), c = B(
|
|
839
839
|
() => [
|
|
840
840
|
{ name: "label", data: { type: "string", title: "Label" } },
|
|
841
841
|
{
|
|
@@ -843,32 +843,32 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
843
843
|
data: {
|
|
844
844
|
type: "list_of_strings",
|
|
845
845
|
title: "Tags",
|
|
846
|
-
enum:
|
|
846
|
+
enum: u?.map((g) => ({ value: g.name, label: g.name, color: g.color })),
|
|
847
847
|
enableCustomValues: !0,
|
|
848
848
|
enableSearch: !0
|
|
849
849
|
}
|
|
850
850
|
},
|
|
851
|
-
...
|
|
851
|
+
...f,
|
|
852
852
|
{ name: "active", data: { type: "boolean", title: "Active" } },
|
|
853
|
-
...
|
|
853
|
+
...r
|
|
854
854
|
],
|
|
855
|
-
[
|
|
855
|
+
[u, f, r]
|
|
856
856
|
);
|
|
857
857
|
H(() => {
|
|
858
858
|
if (t) {
|
|
859
|
-
const g = t.attrib || {}, O = [...
|
|
859
|
+
const g = t.attrib || {}, O = [...f, ...r].reduce((w, { name: D }) => {
|
|
860
860
|
const R = g[D];
|
|
861
861
|
return w[D] = R || "", w;
|
|
862
862
|
}, {});
|
|
863
|
-
|
|
863
|
+
a({
|
|
864
864
|
label: t?.label || "",
|
|
865
865
|
tags: t?.tags || [],
|
|
866
866
|
active: t?.active ?? !1,
|
|
867
867
|
...O
|
|
868
868
|
});
|
|
869
869
|
}
|
|
870
|
-
}, [t, JSON.stringify(
|
|
871
|
-
const [S] =
|
|
870
|
+
}, [t, JSON.stringify(r), JSON.stringify(f)]);
|
|
871
|
+
const [S] = cs(), y = (g) => r.some((V) => V.name === g) || f.some((V) => V.name === g), T = j(
|
|
872
872
|
async (g, V) => {
|
|
873
873
|
if (!t?.id) return console.warn("No list ID provided");
|
|
874
874
|
let O;
|
|
@@ -884,10 +884,10 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
884
884
|
...w,
|
|
885
885
|
[g]: V
|
|
886
886
|
}
|
|
887
|
-
},
|
|
887
|
+
}, a((D) => ({ ...D, [g]: V }));
|
|
888
888
|
} else {
|
|
889
889
|
const w = { [g]: V };
|
|
890
|
-
O = w,
|
|
890
|
+
O = w, a((D) => ({ ...D, ...w }));
|
|
891
891
|
}
|
|
892
892
|
try {
|
|
893
893
|
await S({
|
|
@@ -899,26 +899,26 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
899
899
|
console.error(w), Q.error("Failed to update list attribute: ", w.attrib.detail);
|
|
900
900
|
}
|
|
901
901
|
},
|
|
902
|
-
[t?.id, t?.attrib, e, S,
|
|
902
|
+
[t?.id, t?.attrib, e, S, f, r]
|
|
903
903
|
);
|
|
904
904
|
return /* @__PURE__ */ p(
|
|
905
|
-
|
|
905
|
+
Xt,
|
|
906
906
|
{
|
|
907
|
-
enableEditing:
|
|
907
|
+
enableEditing: o,
|
|
908
908
|
projectName: e,
|
|
909
909
|
fields: c,
|
|
910
|
-
form:
|
|
910
|
+
form: s,
|
|
911
911
|
isLoading: n,
|
|
912
912
|
onChange: T,
|
|
913
913
|
title: "Attributes"
|
|
914
914
|
}
|
|
915
915
|
);
|
|
916
|
-
},
|
|
916
|
+
}, ro = ({ list: e, isLoading: t }) => {
|
|
917
917
|
const n = Object.fromEntries(
|
|
918
918
|
Object.entries(e?.data || {}).filter(
|
|
919
|
-
([
|
|
919
|
+
([a, o]) => !["category", "count"].includes(a) && o !== null && typeof o != "object"
|
|
920
920
|
)
|
|
921
|
-
),
|
|
921
|
+
), r = {
|
|
922
922
|
Id: e?.id,
|
|
923
923
|
"Entity type": e?.entityType,
|
|
924
924
|
"List type": e?.entityListType,
|
|
@@ -929,21 +929,21 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
929
929
|
"Updated at": e?.updatedAt && de(new Date(e?.updatedAt), "PPpp"),
|
|
930
930
|
"Last updated by": e?.updatedBy,
|
|
931
931
|
...n
|
|
932
|
-
},
|
|
933
|
-
name:
|
|
932
|
+
}, s = Object.keys(r).map((a) => ({
|
|
933
|
+
name: a,
|
|
934
934
|
data: { type: "string" },
|
|
935
935
|
hidden: !1
|
|
936
936
|
}));
|
|
937
|
-
return /* @__PURE__ */ p(
|
|
938
|
-
},
|
|
937
|
+
return /* @__PURE__ */ p(Jt, { form: r, fields: s, isLoading: !!t });
|
|
938
|
+
}, io = ({
|
|
939
939
|
label: e,
|
|
940
940
|
description: t,
|
|
941
941
|
features: n,
|
|
942
|
-
isCloseable:
|
|
943
|
-
addon:
|
|
942
|
+
isCloseable: r = !0,
|
|
943
|
+
addon: s
|
|
944
944
|
}) => {
|
|
945
|
-
const [
|
|
946
|
-
if (!
|
|
945
|
+
const [a, o] = x(!1), { setPowerpackDialog: u, selectedPowerPack: l, powerpackDialog: f, addonDialog: c } = jt(), S = !!s || !!c, y = e ?? f?.label ?? c?.label, T = t ?? f?.description ?? (c ? c.features[c.selectedFeature ?? ""]?.description ?? Object.values(c.features)[0]?.description : void 0), g = s?.icon ?? (c ? c.icon : "bolt");
|
|
946
|
+
if (!f && !c && (!e || !t)) return null;
|
|
947
947
|
const O = (() => {
|
|
948
948
|
if (n)
|
|
949
949
|
return Object.entries(n);
|
|
@@ -952,140 +952,140 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
952
952
|
(R) => [R, c.features[R]]
|
|
953
953
|
);
|
|
954
954
|
if (c.selectedFeature) {
|
|
955
|
-
const R = D.findIndex(([
|
|
955
|
+
const R = D.findIndex(([M]) => M === c.selectedFeature);
|
|
956
956
|
if (R > 0) {
|
|
957
|
-
const [
|
|
958
|
-
D.unshift(
|
|
957
|
+
const [M] = D.splice(R, 1);
|
|
958
|
+
D.unshift(M);
|
|
959
959
|
}
|
|
960
960
|
}
|
|
961
961
|
return D;
|
|
962
962
|
}
|
|
963
|
-
return Object.entries(
|
|
964
|
-
if (D ===
|
|
965
|
-
if (R ===
|
|
966
|
-
const
|
|
967
|
-
return
|
|
963
|
+
return Object.entries(Qt).sort(([D], [R]) => {
|
|
964
|
+
if (D === l) return -1;
|
|
965
|
+
if (R === l) return 1;
|
|
966
|
+
const M = _e.indexOf(D), U = _e.indexOf(R);
|
|
967
|
+
return M > -1 && U > -1 ? M - U : M > -1 ? -1 : U > -1 ? 1 : 0;
|
|
968
968
|
});
|
|
969
969
|
})();
|
|
970
|
-
return /* @__PURE__ */
|
|
971
|
-
|
|
970
|
+
return /* @__PURE__ */ L(
|
|
971
|
+
kt,
|
|
972
972
|
{
|
|
973
973
|
isOpen: !0,
|
|
974
974
|
onClose: () => {
|
|
975
|
-
|
|
975
|
+
r && (u(null), o(!1));
|
|
976
976
|
},
|
|
977
977
|
size: "lg",
|
|
978
|
-
hideCancelButton: !
|
|
979
|
-
hideBackdrop: !
|
|
978
|
+
hideCancelButton: !r,
|
|
979
|
+
hideBackdrop: !r,
|
|
980
980
|
children: [
|
|
981
|
-
/* @__PURE__ */
|
|
982
|
-
/* @__PURE__ */
|
|
981
|
+
/* @__PURE__ */ L(Ct, { children: [
|
|
982
|
+
/* @__PURE__ */ L("h1", { children: [
|
|
983
983
|
/* @__PURE__ */ p(pe, { icon: g }),
|
|
984
984
|
y
|
|
985
985
|
] }),
|
|
986
986
|
/* @__PURE__ */ p("h2", { children: T })
|
|
987
987
|
] }),
|
|
988
|
-
/* @__PURE__ */
|
|
989
|
-
S ? /* @__PURE__ */
|
|
988
|
+
/* @__PURE__ */ L(Ot, { children: [
|
|
989
|
+
S ? /* @__PURE__ */ L("h3", { children: [
|
|
990
990
|
"Unlock all ",
|
|
991
991
|
/* @__PURE__ */ p("span", { className: "green", children: "Premium Addons" }),
|
|
992
992
|
" with an AYON Studio subscription."
|
|
993
|
-
] }) : /* @__PURE__ */
|
|
993
|
+
] }) : /* @__PURE__ */ L("h3", { children: [
|
|
994
994
|
"Unlock all ",
|
|
995
995
|
/* @__PURE__ */ p(pe, { icon: "bolt" }),
|
|
996
996
|
" ",
|
|
997
997
|
/* @__PURE__ */ p("span", { className: "green", children: "Power Features" }),
|
|
998
998
|
" with an AYON subscription."
|
|
999
999
|
] }),
|
|
1000
|
-
/* @__PURE__ */ p("ul", { children: O.slice(0,
|
|
1000
|
+
/* @__PURE__ */ p("ul", { children: O.slice(0, a ? void 0 : 5).map(([D, R]) => /* @__PURE__ */ L("li", { children: [
|
|
1001
1001
|
/* @__PURE__ */ p(pe, { icon: R.icon ?? "check" }),
|
|
1002
1002
|
/* @__PURE__ */ p("span", { children: R.bullet })
|
|
1003
1003
|
] }, D)) }),
|
|
1004
|
-
!
|
|
1004
|
+
!a && O.length > 5 && /* @__PURE__ */ p(Tt, { onClick: () => o(!0), children: "Show all" })
|
|
1005
1005
|
] }),
|
|
1006
|
-
/* @__PURE__ */ p(
|
|
1006
|
+
/* @__PURE__ */ p(It, { addon: s?.name, children: /* @__PURE__ */ p(Pt, {}) })
|
|
1007
1007
|
]
|
|
1008
1008
|
}
|
|
1009
1009
|
);
|
|
1010
|
-
},
|
|
1011
|
-
const { projectName: t } =
|
|
1012
|
-
return
|
|
1013
|
-
const
|
|
1014
|
-
return n.filter((
|
|
1010
|
+
}, lo = (e) => {
|
|
1011
|
+
const { projectName: t } = Ze(), { contributions: n } = we("projectTable.customizeSection");
|
|
1012
|
+
return B(() => {
|
|
1013
|
+
const r = { projectName: t, page: e };
|
|
1014
|
+
return n.filter((s) => !s.pages?.length || s.pages.includes(e)).map((s) => ({
|
|
1015
1015
|
// namespaced, so it can't replace a built-in section (settings are merged by id)
|
|
1016
|
-
id: `addon:${
|
|
1017
|
-
title:
|
|
1018
|
-
icon:
|
|
1019
|
-
component:
|
|
1020
|
-
contribution:
|
|
1021
|
-
context:
|
|
1016
|
+
id: `addon:${s.key}`,
|
|
1017
|
+
title: s.title,
|
|
1018
|
+
icon: s.icon,
|
|
1019
|
+
component: Ut(ve, {
|
|
1020
|
+
contribution: s,
|
|
1021
|
+
context: r
|
|
1022
1022
|
})
|
|
1023
1023
|
}));
|
|
1024
1024
|
}, [n, t, e]);
|
|
1025
|
-
},
|
|
1025
|
+
}, We = ({
|
|
1026
1026
|
Component: e,
|
|
1027
1027
|
projectName: t,
|
|
1028
1028
|
state: n,
|
|
1029
|
-
dispatch:
|
|
1030
|
-
useSelector:
|
|
1031
|
-
onOpenImage:
|
|
1032
|
-
onGoToFrame:
|
|
1033
|
-
onOpenViewer:
|
|
1034
|
-
onUpdateEntity:
|
|
1035
|
-
...
|
|
1029
|
+
dispatch: r,
|
|
1030
|
+
useSelector: s,
|
|
1031
|
+
onOpenImage: a,
|
|
1032
|
+
onGoToFrame: o,
|
|
1033
|
+
onOpenViewer: u,
|
|
1034
|
+
onUpdateEntity: l,
|
|
1035
|
+
...f
|
|
1036
1036
|
}) => {
|
|
1037
|
-
const c =
|
|
1037
|
+
const c = et(), { onCreateView: S, getLatestSettings: y, markCacheDirty: T } = tt();
|
|
1038
1038
|
return /* @__PURE__ */ p(
|
|
1039
1039
|
e,
|
|
1040
1040
|
{
|
|
1041
|
-
router: { useParams:
|
|
1041
|
+
router: { useParams: ys, useNavigate: at, useLocation: vs, useSearchParams: ws },
|
|
1042
1042
|
projectName: t,
|
|
1043
1043
|
views: {
|
|
1044
1044
|
...c,
|
|
1045
1045
|
settings: c.viewSettings,
|
|
1046
|
-
updateViewSettings: (...g) =>
|
|
1046
|
+
updateViewSettings: (...g) => Kt(...g, c, S, y, T)
|
|
1047
1047
|
},
|
|
1048
1048
|
context: {},
|
|
1049
1049
|
state: n,
|
|
1050
|
-
dispatch:
|
|
1051
|
-
useSelector:
|
|
1052
|
-
onOpenImage:
|
|
1053
|
-
onGoToFrame:
|
|
1054
|
-
onOpenViewer:
|
|
1055
|
-
onUpdateEntity:
|
|
1050
|
+
dispatch: r,
|
|
1051
|
+
useSelector: s,
|
|
1052
|
+
onOpenImage: a,
|
|
1053
|
+
onGoToFrame: o,
|
|
1054
|
+
onOpenViewer: u,
|
|
1055
|
+
onUpdateEntity: l,
|
|
1056
1056
|
toast: Q,
|
|
1057
|
-
...
|
|
1057
|
+
...f
|
|
1058
1058
|
}
|
|
1059
1059
|
);
|
|
1060
|
-
},
|
|
1060
|
+
}, Gs = ({ children: e, fields: t }) => /* @__PURE__ */ p("main", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ p(Ss, { sidebar: /* @__PURE__ */ p(ks, { fields: t }), children: e }) }), co = ({
|
|
1061
1061
|
Component: e,
|
|
1062
1062
|
projectName: t,
|
|
1063
1063
|
slicer: n,
|
|
1064
|
-
state:
|
|
1065
|
-
addonProps:
|
|
1066
|
-
...
|
|
1064
|
+
state: r = {},
|
|
1065
|
+
addonProps: s,
|
|
1066
|
+
...a
|
|
1067
1067
|
}) => {
|
|
1068
|
-
let
|
|
1068
|
+
let o = /* @__PURE__ */ p(We, { Component: e, projectName: t, ...a });
|
|
1069
1069
|
if (n && t) {
|
|
1070
|
-
let
|
|
1070
|
+
let u = null;
|
|
1071
1071
|
try {
|
|
1072
|
-
|
|
1072
|
+
u = Ke();
|
|
1073
1073
|
} catch {
|
|
1074
1074
|
console.log("Slicer context not available for this addon page");
|
|
1075
1075
|
}
|
|
1076
|
-
|
|
1077
|
-
|
|
1076
|
+
o = /* @__PURE__ */ p(Gs, { fields: n.fields, children: /* @__PURE__ */ p(
|
|
1077
|
+
We,
|
|
1078
1078
|
{
|
|
1079
1079
|
Component: e,
|
|
1080
1080
|
projectName: t,
|
|
1081
|
-
...
|
|
1082
|
-
state: { slicer:
|
|
1083
|
-
...
|
|
1081
|
+
...a,
|
|
1082
|
+
state: { slicer: u, ...r },
|
|
1083
|
+
...s
|
|
1084
1084
|
}
|
|
1085
1085
|
) });
|
|
1086
1086
|
}
|
|
1087
|
-
return
|
|
1088
|
-
},
|
|
1087
|
+
return o;
|
|
1088
|
+
}, zs = () => /* @__PURE__ */ L(At, { children: [
|
|
1089
1089
|
"By logging in you agree to our",
|
|
1090
1090
|
" ",
|
|
1091
1091
|
/* @__PURE__ */ p("a", { href: "https://ynput.io/terms/", target: "_blank", children: "Terms of Service" }),
|
|
@@ -1093,21 +1093,21 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1093
1093
|
"and",
|
|
1094
1094
|
" ",
|
|
1095
1095
|
/* @__PURE__ */ p("a", { href: "https://ynput.io/privacy-policy", target: "_blank", children: "Privacy Policy" })
|
|
1096
|
-
] }),
|
|
1097
|
-
const
|
|
1096
|
+
] }), uo = ({ onLogin: e, loading: t = null, isFirstTime: n = !1 }) => {
|
|
1097
|
+
const r = Cs(), s = new URLSearchParams(window.location.search), [a, o] = x(""), [u, l] = x(""), f = s.getAll("provider"), [c, S] = x(!1), [y, T] = x(!1), { data: g, isLoading: V } = us({ full: !0 }), O = g || {}, { motd: w, loginPageBrand: D = "", loginPageBackground: R = "" } = O;
|
|
1098
1098
|
H(() => {
|
|
1099
1099
|
document.title = "Login • AYON";
|
|
1100
1100
|
}, []), H(() => {
|
|
1101
1101
|
window.location.pathname.startsWith("/login") || (console.debug("Storing preferred URL in local storage:", window.location.href), localStorage.setItem("auth-preferred-url", window.location.href));
|
|
1102
1102
|
}, []);
|
|
1103
|
-
const
|
|
1104
|
-
if (C.preventDefault(), !(
|
|
1103
|
+
const M = async (C) => {
|
|
1104
|
+
if (C.preventDefault(), !(a && u)) {
|
|
1105
1105
|
Q.error("Please enter username and password to login");
|
|
1106
1106
|
return;
|
|
1107
1107
|
}
|
|
1108
1108
|
let b = null;
|
|
1109
1109
|
try {
|
|
1110
|
-
b = await
|
|
1110
|
+
b = await Be.post("/api/auth/login", { name: a, password: u });
|
|
1111
1111
|
} catch (v) {
|
|
1112
1112
|
const k = v;
|
|
1113
1113
|
console.error("Login error", k.response?.data || k), Q.error(k.response?.data?.detail || `Unable to login: Error ${k.response?.status}`);
|
|
@@ -1117,8 +1117,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1117
1117
|
console.error("Login error", b), Q.error("Unable to login, check the console for details");
|
|
1118
1118
|
return;
|
|
1119
1119
|
}
|
|
1120
|
-
localStorage.removeItem("auth-preferred-url"), Q.info(b.data.detail), e({ user: b.data.user, accessToken: b.data.token }),
|
|
1121
|
-
},
|
|
1120
|
+
localStorage.removeItem("auth-preferred-url"), Q.info(b.data.detail), e({ user: b.data.user, accessToken: b.data.token }), r(Le.util.resetApiState());
|
|
1121
|
+
}, U = async (C) => {
|
|
1122
1122
|
const b = window.location.pathname.split("/")[2];
|
|
1123
1123
|
if (!b || (console.debug("handleSSOCallback", b), !C?.length && b !== "_token")) return;
|
|
1124
1124
|
const v = new URLSearchParams(window.location.search);
|
|
@@ -1130,14 +1130,14 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1130
1130
|
callback: "/api/auth/tokenauth"
|
|
1131
1131
|
}), !k) return;
|
|
1132
1132
|
v.append("ayonProvider", b), T(!0);
|
|
1133
|
-
let
|
|
1133
|
+
let i = !1, m = null, d = null;
|
|
1134
1134
|
try {
|
|
1135
|
-
console.debug("SSO Callback", k.callback),
|
|
1135
|
+
console.debug("SSO Callback", k.callback), m = await Be.get(k.callback, { params: v }), i = !0;
|
|
1136
1136
|
} catch (P) {
|
|
1137
1137
|
const E = P;
|
|
1138
1138
|
console.error("SSO Callback error", E.response?.data), Q.error(
|
|
1139
|
-
/* @__PURE__ */
|
|
1140
|
-
/* @__PURE__ */
|
|
1139
|
+
/* @__PURE__ */ L(te, { children: [
|
|
1140
|
+
/* @__PURE__ */ L("p", { children: [
|
|
1141
1141
|
"Unable to login using ",
|
|
1142
1142
|
k.name,
|
|
1143
1143
|
":"
|
|
@@ -1146,76 +1146,76 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1146
1146
|
] })
|
|
1147
1147
|
);
|
|
1148
1148
|
}
|
|
1149
|
-
let
|
|
1150
|
-
if (
|
|
1151
|
-
console.debug("SSO Callback response",
|
|
1152
|
-
const P =
|
|
1153
|
-
Q.info(P.detail || `Logged in as ${P.user.name}`),
|
|
1154
|
-
} else
|
|
1155
|
-
|
|
1149
|
+
let h = null, I = null;
|
|
1150
|
+
if (i && m?.data?.user) {
|
|
1151
|
+
console.debug("SSO Callback response", m.data);
|
|
1152
|
+
const P = m.data;
|
|
1153
|
+
Q.info(P.detail || `Logged in as ${P.user.name}`), h = P.user, I = P.token, P.redirectUrl && (d = P.redirectUrl);
|
|
1154
|
+
} else i && (Q.error("Unable to login using SSO"), i = !1);
|
|
1155
|
+
i ? (!d && localStorage.getItem("auth-preferred-url") && (d = localStorage.getItem("auth-preferred-url")), d || (d = window.location.origin), T(!1), localStorage.removeItem("auth-preferred-url"), e({ user: h, accessToken: I, redirectUrl: d }), r(Le.util.resetApiState())) : (console.log("SSO Callback failed, clearing auth state"), T(!1), localStorage.removeItem("auth-preferred-url"));
|
|
1156
1156
|
};
|
|
1157
1157
|
H(() => {
|
|
1158
|
-
|
|
1158
|
+
U(O.ssoOptions);
|
|
1159
1159
|
}, [O.ssoOptions]);
|
|
1160
|
-
const F = c || !O?.hidePasswordAuth ||
|
|
1161
|
-
({ name: C, hidden: b }) => !b && (!
|
|
1162
|
-
).map(({ name: C, title: b, url: v, args: k, redirectKey:
|
|
1160
|
+
const F = c || !O?.hidePasswordAuth || f?.length && f.includes("password") || null, $ = !c && (f || !F), W = B(() => O.ssoOptions?.length ? O.ssoOptions.filter(
|
|
1161
|
+
({ name: C, hidden: b }) => !b && (!f?.length || f.includes(C) || c)
|
|
1162
|
+
).map(({ name: C, title: b, url: v, args: k, redirectKey: i, icon: m, color: d, textColor: h }) => {
|
|
1163
1163
|
const I = { ...k }, P = `${window.location.origin}/login/${C}`;
|
|
1164
|
-
I[
|
|
1164
|
+
I[i] = P;
|
|
1165
1165
|
const E = new URLSearchParams(I), _ = `${v}?${E}`;
|
|
1166
1166
|
return /* @__PURE__ */ p(
|
|
1167
|
-
|
|
1167
|
+
Dt,
|
|
1168
1168
|
{
|
|
1169
1169
|
name: b || C,
|
|
1170
1170
|
url: _,
|
|
1171
|
-
icon:
|
|
1172
|
-
color:
|
|
1173
|
-
textColor:
|
|
1171
|
+
icon: m,
|
|
1172
|
+
color: d,
|
|
1173
|
+
textColor: h
|
|
1174
1174
|
},
|
|
1175
1175
|
C
|
|
1176
1176
|
);
|
|
1177
|
-
}) : null, [O.ssoOptions,
|
|
1178
|
-
return y || V ? n ? null : /* @__PURE__ */ p(
|
|
1179
|
-
R && /* @__PURE__ */ p(
|
|
1180
|
-
/* @__PURE__ */
|
|
1181
|
-
(w || D) && /* @__PURE__ */
|
|
1182
|
-
D && /* @__PURE__ */ p(
|
|
1183
|
-
/* @__PURE__ */ p(
|
|
1177
|
+
}) : null, [O.ssoOptions, f, c]);
|
|
1178
|
+
return y || V ? n ? null : /* @__PURE__ */ p(te, { children: t }) : /* @__PURE__ */ p(te, { children: /* @__PURE__ */ L("main", { className: "center", children: [
|
|
1179
|
+
R && /* @__PURE__ */ p(Rt, { src: R }),
|
|
1180
|
+
/* @__PURE__ */ L(Vt, { children: [
|
|
1181
|
+
(w || D) && /* @__PURE__ */ L(Ce, { children: [
|
|
1182
|
+
D && /* @__PURE__ */ p(xt, { src: D }),
|
|
1183
|
+
/* @__PURE__ */ p(Ft, { children: /* @__PURE__ */ p(Ts, { remarkPlugins: [Os], children: w }) })
|
|
1184
1184
|
] }),
|
|
1185
|
-
/* @__PURE__ */
|
|
1186
|
-
/* @__PURE__ */ p(
|
|
1187
|
-
/* @__PURE__ */
|
|
1188
|
-
F ? /* @__PURE__ */
|
|
1185
|
+
/* @__PURE__ */ L(Ce, { children: [
|
|
1186
|
+
/* @__PURE__ */ p(_t, { src: "/AYON.svg" }),
|
|
1187
|
+
/* @__PURE__ */ L(Lt, { children: [
|
|
1188
|
+
F ? /* @__PURE__ */ L("form", { onSubmit: M, children: [
|
|
1189
1189
|
/* @__PURE__ */ p("label", { id: "username", children: "Username" }),
|
|
1190
1190
|
/* @__PURE__ */ p(
|
|
1191
|
-
|
|
1191
|
+
je,
|
|
1192
1192
|
{
|
|
1193
1193
|
autoFocus: !0,
|
|
1194
1194
|
placeholder: "Enter your username",
|
|
1195
1195
|
name: "username",
|
|
1196
1196
|
"aria-label": "Username",
|
|
1197
|
-
value:
|
|
1198
|
-
onChange: (C) =>
|
|
1197
|
+
value: a,
|
|
1198
|
+
onChange: (C) => o(C.target.value)
|
|
1199
1199
|
}
|
|
1200
1200
|
),
|
|
1201
1201
|
/* @__PURE__ */ p("label", { id: "password", children: "Password" }),
|
|
1202
1202
|
/* @__PURE__ */ p(
|
|
1203
|
-
|
|
1203
|
+
Gt,
|
|
1204
1204
|
{
|
|
1205
1205
|
placeholder: "Enter password",
|
|
1206
1206
|
name: "password",
|
|
1207
1207
|
"aria-label": "Password",
|
|
1208
|
-
value:
|
|
1209
|
-
onChange: (C) =>
|
|
1208
|
+
value: u,
|
|
1209
|
+
onChange: (C) => l(C.target.value)
|
|
1210
1210
|
}
|
|
1211
1211
|
),
|
|
1212
|
-
/* @__PURE__ */ p(
|
|
1213
|
-
] }) : /* @__PURE__ */ p(
|
|
1212
|
+
/* @__PURE__ */ p(Oe, { type: "submit", children: /* @__PURE__ */ p("span", { className: "label", children: "Login with password" }) })
|
|
1213
|
+
] }) : /* @__PURE__ */ p(te, { children: /* @__PURE__ */ p("div", { style: { marginBottom: "8px" } }) }),
|
|
1214
1214
|
W
|
|
1215
1215
|
] }),
|
|
1216
1216
|
O?.passwordRecoveryAvailable && F && /* @__PURE__ */ p("a", { href: "/passwordReset", style: { margin: "8px 0" }, children: "Reset password" }),
|
|
1217
1217
|
$ && /* @__PURE__ */ p(
|
|
1218
|
-
|
|
1218
|
+
Oe,
|
|
1219
1219
|
{
|
|
1220
1220
|
style: { width: "100%" },
|
|
1221
1221
|
variant: "text",
|
|
@@ -1223,274 +1223,316 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1223
1223
|
children: "Show all login options"
|
|
1224
1224
|
}
|
|
1225
1225
|
),
|
|
1226
|
-
/* @__PURE__ */ p(
|
|
1226
|
+
/* @__PURE__ */ p(zs, {})
|
|
1227
1227
|
] })
|
|
1228
1228
|
] })
|
|
1229
1229
|
] }) });
|
|
1230
|
-
},
|
|
1231
|
-
const [n,
|
|
1232
|
-
return e ? /* @__PURE__ */
|
|
1233
|
-
|
|
1230
|
+
}, po = ({ sidebar: e, children: t }) => {
|
|
1231
|
+
const [n, r] = Ps();
|
|
1232
|
+
return e ? /* @__PURE__ */ L(
|
|
1233
|
+
Is,
|
|
1234
1234
|
{
|
|
1235
1235
|
layout: "horizontal",
|
|
1236
1236
|
style: { width: "100%", height: "100%" },
|
|
1237
|
-
onResizeEnd:
|
|
1237
|
+
onResizeEnd: r,
|
|
1238
1238
|
children: [
|
|
1239
|
-
/* @__PURE__ */ p(
|
|
1240
|
-
/* @__PURE__ */ p(
|
|
1239
|
+
/* @__PURE__ */ p($e, { size: n[0], style: { overflow: "hidden" }, children: e }),
|
|
1240
|
+
/* @__PURE__ */ p($e, { size: n[1], style: { overflow: "hidden" }, children: t })
|
|
1241
1241
|
]
|
|
1242
1242
|
}
|
|
1243
|
-
) : /* @__PURE__ */ p(
|
|
1244
|
-
},
|
|
1245
|
-
const t = e.join(","), n =
|
|
1246
|
-
() =>
|
|
1243
|
+
) : /* @__PURE__ */ p(te, { children: t });
|
|
1244
|
+
}, fo = ({ fields: e }) => {
|
|
1245
|
+
const t = e.join(","), n = B(
|
|
1246
|
+
() => As.filter((r) => e.includes(r.value)),
|
|
1247
1247
|
// fields is compared by content: addons pass a new array literal every render
|
|
1248
1248
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1249
1249
|
[t]
|
|
1250
1250
|
);
|
|
1251
|
-
return /* @__PURE__ */ p(
|
|
1252
|
-
},
|
|
1253
|
-
},
|
|
1254
|
-
const e =
|
|
1255
|
-
(
|
|
1251
|
+
return /* @__PURE__ */ p(zt, { wrap: !0, style: { height: "100%" }, children: /* @__PURE__ */ p(Ds, { sliceFields: n, pinnedSliceType: "hierarchy" }) });
|
|
1252
|
+
}, Hs = () => {
|
|
1253
|
+
}, it = () => {
|
|
1254
|
+
const e = et(), { updateViewSettings: t } = tt(), { viewType: n, viewSettings: r, isLoadingViews: s } = e, a = j(
|
|
1255
|
+
(o) => t(o, Hs, void 0, {}),
|
|
1256
1256
|
[t]
|
|
1257
1257
|
);
|
|
1258
|
-
return
|
|
1258
|
+
return B(
|
|
1259
1259
|
() => n ? {
|
|
1260
1260
|
viewType: n,
|
|
1261
|
-
settings:
|
|
1262
|
-
isLoading:
|
|
1263
|
-
updateSettings:
|
|
1261
|
+
settings: r,
|
|
1262
|
+
isLoading: s,
|
|
1263
|
+
updateSettings: a
|
|
1264
1264
|
} : void 0,
|
|
1265
|
-
[n,
|
|
1265
|
+
[n, r, s, a]
|
|
1266
1266
|
);
|
|
1267
|
-
},
|
|
1267
|
+
}, Ws = () => {
|
|
1268
1268
|
const {
|
|
1269
1269
|
folders: e,
|
|
1270
1270
|
isLoading: t,
|
|
1271
1271
|
getFolderById: n,
|
|
1272
|
-
getParentFolderIds:
|
|
1273
|
-
getChildFolderIds:
|
|
1274
|
-
getFolderIdsWithoutChildren:
|
|
1275
|
-
} =
|
|
1276
|
-
return
|
|
1272
|
+
getParentFolderIds: r,
|
|
1273
|
+
getChildFolderIds: s,
|
|
1274
|
+
getFolderIdsWithoutChildren: a
|
|
1275
|
+
} = qt();
|
|
1276
|
+
return B(
|
|
1277
1277
|
() => ({
|
|
1278
1278
|
// attrib is typed `object` in the api model
|
|
1279
1279
|
folders: e,
|
|
1280
1280
|
isLoading: t,
|
|
1281
1281
|
getFolderById: n,
|
|
1282
|
-
getParentFolderIds:
|
|
1283
|
-
getChildFolderIds:
|
|
1284
|
-
getFolderIdsWithoutChildren:
|
|
1282
|
+
getParentFolderIds: r,
|
|
1283
|
+
getChildFolderIds: s,
|
|
1284
|
+
getFolderIdsWithoutChildren: a
|
|
1285
1285
|
}),
|
|
1286
1286
|
[
|
|
1287
1287
|
e,
|
|
1288
1288
|
t,
|
|
1289
1289
|
n,
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1290
|
+
r,
|
|
1291
|
+
s,
|
|
1292
|
+
a
|
|
1293
1293
|
]
|
|
1294
1294
|
);
|
|
1295
|
-
},
|
|
1296
|
-
const { data: t } =
|
|
1295
|
+
}, mo = (e) => {
|
|
1296
|
+
const { data: t } = ds({ projectName: e }), { rowSelection: n, sliceType: r } = Ke(), s = B(
|
|
1297
1297
|
() => ({
|
|
1298
|
-
sliceType:
|
|
1299
|
-
selection: Object.keys(n).filter((
|
|
1298
|
+
sliceType: r,
|
|
1299
|
+
selection: Object.keys(n).filter((u) => n[u])
|
|
1300
1300
|
}),
|
|
1301
|
-
[
|
|
1302
|
-
),
|
|
1303
|
-
return
|
|
1304
|
-
() => ({ projectName: e, project: t, slicer:
|
|
1305
|
-
[e, t,
|
|
1301
|
+
[r, n]
|
|
1302
|
+
), a = Ws(), o = it();
|
|
1303
|
+
return B(
|
|
1304
|
+
() => ({ projectName: e, project: t, slicer: s, projectFolders: a, views: o }),
|
|
1305
|
+
[e, t, s, a, o]
|
|
1306
1306
|
);
|
|
1307
|
-
},
|
|
1308
|
-
const t =
|
|
1309
|
-
return
|
|
1310
|
-
},
|
|
1307
|
+
}, ho = (e) => {
|
|
1308
|
+
const t = it();
|
|
1309
|
+
return B(() => ({ selectedProjects: e, views: t }), [e, t]);
|
|
1310
|
+
}, Ys = (e) => ["to", "run", "dialog", "menu", "popover", "component"].find(
|
|
1311
1311
|
(t) => e[t] !== void 0
|
|
1312
|
-
),
|
|
1312
|
+
), Ie = (e, t) => e.map((n, r) => {
|
|
1313
1313
|
if ("divider" in n) return { id: "divider" };
|
|
1314
|
-
const { id:
|
|
1314
|
+
const { id: s, label: a, icon: o, to: u, href: l, onClick: f, items: c, disabled: S, selected: y, danger: T } = n;
|
|
1315
1315
|
return {
|
|
1316
|
-
id: `${
|
|
1317
|
-
label:
|
|
1318
|
-
icon:
|
|
1316
|
+
id: `${s}-${r}`,
|
|
1317
|
+
label: a,
|
|
1318
|
+
icon: o,
|
|
1319
1319
|
disabled: S,
|
|
1320
1320
|
selected: y,
|
|
1321
1321
|
danger: T,
|
|
1322
|
-
...
|
|
1323
|
-
...
|
|
1322
|
+
...u ? { link: u } : l ? { link: l, target: "_blank" } : {},
|
|
1323
|
+
...f ? {
|
|
1324
1324
|
onClick: () => {
|
|
1325
|
-
Promise.resolve().then(
|
|
1325
|
+
Promise.resolve().then(f).catch(t);
|
|
1326
1326
|
}
|
|
1327
1327
|
} : {},
|
|
1328
|
-
...c?.length ? { items:
|
|
1328
|
+
...c?.length ? { items: Ie(c, t) } : {}
|
|
1329
1329
|
};
|
|
1330
|
-
}),
|
|
1330
|
+
}), go = ({
|
|
1331
1331
|
contribution: e,
|
|
1332
1332
|
context: t,
|
|
1333
1333
|
renderButton: n,
|
|
1334
|
-
autoOpen:
|
|
1335
|
-
onContext:
|
|
1334
|
+
autoOpen: r,
|
|
1335
|
+
onContext: s
|
|
1336
1336
|
}) => {
|
|
1337
|
-
const
|
|
1338
|
-
() => ({ ...t, navigate: (
|
|
1339
|
-
[t,
|
|
1340
|
-
), [
|
|
1341
|
-
O || g(!1), w((
|
|
1342
|
-
}, [O, g]),
|
|
1343
|
-
() => ({ ...
|
|
1344
|
-
[
|
|
1345
|
-
),
|
|
1346
|
-
() =>
|
|
1347
|
-
[
|
|
1348
|
-
), F = `addon:${
|
|
1337
|
+
const a = e, o = Ys(a), u = at(), l = B(
|
|
1338
|
+
() => ({ ...t, navigate: (i) => u(i) }),
|
|
1339
|
+
[t, u]
|
|
1340
|
+
), [f, c] = x(!!r && o === "dialog"), S = j(() => c(!1), []), y = B(() => ({ ...l, close: S }), [l, S]), { menuOpen: T, setMenuOpen: g, toggleMenuOpen: V } = st(), [O, w] = x(!!r && o === "popover"), D = j(() => w(!1), []), R = j(() => {
|
|
1341
|
+
O || g(!1), w((i) => !i);
|
|
1342
|
+
}, [O, g]), M = B(
|
|
1343
|
+
() => ({ ...l, close: D }),
|
|
1344
|
+
[l, D]
|
|
1345
|
+
), U = B(
|
|
1346
|
+
() => a.popover ? { ...l, popoverOpen: O, togglePopover: R } : l,
|
|
1347
|
+
[a.popover, l, O, R]
|
|
1348
|
+
), F = `addon:${a.slot}:${a.key}`, [$, W] = x([]), [C, b] = x(null);
|
|
1349
1349
|
H(
|
|
1350
|
-
() =>
|
|
1351
|
-
|
|
1350
|
+
() => s?.(
|
|
1351
|
+
o === "dialog" ? y : o === "popover" ? M : l
|
|
1352
1352
|
),
|
|
1353
|
-
[
|
|
1353
|
+
[s, o, y, M, l]
|
|
1354
1354
|
);
|
|
1355
|
-
const v =
|
|
1356
|
-
|
|
1355
|
+
const v = o === "popover" && /* @__PURE__ */ p(
|
|
1356
|
+
Mt,
|
|
1357
1357
|
{
|
|
1358
1358
|
contribution: e,
|
|
1359
|
-
context:
|
|
1359
|
+
context: M,
|
|
1360
1360
|
open: O,
|
|
1361
1361
|
anchor: C
|
|
1362
1362
|
}
|
|
1363
1363
|
);
|
|
1364
|
-
if (
|
|
1365
|
-
const
|
|
1366
|
-
return v ? /* @__PURE__ */
|
|
1364
|
+
if (a.component) {
|
|
1365
|
+
const i = /* @__PURE__ */ p(ve, { contribution: e, context: U });
|
|
1366
|
+
return v ? /* @__PURE__ */ L(te, { children: [
|
|
1367
1367
|
/* @__PURE__ */ p(
|
|
1368
1368
|
"span",
|
|
1369
1369
|
{
|
|
1370
1370
|
ref: b,
|
|
1371
1371
|
className: "addon-popover-anchor",
|
|
1372
1372
|
style: { display: "inline-flex" },
|
|
1373
|
-
onMouseEnter: () =>
|
|
1374
|
-
children:
|
|
1373
|
+
onMouseEnter: () => Te(a.popover),
|
|
1374
|
+
children: i
|
|
1375
1375
|
}
|
|
1376
1376
|
),
|
|
1377
1377
|
v
|
|
1378
|
-
] }) :
|
|
1378
|
+
] }) : i;
|
|
1379
1379
|
}
|
|
1380
|
-
return /* @__PURE__ */
|
|
1380
|
+
return /* @__PURE__ */ L(te, { children: [
|
|
1381
1381
|
n({
|
|
1382
1382
|
ref: b,
|
|
1383
|
-
active:
|
|
1383
|
+
active: f || O || T === F,
|
|
1384
1384
|
onClick: () => {
|
|
1385
|
-
if (
|
|
1386
|
-
else if (
|
|
1387
|
-
else if (
|
|
1388
|
-
else if (
|
|
1389
|
-
else if (
|
|
1385
|
+
if (o === "to") u(a.to);
|
|
1386
|
+
else if (o === "run") ot(e, l);
|
|
1387
|
+
else if (o === "dialog") c((i) => !i);
|
|
1388
|
+
else if (o === "popover") R();
|
|
1389
|
+
else if (o === "menu") {
|
|
1390
1390
|
if (T === F) return g(!1);
|
|
1391
|
-
|
|
1392
|
-
if (typeof
|
|
1393
|
-
return
|
|
1394
|
-
|
|
1391
|
+
ms(a.menu).then((i) => {
|
|
1392
|
+
if (typeof i != "function") throw new Error('"menu" has no default export function');
|
|
1393
|
+
return i(
|
|
1394
|
+
hs(a, l)
|
|
1395
1395
|
);
|
|
1396
|
-
}).then((
|
|
1397
|
-
W(
|
|
1398
|
-
}).catch((
|
|
1396
|
+
}).then((i) => {
|
|
1397
|
+
W(Ie(i, (m) => Ne(a, m))), V(F);
|
|
1398
|
+
}).catch((i) => Ne(a, i));
|
|
1399
1399
|
}
|
|
1400
1400
|
},
|
|
1401
|
-
onMouseEnter: () =>
|
|
1401
|
+
onMouseEnter: () => o && o !== "to" && Te(a[o])
|
|
1402
1402
|
}),
|
|
1403
|
-
|
|
1404
|
-
|
|
1403
|
+
o === "dialog" && f && /* @__PURE__ */ p(Vs, { contribution: e, context: y }),
|
|
1404
|
+
o === "menu" && /* @__PURE__ */ p(nt, { id: F, target: C, children: /* @__PURE__ */ p(rt, { menu: $ }) }),
|
|
1405
1405
|
v
|
|
1406
1406
|
] });
|
|
1407
|
-
},
|
|
1407
|
+
}, js = (e = []) => {
|
|
1408
1408
|
const t = {};
|
|
1409
|
-
for (const { id: n, entityType:
|
|
1410
|
-
if (!(
|
|
1411
|
-
const
|
|
1412
|
-
t[
|
|
1409
|
+
for (const { id: n, entityType: r } of e) {
|
|
1410
|
+
if (!(r in Fs)) continue;
|
|
1411
|
+
const s = r;
|
|
1412
|
+
t[s] = { ...t[s], [n]: !0 };
|
|
1413
1413
|
}
|
|
1414
1414
|
return t;
|
|
1415
|
-
},
|
|
1416
|
-
const
|
|
1415
|
+
}, Ks = (e, t, n, r) => e.map((s, a) => {
|
|
1416
|
+
const o = t[a];
|
|
1417
1417
|
return {
|
|
1418
|
-
id:
|
|
1418
|
+
id: s,
|
|
1419
1419
|
entityType: n,
|
|
1420
|
-
projectName:
|
|
1421
|
-
...
|
|
1422
|
-
...
|
|
1420
|
+
projectName: r,
|
|
1421
|
+
...o?.name && { name: o.name },
|
|
1422
|
+
...o?.label && { label: o.label }
|
|
1423
1423
|
};
|
|
1424
|
-
}),
|
|
1424
|
+
}), bo = ({
|
|
1425
1425
|
projectName: e,
|
|
1426
1426
|
entityType: t,
|
|
1427
1427
|
multiSelect: n,
|
|
1428
|
-
initialSelection:
|
|
1429
|
-
onSubmit:
|
|
1430
|
-
onClose:
|
|
1428
|
+
initialSelection: r,
|
|
1429
|
+
onSubmit: s,
|
|
1430
|
+
onClose: a
|
|
1431
1431
|
}) => /* @__PURE__ */ p(
|
|
1432
|
-
|
|
1432
|
+
_s,
|
|
1433
1433
|
{
|
|
1434
1434
|
projectName: e,
|
|
1435
1435
|
entityType: t,
|
|
1436
1436
|
isMultiSelect: n,
|
|
1437
|
-
initialSelection:
|
|
1438
|
-
onClose:
|
|
1439
|
-
onSubmit: (
|
|
1437
|
+
initialSelection: js(r),
|
|
1438
|
+
onClose: a,
|
|
1439
|
+
onSubmit: (o, u) => s(Ks(o, u, t, e))
|
|
1440
1440
|
}
|
|
1441
|
-
),
|
|
1442
|
-
},
|
|
1443
|
-
const { contributions: t } =
|
|
1444
|
-
return /* @__PURE__ */ p(
|
|
1445
|
-
|
|
1441
|
+
), qs = () => {
|
|
1442
|
+
}, wo = ({ projectName: e }) => {
|
|
1443
|
+
const { contributions: t } = we("app.service"), n = B(() => ({ projectName: e }), [e]);
|
|
1444
|
+
return /* @__PURE__ */ p(te, { children: t.map((r) => /* @__PURE__ */ p(
|
|
1445
|
+
ve,
|
|
1446
1446
|
{
|
|
1447
|
-
contribution:
|
|
1447
|
+
contribution: r,
|
|
1448
1448
|
context: n,
|
|
1449
|
-
error: (
|
|
1450
|
-
|
|
1449
|
+
error: (s) => /* @__PURE__ */ p(
|
|
1450
|
+
xs,
|
|
1451
1451
|
{
|
|
1452
|
-
contribution:
|
|
1453
|
-
error:
|
|
1454
|
-
onReported:
|
|
1452
|
+
contribution: r,
|
|
1453
|
+
error: s,
|
|
1454
|
+
onReported: qs
|
|
1455
1455
|
}
|
|
1456
1456
|
)
|
|
1457
1457
|
},
|
|
1458
|
-
|
|
1458
|
+
r.key
|
|
1459
1459
|
)) });
|
|
1460
|
-
},
|
|
1460
|
+
}, Qs = (e) => ({
|
|
1461
|
+
name: e.name,
|
|
1462
|
+
fullName: e.attrib?.fullName || void 0,
|
|
1463
|
+
email: e.attrib?.email || void 0,
|
|
1464
|
+
active: e.active !== !1,
|
|
1465
|
+
isAdmin: !!e.isAdmin,
|
|
1466
|
+
isManager: !!(e.isManager || e.isAdmin),
|
|
1467
|
+
isGuest: !!e.isGuest,
|
|
1468
|
+
isService: !!e.isService
|
|
1469
|
+
}), lt = (e, t) => t > 0 && (e !== "single" || t === 1), vo = (e, t) => B(() => ({ users: e.map(Qs), readOnly: t }), [e, t]), yo = (e) => {
|
|
1470
|
+
const { contributions: t } = we("userDetails.menuItem"), n = B(
|
|
1471
|
+
() => t.filter((u) => lt(u.selection, e.users.length)),
|
|
1472
|
+
[t, e.users.length]
|
|
1473
|
+
), r = j(
|
|
1474
|
+
(u) => ({
|
|
1475
|
+
id: u.key,
|
|
1476
|
+
label: u.label,
|
|
1477
|
+
icon: u.icon,
|
|
1478
|
+
"data-addon-item": u.key,
|
|
1479
|
+
onClick: () => ot(u, e)
|
|
1480
|
+
}),
|
|
1481
|
+
[e]
|
|
1482
|
+
), s = B(
|
|
1483
|
+
() => Ue(n, "top").map(r),
|
|
1484
|
+
[n, r]
|
|
1485
|
+
), a = B(
|
|
1486
|
+
() => Ue(n, "bottom").map(r),
|
|
1487
|
+
[n, r]
|
|
1488
|
+
), o = j(
|
|
1489
|
+
() => n.forEach((u) => Te(u.run)),
|
|
1490
|
+
[n]
|
|
1491
|
+
);
|
|
1492
|
+
return { topItems: s, items: a, prefetch: o };
|
|
1493
|
+
}, Eo = ({ context: e }) => {
|
|
1494
|
+
const { contributions: t } = we("userDetails.section"), n = e.users.some((s) => s.isService), r = B(
|
|
1495
|
+
() => t.filter((s) => lt(s.selection, e.users.length)).filter((s) => !n || s.serviceUsers).sort((s, a) => (s.order ?? 0) - (a.order ?? 0)),
|
|
1496
|
+
[t, e.users.length, n]
|
|
1497
|
+
);
|
|
1498
|
+
return /* @__PURE__ */ p(te, { children: r.map((s) => /* @__PURE__ */ L(Ce, { "data-addon-section": s.key, children: [
|
|
1499
|
+
/* @__PURE__ */ p("b", { children: s.title }),
|
|
1500
|
+
/* @__PURE__ */ p(ve, { contribution: s, context: e })
|
|
1501
|
+
] }, s.key)) });
|
|
1502
|
+
}, So = ({
|
|
1461
1503
|
items: e,
|
|
1462
1504
|
icon: t = "more_horiz",
|
|
1463
1505
|
label: n,
|
|
1464
|
-
tooltip:
|
|
1465
|
-
variant:
|
|
1466
|
-
align:
|
|
1467
|
-
disabled:
|
|
1468
|
-
className:
|
|
1469
|
-
onError:
|
|
1470
|
-
"data-testid":
|
|
1506
|
+
tooltip: r,
|
|
1507
|
+
variant: s = "text",
|
|
1508
|
+
align: a = "right",
|
|
1509
|
+
disabled: o,
|
|
1510
|
+
className: u,
|
|
1511
|
+
onError: l,
|
|
1512
|
+
"data-testid": f
|
|
1471
1513
|
}) => {
|
|
1472
|
-
const { menuOpen: c, toggleMenuOpen: S } =
|
|
1473
|
-
return /* @__PURE__ */
|
|
1514
|
+
const { menuOpen: c, toggleMenuOpen: S } = st(), y = `addon-more-menu:${Bt()}`, T = c === y, [g, V] = x(null), O = B(() => Ie(e, l), [e, l]), w = r || n || "More";
|
|
1515
|
+
return /* @__PURE__ */ L(te, { children: [
|
|
1474
1516
|
/* @__PURE__ */ p(
|
|
1475
|
-
|
|
1517
|
+
Oe,
|
|
1476
1518
|
{
|
|
1477
1519
|
ref: V,
|
|
1478
1520
|
icon: t,
|
|
1479
1521
|
label: n,
|
|
1480
|
-
variant:
|
|
1481
|
-
disabled:
|
|
1482
|
-
"data-tooltip": n && !
|
|
1522
|
+
variant: s,
|
|
1523
|
+
disabled: o,
|
|
1524
|
+
"data-tooltip": n && !r ? void 0 : w,
|
|
1483
1525
|
"aria-label": w,
|
|
1484
1526
|
"aria-haspopup": "true",
|
|
1485
1527
|
"aria-expanded": T,
|
|
1486
|
-
className: ue(
|
|
1487
|
-
"data-testid":
|
|
1528
|
+
className: ue(u, { active: T }),
|
|
1529
|
+
"data-testid": f,
|
|
1488
1530
|
onClick: () => S(y)
|
|
1489
1531
|
}
|
|
1490
1532
|
),
|
|
1491
|
-
/* @__PURE__ */ p(
|
|
1533
|
+
/* @__PURE__ */ p(nt, { id: y, target: g, align: a, children: /* @__PURE__ */ p(rt, { menu: O }) })
|
|
1492
1534
|
] });
|
|
1493
|
-
},
|
|
1535
|
+
}, Xs = /* @__PURE__ */ new Set([
|
|
1494
1536
|
"name",
|
|
1495
1537
|
"extension",
|
|
1496
1538
|
"status",
|
|
@@ -1506,18 +1548,18 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1506
1548
|
"hasReviewables",
|
|
1507
1549
|
"createdAt",
|
|
1508
1550
|
"updatedAt"
|
|
1509
|
-
]),
|
|
1551
|
+
]), ko = ({
|
|
1510
1552
|
filterTypes: e = [],
|
|
1511
1553
|
projectNames: t,
|
|
1512
1554
|
scope: n,
|
|
1513
|
-
scopes:
|
|
1514
|
-
data:
|
|
1515
|
-
config:
|
|
1516
|
-
power:
|
|
1555
|
+
scopes: r,
|
|
1556
|
+
data: s,
|
|
1557
|
+
config: a,
|
|
1558
|
+
power: o
|
|
1517
1559
|
}) => {
|
|
1518
|
-
const
|
|
1560
|
+
const u = Zt(), l = s.productTypes || [], f = s.productBaseTypes || [];
|
|
1519
1561
|
let c = [];
|
|
1520
|
-
const S = /* @__PURE__ */ new Map(), y =
|
|
1562
|
+
const S = /* @__PURE__ */ new Map(), y = r || (n ? Array.isArray(n) ? n : [n] : []).map((v) => ({
|
|
1521
1563
|
scope: v,
|
|
1522
1564
|
filterTypes: e
|
|
1523
1565
|
})), T = y.length > 1, g = new Set(
|
|
@@ -1530,21 +1572,21 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1530
1572
|
(b) => ["assignees", "users", "author"].some(
|
|
1531
1573
|
(v) => b.filterTypes.includes(v)
|
|
1532
1574
|
)
|
|
1533
|
-
), { data: w = {} } =
|
|
1575
|
+
), { data: w = {} } = ps(
|
|
1534
1576
|
{
|
|
1535
1577
|
projects: t
|
|
1536
1578
|
},
|
|
1537
1579
|
{
|
|
1538
1580
|
skip: !t?.length || !V
|
|
1539
1581
|
}
|
|
1540
|
-
), { data: D = [] } =
|
|
1582
|
+
), { data: D = [] } = fs(
|
|
1541
1583
|
{ projects: t },
|
|
1542
1584
|
{
|
|
1543
1585
|
skip: !t?.length || !O
|
|
1544
1586
|
}
|
|
1545
|
-
), { attributes: R } =
|
|
1587
|
+
), { attributes: R } = Je(), M = $t(Wt), U = M?.attribFields?.length ? M.attribFields : R, F = /* @__PURE__ */ new Map();
|
|
1546
1588
|
y.forEach(({ scope: b, filterTypes: v }) => {
|
|
1547
|
-
v.includes("attributes") &&
|
|
1589
|
+
v.includes("attributes") && U.filter((k) => k.scope?.includes(b)).forEach((k) => {
|
|
1548
1590
|
F.set(
|
|
1549
1591
|
k.name,
|
|
1550
1592
|
(F.get(k.name) || 0) + 1
|
|
@@ -1553,159 +1595,159 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1553
1595
|
}), y.forEach(({ scope: b, filterTypes: v }) => {
|
|
1554
1596
|
const k = T ? b : void 0;
|
|
1555
1597
|
if (v.includes("taskType") && b !== "user") {
|
|
1556
|
-
const
|
|
1598
|
+
const i = Y(
|
|
1557
1599
|
"taskType",
|
|
1558
1600
|
{
|
|
1559
|
-
...
|
|
1601
|
+
...a,
|
|
1560
1602
|
enableOperatorChange: !1
|
|
1561
1603
|
},
|
|
1562
1604
|
k,
|
|
1563
1605
|
g.has("taskType")
|
|
1564
1606
|
);
|
|
1565
|
-
if (
|
|
1566
|
-
let
|
|
1567
|
-
|
|
1607
|
+
if (i) {
|
|
1608
|
+
let m = ke({ projectsInfo: w, productTypes: l }, "task");
|
|
1609
|
+
i.values?.push(...m), c.push(i);
|
|
1568
1610
|
}
|
|
1569
1611
|
}
|
|
1570
1612
|
if (v.includes("folderType") && b !== "user") {
|
|
1571
|
-
const
|
|
1613
|
+
const i = Y(
|
|
1572
1614
|
"folderType",
|
|
1573
1615
|
{
|
|
1574
|
-
...
|
|
1616
|
+
...a,
|
|
1575
1617
|
enableOperatorChange: !1
|
|
1576
1618
|
},
|
|
1577
1619
|
k,
|
|
1578
1620
|
g.has("folderType")
|
|
1579
1621
|
);
|
|
1580
|
-
if (
|
|
1581
|
-
let
|
|
1582
|
-
|
|
1622
|
+
if (i) {
|
|
1623
|
+
let m = ke({ projectsInfo: w, productTypes: l }, "folder");
|
|
1624
|
+
i.values?.push(...m), c.push(i);
|
|
1583
1625
|
}
|
|
1584
1626
|
}
|
|
1585
1627
|
if (v.includes("productType") && b !== "user") {
|
|
1586
|
-
const
|
|
1628
|
+
const i = Y(
|
|
1587
1629
|
"productType",
|
|
1588
1630
|
{
|
|
1589
|
-
...
|
|
1631
|
+
...a,
|
|
1590
1632
|
enableOperatorChange: !1
|
|
1591
1633
|
},
|
|
1592
1634
|
k,
|
|
1593
1635
|
g.has("productType")
|
|
1594
1636
|
);
|
|
1595
|
-
if (
|
|
1596
|
-
let
|
|
1597
|
-
|
|
1637
|
+
if (i) {
|
|
1638
|
+
let m = ke({ projectsInfo: w, productTypes: l }, "product");
|
|
1639
|
+
i.values?.push(...m), c.push(i);
|
|
1598
1640
|
}
|
|
1599
1641
|
}
|
|
1600
1642
|
if (v.includes("productBaseType") && b !== "user") {
|
|
1601
|
-
const
|
|
1643
|
+
const i = Y(
|
|
1602
1644
|
"productBaseType",
|
|
1603
1645
|
{
|
|
1604
|
-
...
|
|
1646
|
+
...a,
|
|
1605
1647
|
enableOperatorChange: !1
|
|
1606
1648
|
},
|
|
1607
1649
|
k,
|
|
1608
1650
|
g.has("productBaseType")
|
|
1609
1651
|
);
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
id:
|
|
1613
|
-
label:
|
|
1614
|
-
icon:
|
|
1652
|
+
i && (f.forEach(({ icon: m, name: d }) => {
|
|
1653
|
+
i.values?.some((h) => h.id === d) || i.values?.push({
|
|
1654
|
+
id: d,
|
|
1655
|
+
label: d,
|
|
1656
|
+
icon: m || re("product")
|
|
1615
1657
|
});
|
|
1616
|
-
}),
|
|
1617
|
-
|
|
1618
|
-
id:
|
|
1619
|
-
label:
|
|
1620
|
-
icon:
|
|
1658
|
+
}), s.productBaseTypes?.forEach(({ icon: m, name: d }) => {
|
|
1659
|
+
i.values?.some((h) => h.id === d) || i.values?.push({
|
|
1660
|
+
id: d,
|
|
1661
|
+
label: d,
|
|
1662
|
+
icon: m || re("product")
|
|
1621
1663
|
});
|
|
1622
|
-
}), c.push(
|
|
1664
|
+
}), c.push(i));
|
|
1623
1665
|
}
|
|
1624
1666
|
if (v.includes("productName") && b === "product") {
|
|
1625
|
-
const
|
|
1667
|
+
const i = Y(
|
|
1626
1668
|
"productName",
|
|
1627
|
-
|
|
1669
|
+
a,
|
|
1628
1670
|
k,
|
|
1629
1671
|
g.has("productName")
|
|
1630
1672
|
);
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
id:
|
|
1634
|
-
label:
|
|
1673
|
+
i && (s.productNames?.forEach((m) => {
|
|
1674
|
+
i.values?.some((d) => d.id === m) || i.values?.push({
|
|
1675
|
+
id: m,
|
|
1676
|
+
label: m
|
|
1635
1677
|
});
|
|
1636
|
-
}), c.push(
|
|
1678
|
+
}), c.push(i));
|
|
1637
1679
|
}
|
|
1638
1680
|
if (v.includes("status")) {
|
|
1639
|
-
const
|
|
1681
|
+
const i = Y(
|
|
1640
1682
|
"status",
|
|
1641
|
-
{ ...
|
|
1683
|
+
{ ...a, enableOperatorChange: !1 },
|
|
1642
1684
|
k,
|
|
1643
1685
|
g.has("status")
|
|
1644
1686
|
);
|
|
1645
|
-
|
|
1646
|
-
(
|
|
1647
|
-
|
|
1648
|
-
id:
|
|
1649
|
-
label:
|
|
1650
|
-
icon:
|
|
1651
|
-
color:
|
|
1687
|
+
i && (Object.values(w).forEach((m) => {
|
|
1688
|
+
(m?.statuses || []).filter((h) => h.scope?.includes(b)).forEach((h) => {
|
|
1689
|
+
i.values?.some((I) => I.id === h.name) || i.values?.push({
|
|
1690
|
+
id: h.name,
|
|
1691
|
+
label: h.name,
|
|
1692
|
+
icon: h.icon,
|
|
1693
|
+
color: h.color
|
|
1652
1694
|
});
|
|
1653
1695
|
});
|
|
1654
|
-
}), c.push(
|
|
1696
|
+
}), c.push(i));
|
|
1655
1697
|
}
|
|
1656
1698
|
if (v.includes("assignees")) {
|
|
1657
|
-
const
|
|
1699
|
+
const i = Y(
|
|
1658
1700
|
"assignees",
|
|
1659
|
-
|
|
1701
|
+
a,
|
|
1660
1702
|
k,
|
|
1661
1703
|
g.has("assignees")
|
|
1662
1704
|
);
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
id:
|
|
1666
|
-
label:
|
|
1667
|
-
img: `/api/users/${
|
|
1705
|
+
i && (D.forEach((m) => {
|
|
1706
|
+
i.values?.some((d) => d.id === m.name) || i.values?.push({
|
|
1707
|
+
id: m.name,
|
|
1708
|
+
label: m.attrib.fullName || m.name,
|
|
1709
|
+
img: `/api/users/${m.name}/avatar`,
|
|
1668
1710
|
icon: null
|
|
1669
1711
|
});
|
|
1670
|
-
}),
|
|
1671
|
-
const
|
|
1672
|
-
return (
|
|
1673
|
-
}), c.push(
|
|
1712
|
+
}), i.values?.sort((m, d) => {
|
|
1713
|
+
const h = s.assignees?.filter((P) => P === m.id).length || 0;
|
|
1714
|
+
return (s.assignees?.filter((P) => P === d.id).length || 0) - h;
|
|
1715
|
+
}), c.push(i));
|
|
1674
1716
|
}
|
|
1675
1717
|
if (v.includes("author")) {
|
|
1676
|
-
const
|
|
1718
|
+
const i = Y(
|
|
1677
1719
|
"author",
|
|
1678
|
-
|
|
1720
|
+
a,
|
|
1679
1721
|
k,
|
|
1680
1722
|
g.has("author")
|
|
1681
1723
|
);
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
id:
|
|
1685
|
-
label:
|
|
1686
|
-
img: `/api/users/${
|
|
1724
|
+
i && (D.forEach((m) => {
|
|
1725
|
+
i.values?.some((d) => d.id === m.name) || i.values?.push({
|
|
1726
|
+
id: m.name,
|
|
1727
|
+
label: m.attrib.fullName || m.name,
|
|
1728
|
+
img: `/api/users/${m.name}/avatar`,
|
|
1687
1729
|
icon: null
|
|
1688
1730
|
});
|
|
1689
|
-
}), c.push(
|
|
1731
|
+
}), c.push(i));
|
|
1690
1732
|
}
|
|
1691
1733
|
if (v.includes("tags")) {
|
|
1692
|
-
const
|
|
1693
|
-
if (
|
|
1694
|
-
const
|
|
1734
|
+
const i = Y("tags", a, k, g.has("tags"));
|
|
1735
|
+
if (i) {
|
|
1736
|
+
const m = /* @__PURE__ */ new Map();
|
|
1695
1737
|
Object.values(w).forEach((I) => {
|
|
1696
1738
|
I?.tags && I.tags.forEach((P) => {
|
|
1697
|
-
|
|
1739
|
+
m.has(P.name) || m.set(P.name, P);
|
|
1698
1740
|
});
|
|
1699
1741
|
});
|
|
1700
|
-
const
|
|
1701
|
-
|
|
1702
|
-
const P =
|
|
1742
|
+
const d = /* @__PURE__ */ new Map();
|
|
1743
|
+
s.tags?.forEach((I) => {
|
|
1744
|
+
const P = d.get(I);
|
|
1703
1745
|
if (P) {
|
|
1704
1746
|
P.count++;
|
|
1705
1747
|
return;
|
|
1706
1748
|
} else {
|
|
1707
|
-
const E =
|
|
1708
|
-
|
|
1749
|
+
const E = m.get(I);
|
|
1750
|
+
d.set(I, {
|
|
1709
1751
|
id: I,
|
|
1710
1752
|
type: "string",
|
|
1711
1753
|
label: I,
|
|
@@ -1715,44 +1757,44 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1715
1757
|
});
|
|
1716
1758
|
}
|
|
1717
1759
|
});
|
|
1718
|
-
const
|
|
1760
|
+
const h = Array.from(d.values()).sort(
|
|
1719
1761
|
(I, P) => P.count - I.count
|
|
1720
1762
|
);
|
|
1721
|
-
|
|
1763
|
+
i.values?.push(...h), c.push(i);
|
|
1722
1764
|
}
|
|
1723
1765
|
}
|
|
1724
1766
|
if (v.includes("version")) {
|
|
1725
|
-
const
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
id:
|
|
1729
|
-
label:
|
|
1730
|
-
icon:
|
|
1767
|
+
const i = Y("version", a, k);
|
|
1768
|
+
i && (Nt.forEach((d) => {
|
|
1769
|
+
i.values?.push({
|
|
1770
|
+
id: d.value,
|
|
1771
|
+
label: d.label,
|
|
1772
|
+
icon: d.icon
|
|
1731
1773
|
});
|
|
1732
|
-
}), c.push(
|
|
1774
|
+
}), c.push(i));
|
|
1733
1775
|
}
|
|
1734
1776
|
if (v.includes("name")) {
|
|
1735
|
-
const
|
|
1736
|
-
|
|
1777
|
+
const i = Y("name", a, k, g.has("name"));
|
|
1778
|
+
i && c.push(i);
|
|
1737
1779
|
}
|
|
1738
1780
|
if (v.includes("extension") && b === "representation") {
|
|
1739
|
-
const
|
|
1781
|
+
const i = Y(
|
|
1740
1782
|
"extension",
|
|
1741
|
-
|
|
1783
|
+
a,
|
|
1742
1784
|
k,
|
|
1743
1785
|
g.has("extension")
|
|
1744
1786
|
);
|
|
1745
|
-
|
|
1787
|
+
i && c.push(i);
|
|
1746
1788
|
}
|
|
1747
1789
|
if (v.includes("hasReviewables")) {
|
|
1748
|
-
const
|
|
1790
|
+
const i = Y(
|
|
1749
1791
|
"hasReviewables",
|
|
1750
|
-
|
|
1792
|
+
a,
|
|
1751
1793
|
k,
|
|
1752
1794
|
g.has("hasReviewables")
|
|
1753
1795
|
);
|
|
1754
|
-
if (
|
|
1755
|
-
const
|
|
1796
|
+
if (i) {
|
|
1797
|
+
const m = [
|
|
1756
1798
|
{
|
|
1757
1799
|
id: "true",
|
|
1758
1800
|
label: "Yes",
|
|
@@ -1764,67 +1806,67 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1764
1806
|
values: []
|
|
1765
1807
|
}
|
|
1766
1808
|
];
|
|
1767
|
-
|
|
1809
|
+
i.values?.push(...m), c.push(i);
|
|
1768
1810
|
}
|
|
1769
1811
|
}
|
|
1770
1812
|
if (v.includes("createdAt")) {
|
|
1771
|
-
const
|
|
1813
|
+
const i = Y(
|
|
1772
1814
|
"createdAt",
|
|
1773
|
-
|
|
1815
|
+
a,
|
|
1774
1816
|
k,
|
|
1775
1817
|
g.has("createdAt")
|
|
1776
1818
|
);
|
|
1777
|
-
|
|
1778
|
-
...
|
|
1779
|
-
...
|
|
1780
|
-
contentAfter:
|
|
1819
|
+
i && (i.values?.push(Ee), i.values?.push(
|
|
1820
|
+
...Se().map((m) => ({
|
|
1821
|
+
...m,
|
|
1822
|
+
contentAfter: o ? void 0 : /* @__PURE__ */ p(pe, { icon: "bolt" })
|
|
1781
1823
|
}))
|
|
1782
|
-
), c.push(
|
|
1824
|
+
), c.push(i));
|
|
1783
1825
|
}
|
|
1784
1826
|
if (v.includes("updatedAt")) {
|
|
1785
|
-
const
|
|
1827
|
+
const i = Y(
|
|
1786
1828
|
"updatedAt",
|
|
1787
|
-
|
|
1829
|
+
a,
|
|
1788
1830
|
k,
|
|
1789
1831
|
g.has("updatedAt")
|
|
1790
1832
|
);
|
|
1791
|
-
|
|
1792
|
-
...
|
|
1793
|
-
...
|
|
1794
|
-
contentAfter:
|
|
1833
|
+
i && (i.values?.push(Ee), i.values?.push(
|
|
1834
|
+
...Se().map((m) => ({
|
|
1835
|
+
...m,
|
|
1836
|
+
contentAfter: o ? void 0 : /* @__PURE__ */ p(pe, { icon: "bolt" })
|
|
1795
1837
|
}))
|
|
1796
|
-
), c.push(
|
|
1838
|
+
), c.push(i));
|
|
1797
1839
|
}
|
|
1798
1840
|
if (v.includes("attributes")) {
|
|
1799
|
-
const
|
|
1800
|
-
(
|
|
1841
|
+
const i = U.filter(
|
|
1842
|
+
(h) => h.scope?.includes(b) && // replaced by the dedicated extension option: publishing never sets this
|
|
1801
1843
|
// attribute on representations, so filtering on it matches nothing
|
|
1802
|
-
!(v.includes("extension") &&
|
|
1803
|
-
),
|
|
1804
|
-
(
|
|
1844
|
+
!(v.includes("extension") && h.name === "extension")
|
|
1845
|
+
), m = gs(s.attributes) ? i : i.filter(
|
|
1846
|
+
(h) => s.attributes && s.attributes[h.name]
|
|
1805
1847
|
);
|
|
1806
|
-
(
|
|
1807
|
-
const I =
|
|
1848
|
+
(a?.enableRelativeValues ? m : m.filter((h) => h.data.type !== "datetime")).forEach((h) => {
|
|
1849
|
+
const I = s.attributes && s.attributes[h.name], P = h.data.enum, E = h.data.type, _ = [
|
|
1808
1850
|
"list_of_strings",
|
|
1809
1851
|
"list_of_integers",
|
|
1810
1852
|
"list_of_any",
|
|
1811
1853
|
"list_of_submodels"
|
|
1812
|
-
].includes(E || ""),
|
|
1813
|
-
|
|
1854
|
+
].includes(E || ""), G = E === "datetime", K = E === "string", X = E === "integer" || E === "float", oe = _ ? a?.enableOperatorChange : !1, se = h.data.default !== void 0 && h.data.default !== null && h.data.inherit !== !1, he = (_ || G || K || X) && !se ? a?.enableRelativeValues : !1, J = Js(
|
|
1855
|
+
h,
|
|
1814
1856
|
{
|
|
1815
|
-
...
|
|
1857
|
+
...a,
|
|
1816
1858
|
allowsCustomValues: !0,
|
|
1817
1859
|
enableOperatorChange: oe,
|
|
1818
1860
|
enableRelativeValues: he
|
|
1819
1861
|
},
|
|
1820
1862
|
k,
|
|
1821
|
-
(F.get(
|
|
1863
|
+
(F.get(h.name) || 0) > 1
|
|
1822
1864
|
);
|
|
1823
|
-
if (
|
|
1824
|
-
const ee =
|
|
1825
|
-
J.loadValuesKey = t?.[0], J.loadValues = async () =>
|
|
1865
|
+
if (h.data.enumResolver) {
|
|
1866
|
+
const ee = h.data;
|
|
1867
|
+
J.loadValuesKey = t?.[0], J.loadValues = async () => Ye(
|
|
1826
1868
|
I,
|
|
1827
|
-
await
|
|
1869
|
+
await u(ee, t?.[0]),
|
|
1828
1870
|
E
|
|
1829
1871
|
);
|
|
1830
1872
|
}
|
|
@@ -1836,7 +1878,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1836
1878
|
"list_of_integers"
|
|
1837
1879
|
], Z = [];
|
|
1838
1880
|
if (ge.includes(E)) {
|
|
1839
|
-
const ee =
|
|
1881
|
+
const ee = Ye(I, P, E);
|
|
1840
1882
|
Z.push(...ee);
|
|
1841
1883
|
}
|
|
1842
1884
|
if (E === "boolean") {
|
|
@@ -1854,54 +1896,54 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1854
1896
|
];
|
|
1855
1897
|
Z.push(...ee);
|
|
1856
1898
|
}
|
|
1857
|
-
|
|
1858
|
-
...
|
|
1899
|
+
G && (Z.push(Ee), Z.push(
|
|
1900
|
+
...Se().map((ee) => ({
|
|
1859
1901
|
...ee,
|
|
1860
|
-
contentAfter:
|
|
1902
|
+
contentAfter: o ? void 0 : /* @__PURE__ */ p(pe, { icon: "bolt" })
|
|
1861
1903
|
}))
|
|
1862
|
-
)), J.values?.push(...Z), S.set(J.id,
|
|
1904
|
+
)), J.values?.push(...Z), S.set(J.id, h.name), c.push(J);
|
|
1863
1905
|
});
|
|
1864
1906
|
}
|
|
1865
1907
|
});
|
|
1866
1908
|
const $ = c.reduce((b, v) => {
|
|
1867
1909
|
if (!v.group) return b;
|
|
1868
|
-
const k = typeof v.group == "string" ? void 0 : v.group,
|
|
1869
|
-
return b.some((
|
|
1870
|
-
name:
|
|
1871
|
-
label:
|
|
1872
|
-
icon:
|
|
1910
|
+
const k = typeof v.group == "string" ? void 0 : v.group, i = k?.name || v.group, m = y.some(({ scope: d }) => d === i);
|
|
1911
|
+
return b.some((d) => d.name === i) || b.push({
|
|
1912
|
+
name: i,
|
|
1913
|
+
label: m ? me(i) : k?.label || v.label,
|
|
1914
|
+
icon: m ? re(i) : k?.icon || v.icon,
|
|
1873
1915
|
color: k?.color || v.color
|
|
1874
1916
|
}), b;
|
|
1875
|
-
}, []), W =
|
|
1917
|
+
}, []), W = Zs(c, S, U), C = ea(
|
|
1876
1918
|
$,
|
|
1877
1919
|
W,
|
|
1878
1920
|
S,
|
|
1879
|
-
|
|
1921
|
+
U
|
|
1880
1922
|
);
|
|
1881
1923
|
return { options: W, groupOptions: C };
|
|
1882
|
-
},
|
|
1924
|
+
}, ke = ({
|
|
1883
1925
|
projectsInfo: e,
|
|
1884
1926
|
productTypes: t
|
|
1885
1927
|
}, n) => {
|
|
1886
|
-
const
|
|
1887
|
-
return n === "product" ? t.forEach(({ icon:
|
|
1888
|
-
|
|
1889
|
-
id:
|
|
1928
|
+
const r = [];
|
|
1929
|
+
return n === "product" ? t.forEach(({ icon: s, name: a }) => {
|
|
1930
|
+
r.push({
|
|
1931
|
+
id: a,
|
|
1890
1932
|
type: "string",
|
|
1891
|
-
label:
|
|
1892
|
-
icon:
|
|
1933
|
+
label: a,
|
|
1934
|
+
icon: s || re("product"),
|
|
1893
1935
|
inverted: !1,
|
|
1894
1936
|
values: [],
|
|
1895
1937
|
allowsCustomValues: !1
|
|
1896
1938
|
});
|
|
1897
|
-
}) : n === "task" ? Object.values(e).forEach((
|
|
1898
|
-
(
|
|
1899
|
-
|
|
1900
|
-
id:
|
|
1939
|
+
}) : n === "task" ? Object.values(e).forEach((s) => {
|
|
1940
|
+
(s?.taskTypes || []).forEach((o) => {
|
|
1941
|
+
r.some((u) => u.id === o.name) || r.push({
|
|
1942
|
+
id: o.name,
|
|
1901
1943
|
type: "string",
|
|
1902
|
-
label:
|
|
1903
|
-
icon:
|
|
1904
|
-
color:
|
|
1944
|
+
label: o.name,
|
|
1945
|
+
icon: o.icon,
|
|
1946
|
+
color: o.color,
|
|
1905
1947
|
inverted: !1,
|
|
1906
1948
|
values: [],
|
|
1907
1949
|
allowsCustomValues: !1,
|
|
@@ -1912,14 +1954,14 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1912
1954
|
}
|
|
1913
1955
|
});
|
|
1914
1956
|
});
|
|
1915
|
-
}) : n === "folder" && Object.values(e).forEach((
|
|
1916
|
-
(
|
|
1917
|
-
|
|
1918
|
-
id:
|
|
1957
|
+
}) : n === "folder" && Object.values(e).forEach((s) => {
|
|
1958
|
+
(s?.folderTypes || []).forEach((o) => {
|
|
1959
|
+
r.some((u) => u.id === o.name) || r.push({
|
|
1960
|
+
id: o.name,
|
|
1919
1961
|
type: "string",
|
|
1920
|
-
label:
|
|
1921
|
-
icon:
|
|
1922
|
-
color:
|
|
1962
|
+
label: o.name,
|
|
1963
|
+
icon: o.icon,
|
|
1964
|
+
color: o.color,
|
|
1923
1965
|
inverted: !1,
|
|
1924
1966
|
values: [],
|
|
1925
1967
|
allowsCustomValues: !1,
|
|
@@ -1930,18 +1972,18 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1930
1972
|
}
|
|
1931
1973
|
});
|
|
1932
1974
|
});
|
|
1933
|
-
}),
|
|
1934
|
-
},
|
|
1935
|
-
const { prefixes:
|
|
1936
|
-
let
|
|
1937
|
-
return
|
|
1938
|
-
}, Y = (e, t, n,
|
|
1939
|
-
const
|
|
1940
|
-
let
|
|
1975
|
+
}), r;
|
|
1976
|
+
}, ct = (e, t, n, r) => {
|
|
1977
|
+
const { prefixes: s, keys: a } = n || {};
|
|
1978
|
+
let o = e;
|
|
1979
|
+
return a && t in a ? o = `${a[t]}` : s && t in s && (o = `${s[t]}${e}`), r && (o = `${r}_${o}`), o;
|
|
1980
|
+
}, Y = (e, t, n, r = !1) => {
|
|
1981
|
+
const s = (l) => ct(l, e, t, n);
|
|
1982
|
+
let a = null;
|
|
1941
1983
|
switch (e) {
|
|
1942
1984
|
case "taskType":
|
|
1943
|
-
|
|
1944
|
-
id:
|
|
1985
|
+
a = {
|
|
1986
|
+
id: s("taskType"),
|
|
1945
1987
|
type: "string",
|
|
1946
1988
|
label: "Task Type",
|
|
1947
1989
|
icon: q("task"),
|
|
@@ -1956,8 +1998,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1956
1998
|
};
|
|
1957
1999
|
break;
|
|
1958
2000
|
case "folderType":
|
|
1959
|
-
|
|
1960
|
-
id:
|
|
2001
|
+
a = {
|
|
2002
|
+
id: s("folderType"),
|
|
1961
2003
|
type: "string",
|
|
1962
2004
|
label: "Folder Type",
|
|
1963
2005
|
icon: q("folder"),
|
|
@@ -1972,8 +2014,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1972
2014
|
};
|
|
1973
2015
|
break;
|
|
1974
2016
|
case "productType":
|
|
1975
|
-
|
|
1976
|
-
id:
|
|
2017
|
+
a = {
|
|
2018
|
+
id: s("productType"),
|
|
1977
2019
|
type: "string",
|
|
1978
2020
|
label: "Product Type",
|
|
1979
2021
|
icon: q("product"),
|
|
@@ -1988,8 +2030,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
1988
2030
|
};
|
|
1989
2031
|
break;
|
|
1990
2032
|
case "productBaseType":
|
|
1991
|
-
|
|
1992
|
-
id:
|
|
2033
|
+
a = {
|
|
2034
|
+
id: s("productBaseType"),
|
|
1993
2035
|
type: "string",
|
|
1994
2036
|
label: "Product Base Type",
|
|
1995
2037
|
icon: q("product"),
|
|
@@ -2004,8 +2046,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2004
2046
|
};
|
|
2005
2047
|
break;
|
|
2006
2048
|
case "productName":
|
|
2007
|
-
|
|
2008
|
-
id:
|
|
2049
|
+
a = {
|
|
2050
|
+
id: s("productNames"),
|
|
2009
2051
|
type: "string",
|
|
2010
2052
|
label: "Product Name",
|
|
2011
2053
|
icon: q("productName", "string"),
|
|
@@ -2020,8 +2062,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2020
2062
|
};
|
|
2021
2063
|
break;
|
|
2022
2064
|
case "status":
|
|
2023
|
-
|
|
2024
|
-
id:
|
|
2065
|
+
a = {
|
|
2066
|
+
id: s("status"),
|
|
2025
2067
|
type: "string",
|
|
2026
2068
|
label: "Status",
|
|
2027
2069
|
icon: q("status"),
|
|
@@ -2036,8 +2078,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2036
2078
|
};
|
|
2037
2079
|
break;
|
|
2038
2080
|
case "assignees":
|
|
2039
|
-
|
|
2040
|
-
id:
|
|
2081
|
+
a = {
|
|
2082
|
+
id: s("assignees"),
|
|
2041
2083
|
type: "list_of_strings",
|
|
2042
2084
|
label: "Assignee",
|
|
2043
2085
|
icon: q("assignees"),
|
|
@@ -2052,8 +2094,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2052
2094
|
};
|
|
2053
2095
|
break;
|
|
2054
2096
|
case "author":
|
|
2055
|
-
|
|
2056
|
-
id:
|
|
2097
|
+
a = {
|
|
2098
|
+
id: s("author"),
|
|
2057
2099
|
type: "string",
|
|
2058
2100
|
label: "Author",
|
|
2059
2101
|
icon: q("author"),
|
|
@@ -2068,8 +2110,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2068
2110
|
};
|
|
2069
2111
|
break;
|
|
2070
2112
|
case "tags":
|
|
2071
|
-
|
|
2072
|
-
id:
|
|
2113
|
+
a = {
|
|
2114
|
+
id: s("tags"),
|
|
2073
2115
|
type: "list_of_strings",
|
|
2074
2116
|
label: "Tags",
|
|
2075
2117
|
icon: q("tags"),
|
|
@@ -2084,8 +2126,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2084
2126
|
};
|
|
2085
2127
|
break;
|
|
2086
2128
|
case "version":
|
|
2087
|
-
|
|
2088
|
-
id:
|
|
2129
|
+
a = {
|
|
2130
|
+
id: s("version"),
|
|
2089
2131
|
type: "string",
|
|
2090
2132
|
label: "Version",
|
|
2091
2133
|
icon: re("version"),
|
|
@@ -2101,8 +2143,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2101
2143
|
};
|
|
2102
2144
|
break;
|
|
2103
2145
|
case "name":
|
|
2104
|
-
|
|
2105
|
-
id:
|
|
2146
|
+
a = {
|
|
2147
|
+
id: s("name"),
|
|
2106
2148
|
type: "string",
|
|
2107
2149
|
label: "Name",
|
|
2108
2150
|
icon: "text_fields",
|
|
@@ -2117,8 +2159,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2117
2159
|
};
|
|
2118
2160
|
break;
|
|
2119
2161
|
case "extension":
|
|
2120
|
-
|
|
2121
|
-
id:
|
|
2162
|
+
a = {
|
|
2163
|
+
id: s("extension"),
|
|
2122
2164
|
type: "string",
|
|
2123
2165
|
label: "File Extension",
|
|
2124
2166
|
icon: q("extension", "string"),
|
|
@@ -2133,8 +2175,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2133
2175
|
};
|
|
2134
2176
|
break;
|
|
2135
2177
|
case "hasReviewables":
|
|
2136
|
-
|
|
2137
|
-
id:
|
|
2178
|
+
a = {
|
|
2179
|
+
id: s("hasReviewables"),
|
|
2138
2180
|
type: "boolean",
|
|
2139
2181
|
label: "Has Reviewables",
|
|
2140
2182
|
icon: "play_circle",
|
|
@@ -2150,8 +2192,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2150
2192
|
};
|
|
2151
2193
|
break;
|
|
2152
2194
|
case "createdAt":
|
|
2153
|
-
|
|
2154
|
-
id:
|
|
2195
|
+
a = {
|
|
2196
|
+
id: s("createdAt"),
|
|
2155
2197
|
type: "datetime",
|
|
2156
2198
|
label: "Created",
|
|
2157
2199
|
icon: "calendar_add_on",
|
|
@@ -2167,8 +2209,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2167
2209
|
};
|
|
2168
2210
|
break;
|
|
2169
2211
|
case "updatedAt":
|
|
2170
|
-
|
|
2171
|
-
id:
|
|
2212
|
+
a = {
|
|
2213
|
+
id: s("updatedAt"),
|
|
2172
2214
|
type: "datetime",
|
|
2173
2215
|
label: "Updated",
|
|
2174
2216
|
icon: "edit_calendar",
|
|
@@ -2184,26 +2226,26 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2184
2226
|
};
|
|
2185
2227
|
break;
|
|
2186
2228
|
}
|
|
2187
|
-
const
|
|
2188
|
-
if ((
|
|
2189
|
-
const
|
|
2190
|
-
|
|
2191
|
-
name:
|
|
2192
|
-
label: n ? me(n) :
|
|
2193
|
-
icon: n ? re(n) :
|
|
2229
|
+
const o = me(n || ""), u = (l) => n ? `${o} ${l}` : l;
|
|
2230
|
+
if ((r || n) && a) {
|
|
2231
|
+
const l = n || e;
|
|
2232
|
+
a.group = {
|
|
2233
|
+
name: l,
|
|
2234
|
+
label: n ? me(n) : a.label,
|
|
2235
|
+
icon: n ? re(n) : a.icon
|
|
2194
2236
|
};
|
|
2195
2237
|
}
|
|
2196
|
-
return
|
|
2197
|
-
},
|
|
2198
|
-
const
|
|
2238
|
+
return a && n && (a.tooltip = u(a.label), a.value = { label: u(a.label) }), a && e === "version" && n === "version" && (a.value = { label: "Product Version" }, a.tooltip = "Product Version"), a;
|
|
2239
|
+
}, Js = (e, t, n, r = !1) => {
|
|
2240
|
+
const s = e.data.title || e.name, a = r || n ? {
|
|
2199
2241
|
name: n || e.name,
|
|
2200
|
-
label: n ? me(n) :
|
|
2201
|
-
icon: n ? re(n) : q(e.name, e.data.type,
|
|
2242
|
+
label: n ? me(n) : s,
|
|
2243
|
+
icon: n ? re(n) : q(e.name, e.data.type, Me(e.data))
|
|
2202
2244
|
} : void 0;
|
|
2203
2245
|
return {
|
|
2204
|
-
id:
|
|
2246
|
+
id: ct(e.name, "attributes", t, n),
|
|
2205
2247
|
type: e.data.type,
|
|
2206
|
-
label:
|
|
2248
|
+
label: s,
|
|
2207
2249
|
operator: "OR",
|
|
2208
2250
|
inverted: !1,
|
|
2209
2251
|
values: [],
|
|
@@ -2212,27 +2254,27 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2212
2254
|
allowNoValue: t.enableRelativeValues,
|
|
2213
2255
|
allowExcludes: t?.enableExcludes,
|
|
2214
2256
|
operatorChangeable: t?.enableOperatorChange,
|
|
2215
|
-
icon: q(e.name, e.data.type,
|
|
2216
|
-
group:
|
|
2217
|
-
tooltip: n ? `${me(n)} ${
|
|
2257
|
+
icon: q(e.name, e.data.type, Me(e.data)),
|
|
2258
|
+
group: a,
|
|
2259
|
+
tooltip: n ? `${me(n)} ${s}` : void 0,
|
|
2218
2260
|
value: n ? { icon: re(n) } : void 0,
|
|
2219
2261
|
singleSelect: ["boolean", "datetime"].includes(e.data.type || "")
|
|
2220
2262
|
};
|
|
2221
|
-
},
|
|
2222
|
-
const
|
|
2263
|
+
}, Ye = (e, t, n) => {
|
|
2264
|
+
const r = [], s = [];
|
|
2223
2265
|
if (t) {
|
|
2224
|
-
const
|
|
2225
|
-
|
|
2226
|
-
(
|
|
2227
|
-
const
|
|
2228
|
-
|
|
2229
|
-
id:
|
|
2266
|
+
const a = (e || []).flatMap((o) => Array.isArray(o) ? o : [o]);
|
|
2267
|
+
es(t, a).forEach(
|
|
2268
|
+
(o) => {
|
|
2269
|
+
const u = o.icon, l = ts(u);
|
|
2270
|
+
r.push({
|
|
2271
|
+
id: o.value.toString(),
|
|
2230
2272
|
type: n,
|
|
2231
|
-
label:
|
|
2273
|
+
label: o.label,
|
|
2232
2274
|
values: [],
|
|
2233
|
-
icon:
|
|
2234
|
-
img:
|
|
2235
|
-
color:
|
|
2275
|
+
icon: l ? null : u,
|
|
2276
|
+
img: l ? u : void 0,
|
|
2277
|
+
color: o.color,
|
|
2236
2278
|
pt: {
|
|
2237
2279
|
style: { color: "inherit" }
|
|
2238
2280
|
}
|
|
@@ -2240,61 +2282,61 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2240
2282
|
}
|
|
2241
2283
|
);
|
|
2242
2284
|
}
|
|
2243
|
-
return e?.forEach((
|
|
2244
|
-
if (!
|
|
2245
|
-
let
|
|
2246
|
-
switch (typeof
|
|
2285
|
+
return e?.forEach((a) => {
|
|
2286
|
+
if (!a) return;
|
|
2287
|
+
let o = "";
|
|
2288
|
+
switch (typeof a) {
|
|
2247
2289
|
case "string":
|
|
2248
2290
|
case "number":
|
|
2249
2291
|
case "boolean":
|
|
2250
|
-
|
|
2292
|
+
o = a.toString();
|
|
2251
2293
|
break;
|
|
2252
2294
|
case "object":
|
|
2253
|
-
Array.isArray(
|
|
2295
|
+
Array.isArray(a) ? o = a.join(", ") : o = JSON.stringify(a);
|
|
2254
2296
|
break;
|
|
2255
2297
|
}
|
|
2256
|
-
const
|
|
2257
|
-
if (
|
|
2258
|
-
const
|
|
2259
|
-
if (
|
|
2260
|
-
|
|
2298
|
+
const u = o.trim().toLowerCase().replace(/[^a-z0-9\s]/g, "").replace(/\s+/g, "-");
|
|
2299
|
+
if (r?.find((c) => c.id === u)) return;
|
|
2300
|
+
const f = s.find((c) => c.id === u);
|
|
2301
|
+
if (f) {
|
|
2302
|
+
f.count++;
|
|
2261
2303
|
return;
|
|
2262
2304
|
} else
|
|
2263
|
-
|
|
2264
|
-
id:
|
|
2305
|
+
s.push({
|
|
2306
|
+
id: u,
|
|
2265
2307
|
type: n,
|
|
2266
|
-
label:
|
|
2308
|
+
label: o,
|
|
2267
2309
|
values: [],
|
|
2268
2310
|
count: 1
|
|
2269
2311
|
});
|
|
2270
|
-
}),
|
|
2271
|
-
},
|
|
2272
|
-
be(
|
|
2273
|
-
t.get(
|
|
2274
|
-
be(
|
|
2275
|
-
t.get(
|
|
2312
|
+
}), s.sort((a, o) => o.count - a.count), [...r, ...s];
|
|
2313
|
+
}, Zs = (e, t, n) => [...e].sort((r, s) => ut(
|
|
2314
|
+
be(r),
|
|
2315
|
+
t.get(r.id),
|
|
2316
|
+
be(s),
|
|
2317
|
+
t.get(s.id),
|
|
2276
2318
|
n
|
|
2277
|
-
)), be = (e) => e.group ? typeof e.group == "string" ? e.group : e.group.name : e.id,
|
|
2278
|
-
const
|
|
2279
|
-
return
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2319
|
+
)), be = (e) => e.group ? typeof e.group == "string" ? e.group : e.group.name : e.id, ea = (e, t, n, r) => [...e].sort((s, a) => {
|
|
2320
|
+
const o = t.find((l) => (typeof l.group == "string" ? l.group : l.group?.name) === s.name), u = t.find((l) => (typeof l.group == "string" ? l.group : l.group?.name) === a.name);
|
|
2321
|
+
return ut(
|
|
2322
|
+
o ? be(o) : s.name,
|
|
2323
|
+
o ? n.get(o.id) : s.name,
|
|
2324
|
+
u ? be(u) : a.name,
|
|
2325
|
+
u ? n.get(u.id) : a.name,
|
|
2326
|
+
r
|
|
2285
2327
|
);
|
|
2286
|
-
}),
|
|
2287
|
-
const
|
|
2328
|
+
}), ut = (e, t, n, r, s) => {
|
|
2329
|
+
const a = new Map(s.map((f, c) => [f.name, c])), o = (f) => {
|
|
2288
2330
|
let c = 0;
|
|
2289
|
-
for (const S of
|
|
2290
|
-
if (
|
|
2331
|
+
for (const S of Xs) {
|
|
2332
|
+
if (f === S || f.endsWith(`_${S}`)) return c;
|
|
2291
2333
|
c++;
|
|
2292
2334
|
}
|
|
2293
2335
|
return Number.MAX_SAFE_INTEGER;
|
|
2294
|
-
},
|
|
2295
|
-
return
|
|
2296
|
-
},
|
|
2297
|
-
const
|
|
2336
|
+
}, u = t ? [1, a.get(t) ?? Number.MAX_SAFE_INTEGER] : [0, o(e)], l = r ? [1, a.get(r) ?? Number.MAX_SAFE_INTEGER] : [0, o(n)];
|
|
2337
|
+
return u[0] - l[0] || u[1] - l[1];
|
|
2338
|
+
}, Co = (e, t, n, r) => {
|
|
2339
|
+
const s = {
|
|
2298
2340
|
folder: { conditions: [], operator: e?.operator || "and" },
|
|
2299
2341
|
product: { conditions: [], operator: e?.operator || "and" },
|
|
2300
2342
|
task: { conditions: [], operator: e?.operator || "and" },
|
|
@@ -2304,17 +2346,17 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2304
2346
|
unscoped: { conditions: [], operator: e?.operator || "and" }
|
|
2305
2347
|
};
|
|
2306
2348
|
if (!e?.conditions || e?.conditions.length === 0)
|
|
2307
|
-
return
|
|
2308
|
-
const
|
|
2309
|
-
const
|
|
2310
|
-
if (
|
|
2311
|
-
const c =
|
|
2312
|
-
return { scope:
|
|
2349
|
+
return s;
|
|
2350
|
+
const a = (l) => {
|
|
2351
|
+
const f = t.find((c) => l.startsWith(`${c}_`));
|
|
2352
|
+
if (f) {
|
|
2353
|
+
const c = l.substring(`${f}_`.length);
|
|
2354
|
+
return { scope: f, cleanId: c };
|
|
2313
2355
|
} else if (n?.fallbackScope)
|
|
2314
|
-
return { scope: n.fallbackScope, cleanId:
|
|
2315
|
-
return { scope: null, cleanId:
|
|
2316
|
-
},
|
|
2317
|
-
const
|
|
2356
|
+
return { scope: n.fallbackScope, cleanId: l };
|
|
2357
|
+
return { scope: null, cleanId: l };
|
|
2358
|
+
}, o = (l) => {
|
|
2359
|
+
const f = {
|
|
2318
2360
|
folder: [],
|
|
2319
2361
|
product: [],
|
|
2320
2362
|
task: [],
|
|
@@ -2323,34 +2365,34 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2323
2365
|
representation: [],
|
|
2324
2366
|
unscoped: []
|
|
2325
2367
|
};
|
|
2326
|
-
if ("conditions" in
|
|
2327
|
-
const c = (
|
|
2328
|
-
Object.keys(
|
|
2368
|
+
if ("conditions" in l && !("key" in l)) {
|
|
2369
|
+
const c = (l.conditions || []).map((S) => o(S));
|
|
2370
|
+
Object.keys(f).forEach((S) => {
|
|
2329
2371
|
const y = S, T = c.flatMap((g) => g[y]);
|
|
2330
|
-
T.length > 0 && (T.length === 1 && !
|
|
2372
|
+
T.length > 0 && (T.length === 1 && !l.operator ? f[y].push(T[0]) : f[y].push({
|
|
2331
2373
|
conditions: T,
|
|
2332
|
-
operator:
|
|
2374
|
+
operator: l.operator
|
|
2333
2375
|
}));
|
|
2334
2376
|
});
|
|
2335
|
-
} else if ("key" in
|
|
2336
|
-
const { scope: c, cleanId: S } =
|
|
2377
|
+
} else if ("key" in l) {
|
|
2378
|
+
const { scope: c, cleanId: S } = a(l.key);
|
|
2337
2379
|
if (c)
|
|
2338
|
-
|
|
2380
|
+
f[c].push({ ...l, key: S });
|
|
2339
2381
|
else {
|
|
2340
|
-
const y =
|
|
2341
|
-
y ?
|
|
2342
|
-
|
|
2343
|
-
}) :
|
|
2382
|
+
const y = r?.[l.key];
|
|
2383
|
+
y ? f[y].push(l) : l.key === Ht || l.key === "name" || l.key?.endsWith("_name") ? t.forEach((T) => {
|
|
2384
|
+
f[T].push(l);
|
|
2385
|
+
}) : f.unscoped.push(l);
|
|
2344
2386
|
}
|
|
2345
2387
|
}
|
|
2346
|
-
return
|
|
2347
|
-
},
|
|
2348
|
-
return Object.keys(
|
|
2349
|
-
const
|
|
2350
|
-
|
|
2351
|
-
}),
|
|
2352
|
-
},
|
|
2353
|
-
const
|
|
2388
|
+
return f;
|
|
2389
|
+
}, u = (e.conditions || []).map((l) => o(l));
|
|
2390
|
+
return Object.keys(s).forEach((l) => {
|
|
2391
|
+
const f = l;
|
|
2392
|
+
s[f].conditions = u.flatMap((c) => c[f]);
|
|
2393
|
+
}), s;
|
|
2394
|
+
}, Oo = (e, t, n) => {
|
|
2395
|
+
const r = {
|
|
2354
2396
|
folder: [],
|
|
2355
2397
|
product: [],
|
|
2356
2398
|
task: [],
|
|
@@ -2360,26 +2402,26 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2360
2402
|
unscoped: []
|
|
2361
2403
|
};
|
|
2362
2404
|
if (!e || e.length === 0)
|
|
2363
|
-
return
|
|
2364
|
-
const
|
|
2365
|
-
const
|
|
2366
|
-
return
|
|
2405
|
+
return r;
|
|
2406
|
+
const s = (o) => t.find((l) => o.startsWith(`${l}_`)) || null, a = (o, u) => {
|
|
2407
|
+
const l = `${u}_`;
|
|
2408
|
+
return o.startsWith(l) ? o.substring(l.length) : o;
|
|
2367
2409
|
};
|
|
2368
|
-
return e.forEach((
|
|
2369
|
-
if (!
|
|
2370
|
-
const
|
|
2371
|
-
if (
|
|
2372
|
-
const
|
|
2373
|
-
...
|
|
2374
|
-
id:
|
|
2410
|
+
return e.forEach((o) => {
|
|
2411
|
+
if (!o.id) return;
|
|
2412
|
+
const u = s(o.id);
|
|
2413
|
+
if (u) {
|
|
2414
|
+
const l = {
|
|
2415
|
+
...o,
|
|
2416
|
+
id: a(o.id, u)
|
|
2375
2417
|
};
|
|
2376
|
-
|
|
2418
|
+
r[u].push(l);
|
|
2377
2419
|
} else {
|
|
2378
|
-
const
|
|
2379
|
-
|
|
2420
|
+
const l = n?.[o.id];
|
|
2421
|
+
l ? r[l].push(o) : r.unscoped.push(o);
|
|
2380
2422
|
}
|
|
2381
|
-
}),
|
|
2382
|
-
}, ce = ["status", "tags", "attributes", "createdAt", "updatedAt"],
|
|
2423
|
+
}), r;
|
|
2424
|
+
}, ce = ["status", "tags", "attributes", "createdAt", "updatedAt"], ta = {
|
|
2383
2425
|
folder: [...ce, "name", "folderType"],
|
|
2384
2426
|
task: [...ce, "name", "taskType", "folderType", "assignees"],
|
|
2385
2427
|
version: [
|
|
@@ -2396,208 +2438,213 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
|
|
|
2396
2438
|
product: [...ce, "productName", "productBaseType"],
|
|
2397
2439
|
representation: [...ce, "name", "extension"],
|
|
2398
2440
|
user: [...ce]
|
|
2399
|
-
},
|
|
2441
|
+
}, To = (e, t) => e.map((n) => ({
|
|
2400
2442
|
scope: n,
|
|
2401
|
-
filterTypes:
|
|
2443
|
+
filterTypes: ta[n].filter((r) => !t?.[n]?.includes(r))
|
|
2402
2444
|
}));
|
|
2403
2445
|
export {
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
io as
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2446
|
+
On as $createMediaNode,
|
|
2447
|
+
Tn as $createMentionNode,
|
|
2448
|
+
In as $createYouTubeNode,
|
|
2449
|
+
Pn as $getMarkdown,
|
|
2450
|
+
An as $isMediaNode,
|
|
2451
|
+
Dn as $isMentionNode,
|
|
2452
|
+
Rn as $isYouTubeNode,
|
|
2453
|
+
Vn as $setMarkdown,
|
|
2454
|
+
to as ACCESS_LEVEL_LABELS,
|
|
2455
|
+
xn as ACTIVITY_LINK_LABEL,
|
|
2456
|
+
eo as AccessSearchInput,
|
|
2457
|
+
De as AccessUser,
|
|
2458
|
+
Ao as AddColumnButton,
|
|
2459
|
+
mn as AddNewLinks,
|
|
2460
|
+
go as AddonButton,
|
|
2461
|
+
Vs as AddonDialog,
|
|
2462
|
+
bo as AddonEntityPicker,
|
|
2463
|
+
Do as AddonLoadingScreen,
|
|
2464
|
+
So as AddonMoreMenu,
|
|
2465
|
+
wo as AddonServices,
|
|
2466
|
+
Eo as AddonUserDetailsSections,
|
|
2467
|
+
Ro as AttributeEditor,
|
|
2468
|
+
Fe as BLOCK_DIALOG_CLOSE_CLASS,
|
|
2469
|
+
un as Badge,
|
|
2470
|
+
dn as BadgeWrapper,
|
|
2471
|
+
Fn as CUSTOM_RANGE_ICON,
|
|
2472
|
+
_n as CUSTOM_RANGE_ID,
|
|
2473
|
+
Ln as CellEditingDialog,
|
|
2474
|
+
hn as Chips,
|
|
2475
|
+
Qi as ColumnHeaderMenuUI,
|
|
2476
|
+
gi as ColumnMenuButton,
|
|
2477
|
+
Vo as ColumnsSettings,
|
|
2478
|
+
xo as ColumnsSettingsWithContext,
|
|
2479
|
+
Wi as CustomDateRangeDialog,
|
|
2480
|
+
Fo as CustomizeButton,
|
|
2481
|
+
_o as DEFAULT_FEATURED_ORDER,
|
|
2482
|
+
Mn as DEFAULT_TOOLBAR,
|
|
2483
|
+
Ir as DELETE_CONFIRM_THRESHOLD,
|
|
2484
|
+
Rr as DELETE_TYPE_ORDER,
|
|
2485
|
+
Nn as DESCRIPTION_TOOLBAR,
|
|
2486
|
+
so as DateRangePicker,
|
|
2487
|
+
Pr as DeleteConfirmContent,
|
|
2488
|
+
Vr as DeleteEntitiesConfirmDialog,
|
|
2489
|
+
gn as DescriptionSection,
|
|
2490
|
+
Nr as DetailsDialog,
|
|
2491
|
+
Xt as DetailsPanelAttributesEditor,
|
|
2492
|
+
Br as DetailsPanelDetails,
|
|
2493
|
+
Jt as DetailsSection,
|
|
2494
|
+
Un as DoneCheckbox,
|
|
2495
|
+
pi as ENTITY_TOOLTIP_TYPES,
|
|
2496
|
+
Lo as EVERYONE_GROUP_KEY,
|
|
2497
|
+
Mo as EVERY_GUESTS_KEY,
|
|
2498
|
+
No as EarlyPreview,
|
|
2499
|
+
Xr as EmptyPlaceholder,
|
|
2500
|
+
ei as EmptyPlaceholderFlex,
|
|
2501
|
+
ti as EmptyPlaceholderFlexWrapper,
|
|
2502
|
+
bn as EntityIcon,
|
|
2503
|
+
ii as EntityPanelUploader,
|
|
2504
|
+
li as EntityPath,
|
|
2505
|
+
fi as EntityTooltip,
|
|
2506
|
+
Uo as EnumEditor,
|
|
2507
|
+
Bo as EnumEditorItem,
|
|
2508
|
+
wn as EnumItemDialog,
|
|
2509
|
+
Nt as FEATURED_VERSION_TYPES,
|
|
2510
|
+
Bn as FILMSTRIP_ACTIVE_ATTRIBUTE,
|
|
2511
|
+
$n as FILMSTRIP_FILE_ATTRIBUTE,
|
|
2512
|
+
Gn as FILMSTRIP_POSITION_ATTRIBUTE,
|
|
2513
|
+
ta as FILTER_TYPES_BY_SCOPE,
|
|
2514
|
+
zn as FLOATING_TOOLBAR,
|
|
2515
|
+
$o as FeaturedVersionOrder,
|
|
2516
|
+
Es as FeedbackContext,
|
|
2517
|
+
oo as FeedbackProvider,
|
|
2518
|
+
$r as FieldLabel,
|
|
2519
|
+
Gr as FileThumbnail,
|
|
2520
|
+
Hn as Filmstrip,
|
|
2521
|
+
Wn as FilmstripEntityCard,
|
|
2522
|
+
Ei as FilterErrorActions,
|
|
2523
|
+
It as FreeTrialLink,
|
|
2524
|
+
Go as GROUP_KEY_PREFIX,
|
|
2525
|
+
zo as GUEST_KEY_PREFIX,
|
|
2526
|
+
Yn as INSERT_MENTION_TRIGGER_COMMAND,
|
|
2527
|
+
ai as InfoMessage,
|
|
2528
|
+
ni as JsonViewer,
|
|
2529
|
+
Ho as LegacyBadge,
|
|
2530
|
+
vn as LinkManagerItem,
|
|
2531
|
+
yn as LinksManager,
|
|
2532
|
+
no as ListAttributeForm,
|
|
2533
|
+
ro as ListMetaData,
|
|
2534
|
+
uo as LoginPage,
|
|
2535
|
+
jn as MARKDOWN_TRANSFORMERS,
|
|
2536
|
+
Kn as MENTION,
|
|
2537
|
+
qn as MENTION_REF_TYPES,
|
|
2538
|
+
Qn as MENTION_TRIGGER_BY_TYPE,
|
|
2539
|
+
Li as MENU_PORTAL_CONTENT_ID,
|
|
2540
|
+
Mi as MENU_PORTAL_DIALOG_ID,
|
|
2541
|
+
Xn as MarkdownEditor,
|
|
2542
|
+
Jn as MediaBlock,
|
|
2543
|
+
Zn as MediaNode,
|
|
2544
|
+
er as MentionNode,
|
|
2545
|
+
rt as Menu,
|
|
2546
|
+
nt as MenuContainer,
|
|
2547
|
+
Ni as MenuList,
|
|
2548
|
+
tr as NO_DATE,
|
|
2549
|
+
Jr as Placeholder,
|
|
2550
|
+
Wo as PowerpackButton,
|
|
2551
|
+
io as PowerpackDialog,
|
|
2552
|
+
po as ProjectPageLayoutHost,
|
|
2553
|
+
co as ProjectPageRemote,
|
|
2554
|
+
Yo as ProjectTableSettings,
|
|
2555
|
+
Ar as RefreshToast,
|
|
2556
|
+
We as RemotePageWrapper,
|
|
2557
|
+
xs as ReportCrash,
|
|
2558
|
+
jo as RequiredAddonVersion,
|
|
2559
|
+
zr as ReviewableCard,
|
|
2560
|
+
Hr as ReviewableProgressCard,
|
|
2561
|
+
Wr as ReviewableUpload,
|
|
2562
|
+
ci as ReviewablesList,
|
|
2563
|
+
Ko as ReviewablesSelector,
|
|
2564
|
+
qo as SettingOption,
|
|
2565
|
+
Qo as SettingSwitch,
|
|
2566
|
+
Xo as SettingsPanel,
|
|
2567
|
+
Jo as SettingsPanelItemTemplate,
|
|
2568
|
+
Zo as ShareOptionIcon,
|
|
2569
|
+
pn as SimpleForm,
|
|
2570
|
+
Ki as SimpleFormDialog,
|
|
2571
|
+
en as SizeSlider,
|
|
2572
|
+
fo as SlicerHost,
|
|
2573
|
+
tn as SplitterStyles,
|
|
2574
|
+
Yr as StackedThumbnails,
|
|
2575
|
+
sn as StyledLink,
|
|
2576
|
+
En as SubtasksManagerWrapper,
|
|
2577
|
+
bi as SupportBubble,
|
|
2578
|
+
Di as SyncButton,
|
|
2579
|
+
an as TEAM_KEY_PREFIX,
|
|
2580
|
+
on as TableGridSwitch,
|
|
2581
|
+
zi as TableSearch,
|
|
2582
|
+
Pi as TableSettingsFallback,
|
|
2583
|
+
jr as Thumbnail,
|
|
2584
|
+
Yi as ThumbnailSimple,
|
|
2585
|
+
nn as USER_KEY_PREFIX,
|
|
2586
|
+
rn as UploadVersionDialog,
|
|
2587
|
+
sr as UserImage,
|
|
2588
|
+
Rs as VersionUploadContext,
|
|
2589
|
+
ao as VersionUploadProvider,
|
|
2590
|
+
Kr as Watchers,
|
|
2591
|
+
ar as YouTubeEmbed,
|
|
2592
|
+
or as YouTubeNode,
|
|
2593
|
+
xr as buildChildrenDetails,
|
|
2594
|
+
Fr as buildEntityLabel,
|
|
2595
|
+
_r as buildExpectedCounts,
|
|
2596
|
+
To as buildScopes,
|
|
2597
|
+
Ri as buildSortMenuItem,
|
|
2598
|
+
nr as createFeedMentionSource,
|
|
2599
|
+
Ee as customRangeOption,
|
|
2600
|
+
rr as dateOptions,
|
|
2601
|
+
ir as datePresetOptions,
|
|
2602
|
+
lr as detectRelativeDatePattern,
|
|
2603
|
+
cr as filterDateFunctions,
|
|
2604
|
+
ur as generateDateOptions,
|
|
2605
|
+
Se as generateDatePresetOptions,
|
|
2606
|
+
Ys as getButtonAction,
|
|
2607
|
+
dr as getFilmstripTarget,
|
|
2608
|
+
ui as getGroupedReviewables,
|
|
2609
|
+
pr as getInlineMediaFileIds,
|
|
2610
|
+
fr as getLinkLabel,
|
|
2611
|
+
mr as getMediaKind,
|
|
2612
|
+
hr as getMentionTrigger,
|
|
2613
|
+
gr as getProjectFileId,
|
|
2614
|
+
br as getSourceLink,
|
|
2615
|
+
ln as getUiTypeLabel,
|
|
2616
|
+
Sn as groupLinksByEntity,
|
|
2617
|
+
wr as isMediaFile,
|
|
2618
|
+
vr as loadFilmstrip,
|
|
2619
|
+
ki as markdownToPlainText,
|
|
2620
|
+
yr as normalizeLegacyMarkdown,
|
|
2621
|
+
Er as parseActivityLink,
|
|
2622
|
+
Bs as parseFilename,
|
|
2623
|
+
Sr as parseYouTubeUrl,
|
|
2624
|
+
kr as peekFilmstrip,
|
|
2625
|
+
Ci as renderMediaParagraph,
|
|
2626
|
+
Oi as renderYouTubeParagraph,
|
|
2627
|
+
Bi as shortcutEntities,
|
|
2628
|
+
lt as showsForSelection,
|
|
2629
|
+
Oo as splitClientFiltersByScope,
|
|
2630
|
+
Co as splitFiltersByScope,
|
|
2631
|
+
Lr as sumExpectedCounts,
|
|
2632
|
+
Ie as toMenuItems,
|
|
2633
|
+
Qs as toUserRef,
|
|
2634
|
+
Cr as toggleBlockFormat,
|
|
2635
|
+
lo as useAddonCustomizeSections,
|
|
2636
|
+
$i as useAddonTableShortcuts,
|
|
2637
|
+
yo as useAddonUserMenuItems,
|
|
2638
|
+
ko as useBuildFilterOptions,
|
|
2639
|
+
Ti as useDateRangeFilter,
|
|
2640
|
+
Or as useEntityCardFilmstrip,
|
|
2641
|
+
wi as useFeedback,
|
|
2642
|
+
vi as useFeedbackSafe,
|
|
2643
|
+
xi as useOptionalVersionUploadContext,
|
|
2644
|
+
mo as useProjectPageSlotContext,
|
|
2645
|
+
qr as useReviewablesUpload,
|
|
2646
|
+
ho as useStudioPageSlotContext,
|
|
2647
|
+
kn as useUpdateLinks,
|
|
2648
|
+
vo as useUserDetailsSlotContext,
|
|
2649
|
+
Fi as useVersionUploadContext
|
|
2603
2650
|
};
|