@ynput/ayon-frontend-shared 0.7.4 → 0.7.6
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/DetailsPanel.es.js +376 -380
- package/dist/ListTable.es.js +2 -2
- package/dist/NewEntity.es.js +26 -26
- package/dist/ProjectTreeTable.es.js +2521 -2510
- package/dist/ProjectsTable.es.js +3 -3
- package/dist/Slicer.es.js +32 -32
- package/dist/Views.es.js +1 -1
- package/dist/chunks/ColumnDropIndicator.es.js +2 -2
- package/dist/chunks/ColumnHeaderMenuUI.es.js +1 -1
- package/dist/chunks/EntityPath.es.js +1 -1
- package/dist/chunks/EntityPickerDialog.es.js +481 -460
- package/dist/chunks/EntityTooltip.es.js +1 -1
- package/dist/chunks/Feed.es.js +11 -10
- package/dist/chunks/FilterErrorActions.es.js +1 -1
- package/dist/chunks/GroupSettingsFallback.es.js +2 -2
- package/dist/chunks/Menu.es.js +250 -247
- package/dist/chunks/MetaWidget.es.js +2 -2
- package/dist/chunks/PlayableIcon.es.js +368 -368
- package/dist/chunks/ProjectFoldersContext.es.js +237 -0
- package/dist/chunks/ReviewablesSelector.es.js +1223 -1170
- package/dist/chunks/SimpleTable.es.js +301 -296
- package/dist/chunks/Slicer.es.js +418 -410
- package/dist/chunks/TableExportContextInstance.es.js +428 -382
- package/dist/chunks/ThumbnailUploaderContext.es.js +48 -0
- package/dist/chunks/Watchers.es.js +2 -2
- package/dist/chunks/{ColumnDropIndicator.styled.es.js → addonColumnTags.es.js} +60 -47
- package/dist/components.es.js +1404 -1274
- package/dist/context.es.js +559 -657
- package/dist/hooks.es.js +2 -2
- package/dist/index.es.js +2 -2
- package/dist/types/Actions.d.ts +16 -16
- package/dist/types/ContextMenu.d.ts +16 -16
- package/dist/types/DetailsPanel.d.ts +16 -16
- package/dist/types/EntityPickerDialog.d.ts +61 -18
- package/dist/types/Feed.d.ts +16 -16
- package/dist/types/ListTable.d.ts +16 -16
- package/dist/types/NewEntity.d.ts +16 -16
- package/dist/types/ProjectTreeTable.d.ts +135 -33
- package/dist/types/ProjectsTable.d.ts +16 -16
- package/dist/types/RepresentationsList.d.ts +16 -16
- package/dist/types/SimpleTable.d.ts +16 -16
- package/dist/types/Slicer.d.ts +16 -16
- package/dist/types/Views.d.ts +16 -16
- package/dist/types/api.d.ts +16 -16
- package/dist/types/components.d.ts +226 -39
- package/dist/types/context.d.ts +24 -16
- package/dist/types/hooks.d.ts +16 -16
- package/dist/types/index.d.ts +16 -16
- package/dist/types/util.d.ts +16 -16
- package/package.json +3 -3
- package/dist/chunks/ProjectContext.es.js +0 -158
- package/dist/chunks/useQueryArgumentChangeLoading.es.js +0 -11
package/dist/DetailsPanel.es.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsxs as x, jsx as i, Fragment as Ie } from "react/jsx-runtime";
|
|
2
|
-
import { Toolbar as nt, Panel as At, Button as te, Spacer as st, Icon as Ee, getMixedCounts as Qe, getTextColor as Re, applyMixedChange as Ft, Dialog as
|
|
3
|
-
import { useEffect as
|
|
2
|
+
import { Toolbar as nt, Panel as At, Button as te, Spacer as st, Icon as Ee, getMixedCounts as Qe, getTextColor as Re, applyMixedChange as Ft, Dialog as Ot, SEARCH_FILTER_ID as at, buildFilterId as Ae, getFilterFromId as jt, SearchFilter as Rt, AssigneeField as Lt } from "@ynput/ayon-react-components";
|
|
3
|
+
import { useEffect as Q, useMemo as w, useRef as le, useState as oe, useContext as Vt, useId as Ut, useCallback as $t } from "react";
|
|
4
4
|
import I, { keyframes as Mt } from "styled-components";
|
|
5
5
|
import { bz as _t, bH as Ht } from "./chunks/searchTerms.es.js";
|
|
6
6
|
import { bq as Bt, bO as Wt, c3 as zt, cz as ot, by as it, v as Gt, bS as Qt, ce as qt } from "./chunks/getUris.es.js";
|
|
7
7
|
import "primereact/confirmdialog";
|
|
8
8
|
import { c as Kt, y as Jt, H as Xt, G as Yt, z as Zt, w as rt, A as en, B as tn, E as nn, I as sn, J as an, K as on, N as rn, W as ln, s as cn } from "./chunks/Watchers.es.js";
|
|
9
|
-
import { O as
|
|
9
|
+
import { O as za, Q as Ga, V as Qa, X as qa, T as Ka } from "./chunks/Watchers.es.js";
|
|
10
10
|
import { E as dn, R as un, a as pn } from "./chunks/EntityPath.es.js";
|
|
11
11
|
import { union as ke, upperFirst as lt } from "lodash";
|
|
12
12
|
import "react-toastify";
|
|
@@ -15,45 +15,45 @@ import { a as mn, b as hn, A as qe, e as gn } from "./chunks/activeEntities.es.j
|
|
|
15
15
|
import "axios";
|
|
16
16
|
import "@module-federation/enhanced/runtime";
|
|
17
17
|
import { menuItemsAt as Ne } from "@ynput/ayon-addon/host";
|
|
18
|
-
import {
|
|
18
|
+
import { x as ne, u as fn, T as bn, ad as vn, a7 as yn, ag as kn, a6 as Ke, L as wn, af as xn, a1 as Sn } from "./chunks/TableExportContextInstance.es.js";
|
|
19
19
|
import "semver";
|
|
20
|
-
import { T as Cn
|
|
20
|
+
import { T as Cn } from "./chunks/ThumbnailUploaderContext.es.js";
|
|
21
21
|
import "react-dom";
|
|
22
|
+
import { u as Tn, P as ct } from "./chunks/ProjectFoldersContext.es.js";
|
|
22
23
|
import "react-redux";
|
|
23
24
|
import "react-router-dom";
|
|
24
25
|
import fe from "clsx";
|
|
25
|
-
import { A as
|
|
26
|
-
import { c as
|
|
26
|
+
import { A as Nn } from "./chunks/Actions.es.js";
|
|
27
|
+
import { c as En, n as In, E as Pn, q as Dn } from "./chunks/MetaWidget.es.js";
|
|
27
28
|
import "./chunks/ContextMenuContextInstance.es.js";
|
|
28
|
-
import { useContributions as dt, prefetchPiece as Le, runContribution as Je, ContributionView as
|
|
29
|
+
import { useContributions as dt, prefetchPiece as Le, entityUrl as An, runContribution as Je, ContributionView as Fn } from "@ynput/ayon-addon";
|
|
29
30
|
import { g as Fe } from "./chunks/getEntityTypeIcon.es.js";
|
|
30
|
-
import { _ as
|
|
31
|
-
import { R as
|
|
32
|
-
import { I as
|
|
33
|
-
import { M as
|
|
34
|
-
import { D as
|
|
35
|
-
import { u as
|
|
36
|
-
import { p as
|
|
37
|
-
import { c as
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import { e as Qn } from "./chunks/expandRelativeDates.es.js";
|
|
31
|
+
import { _ as On } from "./chunks/PlayableIcon.es.js";
|
|
32
|
+
import { R as jn } from "./chunks/RepresentationsList.es.js";
|
|
33
|
+
import { I as Rn } from "./chunks/InfoMessage.es.js";
|
|
34
|
+
import { M as Ln, a as Vn } from "./chunks/Menu.es.js";
|
|
35
|
+
import { D as Un } from "./chunks/DetailsDialog.es.js";
|
|
36
|
+
import { u as $n } from "./chunks/VersionUploadContextInstance.es.js";
|
|
37
|
+
import { p as Mn } from "./chunks/pluralize.es.js";
|
|
38
|
+
import { c as _n } from "./chunks/copyToClipboard.es.js";
|
|
39
|
+
import { d as ut, c as Hn } from "./chunks/Feed.es.js";
|
|
40
|
+
import { A as Bn, C as Wn } from "./chunks/ThumbnailSimple.es.js";
|
|
41
|
+
import { t as zn, c as Gn } from "./chunks/queryFilterToClientFilter.es.js";
|
|
42
|
+
import { u as Qn } from "./chunks/useDateRangeFilter.es.js";
|
|
43
|
+
import { e as qn } from "./chunks/expandRelativeDates.es.js";
|
|
44
44
|
import "@dnd-kit/core";
|
|
45
45
|
import "@dnd-kit/sortable";
|
|
46
46
|
import "@dnd-kit/utilities";
|
|
47
47
|
import "custom-protocol-check";
|
|
48
48
|
import "./chunks/SimpleForm.es.js";
|
|
49
|
-
import { Dialog as
|
|
50
|
-
function
|
|
49
|
+
import { Dialog as Kn } from "primereact/dialog";
|
|
50
|
+
function Jn({
|
|
51
51
|
entityData: e,
|
|
52
52
|
project: n,
|
|
53
53
|
activeEntityType: t,
|
|
54
54
|
entitiesToQuery: o = []
|
|
55
55
|
}) {
|
|
56
|
-
|
|
56
|
+
Q(() => {
|
|
57
57
|
if (!e?.parents || !n) return;
|
|
58
58
|
const s = new URL(window.location.href), a = s.searchParams;
|
|
59
59
|
a.set("project", n), t && a.set("type", t);
|
|
@@ -63,7 +63,7 @@ function Kn({
|
|
|
63
63
|
l !== u && window.history.replaceState(window.history.state, "", l);
|
|
64
64
|
}, [e, n, t, o]);
|
|
65
65
|
}
|
|
66
|
-
const
|
|
66
|
+
const Xn = I(nt)`
|
|
67
67
|
display: flex;
|
|
68
68
|
justify-content: space-between;
|
|
69
69
|
align-items: flex-start;
|
|
@@ -75,7 +75,7 @@ const Jn = I(nt)`
|
|
|
75
75
|
& > * {
|
|
76
76
|
min-width: max-content;
|
|
77
77
|
}
|
|
78
|
-
`,
|
|
78
|
+
`, Yn = I.div`
|
|
79
79
|
display: flex;
|
|
80
80
|
align-items: flex-start;
|
|
81
81
|
gap: 4px;
|
|
@@ -84,13 +84,13 @@ const Jn = I(nt)`
|
|
|
84
84
|
right: 0;
|
|
85
85
|
padding: var(--padding-m);
|
|
86
86
|
background-color: var(--md-sys-color-surface-container-low);
|
|
87
|
-
`,
|
|
87
|
+
`, Zn = I.div`
|
|
88
88
|
flex: 1;
|
|
89
89
|
min-height: 0;
|
|
90
90
|
overflow: auto;
|
|
91
91
|
display: flex;
|
|
92
92
|
flex-direction: column;
|
|
93
|
-
`,
|
|
93
|
+
`, es = I(At)`
|
|
94
94
|
gap: 0px;
|
|
95
95
|
height: 100%;
|
|
96
96
|
padding: 0px;
|
|
@@ -104,20 +104,20 @@ const Jn = I(nt)`
|
|
|
104
104
|
),
|
|
105
105
|
[n, e]
|
|
106
106
|
), isLoading: t };
|
|
107
|
-
},
|
|
107
|
+
}, ts = I(nt)`
|
|
108
108
|
border-radius: 8px 8px 0 0;
|
|
109
109
|
gap: var(--base-gap-small) !important;
|
|
110
110
|
position: relative;
|
|
111
111
|
z-index: 100;
|
|
112
112
|
grid-column: span 2;
|
|
113
|
-
`,
|
|
113
|
+
`, ns = ["product", "representation"], ss = ["task"], as = ({
|
|
114
114
|
entityType: e,
|
|
115
115
|
currentTab: n,
|
|
116
116
|
onTabChange: t,
|
|
117
117
|
isLoading: o
|
|
118
118
|
}) => {
|
|
119
|
-
const s = !
|
|
120
|
-
return /* @__PURE__ */ x(
|
|
119
|
+
const s = !ns.includes(e), a = ss.includes(e), r = e === "version", { tabs: l } = pt(e);
|
|
120
|
+
return /* @__PURE__ */ x(ts, { className: o ? "loading" : "", children: [
|
|
121
121
|
s && /* @__PURE__ */ i(
|
|
122
122
|
te,
|
|
123
123
|
{
|
|
@@ -177,12 +177,12 @@ const Jn = I(nt)`
|
|
|
177
177
|
}
|
|
178
178
|
)
|
|
179
179
|
] });
|
|
180
|
-
},
|
|
180
|
+
}, os = I.div`
|
|
181
181
|
display: flex;
|
|
182
182
|
align-items: center;
|
|
183
183
|
gap: var(--base-gap-small);
|
|
184
184
|
overflow: hidden;
|
|
185
|
-
`,
|
|
185
|
+
`, is = I.button`
|
|
186
186
|
display: inline-flex;
|
|
187
187
|
align-items: center;
|
|
188
188
|
gap: var(--base-gap-small);
|
|
@@ -204,14 +204,14 @@ const Jn = I(nt)`
|
|
|
204
204
|
text-overflow: ellipsis;
|
|
205
205
|
white-space: nowrap;
|
|
206
206
|
}
|
|
207
|
-
`,
|
|
207
|
+
`, rs = ({ entity: e, taskTypes: n }) => {
|
|
208
208
|
const { openSlideOut: t } = ne(), { projectName: o } = e, s = e.task?.name ? e.task : void 0;
|
|
209
209
|
if (!s?.id) return null;
|
|
210
210
|
const a = n.find((r) => r.name === s.taskType);
|
|
211
|
-
return /* @__PURE__ */ x(
|
|
211
|
+
return /* @__PURE__ */ x(os, { className: "linked-task", children: [
|
|
212
212
|
/* @__PURE__ */ i("span", { children: "Task" }),
|
|
213
213
|
/* @__PURE__ */ x(
|
|
214
|
-
|
|
214
|
+
is,
|
|
215
215
|
{
|
|
216
216
|
onClick: () => t({ entityId: s.id, entityType: "task", projectName: o }),
|
|
217
217
|
children: [
|
|
@@ -241,10 +241,10 @@ const Jn = I(nt)`
|
|
|
241
241
|
thumbnailHash: s.thumbnailHash,
|
|
242
242
|
projectName: s.projectName
|
|
243
243
|
}));
|
|
244
|
-
},
|
|
245
|
-
task:
|
|
246
|
-
folder:
|
|
247
|
-
product:
|
|
244
|
+
}, Oe = (e) => e.filter((n) => !!n.icon).reduce((n, t) => ({ ...n, [t.name]: t.icon }), {}), ht = (e) => ({
|
|
245
|
+
task: Oe(e.taskTypes),
|
|
246
|
+
folder: Oe(e.folderTypes),
|
|
247
|
+
product: Oe(e.productTypes)
|
|
248
248
|
}), gt = (e, n) => {
|
|
249
249
|
const t = e.length > 1, o = e[0];
|
|
250
250
|
if (t)
|
|
@@ -280,7 +280,7 @@ const Jn = I(nt)`
|
|
|
280
280
|
subTitle: o.entityType || "Unknown Type"
|
|
281
281
|
};
|
|
282
282
|
}
|
|
283
|
-
},
|
|
283
|
+
}, ls = ({
|
|
284
284
|
entityType: e,
|
|
285
285
|
entitySubTypes: n,
|
|
286
286
|
entities: t = [],
|
|
@@ -298,7 +298,7 @@ const Jn = I(nt)`
|
|
|
298
298
|
thumbnailInputRef: V,
|
|
299
299
|
versionsInputRef: U
|
|
300
300
|
}) => {
|
|
301
|
-
const { useSearchParams:
|
|
301
|
+
const { useSearchParams: j, useNavigate: c, bundleMode: g } = ne(), C = c(), [E, T] = j(), D = le(null), v = w(() => ht(h), [h]), y = Kt(
|
|
302
302
|
t.map((d) => d.projectName),
|
|
303
303
|
[e]
|
|
304
304
|
), A = w(() => e === "task" ? ke(...t.map((d) => d.task?.assignees || [])) : e === "version" ? ke(
|
|
@@ -308,7 +308,7 @@ const Jn = I(nt)`
|
|
|
308
308
|
})
|
|
309
309
|
) : [], [t, e]);
|
|
310
310
|
let R = t[0];
|
|
311
|
-
const
|
|
311
|
+
const $ = t.length === 0 || !R || l;
|
|
312
312
|
R || (R = {
|
|
313
313
|
parents: [],
|
|
314
314
|
id: "placeholder",
|
|
@@ -327,41 +327,41 @@ const Jn = I(nt)`
|
|
|
327
327
|
const se = t.length > 1 ? void 0 : R?.projectName;
|
|
328
328
|
t.filter((d) => d.projectName === R?.projectName && d.id).map((d) => d.id);
|
|
329
329
|
const { data: ce } = Bt({ attributeName: "priority" }), de = mn(ce, e), ue = w(
|
|
330
|
-
() => mt(t, e,
|
|
331
|
-
[t, e,
|
|
332
|
-
), F = w(() => t.map((d) => d.status), [t]), pe = w(() => t.map((d) => d.attrib?.priority), [t]),
|
|
330
|
+
() => mt(t, e, v),
|
|
331
|
+
[t, e, v]
|
|
332
|
+
), F = w(() => t.map((d) => d.status), [t]), pe = w(() => t.map((d) => d.attrib?.priority), [t]), K = w(() => t.map((d) => d.tags), [t]), me = w(
|
|
333
333
|
() => r.reduce((d, P) => (d[P.name] = P, d), {}),
|
|
334
334
|
[r]
|
|
335
|
-
), J = w(() => ke(...
|
|
335
|
+
), J = w(() => ke(...K), [K]), he = t.every((d) => d.projectName === R?.projectName), O = En(
|
|
336
336
|
he ? R?.projectName : void 0,
|
|
337
337
|
r
|
|
338
|
-
),
|
|
338
|
+
), B = t.length > 1, X = w(() => Qe(K), [K]), xe = w(
|
|
339
339
|
() => Qe(t.map((d) => d.task?.assignees || [])),
|
|
340
340
|
[t]
|
|
341
|
-
), be = !
|
|
341
|
+
), be = !B && !!R?.hasReviewables, ve = ue.length === 1, { attribAccess: S, updateEntity: ge } = Jt({
|
|
342
342
|
entities: t,
|
|
343
343
|
entityType: e
|
|
344
|
-
}), { writableFields:
|
|
345
|
-
if (!(d !== "attrib" &&
|
|
344
|
+
}), { writableFields: k } = S, H = !k || k.includes("status"), _ = !k || k.includes("tags"), ie = e === "task" && (!k || k.includes("assignees")), ae = (d, P) => {
|
|
345
|
+
if (!(d !== "attrib" && k && !k.includes(d)) && !(d === "assignees" && !ie))
|
|
346
346
|
return P == null ? console.error("value is null or undefined") : ge(d, P);
|
|
347
347
|
}, Y = (d, P) => {
|
|
348
|
-
const
|
|
348
|
+
const W = new Map(
|
|
349
349
|
t.map((re) => [re.id, (d === "tags" ? re.tags : re.task?.assignees) || []])
|
|
350
350
|
);
|
|
351
|
-
d === "tags" &&
|
|
351
|
+
d === "tags" && O?.addTags(P.add), ae(d, (re) => Ft(W.get(re) || [], P));
|
|
352
352
|
}, Se = () => {
|
|
353
|
-
let d, P = R.id,
|
|
354
|
-
e === "version" && R.product?.id && (d = [R.id], P = R.product?.id,
|
|
355
|
-
[
|
|
353
|
+
let d, P = R.id, W = e + "Id";
|
|
354
|
+
e === "version" && R.product?.id && (d = [R.id], P = R.product?.id, W = "productId"), P && b({
|
|
355
|
+
[W]: P,
|
|
356
356
|
projectName: se,
|
|
357
357
|
versionIds: d
|
|
358
358
|
});
|
|
359
359
|
}, ye = (e === "task" || e === "version") && (A.length > 0 || e === "task"), Ce = [..._t(s, A)];
|
|
360
360
|
if (ye) {
|
|
361
|
-
const d = s.map((
|
|
362
|
-
P.length && Ce.push(...P.map((
|
|
361
|
+
const d = s.map((W) => W.name), P = A.filter((W) => !d.includes(W));
|
|
362
|
+
P.length && Ce.push(...P.map((W) => ({ name: W, fullName: W })));
|
|
363
363
|
}
|
|
364
|
-
const { title: Z, subTitle:
|
|
364
|
+
const { title: Z, subTitle: M } = gt(t, e), ee = y?.length !== 0 && y?.find((d) => d.name === F[0]);
|
|
365
365
|
return /* @__PURE__ */ i(Xt, { children: /* @__PURE__ */ i(
|
|
366
366
|
dn,
|
|
367
367
|
{
|
|
@@ -375,51 +375,51 @@ const Jn = I(nt)`
|
|
|
375
375
|
/* @__PURE__ */ x(
|
|
376
376
|
Zt,
|
|
377
377
|
{
|
|
378
|
-
className: fe("titles", { isCompact: u, loading:
|
|
378
|
+
className: fe("titles", { isCompact: u, loading: $ }, "no-shimmer"),
|
|
379
379
|
children: [
|
|
380
380
|
/* @__PURE__ */ x("div", { style: { position: "relative" }, children: [
|
|
381
381
|
/* @__PURE__ */ i(
|
|
382
382
|
rt,
|
|
383
383
|
{
|
|
384
|
-
isLoading:
|
|
385
|
-
shimmer:
|
|
384
|
+
isLoading: $,
|
|
385
|
+
shimmer: $,
|
|
386
386
|
thumbnails: ue,
|
|
387
387
|
onClick: ve ? Se : void 0,
|
|
388
388
|
hoverIcon: be ? "play_circle" : void 0
|
|
389
389
|
}
|
|
390
390
|
),
|
|
391
|
-
be && /* @__PURE__ */ i(
|
|
391
|
+
be && /* @__PURE__ */ i(On, {})
|
|
392
392
|
] }),
|
|
393
|
-
/* @__PURE__ */ x(en, { className: fe({ loading:
|
|
393
|
+
/* @__PURE__ */ x(en, { className: fe({ loading: $ }), children: [
|
|
394
394
|
/* @__PURE__ */ x(tn, { children: [
|
|
395
395
|
/* @__PURE__ */ i("h2", { children: Z }),
|
|
396
|
-
|
|
396
|
+
_ ? /* @__PURE__ */ x(Ie, { children: [
|
|
397
397
|
/* @__PURE__ */ i(
|
|
398
398
|
nn,
|
|
399
399
|
{
|
|
400
400
|
ref: D,
|
|
401
|
-
value: ke(...
|
|
401
|
+
value: ke(...K),
|
|
402
402
|
tags: me,
|
|
403
403
|
options: [],
|
|
404
404
|
editable: !0,
|
|
405
405
|
editor: !0,
|
|
406
406
|
onChange: (d) => {
|
|
407
|
-
|
|
407
|
+
O?.addTags(d.filter((P) => !J.includes(P))), ae("tags", d);
|
|
408
408
|
},
|
|
409
|
-
mixedCounts:
|
|
409
|
+
mixedCounts: B ? X : void 0,
|
|
410
410
|
mixedTotal: t.length,
|
|
411
411
|
mixedLabel: `${e}s`,
|
|
412
412
|
onMixedChange: (d) => Y("tags", d),
|
|
413
|
-
onEditOption:
|
|
413
|
+
onEditOption: O?.onEditOption,
|
|
414
414
|
editOptionTooltip: "Change the colour in the project tags",
|
|
415
415
|
align: "right",
|
|
416
|
-
styleDropdown: { display:
|
|
416
|
+
styleDropdown: { display: $ ? "none" : "unset" },
|
|
417
417
|
className: "tags-select",
|
|
418
418
|
itemClassName: "details-tag"
|
|
419
419
|
}
|
|
420
420
|
),
|
|
421
|
-
|
|
422
|
-
] }) : /* @__PURE__ */ i(sn, { className: "tags-select", children: ke(...
|
|
421
|
+
O && /* @__PURE__ */ i(In, { ...O.dialog })
|
|
422
|
+
] }) : /* @__PURE__ */ i(sn, { className: "tags-select", children: ke(...K).length ? ke(...K).map((d) => {
|
|
423
423
|
const P = me[d]?.color;
|
|
424
424
|
return /* @__PURE__ */ i(
|
|
425
425
|
"span",
|
|
@@ -439,10 +439,10 @@ const Jn = I(nt)`
|
|
|
439
439
|
lt(e),
|
|
440
440
|
" - "
|
|
441
441
|
] }),
|
|
442
|
-
/* @__PURE__ */ i("h3", { children:
|
|
442
|
+
/* @__PURE__ */ i("h3", { children: M })
|
|
443
443
|
] }),
|
|
444
|
-
e === "version" && !
|
|
445
|
-
|
|
444
|
+
e === "version" && !B && !$ && R && /* @__PURE__ */ i(
|
|
445
|
+
rs,
|
|
446
446
|
{
|
|
447
447
|
entity: R,
|
|
448
448
|
taskTypes: h.taskTypes
|
|
@@ -457,29 +457,29 @@ const Jn = I(nt)`
|
|
|
457
457
|
an,
|
|
458
458
|
{
|
|
459
459
|
value: F,
|
|
460
|
-
options:
|
|
460
|
+
options: y || [],
|
|
461
461
|
disabledValues: a,
|
|
462
|
-
disableOpen:
|
|
462
|
+
disableOpen: !H,
|
|
463
463
|
invert: !0,
|
|
464
464
|
style: { maxWidth: "unset" },
|
|
465
465
|
onChange: (d) => ae("status", d),
|
|
466
|
-
className: fe("status-select", { loading:
|
|
466
|
+
className: fe("status-select", { loading: $ }),
|
|
467
467
|
align: u ? "right" : "left",
|
|
468
468
|
$textColor: Re(ee !== void 0 ? ee.color : "#OOO")
|
|
469
469
|
}
|
|
470
470
|
),
|
|
471
|
-
!u && (!ye ||
|
|
471
|
+
!u && (!ye || $ ? /* @__PURE__ */ i("div", {}) : /* @__PURE__ */ i(
|
|
472
472
|
on,
|
|
473
473
|
{
|
|
474
474
|
value: A,
|
|
475
475
|
options: Ce,
|
|
476
476
|
disabledValues: o.map((d) => d.name),
|
|
477
|
-
isMultiple:
|
|
477
|
+
isMultiple: B && A.length > 1 && e === "task",
|
|
478
478
|
readOnly: !ie,
|
|
479
479
|
emptyMessage: ie ? "Assign user" : "-",
|
|
480
480
|
align: "right",
|
|
481
481
|
onChange: (d) => ae("assignees", d),
|
|
482
|
-
mixedCounts:
|
|
482
|
+
mixedCounts: B && e === "task" ? xe : void 0,
|
|
483
483
|
mixedTotal: t.length,
|
|
484
484
|
mixedLabel: `${e}s`,
|
|
485
485
|
onMixedChange: (d) => Y("assignees", d),
|
|
@@ -488,12 +488,12 @@ const Jn = I(nt)`
|
|
|
488
488
|
}
|
|
489
489
|
)),
|
|
490
490
|
/* @__PURE__ */ i(
|
|
491
|
-
|
|
491
|
+
Nn,
|
|
492
492
|
{
|
|
493
493
|
entities: t,
|
|
494
494
|
entityType: e,
|
|
495
495
|
entitySubTypes: n,
|
|
496
|
-
isLoadingEntity: !!l ||
|
|
496
|
+
isLoadingEntity: !!l || !!$,
|
|
497
497
|
searchParams: E,
|
|
498
498
|
bundleMode: g,
|
|
499
499
|
onSetSearchParams: T,
|
|
@@ -511,18 +511,18 @@ const Jn = I(nt)`
|
|
|
511
511
|
}
|
|
512
512
|
) : /* @__PURE__ */ i("div", { style: { height: 32 } }),
|
|
513
513
|
/* @__PURE__ */ i(
|
|
514
|
-
|
|
514
|
+
as,
|
|
515
515
|
{
|
|
516
516
|
entityType: e,
|
|
517
517
|
currentTab: f,
|
|
518
518
|
onTabChange: m,
|
|
519
|
-
isLoading:
|
|
519
|
+
isLoading: $
|
|
520
520
|
}
|
|
521
521
|
)
|
|
522
522
|
] })
|
|
523
523
|
}
|
|
524
524
|
) });
|
|
525
|
-
},
|
|
525
|
+
}, cs = I.div`
|
|
526
526
|
display: flex;
|
|
527
527
|
flex-direction: column;
|
|
528
528
|
|
|
@@ -542,7 +542,7 @@ const Jn = I(nt)`
|
|
|
542
542
|
&:first-child {
|
|
543
543
|
border-bottom: 1px solid var(--md-sys-color-outline-variant);
|
|
544
544
|
}
|
|
545
|
-
`,
|
|
545
|
+
`, ds = ({
|
|
546
546
|
entities: e = [],
|
|
547
547
|
scope: n,
|
|
548
548
|
isLoadingVersion: t
|
|
@@ -550,7 +550,7 @@ const Jn = I(nt)`
|
|
|
550
550
|
const o = e[0];
|
|
551
551
|
if (!o) return null;
|
|
552
552
|
let s = "Reviewables";
|
|
553
|
-
return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ x(
|
|
553
|
+
return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ x(cs, { children: [
|
|
554
554
|
/* @__PURE__ */ x(Xe, { children: [
|
|
555
555
|
/* @__PURE__ */ i("h4", { children: s }),
|
|
556
556
|
/* @__PURE__ */ i(
|
|
@@ -566,16 +566,16 @@ const Jn = I(nt)`
|
|
|
566
566
|
] }),
|
|
567
567
|
/* @__PURE__ */ x(Xe, { children: [
|
|
568
568
|
/* @__PURE__ */ i("h4", { children: "Representations" }),
|
|
569
|
-
/* @__PURE__ */ i(
|
|
569
|
+
/* @__PURE__ */ i(jn, { entities: e })
|
|
570
570
|
] })
|
|
571
571
|
] });
|
|
572
|
-
},
|
|
572
|
+
}, us = ({
|
|
573
573
|
latestVersion: e,
|
|
574
574
|
resolveVersionJump: n
|
|
575
575
|
}) => {
|
|
576
576
|
const t = n?.(e.id);
|
|
577
577
|
return /* @__PURE__ */ i(
|
|
578
|
-
|
|
578
|
+
Rn,
|
|
579
579
|
{
|
|
580
580
|
variant: "info",
|
|
581
581
|
compact: !0,
|
|
@@ -589,16 +589,16 @@ const Jn = I(nt)`
|
|
|
589
589
|
} : void 0
|
|
590
590
|
}
|
|
591
591
|
);
|
|
592
|
-
},
|
|
592
|
+
}, ps = (e) => {
|
|
593
593
|
const n = e?.version?.version, t = e?.product?.latestVersion;
|
|
594
594
|
if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
|
|
595
595
|
return t.version > n ? t : void 0;
|
|
596
|
-
},
|
|
597
|
-
onOpenVersionUpload:
|
|
598
|
-
}),
|
|
599
|
-
const o =
|
|
600
|
-
return o ? `${typeof window < "u" ? window.location.origin : ""}
|
|
601
|
-
},
|
|
596
|
+
}, ms = () => ({
|
|
597
|
+
onOpenVersionUpload: $n()?.onOpenVersionUpload ?? null
|
|
598
|
+
}), hs = (e, n, t) => {
|
|
599
|
+
const o = An({ entityType: e, id: n, projectName: t });
|
|
600
|
+
return o ? `${typeof window < "u" ? window.location.origin : ""}${o}` : null;
|
|
601
|
+
}, gs = ({
|
|
602
602
|
entityType: e,
|
|
603
603
|
entityId: n,
|
|
604
604
|
projectName: t,
|
|
@@ -615,7 +615,7 @@ const Jn = I(nt)`
|
|
|
615
615
|
onPip: N,
|
|
616
616
|
onOpenViewer: V,
|
|
617
617
|
onUploadThumbnail: U,
|
|
618
|
-
onUploadVersion:
|
|
618
|
+
onUploadVersion: j,
|
|
619
619
|
onShare: c,
|
|
620
620
|
onViewData: g,
|
|
621
621
|
onDelete: C
|
|
@@ -646,43 +646,43 @@ const Jn = I(nt)`
|
|
|
646
646
|
id: "upload-version",
|
|
647
647
|
label: "Upload version",
|
|
648
648
|
icon: "upload",
|
|
649
|
-
onClick:
|
|
649
|
+
onClick: j
|
|
650
650
|
}), m?.openAddToListDialog && t && E.length) {
|
|
651
|
-
const
|
|
651
|
+
const y = E[0]?.entityType || e, A = m.openAddToListDialog;
|
|
652
652
|
if (T.push({
|
|
653
653
|
id: "add-to-list",
|
|
654
654
|
label: "Add to list",
|
|
655
655
|
icon: "list_alt_add",
|
|
656
|
-
onClick: () => A(
|
|
657
|
-
}), (
|
|
658
|
-
const
|
|
656
|
+
onClick: () => A(y, E)
|
|
657
|
+
}), (y === "version" || y === "representation") && m.hasReviewAddon) {
|
|
658
|
+
const $ = E.some((se) => se.hasReviewables === !0);
|
|
659
659
|
T.push({
|
|
660
660
|
id: "add-to-review-list",
|
|
661
661
|
label: "Add to session",
|
|
662
662
|
icon: "list_alt_add",
|
|
663
|
-
disabled:
|
|
664
|
-
|
|
665
|
-
onClick: () => A(
|
|
663
|
+
disabled: !$,
|
|
664
|
+
...$ ? {} : { "data-tooltip": "No reviewables on selected version" },
|
|
665
|
+
onClick: () => A(y, E, { isReview: !0 })
|
|
666
666
|
});
|
|
667
667
|
}
|
|
668
668
|
}
|
|
669
|
-
const D = E[0],
|
|
669
|
+
const D = E[0], v = D?.entityId && t ? hs(
|
|
670
670
|
D.entityType || e,
|
|
671
671
|
D.entityId,
|
|
672
672
|
t
|
|
673
673
|
) : null;
|
|
674
|
-
if (
|
|
674
|
+
if (v && T.push({
|
|
675
675
|
id: "share",
|
|
676
676
|
label: "Share",
|
|
677
677
|
icon: "share",
|
|
678
|
-
onClick: () => c(
|
|
678
|
+
onClick: () => c(v)
|
|
679
679
|
}), T.push(...b), T.push({
|
|
680
680
|
id: "view-data",
|
|
681
681
|
label: "View data",
|
|
682
682
|
icon: "database",
|
|
683
683
|
onClick: g
|
|
684
684
|
}), f && s.length > 0) {
|
|
685
|
-
const
|
|
685
|
+
const y = new Set(s.map(($) => $.entityType)), A = y.size === 1 ? [...y][0] : "item", R = s.length === 1 ? `Delete ${A}` : `Delete ${Mn(s.length, A)}`;
|
|
686
686
|
T.push({
|
|
687
687
|
id: "delete",
|
|
688
688
|
label: R,
|
|
@@ -691,7 +691,7 @@ const Jn = I(nt)`
|
|
|
691
691
|
onClick: C
|
|
692
692
|
});
|
|
693
693
|
}
|
|
694
|
-
return { items: T, shareLink:
|
|
694
|
+
return { items: T, shareLink: v };
|
|
695
695
|
}, [
|
|
696
696
|
l,
|
|
697
697
|
u,
|
|
@@ -708,12 +708,12 @@ const Jn = I(nt)`
|
|
|
708
708
|
N,
|
|
709
709
|
V,
|
|
710
710
|
U,
|
|
711
|
-
|
|
711
|
+
j,
|
|
712
712
|
c,
|
|
713
713
|
g,
|
|
714
714
|
C
|
|
715
715
|
]);
|
|
716
|
-
},
|
|
716
|
+
}, fs = I.div`
|
|
717
717
|
display: flex;
|
|
718
718
|
flex-direction: column;
|
|
719
719
|
gap: 16px;
|
|
@@ -753,12 +753,12 @@ const Jn = I(nt)`
|
|
|
753
753
|
text-overflow: ellipsis;
|
|
754
754
|
white-space: nowrap;
|
|
755
755
|
}
|
|
756
|
-
`,
|
|
756
|
+
`, bs = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
|
|
757
757
|
if (!t) return null;
|
|
758
758
|
const s = `[${n}](${e})`, a = (r) => {
|
|
759
|
-
|
|
759
|
+
_n(r, !0), o();
|
|
760
760
|
};
|
|
761
|
-
return /* @__PURE__ */ i(
|
|
761
|
+
return /* @__PURE__ */ i(Ot, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ x(fs, { children: [
|
|
762
762
|
/* @__PURE__ */ x(Ye, { children: [
|
|
763
763
|
/* @__PURE__ */ i(Ze, { children: "Link" }),
|
|
764
764
|
/* @__PURE__ */ x(et, { type: "button", onClick: () => a(e), "aria-label": "Copy link", children: [
|
|
@@ -774,7 +774,7 @@ const Jn = I(nt)`
|
|
|
774
774
|
] })
|
|
775
775
|
] })
|
|
776
776
|
] }) });
|
|
777
|
-
},
|
|
777
|
+
}, vs = (e, n, t, o) => {
|
|
778
778
|
const s = { projectName: t, quickView: !0 };
|
|
779
779
|
switch (e) {
|
|
780
780
|
case "folder":
|
|
@@ -788,7 +788,7 @@ const Jn = I(nt)`
|
|
|
788
788
|
default:
|
|
789
789
|
return null;
|
|
790
790
|
}
|
|
791
|
-
},
|
|
791
|
+
}, ys = ({
|
|
792
792
|
entityType: e,
|
|
793
793
|
entityId: n,
|
|
794
794
|
entityIds: t,
|
|
@@ -802,78 +802,74 @@ const Jn = I(nt)`
|
|
|
802
802
|
taskId: m,
|
|
803
803
|
folderId: h
|
|
804
804
|
}) => {
|
|
805
|
-
const b = le(null), [N, V] = oe(!1), [U,
|
|
806
|
-
const
|
|
807
|
-
return `details-more-menu-${
|
|
808
|
-
}, [
|
|
805
|
+
const b = le(null), [N, V] = oe(!1), [U, j] = oe(null), { menuOpen: c, toggleMenuOpen: g, setMenuOpen: C } = fn(), { triggerThumbnailUpload: E, canUploadVersion: T } = Vt(bn), { onOpenVersionUpload: D } = ms(), v = Ut(), y = w(() => {
|
|
806
|
+
const k = n || t?.[0] || "noentity";
|
|
807
|
+
return `details-more-menu-${v}-${k}-${s || "noproject"}`;
|
|
808
|
+
}, [v, n, t, s]), A = c === y, R = !!n && !!s && !!E, $ = !!T && !!D, se = () => {
|
|
809
809
|
D?.({ productId: f, taskId: m, folderId: h });
|
|
810
|
-
}, ce = n && s ?
|
|
811
|
-
const
|
|
812
|
-
return !yn(
|
|
813
|
-
id:
|
|
814
|
-
entityType:
|
|
815
|
-
name:
|
|
816
|
-
label:
|
|
810
|
+
}, ce = n && s ? vs(e, n, s, f) : null, de = !!u && !!ce, ue = vn(), F = w(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((H) => {
|
|
811
|
+
const _ = H.entityType || e, ie = H.projectName || s;
|
|
812
|
+
return !yn(_) || !H.entityId || !ie ? null : {
|
|
813
|
+
id: H.entityId,
|
|
814
|
+
entityType: _,
|
|
815
|
+
name: H.name,
|
|
816
|
+
label: H.label,
|
|
817
817
|
projectName: ie,
|
|
818
|
-
folderId:
|
|
819
|
-
parentId:
|
|
818
|
+
folderId: H.folderId,
|
|
819
|
+
parentId: H.parentId
|
|
820
820
|
};
|
|
821
|
-
}).filter((
|
|
821
|
+
}).filter((H) => H !== null), [a, n, e, s]), pe = !!ue && F.length > 0, K = () => {
|
|
822
822
|
C(!1), ue?.deleteEntities(F);
|
|
823
823
|
}, { contributions: me } = dt("detailsPanel.menuItem"), J = w(
|
|
824
824
|
() => me.filter(
|
|
825
|
-
(
|
|
825
|
+
(k) => !k.entityTypes?.length || k.entityTypes.includes(e)
|
|
826
826
|
),
|
|
827
827
|
[me, e]
|
|
828
828
|
), he = w(() => {
|
|
829
|
-
const
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
label: v.label,
|
|
845
|
-
icon: v.icon,
|
|
846
|
-
"data-addon-item": v.key,
|
|
847
|
-
onClick: () => Je(v, he)
|
|
829
|
+
const H = (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((_) => ({
|
|
830
|
+
id: _.entityId,
|
|
831
|
+
entityType: _.entityType || e,
|
|
832
|
+
projectName: _.projectName || s || "",
|
|
833
|
+
name: _.name,
|
|
834
|
+
label: _.label || void 0
|
|
835
|
+
}));
|
|
836
|
+
return { projectName: s || "", entityType: e, entities: H };
|
|
837
|
+
}, [a, n, e, s]), O = $t(
|
|
838
|
+
(k) => ({
|
|
839
|
+
id: k.key,
|
|
840
|
+
label: k.label,
|
|
841
|
+
icon: k.icon,
|
|
842
|
+
"data-addon-item": k.key,
|
|
843
|
+
onClick: () => Je(k, he)
|
|
848
844
|
}),
|
|
849
845
|
[he]
|
|
850
|
-
),
|
|
846
|
+
), B = w(
|
|
851
847
|
() => [
|
|
852
848
|
...Ne(J, "top"),
|
|
853
849
|
...Ne(J, "bottom")
|
|
854
|
-
].filter((
|
|
850
|
+
].filter((k) => k.pinned),
|
|
855
851
|
[J]
|
|
856
852
|
), X = w(
|
|
857
|
-
() => J.filter((
|
|
853
|
+
() => J.filter((k) => !k.pinned),
|
|
858
854
|
[J]
|
|
859
855
|
), xe = w(
|
|
860
|
-
() => Ne(X, "top").map(
|
|
861
|
-
[X,
|
|
856
|
+
() => Ne(X, "top").map(O),
|
|
857
|
+
[X, O]
|
|
862
858
|
), be = w(
|
|
863
|
-
() => Ne(X, "bottom").map(
|
|
864
|
-
[X,
|
|
859
|
+
() => Ne(X, "bottom").map(O),
|
|
860
|
+
[X, O]
|
|
865
861
|
);
|
|
866
|
-
|
|
867
|
-
A && X.forEach((
|
|
862
|
+
Q(() => {
|
|
863
|
+
A && X.forEach((k) => Le(k.run));
|
|
868
864
|
}, [A, X]);
|
|
869
|
-
const { items: ve } =
|
|
865
|
+
const { items: ve } = gs({
|
|
870
866
|
entityType: e,
|
|
871
867
|
entityId: n,
|
|
872
868
|
projectName: s,
|
|
873
869
|
selectedEntities: a,
|
|
874
870
|
deleteEntities: F,
|
|
875
871
|
canUploadThumbnail: R,
|
|
876
|
-
canUploadVersion:
|
|
872
|
+
canUploadVersion: $,
|
|
877
873
|
canOpenPip: !!l,
|
|
878
874
|
canOpenViewer: de,
|
|
879
875
|
canDelete: pe,
|
|
@@ -884,23 +880,23 @@ const Jn = I(nt)`
|
|
|
884
880
|
onOpenViewer: () => ce && u?.(ce),
|
|
885
881
|
onUploadThumbnail: () => E?.(),
|
|
886
882
|
onUploadVersion: se,
|
|
887
|
-
onShare: (
|
|
883
|
+
onShare: (k) => j(k),
|
|
888
884
|
onViewData: () => V(!0),
|
|
889
|
-
onDelete:
|
|
885
|
+
onDelete: K
|
|
890
886
|
}), S = t?.length ? t : n ? [n] : [], ge = o || n || "";
|
|
891
887
|
return /* @__PURE__ */ x(Ie, { children: [
|
|
892
|
-
|
|
888
|
+
B.map((k) => /* @__PURE__ */ i(
|
|
893
889
|
te,
|
|
894
890
|
{
|
|
895
|
-
icon:
|
|
891
|
+
icon: k.icon,
|
|
896
892
|
variant: "text",
|
|
897
|
-
"data-tooltip":
|
|
898
|
-
"aria-label":
|
|
899
|
-
"data-addon-item":
|
|
900
|
-
onMouseEnter: () => Le(
|
|
901
|
-
onClick: () => Je(
|
|
893
|
+
"data-tooltip": k.label,
|
|
894
|
+
"aria-label": k.label,
|
|
895
|
+
"data-addon-item": k.key,
|
|
896
|
+
onMouseEnter: () => Le(k.run),
|
|
897
|
+
onClick: () => Je(k, he)
|
|
902
898
|
},
|
|
903
|
-
|
|
899
|
+
k.key
|
|
904
900
|
)),
|
|
905
901
|
/* @__PURE__ */ i(
|
|
906
902
|
te,
|
|
@@ -911,12 +907,12 @@ const Jn = I(nt)`
|
|
|
911
907
|
"data-tooltip": "More actions",
|
|
912
908
|
"aria-label": "More actions",
|
|
913
909
|
className: fe({ active: A }),
|
|
914
|
-
onClick: () => g(
|
|
910
|
+
onClick: () => g(y)
|
|
915
911
|
}
|
|
916
912
|
),
|
|
917
|
-
/* @__PURE__ */ i(
|
|
913
|
+
/* @__PURE__ */ i(Ln, { id: y, target: b.current, align: "right", children: /* @__PURE__ */ i(Vn, { menu: ve, onClose: () => C(!1) }) }),
|
|
918
914
|
N && s && S.length > 0 && /* @__PURE__ */ i(
|
|
919
|
-
|
|
915
|
+
Un,
|
|
920
916
|
{
|
|
921
917
|
projectName: s,
|
|
922
918
|
entityType: e,
|
|
@@ -926,16 +922,16 @@ const Jn = I(nt)`
|
|
|
926
922
|
}
|
|
927
923
|
),
|
|
928
924
|
U && /* @__PURE__ */ i(
|
|
929
|
-
|
|
925
|
+
bs,
|
|
930
926
|
{
|
|
931
927
|
link: U,
|
|
932
928
|
entityLabel: ge,
|
|
933
929
|
visible: !0,
|
|
934
|
-
onHide: () =>
|
|
930
|
+
onHide: () => j(null)
|
|
935
931
|
}
|
|
936
932
|
)
|
|
937
933
|
] });
|
|
938
|
-
},
|
|
934
|
+
}, ks = (e, n) => {
|
|
939
935
|
const t = [e];
|
|
940
936
|
let o = e;
|
|
941
937
|
for (; o.parentId && o.parentId !== "root"; ) {
|
|
@@ -945,17 +941,17 @@ const Jn = I(nt)`
|
|
|
945
941
|
t.unshift(s), o = s;
|
|
946
942
|
}
|
|
947
943
|
return t;
|
|
948
|
-
},
|
|
944
|
+
}, ws = (e, n) => {
|
|
949
945
|
const t = [];
|
|
950
946
|
let o = n.get(e.folder?.id || "");
|
|
951
|
-
if ((o ?
|
|
947
|
+
if ((o ? ks(o, n) : []).forEach((a) => {
|
|
952
948
|
t.push({ type: "folder", label: a.label || a.name, id: a.id });
|
|
953
949
|
}), e.entityType === "version") {
|
|
954
950
|
const a = `${e.product?.name} - ${e.name}`;
|
|
955
951
|
t.push({ type: "version", label: a, id: e.id });
|
|
956
952
|
}
|
|
957
953
|
return e.entityType === "task" && t.push({ type: "task", label: e.label || e.name, id: e.id }), t;
|
|
958
|
-
},
|
|
954
|
+
}, xs = ({
|
|
959
955
|
entity: e,
|
|
960
956
|
entityType: n,
|
|
961
957
|
projectName: t,
|
|
@@ -967,7 +963,7 @@ const Jn = I(nt)`
|
|
|
967
963
|
// @ts-expect-error - patch is not part of the query args
|
|
968
964
|
{ projectName: t, patch: ["id", "name", "label"] },
|
|
969
965
|
{ skip: !t || o }
|
|
970
|
-
), r =
|
|
966
|
+
), r = Tn(
|
|
971
967
|
{ projectName: t || "", isLoading: o },
|
|
972
968
|
a
|
|
973
969
|
), { data: l } = zt(
|
|
@@ -985,7 +981,7 @@ const Jn = I(nt)`
|
|
|
985
981
|
[s]
|
|
986
982
|
);
|
|
987
983
|
return [w(
|
|
988
|
-
() => r ? [] :
|
|
984
|
+
() => r ? [] : ws(e, f),
|
|
989
985
|
[r, s, e]
|
|
990
986
|
), u];
|
|
991
987
|
}, ft = (e, n) => {
|
|
@@ -1018,12 +1014,12 @@ const Jn = I(nt)`
|
|
|
1018
1014
|
...m,
|
|
1019
1015
|
...f,
|
|
1020
1016
|
children: [
|
|
1021
|
-
/* @__PURE__ */ i(
|
|
1022
|
-
/* @__PURE__ */ i(
|
|
1017
|
+
/* @__PURE__ */ i(Hn, { ...f, statuses: f.statuses }),
|
|
1018
|
+
/* @__PURE__ */ i(Bn, {})
|
|
1023
1019
|
]
|
|
1024
1020
|
}
|
|
1025
1021
|
);
|
|
1026
|
-
},
|
|
1022
|
+
}, Ss = ({
|
|
1027
1023
|
children: e,
|
|
1028
1024
|
scope: n = "dashboard",
|
|
1029
1025
|
entities: t,
|
|
@@ -1097,23 +1093,23 @@ const Jn = I(nt)`
|
|
|
1097
1093
|
}), Object.keys(s).forEach((a) => {
|
|
1098
1094
|
(a === "productTypes" || s[a].length > 0) && (t[a] = o(s[a]));
|
|
1099
1095
|
}), t;
|
|
1100
|
-
},
|
|
1096
|
+
}, Cs = I.div`
|
|
1101
1097
|
display: flex;
|
|
1102
1098
|
align-items: center;
|
|
1103
1099
|
padding: 4px 8px;
|
|
1104
1100
|
gap: var(--base-gap-small);
|
|
1105
|
-
`,
|
|
1101
|
+
`, Ts = I.span`
|
|
1106
1102
|
font-weight: 600;
|
|
1107
1103
|
user-select: none;
|
|
1108
|
-
`,
|
|
1104
|
+
`, Ns = I.div`
|
|
1109
1105
|
display: flex;
|
|
1110
1106
|
gap: var(--base-gap-small);
|
|
1111
|
-
`,
|
|
1107
|
+
`, je = I(te)`
|
|
1112
1108
|
background-color: unset;
|
|
1113
1109
|
&.hasIcon {
|
|
1114
1110
|
padding: 4px;
|
|
1115
1111
|
}
|
|
1116
|
-
`,
|
|
1112
|
+
`, Es = I.div`
|
|
1117
1113
|
display: flex;
|
|
1118
1114
|
align-items: center;
|
|
1119
1115
|
gap: var(--base-gap-small);
|
|
@@ -1130,10 +1126,10 @@ const Jn = I(nt)`
|
|
|
1130
1126
|
box-shadow: 0 0 0 1px var(--md-sys-color-primary-container);
|
|
1131
1127
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
1132
1128
|
}
|
|
1133
|
-
`,
|
|
1129
|
+
`, Is = I(Pn)`
|
|
1134
1130
|
width: 28px;
|
|
1135
1131
|
height: 28px;
|
|
1136
|
-
`,
|
|
1132
|
+
`, Ps = I.input`
|
|
1137
1133
|
flex: 1;
|
|
1138
1134
|
min-width: 0;
|
|
1139
1135
|
border: none;
|
|
@@ -1146,14 +1142,14 @@ const Jn = I(nt)`
|
|
|
1146
1142
|
&::placeholder {
|
|
1147
1143
|
color: var(--md-sys-color-outline);
|
|
1148
1144
|
}
|
|
1149
|
-
`,
|
|
1145
|
+
`, Ds = I(te)`
|
|
1150
1146
|
background-color: unset;
|
|
1151
1147
|
min-width: unset;
|
|
1152
1148
|
&.hasIcon {
|
|
1153
1149
|
padding: 2px;
|
|
1154
1150
|
}
|
|
1155
|
-
`,
|
|
1156
|
-
if (
|
|
1151
|
+
`, Ue = (e) => !!e && "key" in e, we = (e, n) => Ue(e) ? e.key === n : !!e.conditions?.some((t) => we(t, n)), Ve = (e) => {
|
|
1152
|
+
if (Ue(e)) return String(e.value || "");
|
|
1157
1153
|
const n = e.operator === "or" ? ", " : ".";
|
|
1158
1154
|
return e.conditions?.map((t) => Ve(t)).join(n) || "";
|
|
1159
1155
|
}, yt = (e, n, t) => {
|
|
@@ -1183,7 +1179,7 @@ const Jn = I(nt)`
|
|
|
1183
1179
|
operator: t,
|
|
1184
1180
|
value: a[0] || ""
|
|
1185
1181
|
};
|
|
1186
|
-
},
|
|
1182
|
+
}, As = ({
|
|
1187
1183
|
label: e,
|
|
1188
1184
|
filters: n,
|
|
1189
1185
|
currentFilter: t,
|
|
@@ -1191,9 +1187,9 @@ const Jn = I(nt)`
|
|
|
1191
1187
|
isLoading: s
|
|
1192
1188
|
}) => {
|
|
1193
1189
|
const [a, r] = oe(null), [l, u] = oe(""), f = le(null), m = (c) => typeof c == "object" && c !== null && !Array.isArray(c);
|
|
1194
|
-
|
|
1190
|
+
Q(() => {
|
|
1195
1191
|
a && f.current && f.current.focus();
|
|
1196
|
-
}, [a]),
|
|
1192
|
+
}, [a]), Q(() => {
|
|
1197
1193
|
if (a && m(t)) {
|
|
1198
1194
|
if (document.activeElement === f.current) return;
|
|
1199
1195
|
const c = t.conditions?.find((g) => we(g, a));
|
|
@@ -1209,27 +1205,27 @@ const Jn = I(nt)`
|
|
|
1209
1205
|
...t,
|
|
1210
1206
|
conditions: C,
|
|
1211
1207
|
operator: t.operator || "and"
|
|
1212
|
-
}, T = String(c.id), D = C.findIndex((
|
|
1213
|
-
if (
|
|
1208
|
+
}, T = String(c.id), D = C.findIndex((y) => we(y, T)), v = c.type || "boolean";
|
|
1209
|
+
if (v === "boolean")
|
|
1214
1210
|
D > -1 ? C.splice(D, 1) : C.push({ key: T, operator: c.operator || "eq", value: !0 });
|
|
1215
|
-
else if (
|
|
1216
|
-
const
|
|
1217
|
-
if (
|
|
1211
|
+
else if (v === "enum") {
|
|
1212
|
+
const y = Array.isArray(g) ? g : [g];
|
|
1213
|
+
if (y.length === 0 || y.length === 1 && y[0] === void 0)
|
|
1218
1214
|
D > -1 && C.splice(D, 1);
|
|
1219
1215
|
else {
|
|
1220
1216
|
const A = {
|
|
1221
1217
|
key: T,
|
|
1222
1218
|
operator: c.operator || "in",
|
|
1223
|
-
value:
|
|
1219
|
+
value: y
|
|
1224
1220
|
};
|
|
1225
1221
|
D > -1 ? C[D] = A : C.push(A);
|
|
1226
1222
|
}
|
|
1227
|
-
} else if (
|
|
1228
|
-
const
|
|
1229
|
-
if (!
|
|
1223
|
+
} else if (v === "search") {
|
|
1224
|
+
const y = typeof g == "string" ? g : "";
|
|
1225
|
+
if (!y)
|
|
1230
1226
|
D > -1 && C.splice(D, 1);
|
|
1231
1227
|
else {
|
|
1232
|
-
const A = yt(
|
|
1228
|
+
const A = yt(y, T, c.operator || "like");
|
|
1233
1229
|
D > -1 ? C[D] = A : C.push(A);
|
|
1234
1230
|
}
|
|
1235
1231
|
}
|
|
@@ -1244,27 +1240,27 @@ const Jn = I(nt)`
|
|
|
1244
1240
|
u(g), h(c, g);
|
|
1245
1241
|
}, V = (c) => {
|
|
1246
1242
|
u(""), r(null), h(c, "");
|
|
1247
|
-
}, U = (c) => m(t) ? t.conditions?.some((g) => we(g, String(c.id))) : c.id === t,
|
|
1248
|
-
(C) =>
|
|
1243
|
+
}, U = (c) => m(t) ? t.conditions?.some((g) => we(g, String(c.id))) : c.id === t, j = (c) => m(t) ? t.conditions?.find(
|
|
1244
|
+
(C) => Ue(C) && C.key === String(c.id)
|
|
1249
1245
|
)?.value || [] : [];
|
|
1250
|
-
return /* @__PURE__ */ x(
|
|
1251
|
-
/* @__PURE__ */ i(
|
|
1246
|
+
return /* @__PURE__ */ x(Cs, { className: fe("panel-tabs", { loading: s }), children: [
|
|
1247
|
+
/* @__PURE__ */ i(Ts, { className: "panel-header-label", children: e }),
|
|
1252
1248
|
/* @__PURE__ */ i(st, {}),
|
|
1253
|
-
/* @__PURE__ */ i(
|
|
1249
|
+
/* @__PURE__ */ i(Ns, { className: "panel-header-filters", children: n.map((c) => {
|
|
1254
1250
|
const g = U(c), C = c.type || "boolean";
|
|
1255
1251
|
if (C === "enum")
|
|
1256
1252
|
return /* @__PURE__ */ i(
|
|
1257
|
-
|
|
1253
|
+
Is,
|
|
1258
1254
|
{
|
|
1259
1255
|
options: c.options || [],
|
|
1260
|
-
value:
|
|
1256
|
+
value: j(c),
|
|
1261
1257
|
onChange: (E) => h(c, E),
|
|
1262
1258
|
isEditing: !0,
|
|
1263
1259
|
autoOpen: !1,
|
|
1264
1260
|
align: "right",
|
|
1265
1261
|
type: "list_of_strings",
|
|
1266
1262
|
valueTemplate: () => /* @__PURE__ */ i(
|
|
1267
|
-
|
|
1263
|
+
je,
|
|
1268
1264
|
{
|
|
1269
1265
|
selected: g,
|
|
1270
1266
|
icon: c.icon,
|
|
@@ -1280,12 +1276,12 @@ const Jn = I(nt)`
|
|
|
1280
1276
|
if (C === "search") {
|
|
1281
1277
|
const E = a === String(c.id);
|
|
1282
1278
|
return /* @__PURE__ */ x(
|
|
1283
|
-
|
|
1279
|
+
Es,
|
|
1284
1280
|
{
|
|
1285
1281
|
className: fe("panel-filter", "panel-filter-search", { expanded: E }),
|
|
1286
1282
|
children: [
|
|
1287
1283
|
/* @__PURE__ */ i(
|
|
1288
|
-
|
|
1284
|
+
je,
|
|
1289
1285
|
{
|
|
1290
1286
|
selected: g || E,
|
|
1291
1287
|
onClick: () => b(c),
|
|
@@ -1296,7 +1292,7 @@ const Jn = I(nt)`
|
|
|
1296
1292
|
),
|
|
1297
1293
|
E && /* @__PURE__ */ x(Ie, { children: [
|
|
1298
1294
|
/* @__PURE__ */ i(
|
|
1299
|
-
|
|
1295
|
+
Ps,
|
|
1300
1296
|
{
|
|
1301
1297
|
ref: f,
|
|
1302
1298
|
value: l,
|
|
@@ -1308,7 +1304,7 @@ const Jn = I(nt)`
|
|
|
1308
1304
|
}
|
|
1309
1305
|
),
|
|
1310
1306
|
/* @__PURE__ */ i(
|
|
1311
|
-
|
|
1307
|
+
Ds,
|
|
1312
1308
|
{
|
|
1313
1309
|
icon: "close",
|
|
1314
1310
|
onClick: () => V(c),
|
|
@@ -1323,7 +1319,7 @@ const Jn = I(nt)`
|
|
|
1323
1319
|
);
|
|
1324
1320
|
}
|
|
1325
1321
|
return /* @__PURE__ */ i(
|
|
1326
|
-
|
|
1322
|
+
je,
|
|
1327
1323
|
{
|
|
1328
1324
|
selected: g,
|
|
1329
1325
|
onClick: () => h(c),
|
|
@@ -1336,7 +1332,7 @@ const Jn = I(nt)`
|
|
|
1336
1332
|
);
|
|
1337
1333
|
}) })
|
|
1338
1334
|
] });
|
|
1339
|
-
}, kt = ["done", "isDone"], wt = (e) => !!e && "key" in e,
|
|
1335
|
+
}, kt = ["done", "isDone"], wt = (e) => !!e && "key" in e, Fs = (e, n) => {
|
|
1340
1336
|
const t = [], o = [], s = (a) => {
|
|
1341
1337
|
if (!a) return;
|
|
1342
1338
|
if (wt(a)) {
|
|
@@ -1391,7 +1387,7 @@ const Jn = I(nt)`
|
|
|
1391
1387
|
});
|
|
1392
1388
|
return;
|
|
1393
1389
|
}
|
|
1394
|
-
const r =
|
|
1390
|
+
const r = zn(a, n);
|
|
1395
1391
|
if (r) {
|
|
1396
1392
|
t.push(r);
|
|
1397
1393
|
return;
|
|
@@ -1399,10 +1395,10 @@ const Jn = I(nt)`
|
|
|
1399
1395
|
a.conditions?.forEach(s);
|
|
1400
1396
|
};
|
|
1401
1397
|
return e?.conditions?.forEach(s), o.length && t.push({ id: at, label: "", values: o }), t;
|
|
1402
|
-
},
|
|
1398
|
+
}, Os = (e) => {
|
|
1403
1399
|
const n = [], t = [];
|
|
1404
1400
|
return e.forEach((o) => {
|
|
1405
|
-
const s =
|
|
1401
|
+
const s = jt(o.id), a = (o.values || []).map((r) => r.id);
|
|
1406
1402
|
if (a.length)
|
|
1407
1403
|
if (s === at)
|
|
1408
1404
|
a.forEach(
|
|
@@ -1412,7 +1408,7 @@ const Jn = I(nt)`
|
|
|
1412
1408
|
const r = a[0] === "true";
|
|
1413
1409
|
n.push({ key: s, operator: "eq", value: r });
|
|
1414
1410
|
} else if (o.type === "datetime") {
|
|
1415
|
-
const r =
|
|
1411
|
+
const r = Gn(s, o);
|
|
1416
1412
|
r && n.push(r);
|
|
1417
1413
|
} else
|
|
1418
1414
|
n.push({ key: s, operator: "in", value: a.map(String) });
|
|
@@ -1425,7 +1421,7 @@ const Jn = I(nt)`
|
|
|
1425
1421
|
opacity: 0.5;
|
|
1426
1422
|
pointer-events: none;
|
|
1427
1423
|
}
|
|
1428
|
-
`,
|
|
1424
|
+
`, Rs = ({
|
|
1429
1425
|
subtasksFilter: e,
|
|
1430
1426
|
setSubtasksFilter: n,
|
|
1431
1427
|
users: t,
|
|
@@ -1478,23 +1474,23 @@ const Jn = I(nt)`
|
|
|
1478
1474
|
// },
|
|
1479
1475
|
],
|
|
1480
1476
|
[t]
|
|
1481
|
-
), u = w(() =>
|
|
1482
|
-
|
|
1477
|
+
), u = w(() => Fs(e, l), [e, l]), [f, m] = oe(u), h = le(null), b = Qn();
|
|
1478
|
+
Q(() => {
|
|
1483
1479
|
m(u);
|
|
1484
1480
|
}, [JSON.stringify(u)]);
|
|
1485
1481
|
const N = (g) => {
|
|
1486
|
-
const C =
|
|
1482
|
+
const C = Os(g);
|
|
1487
1483
|
n(C), r?.("");
|
|
1488
1484
|
}, V = (g) => {
|
|
1489
1485
|
b.wrapFilterChange(g, f, m);
|
|
1490
1486
|
}, U = (g, C) => {
|
|
1491
1487
|
C || r?.(g);
|
|
1492
1488
|
};
|
|
1493
|
-
let
|
|
1494
|
-
s > 0 && (
|
|
1489
|
+
let j = "";
|
|
1490
|
+
s > 0 && (j = `${a}/${s}`);
|
|
1495
1491
|
const c = w(
|
|
1496
|
-
() => [{ id: "isDone", label:
|
|
1497
|
-
[
|
|
1492
|
+
() => [{ id: "isDone", label: j, tooltip: "Status" }],
|
|
1493
|
+
[j]
|
|
1498
1494
|
);
|
|
1499
1495
|
return /* @__PURE__ */ x(js, { className: o ? "loading" : void 0, children: [
|
|
1500
1496
|
/* @__PURE__ */ i(
|
|
@@ -1527,7 +1523,7 @@ const Jn = I(nt)`
|
|
|
1527
1523
|
}
|
|
1528
1524
|
),
|
|
1529
1525
|
/* @__PURE__ */ i(
|
|
1530
|
-
|
|
1526
|
+
Wn,
|
|
1531
1527
|
{
|
|
1532
1528
|
isOpen: !!b.customRangeFilterId,
|
|
1533
1529
|
header: l.find((g) => g.id === b.customRangeFilterId?.split("__")[0])?.label ?? "Custom range",
|
|
@@ -1540,7 +1536,7 @@ const Jn = I(nt)`
|
|
|
1540
1536
|
}
|
|
1541
1537
|
)
|
|
1542
1538
|
] });
|
|
1543
|
-
},
|
|
1539
|
+
}, Ls = ({ ...e }) => {
|
|
1544
1540
|
const [n, t] = oe({}), [o, s] = oe(""), [a, r] = oe([]), { dispatch: l } = ne(), { data: u = [] } = ot({ projectName: e.projectName }), f = e.subtasks?.length || 0, m = e.subtasks?.filter((b) => b.isDone).length || 0, h = w(() => {
|
|
1545
1541
|
let b = n;
|
|
1546
1542
|
if (o) {
|
|
@@ -1551,11 +1547,11 @@ const Jn = I(nt)`
|
|
|
1551
1547
|
operator: "and"
|
|
1552
1548
|
};
|
|
1553
1549
|
}
|
|
1554
|
-
return
|
|
1550
|
+
return qn(xt(b));
|
|
1555
1551
|
}, [n, o]);
|
|
1556
1552
|
return /* @__PURE__ */ x(Ie, { children: [
|
|
1557
1553
|
/* @__PURE__ */ i(
|
|
1558
|
-
|
|
1554
|
+
As,
|
|
1559
1555
|
{
|
|
1560
1556
|
label: `Subtasks (${f})`,
|
|
1561
1557
|
filters: [],
|
|
@@ -1564,7 +1560,7 @@ const Jn = I(nt)`
|
|
|
1564
1560
|
}
|
|
1565
1561
|
),
|
|
1566
1562
|
/* @__PURE__ */ i(
|
|
1567
|
-
|
|
1563
|
+
Rs,
|
|
1568
1564
|
{
|
|
1569
1565
|
subtasksFilter: n,
|
|
1570
1566
|
setSubtasksFilter: t,
|
|
@@ -1575,7 +1571,7 @@ const Jn = I(nt)`
|
|
|
1575
1571
|
}
|
|
1576
1572
|
),
|
|
1577
1573
|
/* @__PURE__ */ i(
|
|
1578
|
-
|
|
1574
|
+
Dn,
|
|
1579
1575
|
{
|
|
1580
1576
|
...e,
|
|
1581
1577
|
style: { padding: 8, height: "unset" },
|
|
@@ -1588,7 +1584,7 @@ const Jn = I(nt)`
|
|
|
1588
1584
|
}
|
|
1589
1585
|
)
|
|
1590
1586
|
] });
|
|
1591
|
-
}, tt = ["product", "representation"],
|
|
1587
|
+
}, tt = ["product", "representation"], Vs = ({
|
|
1592
1588
|
entityType: e,
|
|
1593
1589
|
entitySubTypes: n = [],
|
|
1594
1590
|
// entities is data we already have from kanban
|
|
@@ -1607,7 +1603,7 @@ const Jn = I(nt)`
|
|
|
1607
1603
|
scope: N,
|
|
1608
1604
|
isCompact: V = !1,
|
|
1609
1605
|
onClose: U,
|
|
1610
|
-
onWatchersUpdate:
|
|
1606
|
+
onWatchersUpdate: j,
|
|
1611
1607
|
onOpenViewer: c,
|
|
1612
1608
|
onEntityFocus: g,
|
|
1613
1609
|
onOpen: C,
|
|
@@ -1616,11 +1612,11 @@ const Jn = I(nt)`
|
|
|
1616
1612
|
// annotations
|
|
1617
1613
|
annotations: T,
|
|
1618
1614
|
removeAnnotation: D,
|
|
1619
|
-
exportAnnotationComposite:
|
|
1620
|
-
entityListId:
|
|
1615
|
+
exportAnnotationComposite: v,
|
|
1616
|
+
entityListId: y,
|
|
1621
1617
|
guestCategories: A = {},
|
|
1622
1618
|
entityListsContext: R,
|
|
1623
|
-
resolveVersionJump:
|
|
1619
|
+
resolveVersionJump: $
|
|
1624
1620
|
}) => {
|
|
1625
1621
|
const {
|
|
1626
1622
|
closeSlideOut: se,
|
|
@@ -1629,37 +1625,37 @@ const Jn = I(nt)`
|
|
|
1629
1625
|
isGuest: ue,
|
|
1630
1626
|
entities: F,
|
|
1631
1627
|
setEntities: pe,
|
|
1632
|
-
slideOut:
|
|
1628
|
+
slideOut: K,
|
|
1633
1629
|
useSearchParams: me,
|
|
1634
1630
|
SubtasksManager: J,
|
|
1635
1631
|
useNavigate: he
|
|
1636
|
-
} = ne(), { currentTab:
|
|
1632
|
+
} = ne(), { currentTab: O, setTab: B, isFeed: X } = kn(N), [xe, be] = me(), ve = le(!1), S = F?.entityType ?? e, ge = F?.entities ?? o, k = F?.entitySubTypes ?? n, H = F?.entities ? [] : t, _ = F?.entities ? F.entities.map((p) => p.projectName) : m;
|
|
1637
1633
|
hn(
|
|
1638
1634
|
S ? ge.map((p) => ({ ...p, entityType: S })) : [],
|
|
1639
1635
|
h ? qe.slideOut : qe.detailsPanel
|
|
1640
|
-
),
|
|
1636
|
+
), Q(() => {
|
|
1641
1637
|
C && !ve.current && (ve.current = !0, C());
|
|
1642
1638
|
}, []);
|
|
1643
|
-
const { tabs: ie, isLoading: ae } = pt(S), Y = ie.find((p) => p.key ===
|
|
1644
|
-
|
|
1645
|
-
tt.includes(S) &&
|
|
1646
|
-
}, [S,
|
|
1639
|
+
const { tabs: ie, isLoading: ae } = pt(S), Y = ie.find((p) => p.key === O), Se = Ke(O) && ae;
|
|
1640
|
+
Q(() => {
|
|
1641
|
+
tt.includes(S) && O !== "details" && !Y && !Se && B("details");
|
|
1642
|
+
}, [S, O, B, Y, Se]), Q(() => {
|
|
1647
1643
|
o.length && F && pe(null);
|
|
1648
1644
|
}, [o, F, pe]);
|
|
1649
1645
|
const ye = w(
|
|
1650
|
-
() => vt(f,
|
|
1651
|
-
[f,
|
|
1646
|
+
() => vt(f, _),
|
|
1647
|
+
[f, _]
|
|
1652
1648
|
), Ce = w(() => ht(ye), [ye]);
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
}, [S,
|
|
1649
|
+
Q(() => {
|
|
1650
|
+
O === "files" && S !== "version" && B("feed"), O === "subtasks" && S !== "task" && B("feed"), Ke(O) && !ae && !Y && B(tt.includes(S) ? "details" : "feed");
|
|
1651
|
+
}, [S, O, N, ae, Y]);
|
|
1656
1652
|
let Z = ge.length ? ge.map((p) => ({ id: p.id, projectName: p.projectName })) : (
|
|
1657
1653
|
// @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it
|
|
1658
|
-
|
|
1654
|
+
H.map((p) => ({ id: p.id, projectName: p.projectName }))
|
|
1659
1655
|
);
|
|
1660
1656
|
Z = Z.filter((p) => p.id);
|
|
1661
1657
|
const {
|
|
1662
|
-
data:
|
|
1658
|
+
data: M = [],
|
|
1663
1659
|
isFetching: ee,
|
|
1664
1660
|
isError: d,
|
|
1665
1661
|
originalArgs: P
|
|
@@ -1669,30 +1665,30 @@ const Jn = I(nt)`
|
|
|
1669
1665
|
skip: !Z.length || !Gt.includes(S)
|
|
1670
1666
|
}
|
|
1671
1667
|
);
|
|
1672
|
-
|
|
1668
|
+
Q(() => {
|
|
1673
1669
|
h || se();
|
|
1674
1670
|
}, [P, h]);
|
|
1675
|
-
const
|
|
1676
|
-
|
|
1677
|
-
F || (
|
|
1678
|
-
}, [F]),
|
|
1671
|
+
const W = le(null);
|
|
1672
|
+
Q(() => {
|
|
1673
|
+
F || (W.current = null);
|
|
1674
|
+
}, [F]), Q(() => {
|
|
1679
1675
|
if (!ee && (F?.source === "uri" || F?.source === "url") && F?.entities?.length && E) {
|
|
1680
1676
|
const p = F.entities[0].id;
|
|
1681
|
-
if (
|
|
1682
|
-
const L =
|
|
1677
|
+
if (W.current === p) return;
|
|
1678
|
+
const L = M.find((q) => q.id === p);
|
|
1683
1679
|
if (!L) return;
|
|
1684
|
-
|
|
1680
|
+
W.current = p, E(L, F.source);
|
|
1685
1681
|
}
|
|
1686
|
-
}, [
|
|
1687
|
-
const re = ft(f),
|
|
1688
|
-
entity:
|
|
1682
|
+
}, [M, ee, F, E]);
|
|
1683
|
+
const re = ft(f), z = _[0], $e = f[z] || {}, G = M[0] || {}, Te = M[M.length - 1], Pe = _[_.length - 1], Me = N === "inbox" && S === "version" && M.length === 1 ? ps(M[0]) : void 0, [_e, St] = xs({
|
|
1684
|
+
entity: G,
|
|
1689
1685
|
entityType: S,
|
|
1690
|
-
projectName:
|
|
1686
|
+
projectName: z,
|
|
1691
1687
|
isLoading: ee
|
|
1692
1688
|
}), { setEntityUri: Ct, setUri: He } = wn();
|
|
1693
|
-
|
|
1689
|
+
Q(() => {
|
|
1694
1690
|
if (!Te?.parents || !Pe) return;
|
|
1695
|
-
const { folderPath: p, taskName: L, versionName:
|
|
1691
|
+
const { folderPath: p, taskName: L, versionName: q, productName: Ge } = gn(
|
|
1696
1692
|
Te.parents,
|
|
1697
1693
|
S,
|
|
1698
1694
|
Te.name
|
|
@@ -1702,11 +1698,11 @@ const Jn = I(nt)`
|
|
|
1702
1698
|
folderPath: p,
|
|
1703
1699
|
taskName: L,
|
|
1704
1700
|
productName: Ge,
|
|
1705
|
-
versionName:
|
|
1701
|
+
versionName: q
|
|
1706
1702
|
}), () => {
|
|
1707
1703
|
He("");
|
|
1708
1704
|
};
|
|
1709
|
-
}, [
|
|
1705
|
+
}, [M, _, S]), Jn({
|
|
1710
1706
|
entityData: Te,
|
|
1711
1707
|
project: Pe,
|
|
1712
1708
|
activeEntityType: S,
|
|
@@ -1723,35 +1719,35 @@ const Jn = I(nt)`
|
|
|
1723
1719
|
}, De = () => {
|
|
1724
1720
|
U?.(), pe(null), He(""), Tt(), se();
|
|
1725
1721
|
};
|
|
1726
|
-
|
|
1722
|
+
Q(() => {
|
|
1727
1723
|
const p = (L) => {
|
|
1728
1724
|
if (L.key === "Escape" && U) {
|
|
1729
|
-
const
|
|
1730
|
-
if (["INPUT", "TEXTAREA", "SELECT"].includes(
|
|
1725
|
+
const q = L.target;
|
|
1726
|
+
if (["INPUT", "TEXTAREA", "SELECT"].includes(q.tagName) || q.isContentEditable || h === !1 && (q.closest("#viewer-dialog") || K)) return;
|
|
1731
1727
|
De();
|
|
1732
1728
|
}
|
|
1733
1729
|
};
|
|
1734
1730
|
return window.addEventListener("keydown", p), () => window.removeEventListener("keydown", p);
|
|
1735
|
-
}, [De, h,
|
|
1736
|
-
const { requestPipWindow: Nt } = xn(), Be = le(null), We = le(null), Et =
|
|
1737
|
-
const p =
|
|
1731
|
+
}, [De, h, K]);
|
|
1732
|
+
const { requestPipWindow: Nt } = xn(), Be = le(null), We = le(null), Et = M.length === 1 && S !== "representation", It = w(() => {
|
|
1733
|
+
const p = G?.label || G?.name || "", L = G?.parents || [], q = [z];
|
|
1738
1734
|
switch (S) {
|
|
1739
1735
|
case "folder":
|
|
1740
1736
|
case "task":
|
|
1741
1737
|
case "product":
|
|
1742
|
-
|
|
1738
|
+
q.push(L.at(-1), p);
|
|
1743
1739
|
break;
|
|
1744
1740
|
case "version":
|
|
1745
|
-
|
|
1741
|
+
q.push(L.at(-2), L.at(-1), p);
|
|
1746
1742
|
break;
|
|
1747
1743
|
case "representation":
|
|
1748
|
-
|
|
1744
|
+
q.push(L.at(-3), L.at(-2), L.at(-1), p);
|
|
1749
1745
|
break;
|
|
1750
1746
|
default:
|
|
1751
|
-
|
|
1747
|
+
q.push(p);
|
|
1752
1748
|
}
|
|
1753
|
-
return
|
|
1754
|
-
}, [
|
|
1749
|
+
return q.filter(Boolean).join(" - ");
|
|
1750
|
+
}, [G, S, z]), Pt = () => {
|
|
1755
1751
|
ce({
|
|
1756
1752
|
entityType: S,
|
|
1757
1753
|
entities: Z,
|
|
@@ -1759,19 +1755,19 @@ const Jn = I(nt)`
|
|
|
1759
1755
|
}), Nt(500, 500);
|
|
1760
1756
|
}, Dt = w(
|
|
1761
1757
|
() => ({
|
|
1762
|
-
projectName:
|
|
1758
|
+
projectName: z,
|
|
1763
1759
|
entityType: S,
|
|
1764
|
-
entities:
|
|
1760
|
+
entities: M.filter((p) => !!p?.id).map((p) => ({
|
|
1765
1761
|
id: p.id,
|
|
1766
1762
|
entityType: p.entityType || S,
|
|
1767
|
-
projectName: p.projectName ||
|
|
1763
|
+
projectName: p.projectName || z,
|
|
1768
1764
|
name: p.name,
|
|
1769
1765
|
label: p.label || void 0
|
|
1770
1766
|
})),
|
|
1771
1767
|
scope: N
|
|
1772
1768
|
}),
|
|
1773
|
-
[
|
|
1774
|
-
), ze = () => !(
|
|
1769
|
+
[z, S, M, N]
|
|
1770
|
+
), ze = () => !(_.length > 1 || ue && (!y || !Object.prototype.hasOwnProperty.call(
|
|
1775
1771
|
A,
|
|
1776
1772
|
de.attrib?.email || ""
|
|
1777
1773
|
)));
|
|
@@ -1781,14 +1777,14 @@ const Jn = I(nt)`
|
|
|
1781
1777
|
thumbnailInputRef: Be,
|
|
1782
1778
|
versionsInputRef: We,
|
|
1783
1779
|
canUploadVersion: Et,
|
|
1784
|
-
children: /* @__PURE__ */ x(
|
|
1785
|
-
/* @__PURE__ */ x(
|
|
1780
|
+
children: /* @__PURE__ */ x(es, { className: "details-panel", children: [
|
|
1781
|
+
/* @__PURE__ */ x(Xn, { children: [
|
|
1786
1782
|
/* @__PURE__ */ i(
|
|
1787
1783
|
pn,
|
|
1788
1784
|
{
|
|
1789
1785
|
segments: _e,
|
|
1790
1786
|
versions: St,
|
|
1791
|
-
projectName:
|
|
1787
|
+
projectName: z,
|
|
1792
1788
|
hideProjectName: h,
|
|
1793
1789
|
isLoading: ee || !_e.length,
|
|
1794
1790
|
entityType: S,
|
|
@@ -1796,16 +1792,16 @@ const Jn = I(nt)`
|
|
|
1796
1792
|
entityTypeIcons: Ce
|
|
1797
1793
|
}
|
|
1798
1794
|
),
|
|
1799
|
-
/* @__PURE__ */ x(
|
|
1795
|
+
/* @__PURE__ */ x(Yn, { className: "right-tools", children: [
|
|
1800
1796
|
/* @__PURE__ */ i(
|
|
1801
|
-
|
|
1797
|
+
ys,
|
|
1802
1798
|
{
|
|
1803
1799
|
entityType: S,
|
|
1804
|
-
entityId:
|
|
1800
|
+
entityId: G?.id,
|
|
1805
1801
|
entityIds: Z.map((p) => p.id).filter(Boolean),
|
|
1806
1802
|
entityLabel: It,
|
|
1807
|
-
projectName:
|
|
1808
|
-
selectedEntities:
|
|
1803
|
+
projectName: z,
|
|
1804
|
+
selectedEntities: M.filter((p) => !!p?.id).map((p) => {
|
|
1809
1805
|
const L = p.entityType || S;
|
|
1810
1806
|
return {
|
|
1811
1807
|
entityId: p.id,
|
|
@@ -1813,16 +1809,16 @@ const Jn = I(nt)`
|
|
|
1813
1809
|
hasReviewables: !!p.hasReviewables,
|
|
1814
1810
|
name: p.name,
|
|
1815
1811
|
label: p.label,
|
|
1816
|
-
projectName: p.projectName ||
|
|
1812
|
+
projectName: p.projectName || z,
|
|
1817
1813
|
folderId: L === "task" ? p.folder?.id : void 0
|
|
1818
1814
|
};
|
|
1819
1815
|
}),
|
|
1820
1816
|
entityListsContext: R,
|
|
1821
1817
|
onOpenPip: Pt,
|
|
1822
1818
|
onOpenViewer: c,
|
|
1823
|
-
productId:
|
|
1824
|
-
taskId:
|
|
1825
|
-
folderId:
|
|
1819
|
+
productId: G?.product?.id,
|
|
1820
|
+
taskId: G?.task?.id,
|
|
1821
|
+
folderId: G?.folder?.id
|
|
1826
1822
|
}
|
|
1827
1823
|
),
|
|
1828
1824
|
/* @__PURE__ */ i(
|
|
@@ -1831,7 +1827,7 @@ const Jn = I(nt)`
|
|
|
1831
1827
|
entities: Z,
|
|
1832
1828
|
entityType: S,
|
|
1833
1829
|
options: r || [],
|
|
1834
|
-
onWatchersUpdate:
|
|
1830
|
+
onWatchersUpdate: j && j,
|
|
1835
1831
|
userName: de.name
|
|
1836
1832
|
}
|
|
1837
1833
|
),
|
|
@@ -1847,26 +1843,26 @@ const Jn = I(nt)`
|
|
|
1847
1843
|
] })
|
|
1848
1844
|
] }),
|
|
1849
1845
|
Me && /* @__PURE__ */ i(
|
|
1850
|
-
|
|
1846
|
+
us,
|
|
1851
1847
|
{
|
|
1852
1848
|
latestVersion: Me,
|
|
1853
|
-
resolveVersionJump:
|
|
1849
|
+
resolveVersionJump: $
|
|
1854
1850
|
}
|
|
1855
1851
|
),
|
|
1856
1852
|
/* @__PURE__ */ i(
|
|
1857
|
-
|
|
1853
|
+
ls,
|
|
1858
1854
|
{
|
|
1859
1855
|
entityType: S,
|
|
1860
|
-
entitySubTypes:
|
|
1861
|
-
entities:
|
|
1856
|
+
entitySubTypes: k,
|
|
1857
|
+
entities: M,
|
|
1862
1858
|
users: r,
|
|
1863
1859
|
disabledAssignees: l,
|
|
1864
1860
|
disabledStatuses: a,
|
|
1865
1861
|
tagsOptions: s,
|
|
1866
1862
|
isFetching: ee,
|
|
1867
1863
|
isCompact: V,
|
|
1868
|
-
currentTab:
|
|
1869
|
-
onTabChange:
|
|
1864
|
+
currentTab: O,
|
|
1865
|
+
onTabChange: B,
|
|
1870
1866
|
projectInfo: ye,
|
|
1871
1867
|
onOpenViewer: (p) => c?.(p),
|
|
1872
1868
|
onEntityFocus: g,
|
|
@@ -1874,74 +1870,74 @@ const Jn = I(nt)`
|
|
|
1874
1870
|
versionsInputRef: We
|
|
1875
1871
|
}
|
|
1876
1872
|
),
|
|
1877
|
-
/* @__PURE__ */ x(ct, { projectName:
|
|
1873
|
+
/* @__PURE__ */ x(ct, { projectName: z, children: [
|
|
1878
1874
|
X && !d && /* @__PURE__ */ i(
|
|
1879
1875
|
bt,
|
|
1880
1876
|
{
|
|
1881
1877
|
entityType: S,
|
|
1882
|
-
entities:
|
|
1878
|
+
entities: M,
|
|
1883
1879
|
activeUsers: u || [],
|
|
1884
|
-
projectInfo:
|
|
1885
|
-
projectName:
|
|
1880
|
+
projectInfo: $e,
|
|
1881
|
+
projectName: z,
|
|
1886
1882
|
disabled: !ze(),
|
|
1887
1883
|
scope: N,
|
|
1888
1884
|
statuses: re,
|
|
1889
1885
|
readOnly: !1,
|
|
1890
|
-
entityListId:
|
|
1886
|
+
entityListId: y,
|
|
1891
1887
|
annotations: T,
|
|
1892
1888
|
removeAnnotation: D,
|
|
1893
|
-
exportAnnotationComposite:
|
|
1889
|
+
exportAnnotationComposite: v,
|
|
1894
1890
|
isSlideOut: h
|
|
1895
1891
|
}
|
|
1896
1892
|
),
|
|
1897
|
-
|
|
1898
|
-
|
|
1893
|
+
O === "subtasks" && S === "task" && G?.id && J && /* @__PURE__ */ i(
|
|
1894
|
+
Ls,
|
|
1899
1895
|
{
|
|
1900
|
-
projectName:
|
|
1901
|
-
taskId:
|
|
1902
|
-
taskName:
|
|
1903
|
-
folderId:
|
|
1904
|
-
subtasks:
|
|
1896
|
+
projectName: z,
|
|
1897
|
+
taskId: G.id,
|
|
1898
|
+
taskName: G.name,
|
|
1899
|
+
folderId: G.folder?.id,
|
|
1900
|
+
subtasks: G.task?.subtasks || [],
|
|
1905
1901
|
SubtasksManager: J,
|
|
1906
1902
|
useNavigate: he,
|
|
1907
|
-
onNotFound: () =>
|
|
1903
|
+
onNotFound: () => B("feed")
|
|
1908
1904
|
}
|
|
1909
1905
|
),
|
|
1910
|
-
Y && /* @__PURE__ */ i(
|
|
1911
|
-
|
|
1906
|
+
Y && /* @__PURE__ */ i(Zn, { children: /* @__PURE__ */ i(
|
|
1907
|
+
Fn,
|
|
1912
1908
|
{
|
|
1913
1909
|
contribution: Y,
|
|
1914
1910
|
context: Dt
|
|
1915
1911
|
},
|
|
1916
1912
|
Y.key
|
|
1917
1913
|
) }),
|
|
1918
|
-
|
|
1919
|
-
|
|
1914
|
+
O === "files" && /* @__PURE__ */ i(
|
|
1915
|
+
ds,
|
|
1920
1916
|
{
|
|
1921
|
-
entities:
|
|
1917
|
+
entities: M,
|
|
1922
1918
|
scope: N,
|
|
1923
1919
|
isLoadingVersion: ee
|
|
1924
1920
|
}
|
|
1925
1921
|
),
|
|
1926
|
-
|
|
1927
|
-
|
|
1922
|
+
O === "details" && /* @__PURE__ */ i(
|
|
1923
|
+
Ss,
|
|
1928
1924
|
{
|
|
1929
1925
|
entityType: S,
|
|
1930
|
-
entities:
|
|
1926
|
+
entities: M,
|
|
1931
1927
|
activeUsers: u || [],
|
|
1932
|
-
projectInfo:
|
|
1933
|
-
projectName:
|
|
1928
|
+
projectInfo: $e,
|
|
1929
|
+
projectName: z,
|
|
1934
1930
|
disabled: !ze(),
|
|
1935
1931
|
scope: N,
|
|
1936
1932
|
statuses: re,
|
|
1937
1933
|
readOnly: !1,
|
|
1938
1934
|
annotations: T,
|
|
1939
1935
|
removeAnnotation: D,
|
|
1940
|
-
exportAnnotationComposite:
|
|
1936
|
+
exportAnnotationComposite: v,
|
|
1941
1937
|
children: /* @__PURE__ */ i(
|
|
1942
1938
|
cn,
|
|
1943
1939
|
{
|
|
1944
|
-
entities:
|
|
1940
|
+
entities: M,
|
|
1945
1941
|
isLoading: ee
|
|
1946
1942
|
}
|
|
1947
1943
|
)
|
|
@@ -1951,13 +1947,13 @@ const Jn = I(nt)`
|
|
|
1951
1947
|
] })
|
|
1952
1948
|
}
|
|
1953
1949
|
);
|
|
1954
|
-
},
|
|
1950
|
+
}, Us = ({
|
|
1955
1951
|
isOpen: e,
|
|
1956
1952
|
entityType: n,
|
|
1957
1953
|
...t
|
|
1958
1954
|
}) => {
|
|
1959
1955
|
const { entities: o } = ne();
|
|
1960
|
-
return !e && !o || !n && !o ? null : /* @__PURE__ */ i(
|
|
1956
|
+
return !e && !o || !n && !o ? null : /* @__PURE__ */ i(Vs, { ...t, entityType: n || o?.entityType });
|
|
1961
1957
|
}, $s = Mt`
|
|
1962
1958
|
from {
|
|
1963
1959
|
translate: 0 0;
|
|
@@ -1966,7 +1962,7 @@ to {
|
|
|
1966
1962
|
translate: calc(-100% - 8px) 0;
|
|
1967
1963
|
|
|
1968
1964
|
}
|
|
1969
|
-
`,
|
|
1965
|
+
`, Ms = I.div`
|
|
1970
1966
|
position: absolute;
|
|
1971
1967
|
left: 0;
|
|
1972
1968
|
top: 0;
|
|
@@ -1976,10 +1972,10 @@ to {
|
|
|
1976
1972
|
max-width: 533px;
|
|
1977
1973
|
|
|
1978
1974
|
animation: ${$s} 0.2s ease forwards;
|
|
1979
|
-
`,
|
|
1975
|
+
`, _a = ({ projectsInfo: e, scope: n }) => {
|
|
1980
1976
|
const { slideOut: t, onOpenViewer: o } = ne(), { entityType: s, entityId: a, projectName: r } = t || {}, l = !!s && !!a && !!r, { data: u } = ot({ projectName: r }, { skip: !r }), f = e[r || ""] || {}, { tags: m = [] } = f, { closeSlideOut: h } = ne(), b = () => h(), N = (V) => o?.(V);
|
|
1981
|
-
return l ? /* @__PURE__ */ i(
|
|
1982
|
-
|
|
1977
|
+
return l ? /* @__PURE__ */ i(Ms, { children: /* @__PURE__ */ i(
|
|
1978
|
+
Us,
|
|
1983
1979
|
{
|
|
1984
1980
|
isOpen: !0,
|
|
1985
1981
|
entityType: s,
|
|
@@ -1997,20 +1993,20 @@ to {
|
|
|
1997
1993
|
}
|
|
1998
1994
|
) }) : null;
|
|
1999
1995
|
};
|
|
2000
|
-
I(
|
|
1996
|
+
I(Kn)`
|
|
2001
1997
|
.p-dialog-header-icons {
|
|
2002
1998
|
display: none;
|
|
2003
1999
|
}
|
|
2004
2000
|
.p-dialog-content {
|
|
2005
2001
|
}
|
|
2006
2002
|
`;
|
|
2007
|
-
const
|
|
2003
|
+
const _s = I.div`
|
|
2008
2004
|
display: flex;
|
|
2009
2005
|
flex-direction: column;
|
|
2010
2006
|
margin: -8px;
|
|
2011
2007
|
width: calc(100% + 16px);
|
|
2012
2008
|
height: calc(100% + 16px);
|
|
2013
|
-
`,
|
|
2009
|
+
`, Hs = I.header`
|
|
2014
2010
|
display: flex;
|
|
2015
2011
|
align-items: flex-start;
|
|
2016
2012
|
gap: var(--base-gap-large);
|
|
@@ -2022,7 +2018,7 @@ const Ms = I.div`
|
|
|
2022
2018
|
display: none;
|
|
2023
2019
|
}
|
|
2024
2020
|
}
|
|
2025
|
-
`,
|
|
2021
|
+
`, Bs = I.div`
|
|
2026
2022
|
display: flex;
|
|
2027
2023
|
flex-direction: column;
|
|
2028
2024
|
height: 100%;
|
|
@@ -2059,12 +2055,12 @@ const Ms = I.div`
|
|
|
2059
2055
|
align-items: center;
|
|
2060
2056
|
gap: var(--base-gap-medium);
|
|
2061
2057
|
}
|
|
2062
|
-
`,
|
|
2058
|
+
`, Ws = I.div`
|
|
2063
2059
|
display: flex;
|
|
2064
2060
|
justify-content: space-between;
|
|
2065
2061
|
padding: 8px;
|
|
2066
2062
|
padding-top: 0;
|
|
2067
|
-
`,
|
|
2063
|
+
`, zs = I.div`
|
|
2068
2064
|
border-top: solid 1px var(--md-sys-color-outline-variant);
|
|
2069
2065
|
height: 100%;
|
|
2070
2066
|
overflow: hidden;
|
|
@@ -2083,7 +2079,7 @@ const Ms = I.div`
|
|
|
2083
2079
|
display: none;
|
|
2084
2080
|
}
|
|
2085
2081
|
}
|
|
2086
|
-
`,
|
|
2082
|
+
`, Gs = I.div`
|
|
2087
2083
|
display: flex;
|
|
2088
2084
|
align-items: center;
|
|
2089
2085
|
gap: var(--base-gap-small);
|
|
@@ -2094,8 +2090,8 @@ const Ms = I.div`
|
|
|
2094
2090
|
.icon {
|
|
2095
2091
|
font-variation-settings: 'FILL' 1;
|
|
2096
2092
|
}
|
|
2097
|
-
`,
|
|
2098
|
-
const { pip: e } = ne(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((
|
|
2093
|
+
`, Ha = () => {
|
|
2094
|
+
const { pip: e } = ne(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((v) => v.projectName), { data: r = [] } = Qt({ projects: a }, { skip: !s }), { data: l = {}, isFetching: u } = qt(
|
|
2099
2095
|
{
|
|
2100
2096
|
projects: a
|
|
2101
2097
|
},
|
|
@@ -2114,32 +2110,32 @@ const Ms = I.div`
|
|
|
2114
2110
|
[l, a]
|
|
2115
2111
|
), N = w(
|
|
2116
2112
|
() => ({
|
|
2117
|
-
task: b.taskTypes.filter((
|
|
2118
|
-
folder: b.folderTypes.filter((
|
|
2119
|
-
product: b.productTypes.filter((
|
|
2113
|
+
task: b.taskTypes.filter((v) => !!v.icon).reduce((v, y) => ({ ...v, [y.name]: y.icon }), {}),
|
|
2114
|
+
folder: b.folderTypes.filter((v) => !!v.icon).reduce((v, y) => ({ ...v, [y.name]: y.icon }), {}),
|
|
2115
|
+
product: b.productTypes.filter((v) => !!v.icon).reduce((v, y) => ({ ...v, [y.name]: y.icon }), {})
|
|
2120
2116
|
}),
|
|
2121
2117
|
[b]
|
|
2122
2118
|
), V = w(
|
|
2123
2119
|
() => n ? mt(m, n, N) : [],
|
|
2124
2120
|
[m, n]
|
|
2125
|
-
), U = w(() => r.filter((
|
|
2126
|
-
if (!m.length || !
|
|
2121
|
+
), U = w(() => r.filter((v) => m.some((y) => y?.task?.assignees?.includes(v.name))).map((v) => ({ ...v, avatarUrl: `/api/users/${v.name}/avatar` })), [r, t]), j = m[0];
|
|
2122
|
+
if (!m.length || !j) return null;
|
|
2127
2123
|
if (h) return /* @__PURE__ */ i("div", { children: "Loading..." });
|
|
2128
|
-
const c =
|
|
2124
|
+
const c = j?.projectName, E = m.some((v) => v?.status !== j?.status) ? {
|
|
2129
2125
|
icon: "question_mark",
|
|
2130
2126
|
color: "var(--md-sys-color-surface-container-highest)",
|
|
2131
2127
|
name: "Mixed statuses"
|
|
2132
|
-
} : f.find((
|
|
2128
|
+
} : f.find((v) => v.name === j?.status) || {
|
|
2133
2129
|
icon: "",
|
|
2134
2130
|
color: "",
|
|
2135
2131
|
name: "None"
|
|
2136
2132
|
};
|
|
2137
2133
|
if (!n) return null;
|
|
2138
2134
|
const { title: T, subTitle: D } = gt(m, n);
|
|
2139
|
-
return /* @__PURE__ */ i(Sn, { children: /* @__PURE__ */ i(ct, { projectName: c, children: /* @__PURE__ */ x(
|
|
2140
|
-
/* @__PURE__ */ x(
|
|
2135
|
+
return /* @__PURE__ */ i(Sn, { children: /* @__PURE__ */ i(ct, { projectName: c, children: /* @__PURE__ */ x(_s, { children: [
|
|
2136
|
+
/* @__PURE__ */ x(Hs, { children: [
|
|
2141
2137
|
/* @__PURE__ */ i(rt, { thumbnails: V }),
|
|
2142
|
-
/* @__PURE__ */ x(
|
|
2138
|
+
/* @__PURE__ */ x(Bs, { children: [
|
|
2143
2139
|
/* @__PURE__ */ i("h2", { children: T }),
|
|
2144
2140
|
/* @__PURE__ */ x("div", { className: "sub-title", children: [
|
|
2145
2141
|
/* @__PURE__ */ x("span", { children: [
|
|
@@ -2150,9 +2146,9 @@ const Ms = I.div`
|
|
|
2150
2146
|
] })
|
|
2151
2147
|
] })
|
|
2152
2148
|
] }),
|
|
2153
|
-
/* @__PURE__ */ x(
|
|
2149
|
+
/* @__PURE__ */ x(Ws, { children: [
|
|
2154
2150
|
/* @__PURE__ */ x(
|
|
2155
|
-
|
|
2151
|
+
Gs,
|
|
2156
2152
|
{
|
|
2157
2153
|
style: {
|
|
2158
2154
|
backgroundColor: E?.color,
|
|
@@ -2166,12 +2162,12 @@ const Ms = I.div`
|
|
|
2166
2162
|
),
|
|
2167
2163
|
/* @__PURE__ */ i(Lt, { users: U, style: { pointerEvents: "none" } })
|
|
2168
2164
|
] }),
|
|
2169
|
-
/* @__PURE__ */ i(
|
|
2165
|
+
/* @__PURE__ */ i(zs, { children: /* @__PURE__ */ i(
|
|
2170
2166
|
bt,
|
|
2171
2167
|
{
|
|
2172
2168
|
entityType: n,
|
|
2173
2169
|
entities: m,
|
|
2174
|
-
thumbnailHash:
|
|
2170
|
+
thumbnailHash: j?.thumbnailHash,
|
|
2175
2171
|
activeUsers: [],
|
|
2176
2172
|
projectInfo: l[c],
|
|
2177
2173
|
projectName: c,
|
|
@@ -2185,22 +2181,22 @@ const Ms = I.div`
|
|
|
2185
2181
|
};
|
|
2186
2182
|
export {
|
|
2187
2183
|
on as AssigneeSelect,
|
|
2188
|
-
|
|
2184
|
+
za as CloseButton,
|
|
2189
2185
|
en as Content,
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2186
|
+
Ga as ContentRow,
|
|
2187
|
+
Us as DetailsPanel,
|
|
2188
|
+
Ha as DetailsPanelFloating,
|
|
2189
|
+
_a as DetailsPanelSlideOut,
|
|
2190
|
+
Qa as Footer,
|
|
2195
2191
|
Yt as Grid,
|
|
2196
2192
|
Zt as Header,
|
|
2197
2193
|
Xt as HeaderContainer,
|
|
2198
|
-
|
|
2194
|
+
qa as LabelWrapper,
|
|
2199
2195
|
rn as PriorityEnumDropdown,
|
|
2200
2196
|
sn as ReadOnlyTags,
|
|
2201
2197
|
an as StatusSelect,
|
|
2202
2198
|
nn as TagsSelect,
|
|
2203
|
-
|
|
2199
|
+
Ka as ThumbnailWrapper,
|
|
2204
2200
|
tn as Title,
|
|
2205
2201
|
tt as entitiesWithoutFeed
|
|
2206
2202
|
};
|