@ynput/ayon-frontend-shared 0.6.0 → 0.6.2
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/ContextMenu.es.js +34 -16
- package/dist/DetailsPanel.es.js +461 -467
- package/dist/Feed.es.js +179 -50
- package/dist/ListTable.es.js +32 -35
- package/dist/NewEntity.es.js +1256 -11
- package/dist/ProjectTreeTable.es.js +4451 -2965
- package/dist/SimpleTable.es.js +8 -7
- package/dist/Slicer.es.js +451 -147
- package/dist/Views.es.js +918 -310
- package/dist/chunks/Actions.es.js +9 -4
- package/dist/chunks/ColumnDropIndicator.es.js +174 -328
- package/dist/chunks/ColumnDropIndicator.styled.es.js +281 -0
- package/dist/chunks/ColumnHeaderMenuUI.es.js +52 -0
- package/dist/chunks/ContextMenuContextInstance.es.js +12 -0
- package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +229 -0
- package/dist/chunks/DeleteEntitiesContextInstance.es.js +827 -0
- package/dist/chunks/EmptyPlaceholder.es.js +4 -4
- package/dist/chunks/EntityPath.es.js +58 -53
- package/dist/chunks/EntityPickerDialog.es.js +24 -20
- package/dist/chunks/EntityTooltip.es.js +20 -13
- package/dist/chunks/EntityUpdatesContext.es.js +38 -96
- package/dist/chunks/Feed.es.js +1495 -1439
- package/dist/chunks/FilterErrorActions.es.js +25 -229
- package/dist/chunks/Menu.es.js +21 -17
- package/dist/chunks/MenuContext.es.js +14 -65
- package/dist/chunks/MenuItem.es.js +34 -24
- package/dist/chunks/MetaWidget.es.js +2835 -4301
- package/dist/chunks/NewEntityContextInstance.es.js +11 -0
- package/dist/chunks/PlayableIcon.es.js +1532 -1594
- package/dist/chunks/ProjectContext.es.js +102 -66
- package/dist/chunks/RepresentationsList.es.js +1 -1
- package/dist/chunks/ReviewablesSelector.es.js +457 -458
- package/dist/chunks/SimpleForm.es.js +9 -9
- package/dist/chunks/SimpleTable.es.js +15 -13
- package/dist/chunks/Slicer.es.js +486 -470
- package/dist/chunks/TableSettingsFallback.es.js +25 -13
- package/dist/chunks/ThumbnailSimple.es.js +150 -261
- package/dist/chunks/VersionUploadContextInstance.es.js +12 -0
- package/dist/chunks/VideoPlayer.es.js +24 -28
- package/dist/chunks/Watchers.es.js +384 -389
- package/dist/chunks/entityDefinitions.es.js +2 -350
- package/dist/chunks/extractVersionFromFilename.es.js +28 -0
- package/dist/chunks/getBundleMode.es.js +61 -16
- package/dist/chunks/getUris.es.js +737 -712
- package/dist/chunks/searchTerms.es.js +59 -57
- package/dist/chunks/useAttributeEnums.es.js +4 -4
- package/dist/chunks/useCreateContextMenu.es.js +66 -90
- package/dist/chunks/useHierarchySelection.es.js +24 -0
- package/dist/chunks/useLoadModule.es.js +74 -0
- package/dist/chunks/useQueryArgumentChangeLoading.es.js +11 -0
- package/dist/chunks/versionUploadHelpers.es.js +16 -42
- package/dist/chunks/viewUpdateHelper.es.js +67 -50
- package/dist/components.es.js +1425 -999
- package/dist/context.es.js +791 -80
- package/dist/hooks.es.js +115 -120
- package/dist/index.es.js +19 -23
- package/dist/types/Actions.d.ts +14 -14
- package/dist/types/ContextMenu.d.ts +18 -15
- package/dist/types/DetailsPanel.d.ts +109 -16
- package/dist/types/EntityPickerDialog.d.ts +14 -14
- package/dist/types/Feed.d.ts +18 -15
- package/dist/types/ListTable.d.ts +14 -14
- package/dist/types/NewEntity.d.ts +23 -17
- package/dist/types/ProjectTreeTable.d.ts +29 -122
- package/dist/types/RepresentationsList.d.ts +14 -14
- package/dist/types/SimpleTable.d.ts +18 -15
- package/dist/types/Slicer.d.ts +17 -14
- package/dist/types/Views.d.ts +17 -14
- package/dist/types/api.d.ts +139 -127
- package/dist/types/components.d.ts +20 -15
- package/dist/types/context.d.ts +63 -23
- package/dist/types/hooks.d.ts +14 -14
- package/dist/types/index.d.ts +14 -14
- package/dist/types/util.d.ts +21 -14
- package/dist/util.es.js +77 -75
- package/package.json +1 -1
- package/dist/chunks/DeleteEntitiesContext.es.js +0 -748
- package/dist/chunks/DetailsPanelContext.es.js +0 -155
- package/dist/chunks/GlobalContext.es.js +0 -52
- package/dist/chunks/NewEntityContext.es.js +0 -1242
- package/dist/chunks/ProjectFoldersContext.es.js +0 -134
- package/dist/chunks/ProjectFoldersContextInstance.es.js +0 -7
- package/dist/chunks/VersionUploadContext.es.js +0 -232
- package/dist/chunks/ViewsContext.es.js +0 -878
- package/dist/chunks/uriUtils.es.js +0 -48
- package/dist/chunks/useColumnDragRestriction.es.js +0 -158
- package/dist/chunks/useLocalStorage.es.js +0 -355
- package/dist/chunks/useSessionStorage.es.js +0 -61
- /package/dist/{useCreateContextMenu.css → ContextMenuContextInstance.css} +0 -0
package/dist/DetailsPanel.es.js
CHANGED
|
@@ -2,55 +2,49 @@ import { jsxs as k, jsx as i, Fragment as Ne } from "react/jsx-runtime";
|
|
|
2
2
|
import { Toolbar as Me, Panel as gt, Button as X, Spacer as He, Icon as fe, getTextColor as Be, Dialog as ft, SEARCH_FILTER_ID as We, buildFilterId as ke, getFilterFromId as bt, SearchFilter as vt, AssigneeField as yt } from "@ynput/ayon-react-components";
|
|
3
3
|
import { useEffect as W, useRef as Y, useMemo as P, useState as K, useContext as kt, useId as wt } from "react";
|
|
4
4
|
import S, { keyframes as xt } from "styled-components";
|
|
5
|
-
import "./chunks/searchTerms.es.js";
|
|
6
|
-
import { bl as
|
|
5
|
+
import { bo as St } from "./chunks/searchTerms.es.js";
|
|
6
|
+
import { bl as Ct, bJ as Tt, bX as Nt, cr as ze, bt as Ge, s as Dt, bN as Pt, c6 as It } from "./chunks/getUris.es.js";
|
|
7
7
|
import "primereact/confirmdialog";
|
|
8
|
-
import { c as
|
|
9
|
-
import { K as
|
|
10
|
-
import { E as
|
|
11
|
-
import { T as zt, h as Gt, i as Qt, j as qt, e as Kt, b as Jt } from "./chunks/DeleteEntitiesContext.es.js";
|
|
8
|
+
import { c as Et, a as Ft, H as At, G as Ot, y as jt, w as Qe, z as Rt, A as Ut, B as Vt, E as $t, I as Lt, J as _t, W as Mt, s as Ht } from "./chunks/Watchers.es.js";
|
|
9
|
+
import { K as va, N as ya, O as ka, Q as wa, T as xa } from "./chunks/Watchers.es.js";
|
|
10
|
+
import { E as Bt, R as Wt, a as zt } from "./chunks/EntityPath.es.js";
|
|
12
11
|
import { union as we, upperFirst as qe } from "lodash";
|
|
13
12
|
import "react-toastify";
|
|
14
13
|
import "uuid";
|
|
15
|
-
import { g as
|
|
16
|
-
import { P as Ke } from "./chunks/ProjectContext.es.js";
|
|
17
|
-
import { u as G, a as Zt } from "./chunks/DetailsPanelContext.es.js";
|
|
18
|
-
import { u as en, c as tn } from "./chunks/MenuContext.es.js";
|
|
19
|
-
import oe from "clsx";
|
|
20
|
-
import { A as nn } from "./chunks/Actions.es.js";
|
|
21
|
-
import { g as xe } from "./chunks/getEntityTypeIcon.es.js";
|
|
22
|
-
import { P as sn } from "./chunks/PlayableIcon.es.js";
|
|
23
|
-
import { R as an } from "./chunks/RepresentationsList.es.js";
|
|
24
|
-
import { I as on } from "./chunks/InfoMessage.es.js";
|
|
25
|
-
import { M as rn, a as ln } from "./chunks/Menu.es.js";
|
|
26
|
-
import { D as cn } from "./chunks/DetailsDialog.es.js";
|
|
27
|
-
import { u as dn } from "./chunks/VersionUploadContext.es.js";
|
|
28
|
-
import { p as un } from "./chunks/pluralize.es.js";
|
|
29
|
-
import { c as pn } from "./chunks/copyToClipboard.es.js";
|
|
30
|
-
import { a as mn } from "./chunks/ProjectFoldersContext.es.js";
|
|
31
|
-
import { F as hn } from "./chunks/Feed.es.js";
|
|
32
|
-
import { a as Je, A as gn, C as fn } from "./chunks/ThumbnailSimple.es.js";
|
|
33
|
-
import { j as bn, d as vn } from "./chunks/MetaWidget.es.js";
|
|
34
|
-
import { t as yn, c as kn } from "./chunks/queryFilterToClientFilter.es.js";
|
|
35
|
-
import { u as wn } from "./chunks/useDateRangeFilter.es.js";
|
|
36
|
-
import { e as xn } from "./chunks/expandRelativeDates.es.js";
|
|
37
|
-
import "./chunks/useLocalStorage.es.js";
|
|
14
|
+
import { g as Gt, e as Qt } from "./chunks/extractEntityHierarchyFromParents.es.js";
|
|
38
15
|
import "@module-federation/enhanced/runtime";
|
|
16
|
+
import { v as G, u as qt, T as Kt, a6 as Jt, a0 as Xt, a8 as Yt, B as Zt, a7 as en, X as tn } from "./chunks/DeleteEntitiesContextInstance.es.js";
|
|
39
17
|
import "semver";
|
|
18
|
+
import { T as nn, P as Ke } from "./chunks/ProjectContext.es.js";
|
|
40
19
|
import "react-dom";
|
|
41
|
-
import "./chunks/GlobalContext.es.js";
|
|
42
|
-
import "./chunks/ProjectFoldersContextInstance.es.js";
|
|
43
20
|
import "react-redux";
|
|
44
|
-
import "
|
|
21
|
+
import oe from "clsx";
|
|
22
|
+
import { A as sn } from "./chunks/Actions.es.js";
|
|
23
|
+
import "./chunks/ContextMenuContextInstance.es.js";
|
|
24
|
+
import { g as xe } from "./chunks/getEntityTypeIcon.es.js";
|
|
25
|
+
import { P as an } from "./chunks/PlayableIcon.es.js";
|
|
26
|
+
import { R as on } from "./chunks/RepresentationsList.es.js";
|
|
27
|
+
import { I as rn } from "./chunks/InfoMessage.es.js";
|
|
28
|
+
import { M as ln, a as cn } from "./chunks/Menu.es.js";
|
|
29
|
+
import { D as dn } from "./chunks/DetailsDialog.es.js";
|
|
30
|
+
import { u as un } from "./chunks/VersionUploadContextInstance.es.js";
|
|
31
|
+
import { p as pn } from "./chunks/pluralize.es.js";
|
|
32
|
+
import { c as hn } from "./chunks/copyToClipboard.es.js";
|
|
33
|
+
import { u as mn } from "./chunks/useQueryArgumentChangeLoading.es.js";
|
|
34
|
+
import { c as Je, b as gn } from "./chunks/Feed.es.js";
|
|
35
|
+
import { A as fn, C as bn } from "./chunks/ThumbnailSimple.es.js";
|
|
36
|
+
import { m as vn, k as yn } from "./chunks/MetaWidget.es.js";
|
|
37
|
+
import { t as kn, c as wn } from "./chunks/queryFilterToClientFilter.es.js";
|
|
38
|
+
import { u as xn } from "./chunks/useDateRangeFilter.es.js";
|
|
39
|
+
import { e as Sn } from "./chunks/expandRelativeDates.es.js";
|
|
45
40
|
import "axios";
|
|
46
41
|
import "@dnd-kit/core";
|
|
47
42
|
import "@dnd-kit/sortable";
|
|
48
43
|
import "@dnd-kit/utilities";
|
|
49
|
-
import "./chunks/useCreateContextMenu.es.js";
|
|
50
44
|
import "custom-protocol-check";
|
|
51
45
|
import "./chunks/SimpleForm.es.js";
|
|
52
|
-
import { Dialog as
|
|
53
|
-
function
|
|
46
|
+
import { Dialog as Cn } from "primereact/dialog";
|
|
47
|
+
function Tn({
|
|
54
48
|
entityData: e,
|
|
55
49
|
project: n,
|
|
56
50
|
activeEntityType: t,
|
|
@@ -60,13 +54,13 @@ function Cn({
|
|
|
60
54
|
if (!e?.parents || !n) return;
|
|
61
55
|
const s = new URL(window.location.href), a = s.searchParams;
|
|
62
56
|
a.set("project", n), t && a.set("type", t);
|
|
63
|
-
const r = (o || []).filter((
|
|
57
|
+
const r = (o || []).filter((f) => f.projectName === n).map((f) => f.id).filter(Boolean)[0];
|
|
64
58
|
r && a.set("id", r);
|
|
65
|
-
const
|
|
66
|
-
window.history.replaceState(
|
|
59
|
+
const l = `${s.pathname}?${a.toString()}${s.hash}`, h = `${window.location.pathname}${window.location.search}${window.location.hash}`;
|
|
60
|
+
l !== h && window.history.replaceState(window.history.state, "", l);
|
|
67
61
|
}, [e, n, t, o]);
|
|
68
62
|
}
|
|
69
|
-
const
|
|
63
|
+
const Nn = S(Me)`
|
|
70
64
|
display: flex;
|
|
71
65
|
justify-content: space-between;
|
|
72
66
|
align-items: flex-start;
|
|
@@ -78,7 +72,7 @@ const Tn = S(Me)`
|
|
|
78
72
|
& > * {
|
|
79
73
|
min-width: max-content;
|
|
80
74
|
}
|
|
81
|
-
`,
|
|
75
|
+
`, Dn = S.div`
|
|
82
76
|
display: flex;
|
|
83
77
|
align-items: flex-start;
|
|
84
78
|
gap: 4px;
|
|
@@ -87,26 +81,26 @@ const Tn = S(Me)`
|
|
|
87
81
|
right: 0;
|
|
88
82
|
padding: var(--padding-m);
|
|
89
83
|
background-color: var(--md-sys-color-surface-container-low);
|
|
90
|
-
`,
|
|
84
|
+
`, Pn = S(gt)`
|
|
91
85
|
gap: 0px;
|
|
92
86
|
height: 100%;
|
|
93
87
|
padding: 0px;
|
|
94
88
|
box-shadow: -2px 0 6px #00000047;
|
|
95
89
|
z-index: 300;
|
|
96
|
-
`,
|
|
90
|
+
`, In = S(Me)`
|
|
97
91
|
border-radius: 8px 8px 0 0;
|
|
98
92
|
gap: var(--base-gap-small) !important;
|
|
99
93
|
position: relative;
|
|
100
94
|
z-index: 100;
|
|
101
95
|
grid-column: span 2;
|
|
102
|
-
`,
|
|
96
|
+
`, En = ["product", "representation"], Fn = ["task"], An = ({
|
|
103
97
|
entityType: e,
|
|
104
98
|
currentTab: n,
|
|
105
99
|
onTabChange: t,
|
|
106
100
|
isLoading: o
|
|
107
101
|
}) => {
|
|
108
|
-
const s = !
|
|
109
|
-
return /* @__PURE__ */ k(
|
|
102
|
+
const s = !En.includes(e), a = Fn.includes(e);
|
|
103
|
+
return /* @__PURE__ */ k(In, { className: o ? "loading" : "", children: [
|
|
110
104
|
s && /* @__PURE__ */ i(
|
|
111
105
|
X,
|
|
112
106
|
{
|
|
@@ -152,12 +146,12 @@ const Tn = S(Me)`
|
|
|
152
146
|
}
|
|
153
147
|
)
|
|
154
148
|
] });
|
|
155
|
-
},
|
|
149
|
+
}, On = S.div`
|
|
156
150
|
display: flex;
|
|
157
151
|
align-items: center;
|
|
158
152
|
gap: var(--base-gap-small);
|
|
159
153
|
overflow: hidden;
|
|
160
|
-
`,
|
|
154
|
+
`, jn = S.button`
|
|
161
155
|
display: inline-flex;
|
|
162
156
|
align-items: center;
|
|
163
157
|
gap: var(--base-gap-small);
|
|
@@ -179,14 +173,14 @@ const Tn = S(Me)`
|
|
|
179
173
|
text-overflow: ellipsis;
|
|
180
174
|
white-space: nowrap;
|
|
181
175
|
}
|
|
182
|
-
`,
|
|
176
|
+
`, Rn = ({ entity: e, taskTypes: n }) => {
|
|
183
177
|
const { openSlideOut: t } = G(), { projectName: o } = e, s = e.task?.name ? e.task : void 0;
|
|
184
178
|
if (!s?.id) return null;
|
|
185
179
|
const a = n.find((r) => r.name === s.taskType);
|
|
186
|
-
return /* @__PURE__ */ k(
|
|
180
|
+
return /* @__PURE__ */ k(On, { className: "linked-task", children: [
|
|
187
181
|
/* @__PURE__ */ i("span", { children: "Task" }),
|
|
188
182
|
/* @__PURE__ */ k(
|
|
189
|
-
|
|
183
|
+
jn,
|
|
190
184
|
{
|
|
191
185
|
onClick: () => t({ entityId: s.id, entityType: "task", projectName: o }),
|
|
192
186
|
children: [
|
|
@@ -255,7 +249,7 @@ const Tn = S(Me)`
|
|
|
255
249
|
subTitle: o.entityType || "Unknown Type"
|
|
256
250
|
};
|
|
257
251
|
}
|
|
258
|
-
},
|
|
252
|
+
}, Un = ({
|
|
259
253
|
entityType: e,
|
|
260
254
|
entitySubTypes: n,
|
|
261
255
|
entities: t = [],
|
|
@@ -263,17 +257,17 @@ const Tn = S(Me)`
|
|
|
263
257
|
users: s = [],
|
|
264
258
|
disabledStatuses: a,
|
|
265
259
|
tagsOptions: r = [],
|
|
266
|
-
isFetching:
|
|
267
|
-
isCompact:
|
|
268
|
-
currentTab:
|
|
260
|
+
isFetching: l,
|
|
261
|
+
isCompact: h = !1,
|
|
262
|
+
currentTab: f,
|
|
269
263
|
onTabChange: u,
|
|
270
264
|
projectInfo: g,
|
|
271
|
-
onOpenViewer:
|
|
265
|
+
onOpenViewer: b,
|
|
272
266
|
onEntityFocus: x,
|
|
273
|
-
thumbnailInputRef:
|
|
267
|
+
thumbnailInputRef: j,
|
|
274
268
|
versionsInputRef: R
|
|
275
269
|
}) => {
|
|
276
|
-
const { useSearchParams: E, useNavigate:
|
|
270
|
+
const { useSearchParams: E, useNavigate: c, bundleMode: d } = G(), p = c(), [C, A] = E(), T = Y(null), v = P(() => Ye(g), [g]), w = Et(
|
|
277
271
|
t.map((m) => m.projectName),
|
|
278
272
|
[e]
|
|
279
273
|
), O = P(() => e === "task" ? we(...t.map((m) => m.task?.assignees || [])) : e === "version" ? we(
|
|
@@ -283,7 +277,7 @@ const Tn = S(Me)`
|
|
|
283
277
|
})
|
|
284
278
|
) : [], [t, e]);
|
|
285
279
|
let U = t[0];
|
|
286
|
-
const _ = t.length === 0 || !U ||
|
|
280
|
+
const _ = t.length === 0 || !U || l;
|
|
287
281
|
U || (U = {
|
|
288
282
|
parents: [],
|
|
289
283
|
id: "placeholder",
|
|
@@ -301,13 +295,13 @@ const Tn = S(Me)`
|
|
|
301
295
|
});
|
|
302
296
|
const Z = t.length > 1 ? void 0 : U?.projectName;
|
|
303
297
|
t.filter((m) => m.projectName === U?.projectName && m.id).map((m) => m.id);
|
|
304
|
-
const { data: ee } =
|
|
298
|
+
const { data: ee } = Ct({ attributeName: "priority" }), te = Gt(ee, e), ne = P(
|
|
305
299
|
() => Xe(t, e, v),
|
|
306
300
|
[t, e, v]
|
|
307
301
|
), I = P(() => t.map((m) => m.status), [t]), se = P(() => t.map((m) => m.attrib?.priority), [t]), ie = P(() => t.map((m) => m.tags), [t]), le = P(
|
|
308
302
|
() => r.reduce((m, D) => (m[D.name] = D, m), {}),
|
|
309
303
|
[r]
|
|
310
|
-
), Q = t.length > 1, re = !Q && !!U?.hasReviewables,
|
|
304
|
+
), Q = t.length > 1, re = !Q && !!U?.hasReviewables, $ = ne.length === 1, { updateEntity: V } = Ft({
|
|
311
305
|
entities: t.map((m) => ({
|
|
312
306
|
id: m.id,
|
|
313
307
|
projectName: m.projectName,
|
|
@@ -318,31 +312,31 @@ const Tn = S(Me)`
|
|
|
318
312
|
entityType: e
|
|
319
313
|
}), q = (m, D) => D == null ? console.error("value is null or undefined") : V(m, D), ce = () => {
|
|
320
314
|
let m, D = U.id, H = e + "Id";
|
|
321
|
-
e === "version" && U.product?.id && (m = [U.id], D = U.product?.id, H = "productId"), D &&
|
|
315
|
+
e === "version" && U.product?.id && (m = [U.id], D = U.product?.id, H = "productId"), D && b({
|
|
322
316
|
[H]: D,
|
|
323
317
|
projectName: Z,
|
|
324
318
|
versionIds: m
|
|
325
319
|
});
|
|
326
|
-
}, pe = (e === "task" || e === "version") && (O.length > 0 || e === "task"), de = s
|
|
320
|
+
}, pe = (e === "task" || e === "version") && (O.length > 0 || e === "task"), de = [...St(s, O)];
|
|
327
321
|
if (pe) {
|
|
328
322
|
const m = s.map((H) => H.name), D = O.filter((H) => !m.includes(H));
|
|
329
323
|
D.length && de.push(...D.map((H) => ({ name: H, fullName: H })));
|
|
330
324
|
}
|
|
331
|
-
const { title: N, subTitle:
|
|
332
|
-
return /* @__PURE__ */ i(
|
|
333
|
-
|
|
325
|
+
const { title: N, subTitle: he } = Ze(t, e), me = w?.length !== 0 && w?.find((m) => m.name === I[0]);
|
|
326
|
+
return /* @__PURE__ */ i(At, { children: /* @__PURE__ */ i(
|
|
327
|
+
Bt,
|
|
334
328
|
{
|
|
335
329
|
entities: t,
|
|
336
330
|
entityType: e,
|
|
337
331
|
projectName: Z,
|
|
338
|
-
thumbnailInputRef:
|
|
332
|
+
thumbnailInputRef: j,
|
|
339
333
|
versionsInputRef: R,
|
|
340
334
|
onVersionCreated: (m) => x?.(m, "version"),
|
|
341
|
-
children: /* @__PURE__ */ k(
|
|
335
|
+
children: /* @__PURE__ */ k(Ot, { className: oe("details-panel-header", { isCompact: h }), children: [
|
|
342
336
|
/* @__PURE__ */ k(
|
|
343
|
-
|
|
337
|
+
jt,
|
|
344
338
|
{
|
|
345
|
-
className: oe("titles", { isCompact:
|
|
339
|
+
className: oe("titles", { isCompact: h, loading: _ }, "no-shimmer"),
|
|
346
340
|
children: [
|
|
347
341
|
/* @__PURE__ */ k("div", { style: { position: "relative" }, children: [
|
|
348
342
|
/* @__PURE__ */ i(
|
|
@@ -351,17 +345,17 @@ const Tn = S(Me)`
|
|
|
351
345
|
isLoading: _,
|
|
352
346
|
shimmer: _,
|
|
353
347
|
thumbnails: ne,
|
|
354
|
-
onClick:
|
|
348
|
+
onClick: $ ? ce : void 0,
|
|
355
349
|
hoverIcon: re ? "play_circle" : void 0
|
|
356
350
|
}
|
|
357
351
|
),
|
|
358
|
-
re && /* @__PURE__ */ i(
|
|
352
|
+
re && /* @__PURE__ */ i(an, {})
|
|
359
353
|
] }),
|
|
360
|
-
/* @__PURE__ */ k(
|
|
361
|
-
/* @__PURE__ */ k(
|
|
354
|
+
/* @__PURE__ */ k(Rt, { className: oe({ loading: _ }), children: [
|
|
355
|
+
/* @__PURE__ */ k(Ut, { children: [
|
|
362
356
|
/* @__PURE__ */ i("h2", { children: N }),
|
|
363
357
|
/* @__PURE__ */ i(
|
|
364
|
-
|
|
358
|
+
Vt,
|
|
365
359
|
{
|
|
366
360
|
ref: T,
|
|
367
361
|
value: we(...ie),
|
|
@@ -382,10 +376,10 @@ const Tn = S(Me)`
|
|
|
382
376
|
qe(e),
|
|
383
377
|
" - "
|
|
384
378
|
] }),
|
|
385
|
-
/* @__PURE__ */ i("h3", { children:
|
|
379
|
+
/* @__PURE__ */ i("h3", { children: he })
|
|
386
380
|
] }),
|
|
387
381
|
e === "version" && !Q && !_ && U && /* @__PURE__ */ i(
|
|
388
|
-
|
|
382
|
+
Rn,
|
|
389
383
|
{
|
|
390
384
|
entity: U,
|
|
391
385
|
taskTypes: g.taskTypes
|
|
@@ -397,7 +391,7 @@ const Tn = S(Me)`
|
|
|
397
391
|
}
|
|
398
392
|
),
|
|
399
393
|
/* @__PURE__ */ i(
|
|
400
|
-
|
|
394
|
+
$t,
|
|
401
395
|
{
|
|
402
396
|
value: I,
|
|
403
397
|
options: w || [],
|
|
@@ -406,11 +400,11 @@ const Tn = S(Me)`
|
|
|
406
400
|
style: { maxWidth: "unset" },
|
|
407
401
|
onChange: (m) => q("status", m),
|
|
408
402
|
className: oe("status-select", { loading: _ }),
|
|
409
|
-
align:
|
|
410
|
-
$textColor: Be(
|
|
403
|
+
align: h ? "right" : "left",
|
|
404
|
+
$textColor: Be(me !== void 0 ? me.color : "#OOO")
|
|
411
405
|
}
|
|
412
406
|
),
|
|
413
|
-
!
|
|
407
|
+
!h && (!pe || _ ? /* @__PURE__ */ i("div", {}) : /* @__PURE__ */ i(
|
|
414
408
|
Lt,
|
|
415
409
|
{
|
|
416
410
|
value: O,
|
|
@@ -426,20 +420,20 @@ const Tn = S(Me)`
|
|
|
426
420
|
}
|
|
427
421
|
)),
|
|
428
422
|
/* @__PURE__ */ i(
|
|
429
|
-
|
|
423
|
+
sn,
|
|
430
424
|
{
|
|
431
425
|
entities: t,
|
|
432
426
|
entityType: e,
|
|
433
427
|
entitySubTypes: n,
|
|
434
|
-
isLoadingEntity: !!
|
|
428
|
+
isLoadingEntity: !!l || !!_,
|
|
435
429
|
searchParams: C,
|
|
436
430
|
bundleMode: d,
|
|
437
|
-
onSetSearchParams:
|
|
438
|
-
onNavigate:
|
|
431
|
+
onSetSearchParams: A,
|
|
432
|
+
onNavigate: p
|
|
439
433
|
}
|
|
440
434
|
),
|
|
441
435
|
te ? /* @__PURE__ */ i(
|
|
442
|
-
|
|
436
|
+
_t,
|
|
443
437
|
{
|
|
444
438
|
options: te,
|
|
445
439
|
placeholder: "No priority",
|
|
@@ -449,10 +443,10 @@ const Tn = S(Me)`
|
|
|
449
443
|
}
|
|
450
444
|
) : /* @__PURE__ */ i("div", { style: { height: 32 } }),
|
|
451
445
|
/* @__PURE__ */ i(
|
|
452
|
-
|
|
446
|
+
An,
|
|
453
447
|
{
|
|
454
448
|
entityType: e,
|
|
455
|
-
currentTab:
|
|
449
|
+
currentTab: f,
|
|
456
450
|
onTabChange: u,
|
|
457
451
|
isLoading: _
|
|
458
452
|
}
|
|
@@ -460,7 +454,7 @@ const Tn = S(Me)`
|
|
|
460
454
|
] })
|
|
461
455
|
}
|
|
462
456
|
) });
|
|
463
|
-
},
|
|
457
|
+
}, Vn = S.div`
|
|
464
458
|
display: flex;
|
|
465
459
|
flex-direction: column;
|
|
466
460
|
|
|
@@ -480,7 +474,7 @@ const Tn = S(Me)`
|
|
|
480
474
|
&:first-child {
|
|
481
475
|
border-bottom: 1px solid var(--md-sys-color-outline-variant);
|
|
482
476
|
}
|
|
483
|
-
`,
|
|
477
|
+
`, $n = ({
|
|
484
478
|
entities: e = [],
|
|
485
479
|
scope: n,
|
|
486
480
|
isLoadingVersion: t
|
|
@@ -488,11 +482,11 @@ const Tn = S(Me)`
|
|
|
488
482
|
const o = e[0];
|
|
489
483
|
if (!o) return null;
|
|
490
484
|
let s = "Reviewables";
|
|
491
|
-
return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(
|
|
485
|
+
return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(Vn, { children: [
|
|
492
486
|
/* @__PURE__ */ k(Ve, { children: [
|
|
493
487
|
/* @__PURE__ */ i("h4", { children: s }),
|
|
494
488
|
/* @__PURE__ */ i(
|
|
495
|
-
|
|
489
|
+
Wt,
|
|
496
490
|
{
|
|
497
491
|
projectName: o.projectName,
|
|
498
492
|
productId: o.product?.id,
|
|
@@ -504,20 +498,16 @@ const Tn = S(Me)`
|
|
|
504
498
|
] }),
|
|
505
499
|
/* @__PURE__ */ k(Ve, { children: [
|
|
506
500
|
/* @__PURE__ */ i("h4", { children: "Representations" }),
|
|
507
|
-
/* @__PURE__ */ i(
|
|
501
|
+
/* @__PURE__ */ i(on, { entities: e })
|
|
508
502
|
] })
|
|
509
503
|
] });
|
|
510
|
-
}, Ln = (
|
|
511
|
-
const n = e?.version?.version, t = e?.product?.latestVersion;
|
|
512
|
-
if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
|
|
513
|
-
return t.version > n ? t : void 0;
|
|
514
|
-
}, $n = ({
|
|
504
|
+
}, Ln = ({
|
|
515
505
|
latestVersion: e,
|
|
516
506
|
resolveVersionJump: n
|
|
517
507
|
}) => {
|
|
518
508
|
const t = n?.(e.id);
|
|
519
509
|
return /* @__PURE__ */ i(
|
|
520
|
-
|
|
510
|
+
rn,
|
|
521
511
|
{
|
|
522
512
|
variant: "info",
|
|
523
513
|
compact: !0,
|
|
@@ -531,12 +521,16 @@ const Tn = S(Me)`
|
|
|
531
521
|
} : void 0
|
|
532
522
|
}
|
|
533
523
|
);
|
|
534
|
-
}, _n = () =>
|
|
535
|
-
|
|
536
|
-
|
|
524
|
+
}, _n = (e) => {
|
|
525
|
+
const n = e?.version?.version, t = e?.product?.latestVersion;
|
|
526
|
+
if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
|
|
527
|
+
return t.version > n ? t : void 0;
|
|
528
|
+
}, Mn = () => ({
|
|
529
|
+
onOpenVersionUpload: un()?.onOpenVersionUpload ?? null
|
|
530
|
+
}), Hn = (e, n, t) => {
|
|
537
531
|
const o = e === "folder" || e === "task" ? "overview" : e === "product" || e === "version" || e === "representation" ? "products" : null;
|
|
538
532
|
return o ? `${typeof window < "u" ? window.location.origin : ""}/projects/${t}/${o}?project=${t}&type=${e}&id=${n}` : null;
|
|
539
|
-
},
|
|
533
|
+
}, Bn = ({
|
|
540
534
|
entityType: e,
|
|
541
535
|
entityId: n,
|
|
542
536
|
projectName: t,
|
|
@@ -544,55 +538,55 @@ const Tn = S(Me)`
|
|
|
544
538
|
deleteEntities: s,
|
|
545
539
|
canUploadThumbnail: a,
|
|
546
540
|
canUploadVersion: r,
|
|
547
|
-
canOpenPip:
|
|
548
|
-
canOpenViewer:
|
|
549
|
-
canDelete:
|
|
541
|
+
canOpenPip: l,
|
|
542
|
+
canOpenViewer: h,
|
|
543
|
+
canDelete: f,
|
|
550
544
|
entityListsContext: u,
|
|
551
545
|
onPip: g,
|
|
552
|
-
onOpenViewer:
|
|
546
|
+
onOpenViewer: b,
|
|
553
547
|
onUploadThumbnail: x,
|
|
554
|
-
onUploadVersion:
|
|
548
|
+
onUploadVersion: j,
|
|
555
549
|
onShare: R,
|
|
556
550
|
onViewData: E,
|
|
557
|
-
onDelete:
|
|
551
|
+
onDelete: c
|
|
558
552
|
}) => {
|
|
559
|
-
const d = P(() => o.length ? o.filter((
|
|
560
|
-
entityId:
|
|
561
|
-
entityType:
|
|
562
|
-
hasReviewables:
|
|
553
|
+
const d = P(() => o.length ? o.filter((p) => !!p?.entityId).map((p) => ({
|
|
554
|
+
entityId: p.entityId,
|
|
555
|
+
entityType: p.entityType || e,
|
|
556
|
+
hasReviewables: p.hasReviewables
|
|
563
557
|
})) : n ? [{ entityId: n, entityType: e }] : [], [o, n, e]);
|
|
564
558
|
return P(() => {
|
|
565
|
-
const
|
|
566
|
-
if (
|
|
559
|
+
const p = [];
|
|
560
|
+
if (h && p.push({
|
|
567
561
|
id: "open-in-viewer",
|
|
568
562
|
label: "Open in viewer",
|
|
569
563
|
icon: "play_circle",
|
|
570
|
-
onClick:
|
|
571
|
-
}),
|
|
564
|
+
onClick: b
|
|
565
|
+
}), l && p.push({
|
|
572
566
|
id: "picture-in-picture",
|
|
573
567
|
label: "Picture in picture",
|
|
574
568
|
icon: "picture_in_picture",
|
|
575
569
|
onClick: g
|
|
576
|
-
}), a &&
|
|
570
|
+
}), a && p.push({
|
|
577
571
|
id: "upload-thumbnail",
|
|
578
572
|
label: "Upload thumbnail",
|
|
579
573
|
icon: "add_photo_alternate",
|
|
580
574
|
onClick: x
|
|
581
|
-
}), r &&
|
|
575
|
+
}), r && p.push({
|
|
582
576
|
id: "upload-version",
|
|
583
577
|
label: "Upload version",
|
|
584
578
|
icon: "upload",
|
|
585
|
-
onClick:
|
|
579
|
+
onClick: j
|
|
586
580
|
}), u?.openAddToListDialog && t && d.length) {
|
|
587
581
|
const T = d[0]?.entityType || e, v = u.openAddToListDialog;
|
|
588
|
-
if (
|
|
582
|
+
if (p.push({
|
|
589
583
|
id: "add-to-list",
|
|
590
584
|
label: "Add to list",
|
|
591
585
|
icon: "list_alt_add",
|
|
592
586
|
onClick: () => v(T, d)
|
|
593
587
|
}), (T === "version" || T === "representation") && u.hasReviewAddon) {
|
|
594
588
|
const O = d.some((U) => U.hasReviewables === !0);
|
|
595
|
-
|
|
589
|
+
p.push({
|
|
596
590
|
id: "add-to-review-list",
|
|
597
591
|
label: "Add to session",
|
|
598
592
|
icon: "list_alt_add",
|
|
@@ -602,60 +596,60 @@ const Tn = S(Me)`
|
|
|
602
596
|
});
|
|
603
597
|
}
|
|
604
598
|
}
|
|
605
|
-
const C = d[0],
|
|
599
|
+
const C = d[0], A = C?.entityId && t ? Hn(
|
|
606
600
|
C.entityType || e,
|
|
607
601
|
C.entityId,
|
|
608
602
|
t
|
|
609
603
|
) : null;
|
|
610
|
-
if (
|
|
604
|
+
if (A && p.push({
|
|
611
605
|
id: "share",
|
|
612
606
|
label: "Share",
|
|
613
607
|
icon: "share",
|
|
614
|
-
onClick: () => R(
|
|
615
|
-
}),
|
|
608
|
+
onClick: () => R(A)
|
|
609
|
+
}), p.push({
|
|
616
610
|
id: "view-data",
|
|
617
611
|
label: "View data",
|
|
618
612
|
icon: "database",
|
|
619
613
|
onClick: E
|
|
620
|
-
}),
|
|
621
|
-
const T = new Set(s.map((O) => O.entityType)), v = T.size === 1 ? [...T][0] : "item", w = s.length === 1 ? `Delete ${v}` : `Delete ${
|
|
622
|
-
|
|
614
|
+
}), f && s.length > 0) {
|
|
615
|
+
const T = new Set(s.map((O) => O.entityType)), v = T.size === 1 ? [...T][0] : "item", w = s.length === 1 ? `Delete ${v}` : `Delete ${pn(s.length, v)}`;
|
|
616
|
+
p.push({
|
|
623
617
|
id: "delete",
|
|
624
618
|
label: w,
|
|
625
619
|
icon: "delete",
|
|
626
620
|
danger: !0,
|
|
627
|
-
onClick:
|
|
621
|
+
onClick: c
|
|
628
622
|
});
|
|
629
623
|
}
|
|
630
|
-
return { items:
|
|
624
|
+
return { items: p, shareLink: A };
|
|
631
625
|
}, [
|
|
632
|
-
|
|
633
|
-
|
|
626
|
+
l,
|
|
627
|
+
h,
|
|
634
628
|
a,
|
|
635
629
|
r,
|
|
636
|
-
|
|
630
|
+
f,
|
|
637
631
|
s,
|
|
638
632
|
u,
|
|
639
633
|
t,
|
|
640
634
|
d,
|
|
641
635
|
e,
|
|
642
636
|
g,
|
|
643
|
-
|
|
637
|
+
b,
|
|
644
638
|
x,
|
|
645
|
-
|
|
639
|
+
j,
|
|
646
640
|
R,
|
|
647
641
|
E,
|
|
648
|
-
|
|
642
|
+
c
|
|
649
643
|
]);
|
|
650
|
-
},
|
|
644
|
+
}, Wn = S.div`
|
|
651
645
|
display: flex;
|
|
652
646
|
flex-direction: column;
|
|
653
647
|
gap: 16px;
|
|
654
|
-
`,
|
|
648
|
+
`, $e = S.div`
|
|
655
649
|
display: flex;
|
|
656
650
|
flex-direction: column;
|
|
657
651
|
gap: 6px;
|
|
658
|
-
`,
|
|
652
|
+
`, Le = S.span`
|
|
659
653
|
font-size: 13px;
|
|
660
654
|
color: var(--md-sys-color-on-surface);
|
|
661
655
|
`, _e = S.button`
|
|
@@ -687,28 +681,28 @@ const Tn = S(Me)`
|
|
|
687
681
|
text-overflow: ellipsis;
|
|
688
682
|
white-space: nowrap;
|
|
689
683
|
}
|
|
690
|
-
`,
|
|
684
|
+
`, zn = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
|
|
691
685
|
if (!t) return null;
|
|
692
686
|
const s = `[${n}](${e})`, a = (r) => {
|
|
693
|
-
|
|
687
|
+
hn(r, !0), o();
|
|
694
688
|
};
|
|
695
|
-
return /* @__PURE__ */ i(ft, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ k(
|
|
696
|
-
/* @__PURE__ */ k(
|
|
697
|
-
/* @__PURE__ */ i(
|
|
689
|
+
return /* @__PURE__ */ i(ft, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ k(Wn, { children: [
|
|
690
|
+
/* @__PURE__ */ k($e, { children: [
|
|
691
|
+
/* @__PURE__ */ i(Le, { children: "Link" }),
|
|
698
692
|
/* @__PURE__ */ k(_e, { type: "button", onClick: () => a(e), "aria-label": "Copy link", children: [
|
|
699
693
|
/* @__PURE__ */ i("span", { className: "value", children: e }),
|
|
700
694
|
/* @__PURE__ */ i(fe, { icon: "content_copy" })
|
|
701
695
|
] })
|
|
702
696
|
] }),
|
|
703
|
-
/* @__PURE__ */ k(
|
|
704
|
-
/* @__PURE__ */ i(
|
|
697
|
+
/* @__PURE__ */ k($e, { children: [
|
|
698
|
+
/* @__PURE__ */ i(Le, { children: "Markdown Link" }),
|
|
705
699
|
/* @__PURE__ */ k(_e, { type: "button", onClick: () => a(s), "aria-label": "Copy markdown link", children: [
|
|
706
700
|
/* @__PURE__ */ i("span", { className: "value", children: s }),
|
|
707
701
|
/* @__PURE__ */ i(fe, { icon: "content_copy" })
|
|
708
702
|
] })
|
|
709
703
|
] })
|
|
710
704
|
] }) });
|
|
711
|
-
},
|
|
705
|
+
}, Gn = (e, n, t, o) => {
|
|
712
706
|
const s = { projectName: t, quickView: !0 };
|
|
713
707
|
switch (e) {
|
|
714
708
|
case "folder":
|
|
@@ -722,7 +716,7 @@ const Tn = S(Me)`
|
|
|
722
716
|
default:
|
|
723
717
|
return null;
|
|
724
718
|
}
|
|
725
|
-
},
|
|
719
|
+
}, Qn = ({
|
|
726
720
|
entityType: e,
|
|
727
721
|
entityId: n,
|
|
728
722
|
entityIds: t,
|
|
@@ -730,20 +724,20 @@ const Tn = S(Me)`
|
|
|
730
724
|
projectName: s,
|
|
731
725
|
selectedEntities: a = [],
|
|
732
726
|
entityListsContext: r,
|
|
733
|
-
onOpenPip:
|
|
734
|
-
onOpenViewer:
|
|
735
|
-
productId:
|
|
727
|
+
onOpenPip: l,
|
|
728
|
+
onOpenViewer: h,
|
|
729
|
+
productId: f,
|
|
736
730
|
taskId: u,
|
|
737
731
|
folderId: g
|
|
738
732
|
}) => {
|
|
739
|
-
const
|
|
740
|
-
const
|
|
741
|
-
return `details-more-menu-${v}-${
|
|
742
|
-
}, [v, n, t, s]), O =
|
|
743
|
-
T?.({ productId:
|
|
744
|
-
}, ee = n && s ?
|
|
733
|
+
const b = Y(null), [x, j] = K(!1), [R, E] = K(null), { menuOpen: c, toggleMenuOpen: d, setMenuOpen: p } = qt(), { triggerThumbnailUpload: C, canUploadVersion: A } = kt(Kt), { onOpenVersionUpload: T } = Mn(), v = wt(), w = P(() => {
|
|
734
|
+
const $ = n || t?.[0] || "noentity";
|
|
735
|
+
return `details-more-menu-${v}-${$}-${s || "noproject"}`;
|
|
736
|
+
}, [v, n, t, s]), O = c === w, U = !!n && !!s && !!C, _ = !!A && !!T, Z = () => {
|
|
737
|
+
T?.({ productId: f, taskId: u, folderId: g });
|
|
738
|
+
}, ee = n && s ? Gn(e, n, s, f) : null, te = !!h && !!ee, ne = Jt(), I = P(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((V) => {
|
|
745
739
|
const q = V.entityType || e, ce = V.projectName || s;
|
|
746
|
-
return !
|
|
740
|
+
return !Xt(q) || !V.entityId || !ce ? null : {
|
|
747
741
|
id: V.entityId,
|
|
748
742
|
entityType: q,
|
|
749
743
|
name: V.name,
|
|
@@ -753,8 +747,8 @@ const Tn = S(Me)`
|
|
|
753
747
|
parentId: V.parentId
|
|
754
748
|
};
|
|
755
749
|
}).filter((V) => V !== null), [a, n, e, s]), se = !!ne && I.length > 0, ie = () => {
|
|
756
|
-
|
|
757
|
-
}, { items: le } =
|
|
750
|
+
p(!1), ne?.deleteEntities(I);
|
|
751
|
+
}, { items: le } = Bn({
|
|
758
752
|
entityType: e,
|
|
759
753
|
entityId: n,
|
|
760
754
|
projectName: s,
|
|
@@ -762,23 +756,23 @@ const Tn = S(Me)`
|
|
|
762
756
|
deleteEntities: I,
|
|
763
757
|
canUploadThumbnail: U,
|
|
764
758
|
canUploadVersion: _,
|
|
765
|
-
canOpenPip: !!
|
|
759
|
+
canOpenPip: !!l,
|
|
766
760
|
canOpenViewer: te,
|
|
767
761
|
canDelete: se,
|
|
768
762
|
entityListsContext: r,
|
|
769
|
-
onPip: () =>
|
|
770
|
-
onOpenViewer: () => ee &&
|
|
763
|
+
onPip: () => l?.(),
|
|
764
|
+
onOpenViewer: () => ee && h?.(ee),
|
|
771
765
|
onUploadThumbnail: () => C?.(),
|
|
772
766
|
onUploadVersion: Z,
|
|
773
|
-
onShare: (
|
|
774
|
-
onViewData: () =>
|
|
767
|
+
onShare: ($) => E($),
|
|
768
|
+
onViewData: () => j(!0),
|
|
775
769
|
onDelete: ie
|
|
776
770
|
}), Q = t?.length ? t : n ? [n] : [], re = o || n || "";
|
|
777
771
|
return /* @__PURE__ */ k(Ne, { children: [
|
|
778
772
|
/* @__PURE__ */ i(
|
|
779
773
|
X,
|
|
780
774
|
{
|
|
781
|
-
ref:
|
|
775
|
+
ref: b,
|
|
782
776
|
icon: "more_horiz",
|
|
783
777
|
variant: "text",
|
|
784
778
|
"data-tooltip": "More actions",
|
|
@@ -787,19 +781,19 @@ const Tn = S(Me)`
|
|
|
787
781
|
onClick: () => d(w)
|
|
788
782
|
}
|
|
789
783
|
),
|
|
790
|
-
/* @__PURE__ */ i(
|
|
784
|
+
/* @__PURE__ */ i(ln, { id: w, target: b.current, align: "right", children: /* @__PURE__ */ i(cn, { menu: le, onClose: () => p(!1) }) }),
|
|
791
785
|
x && s && Q.length > 0 && /* @__PURE__ */ i(
|
|
792
|
-
|
|
786
|
+
dn,
|
|
793
787
|
{
|
|
794
788
|
projectName: s,
|
|
795
789
|
entityType: e,
|
|
796
790
|
entityIds: Q,
|
|
797
791
|
visible: x,
|
|
798
|
-
onHide: () =>
|
|
792
|
+
onHide: () => j(!1)
|
|
799
793
|
}
|
|
800
794
|
),
|
|
801
795
|
R && /* @__PURE__ */ i(
|
|
802
|
-
|
|
796
|
+
zn,
|
|
803
797
|
{
|
|
804
798
|
link: R,
|
|
805
799
|
entityLabel: re,
|
|
@@ -808,7 +802,7 @@ const Tn = S(Me)`
|
|
|
808
802
|
}
|
|
809
803
|
)
|
|
810
804
|
] });
|
|
811
|
-
},
|
|
805
|
+
}, qn = (e, n) => {
|
|
812
806
|
const t = [e];
|
|
813
807
|
let o = e;
|
|
814
808
|
for (; o.parentId && o.parentId !== "root"; ) {
|
|
@@ -818,23 +812,23 @@ const Tn = S(Me)`
|
|
|
818
812
|
t.unshift(s), o = s;
|
|
819
813
|
}
|
|
820
814
|
return t;
|
|
821
|
-
},
|
|
815
|
+
}, Kn = (e, n) => {
|
|
822
816
|
const t = [];
|
|
823
817
|
let o = n.get(e.folder?.id || "");
|
|
824
|
-
if ((o ?
|
|
818
|
+
if ((o ? qn(o, n) : []).forEach((a) => {
|
|
825
819
|
t.push({ type: "folder", label: a.label || a.name, id: a.id });
|
|
826
820
|
}), e.entityType === "version") {
|
|
827
821
|
const a = `${e.product?.name} - ${e.name}`;
|
|
828
822
|
t.push({ type: "version", label: a, id: e.id });
|
|
829
823
|
}
|
|
830
824
|
return e.entityType === "task" && t.push({ type: "task", label: e.label || e.name, id: e.id }), t;
|
|
831
|
-
},
|
|
825
|
+
}, Jn = ({
|
|
832
826
|
entity: e,
|
|
833
827
|
entityType: n,
|
|
834
828
|
projectName: t,
|
|
835
829
|
isLoading: o
|
|
836
830
|
}) => {
|
|
837
|
-
const { data: { folders: s = [] } = {}, isFetching: a } =
|
|
831
|
+
const { data: { folders: s = [] } = {}, isFetching: a } = Tt(
|
|
838
832
|
// TODO: this is major overkill, we are only using label, name and id
|
|
839
833
|
// We add a patch field that allows us to specify what ws message changes should cause an update to this query
|
|
840
834
|
// @ts-expect-error - patch is not part of the query args
|
|
@@ -843,24 +837,24 @@ const Tn = S(Me)`
|
|
|
843
837
|
), r = mn(
|
|
844
838
|
{ projectName: t || "", isLoading: o },
|
|
845
839
|
a
|
|
846
|
-
), { data:
|
|
840
|
+
), { data: l } = Nt(
|
|
847
841
|
{ productId: e.product?.id || "", projectName: t },
|
|
848
842
|
{ skip: n !== "version" || !e.product?.id }
|
|
849
|
-
),
|
|
850
|
-
() =>
|
|
843
|
+
), h = P(
|
|
844
|
+
() => l?.project.product?.versionList ? [...l.project.product?.versionList || []].sort((g, b) => g.name === "HERO" ? -1 : b.name === "HERO" ? 1 : b.name.localeCompare(g.name)).map((g) => ({
|
|
851
845
|
type: "version",
|
|
852
846
|
label: g.name,
|
|
853
847
|
id: g.id
|
|
854
848
|
})) : [],
|
|
855
|
-
[
|
|
856
|
-
),
|
|
849
|
+
[l]
|
|
850
|
+
), f = P(
|
|
857
851
|
() => new Map(s.map((g) => [g.id, g])),
|
|
858
852
|
[s]
|
|
859
853
|
);
|
|
860
854
|
return [P(
|
|
861
|
-
() => r ? [] :
|
|
855
|
+
() => r ? [] : Kn(e, f),
|
|
862
856
|
[r, s, e]
|
|
863
|
-
),
|
|
857
|
+
), h];
|
|
864
858
|
}, et = (e, n) => {
|
|
865
859
|
let t = Object.entries(e).filter(([s]) => n ? n.includes(s) : !0).map(([, s]) => s?.statuses || []).flat();
|
|
866
860
|
const o = new Map(t.map((s) => [s.name, s]));
|
|
@@ -873,11 +867,11 @@ const Tn = S(Me)`
|
|
|
873
867
|
projectName: s,
|
|
874
868
|
projectInfo: a,
|
|
875
869
|
annotations: r,
|
|
876
|
-
removeAnnotation:
|
|
877
|
-
exportAnnotationComposite:
|
|
878
|
-
...
|
|
870
|
+
removeAnnotation: l,
|
|
871
|
+
exportAnnotationComposite: h,
|
|
872
|
+
...f
|
|
879
873
|
}) => {
|
|
880
|
-
const u = { annotations: r, removeAnnotation:
|
|
874
|
+
const u = { annotations: r, removeAnnotation: l, exportAnnotationComposite: h }, { user: g } = G(), b = g.name || "", x = g.attrib?.fullName || "";
|
|
881
875
|
return /* @__PURE__ */ k(
|
|
882
876
|
Je,
|
|
883
877
|
{
|
|
@@ -886,17 +880,17 @@ const Tn = S(Me)`
|
|
|
886
880
|
projectName: s,
|
|
887
881
|
entityType: t,
|
|
888
882
|
projectInfo: a,
|
|
889
|
-
userName:
|
|
883
|
+
userName: b,
|
|
890
884
|
userFullName: x,
|
|
891
885
|
...u,
|
|
892
|
-
...
|
|
886
|
+
...f,
|
|
893
887
|
children: [
|
|
894
|
-
/* @__PURE__ */ i(
|
|
895
|
-
/* @__PURE__ */ i(
|
|
888
|
+
/* @__PURE__ */ i(gn, { ...f, statuses: f.statuses }),
|
|
889
|
+
/* @__PURE__ */ i(fn, {})
|
|
896
890
|
]
|
|
897
891
|
}
|
|
898
892
|
);
|
|
899
|
-
},
|
|
893
|
+
}, Xn = ({
|
|
900
894
|
children: e,
|
|
901
895
|
scope: n = "dashboard",
|
|
902
896
|
entities: t,
|
|
@@ -904,11 +898,11 @@ const Tn = S(Me)`
|
|
|
904
898
|
projectName: s,
|
|
905
899
|
projectInfo: a,
|
|
906
900
|
annotations: r,
|
|
907
|
-
removeAnnotation:
|
|
908
|
-
exportAnnotationComposite:
|
|
909
|
-
...
|
|
901
|
+
removeAnnotation: l,
|
|
902
|
+
exportAnnotationComposite: h,
|
|
903
|
+
...f
|
|
910
904
|
}) => {
|
|
911
|
-
const u = { annotations: r, removeAnnotation:
|
|
905
|
+
const u = { annotations: r, removeAnnotation: l, exportAnnotationComposite: h }, { user: g } = G(), b = g?.name ?? "", x = g?.attrib?.fullName ?? "", [j, R] = K(null);
|
|
912
906
|
return /* @__PURE__ */ i(
|
|
913
907
|
Je,
|
|
914
908
|
{
|
|
@@ -917,12 +911,12 @@ const Tn = S(Me)`
|
|
|
917
911
|
projectName: s,
|
|
918
912
|
entityType: o,
|
|
919
913
|
projectInfo: a,
|
|
920
|
-
userName:
|
|
914
|
+
userName: b,
|
|
921
915
|
userFullName: x,
|
|
922
916
|
...u,
|
|
923
|
-
editingId:
|
|
917
|
+
editingId: j,
|
|
924
918
|
setEditingId: R,
|
|
925
|
-
...
|
|
919
|
+
...f,
|
|
926
920
|
children: e
|
|
927
921
|
}
|
|
928
922
|
);
|
|
@@ -949,8 +943,8 @@ const Tn = S(Me)`
|
|
|
949
943
|
}
|
|
950
944
|
const t = {}, o = (a) => {
|
|
951
945
|
const r = {};
|
|
952
|
-
return a.flat().forEach((
|
|
953
|
-
|
|
946
|
+
return a.flat().forEach((l) => {
|
|
947
|
+
l && l.name && (r[l.name] = l);
|
|
954
948
|
}), Object.values(r);
|
|
955
949
|
}, s = {
|
|
956
950
|
statuses: [],
|
|
@@ -962,23 +956,23 @@ const Tn = S(Me)`
|
|
|
962
956
|
};
|
|
963
957
|
return n.forEach((a) => {
|
|
964
958
|
const r = e[a];
|
|
965
|
-
r && (Object.keys(s).forEach((
|
|
966
|
-
|
|
967
|
-
}), Object.keys(r).forEach((
|
|
968
|
-
|
|
959
|
+
r && (Object.keys(s).forEach((l) => {
|
|
960
|
+
l === "productTypes" ? r.productTypes && s[l].push(r) : Array.isArray(r[l]) && s[l].push(r[l]);
|
|
961
|
+
}), Object.keys(r).forEach((l) => {
|
|
962
|
+
l in s || (t[l] = r[l]);
|
|
969
963
|
}));
|
|
970
964
|
}), Object.keys(s).forEach((a) => {
|
|
971
965
|
(a === "productTypes" || s[a].length > 0) && (t[a] = o(s[a]));
|
|
972
966
|
}), t;
|
|
973
|
-
},
|
|
967
|
+
}, Yn = S.div`
|
|
974
968
|
display: flex;
|
|
975
969
|
align-items: center;
|
|
976
970
|
padding: 4px 8px;
|
|
977
971
|
gap: var(--base-gap-small);
|
|
978
|
-
`,
|
|
972
|
+
`, Zn = S.span`
|
|
979
973
|
font-weight: 600;
|
|
980
974
|
user-select: none;
|
|
981
|
-
`,
|
|
975
|
+
`, es = S.div`
|
|
982
976
|
display: flex;
|
|
983
977
|
gap: var(--base-gap-small);
|
|
984
978
|
`, Ce = S(X)`
|
|
@@ -986,7 +980,7 @@ const Tn = S(Me)`
|
|
|
986
980
|
&.hasIcon {
|
|
987
981
|
padding: 4px;
|
|
988
982
|
}
|
|
989
|
-
`,
|
|
983
|
+
`, ts = S.div`
|
|
990
984
|
display: flex;
|
|
991
985
|
align-items: center;
|
|
992
986
|
gap: var(--base-gap-small);
|
|
@@ -1003,10 +997,10 @@ const Tn = S(Me)`
|
|
|
1003
997
|
box-shadow: 0 0 0 1px var(--md-sys-color-primary-container);
|
|
1004
998
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
1005
999
|
}
|
|
1006
|
-
`,
|
|
1000
|
+
`, ns = S(vn)`
|
|
1007
1001
|
width: 28px;
|
|
1008
1002
|
height: 28px;
|
|
1009
|
-
`,
|
|
1003
|
+
`, ss = S.input`
|
|
1010
1004
|
flex: 1;
|
|
1011
1005
|
min-width: 0;
|
|
1012
1006
|
border: none;
|
|
@@ -1019,7 +1013,7 @@ const Tn = S(Me)`
|
|
|
1019
1013
|
&::placeholder {
|
|
1020
1014
|
color: var(--md-sys-color-outline);
|
|
1021
1015
|
}
|
|
1022
|
-
`,
|
|
1016
|
+
`, as = S(X)`
|
|
1023
1017
|
background-color: unset;
|
|
1024
1018
|
min-width: unset;
|
|
1025
1019
|
&.hasIcon {
|
|
@@ -1056,82 +1050,82 @@ const Tn = S(Me)`
|
|
|
1056
1050
|
operator: t,
|
|
1057
1051
|
value: a[0] || ""
|
|
1058
1052
|
};
|
|
1059
|
-
},
|
|
1053
|
+
}, os = ({
|
|
1060
1054
|
label: e,
|
|
1061
1055
|
filters: n,
|
|
1062
1056
|
currentFilter: t,
|
|
1063
1057
|
onFilterChange: o,
|
|
1064
1058
|
isLoading: s
|
|
1065
1059
|
}) => {
|
|
1066
|
-
const [a, r] = K(null), [
|
|
1060
|
+
const [a, r] = K(null), [l, h] = K(""), f = Y(null), u = (c) => typeof c == "object" && c !== null && !Array.isArray(c);
|
|
1067
1061
|
W(() => {
|
|
1068
|
-
a &&
|
|
1062
|
+
a && f.current && f.current.focus();
|
|
1069
1063
|
}, [a]), W(() => {
|
|
1070
1064
|
if (a && u(t)) {
|
|
1071
|
-
if (document.activeElement ===
|
|
1072
|
-
const
|
|
1073
|
-
|
|
1065
|
+
if (document.activeElement === f.current) return;
|
|
1066
|
+
const c = t.conditions?.find((d) => ue(d, a));
|
|
1067
|
+
h(c ? Te(c) : "");
|
|
1074
1068
|
}
|
|
1075
1069
|
}, [a, t]);
|
|
1076
|
-
const g = (
|
|
1070
|
+
const g = (c, d) => {
|
|
1077
1071
|
if (!u(t)) {
|
|
1078
|
-
o(
|
|
1072
|
+
o(c.id);
|
|
1079
1073
|
return;
|
|
1080
1074
|
}
|
|
1081
|
-
const
|
|
1075
|
+
const p = t.conditions ? [...t.conditions] : [], C = {
|
|
1082
1076
|
...t,
|
|
1083
|
-
conditions:
|
|
1077
|
+
conditions: p,
|
|
1084
1078
|
operator: t.operator || "and"
|
|
1085
|
-
},
|
|
1079
|
+
}, A = String(c.id), T = p.findIndex((w) => ue(w, A)), v = c.type || "boolean";
|
|
1086
1080
|
if (v === "boolean")
|
|
1087
|
-
T > -1 ?
|
|
1081
|
+
T > -1 ? p.splice(T, 1) : p.push({ key: A, operator: c.operator || "eq", value: !0 });
|
|
1088
1082
|
else if (v === "enum") {
|
|
1089
1083
|
const w = Array.isArray(d) ? d : [d];
|
|
1090
1084
|
if (w.length === 0 || w.length === 1 && w[0] === void 0)
|
|
1091
|
-
T > -1 &&
|
|
1085
|
+
T > -1 && p.splice(T, 1);
|
|
1092
1086
|
else {
|
|
1093
1087
|
const O = {
|
|
1094
|
-
key:
|
|
1095
|
-
operator:
|
|
1088
|
+
key: A,
|
|
1089
|
+
operator: c.operator || "in",
|
|
1096
1090
|
value: w
|
|
1097
1091
|
};
|
|
1098
|
-
T > -1 ?
|
|
1092
|
+
T > -1 ? p[T] = O : p.push(O);
|
|
1099
1093
|
}
|
|
1100
1094
|
} else if (v === "search") {
|
|
1101
1095
|
const w = typeof d == "string" ? d : "";
|
|
1102
1096
|
if (!w)
|
|
1103
|
-
T > -1 &&
|
|
1097
|
+
T > -1 && p.splice(T, 1);
|
|
1104
1098
|
else {
|
|
1105
|
-
const O = st(w,
|
|
1106
|
-
T > -1 ?
|
|
1099
|
+
const O = st(w, A, c.operator || "like");
|
|
1100
|
+
T > -1 ? p[T] = O : p.push(O);
|
|
1107
1101
|
}
|
|
1108
1102
|
}
|
|
1109
1103
|
o(C);
|
|
1110
|
-
},
|
|
1111
|
-
const d = String(
|
|
1104
|
+
}, b = (c) => {
|
|
1105
|
+
const d = String(c.id);
|
|
1112
1106
|
if (a !== d && (r(d), u(t))) {
|
|
1113
|
-
const
|
|
1114
|
-
p
|
|
1107
|
+
const p = t.conditions?.find((C) => ue(C, d));
|
|
1108
|
+
h(p ? Te(p) : "");
|
|
1115
1109
|
}
|
|
1116
|
-
}, x = (
|
|
1117
|
-
|
|
1118
|
-
},
|
|
1119
|
-
|
|
1120
|
-
}, R = (
|
|
1121
|
-
(
|
|
1110
|
+
}, x = (c, d) => {
|
|
1111
|
+
h(d), g(c, d);
|
|
1112
|
+
}, j = (c) => {
|
|
1113
|
+
h(""), r(null), g(c, "");
|
|
1114
|
+
}, R = (c) => u(t) ? t.conditions?.some((d) => ue(d, String(c.id))) : c.id === t, E = (c) => u(t) ? t.conditions?.find(
|
|
1115
|
+
(p) => De(p) && p.key === String(c.id)
|
|
1122
1116
|
)?.value || [] : [];
|
|
1123
|
-
return /* @__PURE__ */ k(
|
|
1124
|
-
/* @__PURE__ */ i(
|
|
1117
|
+
return /* @__PURE__ */ k(Yn, { className: oe("panel-tabs", { loading: s }), children: [
|
|
1118
|
+
/* @__PURE__ */ i(Zn, { className: "panel-header-label", children: e }),
|
|
1125
1119
|
/* @__PURE__ */ i(He, {}),
|
|
1126
|
-
/* @__PURE__ */ i(
|
|
1127
|
-
const d = R(
|
|
1128
|
-
if (
|
|
1120
|
+
/* @__PURE__ */ i(es, { className: "panel-header-filters", children: n.map((c) => {
|
|
1121
|
+
const d = R(c), p = c.type || "boolean";
|
|
1122
|
+
if (p === "enum")
|
|
1129
1123
|
return /* @__PURE__ */ i(
|
|
1130
|
-
|
|
1124
|
+
ns,
|
|
1131
1125
|
{
|
|
1132
|
-
options:
|
|
1133
|
-
value: E(
|
|
1134
|
-
onChange: (C) => g(
|
|
1126
|
+
options: c.options || [],
|
|
1127
|
+
value: E(c),
|
|
1128
|
+
onChange: (C) => g(c, C),
|
|
1135
1129
|
isEditing: !0,
|
|
1136
1130
|
autoOpen: !1,
|
|
1137
1131
|
align: "right",
|
|
@@ -1140,20 +1134,20 @@ const Tn = S(Me)`
|
|
|
1140
1134
|
Ce,
|
|
1141
1135
|
{
|
|
1142
1136
|
selected: d,
|
|
1143
|
-
icon:
|
|
1144
|
-
"data-tooltip":
|
|
1137
|
+
icon: c.icon,
|
|
1138
|
+
"data-tooltip": c.tooltip,
|
|
1145
1139
|
"data-tooltip-delay": 0
|
|
1146
1140
|
}
|
|
1147
1141
|
),
|
|
1148
1142
|
widthExpand: !0,
|
|
1149
1143
|
className: "panel-filter panel-filter-enum"
|
|
1150
1144
|
},
|
|
1151
|
-
String(
|
|
1145
|
+
String(c.id)
|
|
1152
1146
|
);
|
|
1153
|
-
if (
|
|
1154
|
-
const C = a === String(
|
|
1147
|
+
if (p === "search") {
|
|
1148
|
+
const C = a === String(c.id);
|
|
1155
1149
|
return /* @__PURE__ */ k(
|
|
1156
|
-
|
|
1150
|
+
ts,
|
|
1157
1151
|
{
|
|
1158
1152
|
className: oe("panel-filter", "panel-filter-search", { expanded: C }),
|
|
1159
1153
|
children: [
|
|
@@ -1161,30 +1155,30 @@ const Tn = S(Me)`
|
|
|
1161
1155
|
Ce,
|
|
1162
1156
|
{
|
|
1163
1157
|
selected: d || C,
|
|
1164
|
-
onClick: () =>
|
|
1165
|
-
icon:
|
|
1166
|
-
"data-tooltip": C ? void 0 :
|
|
1158
|
+
onClick: () => b(c),
|
|
1159
|
+
icon: c.icon,
|
|
1160
|
+
"data-tooltip": C ? void 0 : c.tooltip,
|
|
1167
1161
|
"data-tooltip-delay": 0
|
|
1168
1162
|
}
|
|
1169
1163
|
),
|
|
1170
1164
|
C && /* @__PURE__ */ k(Ne, { children: [
|
|
1171
1165
|
/* @__PURE__ */ i(
|
|
1172
|
-
|
|
1166
|
+
ss,
|
|
1173
1167
|
{
|
|
1174
|
-
ref:
|
|
1175
|
-
value:
|
|
1176
|
-
onChange: (
|
|
1177
|
-
onKeyDown: (
|
|
1178
|
-
|
|
1168
|
+
ref: f,
|
|
1169
|
+
value: l,
|
|
1170
|
+
onChange: (A) => x(c, A.target.value),
|
|
1171
|
+
onKeyDown: (A) => {
|
|
1172
|
+
A.key === "Escape" && j(c);
|
|
1179
1173
|
},
|
|
1180
|
-
placeholder:
|
|
1174
|
+
placeholder: c.placeholder || "Search..."
|
|
1181
1175
|
}
|
|
1182
1176
|
),
|
|
1183
1177
|
/* @__PURE__ */ i(
|
|
1184
|
-
|
|
1178
|
+
as,
|
|
1185
1179
|
{
|
|
1186
1180
|
icon: "close",
|
|
1187
|
-
onClick: () =>
|
|
1181
|
+
onClick: () => j(c),
|
|
1188
1182
|
"data-tooltip": "Clear",
|
|
1189
1183
|
"data-tooltip-delay": 0
|
|
1190
1184
|
}
|
|
@@ -1192,53 +1186,53 @@ const Tn = S(Me)`
|
|
|
1192
1186
|
] })
|
|
1193
1187
|
]
|
|
1194
1188
|
},
|
|
1195
|
-
String(
|
|
1189
|
+
String(c.id)
|
|
1196
1190
|
);
|
|
1197
1191
|
}
|
|
1198
1192
|
return /* @__PURE__ */ i(
|
|
1199
1193
|
Ce,
|
|
1200
1194
|
{
|
|
1201
1195
|
selected: d,
|
|
1202
|
-
onClick: () => g(
|
|
1203
|
-
icon:
|
|
1204
|
-
"data-tooltip":
|
|
1196
|
+
onClick: () => g(c),
|
|
1197
|
+
icon: c.icon,
|
|
1198
|
+
"data-tooltip": c.tooltip,
|
|
1205
1199
|
"data-tooltip-delay": 0,
|
|
1206
1200
|
className: "panel-filter panel-filter-boolean"
|
|
1207
1201
|
},
|
|
1208
|
-
String(
|
|
1202
|
+
String(c.id)
|
|
1209
1203
|
);
|
|
1210
1204
|
}) })
|
|
1211
1205
|
] });
|
|
1212
|
-
}, at = ["done", "isDone"],
|
|
1206
|
+
}, at = ["done", "isDone"], is = (e) => !!e && "key" in e, rs = (e, n) => {
|
|
1213
1207
|
const t = [], o = [], s = (a) => {
|
|
1214
1208
|
if (!a) return;
|
|
1215
|
-
if (
|
|
1216
|
-
const
|
|
1217
|
-
if (
|
|
1209
|
+
if (is(a)) {
|
|
1210
|
+
const l = a.key;
|
|
1211
|
+
if (l === "search") {
|
|
1218
1212
|
const u = String(a.value ?? "");
|
|
1219
1213
|
u && o.push({ id: u, label: u });
|
|
1220
1214
|
return;
|
|
1221
1215
|
}
|
|
1222
|
-
const
|
|
1223
|
-
if (!
|
|
1224
|
-
if (at.includes(
|
|
1216
|
+
const h = n.find((u) => u.id === l);
|
|
1217
|
+
if (!h) return;
|
|
1218
|
+
if (at.includes(l)) {
|
|
1225
1219
|
a.value !== void 0 && t.push({
|
|
1226
|
-
id: ke(
|
|
1227
|
-
label:
|
|
1228
|
-
icon:
|
|
1220
|
+
id: ke(l),
|
|
1221
|
+
label: h.label,
|
|
1222
|
+
icon: h.icon,
|
|
1229
1223
|
type: "boolean",
|
|
1230
1224
|
singleSelect: !0,
|
|
1231
1225
|
values: [{ id: String(a.value), label: a.value ? "Done" : "Not Done" }]
|
|
1232
1226
|
});
|
|
1233
1227
|
return;
|
|
1234
1228
|
}
|
|
1235
|
-
if (
|
|
1229
|
+
if (h.type === "datetime") {
|
|
1236
1230
|
const u = Array.isArray(a.value) ? a.value[0] : a.value;
|
|
1237
1231
|
t.push({
|
|
1238
|
-
id: ke(
|
|
1239
|
-
label:
|
|
1232
|
+
id: ke(l),
|
|
1233
|
+
label: h.label,
|
|
1240
1234
|
type: "datetime",
|
|
1241
|
-
icon:
|
|
1235
|
+
icon: h.icon,
|
|
1242
1236
|
values: [
|
|
1243
1237
|
{
|
|
1244
1238
|
id: String(u),
|
|
@@ -1250,21 +1244,21 @@ const Tn = S(Me)`
|
|
|
1250
1244
|
});
|
|
1251
1245
|
return;
|
|
1252
1246
|
}
|
|
1253
|
-
const
|
|
1247
|
+
const f = Array.isArray(a.value) ? a.value : [a.value];
|
|
1254
1248
|
t.push({
|
|
1255
|
-
id: ke(
|
|
1256
|
-
label:
|
|
1257
|
-
type:
|
|
1258
|
-
icon:
|
|
1249
|
+
id: ke(l),
|
|
1250
|
+
label: h.label,
|
|
1251
|
+
type: h.type,
|
|
1252
|
+
icon: h.icon,
|
|
1259
1253
|
operator: "OR",
|
|
1260
|
-
values:
|
|
1261
|
-
const g =
|
|
1254
|
+
values: f.map((u) => {
|
|
1255
|
+
const g = h.values?.find((b) => b.id === String(u));
|
|
1262
1256
|
return g ? { ...g } : { id: String(u), label: String(u) };
|
|
1263
1257
|
})
|
|
1264
1258
|
});
|
|
1265
1259
|
return;
|
|
1266
1260
|
}
|
|
1267
|
-
const r =
|
|
1261
|
+
const r = kn(a, n);
|
|
1268
1262
|
if (r) {
|
|
1269
1263
|
t.push(r);
|
|
1270
1264
|
return;
|
|
@@ -1272,7 +1266,7 @@ const Tn = S(Me)`
|
|
|
1272
1266
|
a.conditions?.forEach(s);
|
|
1273
1267
|
};
|
|
1274
1268
|
return e?.conditions?.forEach(s), o.length && t.push({ id: We, label: "", values: o }), t;
|
|
1275
|
-
},
|
|
1269
|
+
}, ls = (e) => {
|
|
1276
1270
|
const n = [], t = [];
|
|
1277
1271
|
return e.forEach((o) => {
|
|
1278
1272
|
const s = bt(o.id), a = (o.values || []).map((r) => r.id);
|
|
@@ -1285,12 +1279,12 @@ const Tn = S(Me)`
|
|
|
1285
1279
|
const r = a[0] === "true";
|
|
1286
1280
|
n.push({ key: s, operator: "eq", value: r });
|
|
1287
1281
|
} else if (o.type === "datetime") {
|
|
1288
|
-
const r =
|
|
1282
|
+
const r = wn(s, o);
|
|
1289
1283
|
r && n.push(r);
|
|
1290
1284
|
} else
|
|
1291
1285
|
n.push({ key: s, operator: "in", value: a.map(String) });
|
|
1292
1286
|
}), t.length === 1 ? n.push(t[0]) : t.length > 1 && n.push({ operator: "or", conditions: t }), { operator: "and", conditions: n };
|
|
1293
|
-
},
|
|
1287
|
+
}, cs = S.div`
|
|
1294
1288
|
padding: 4px 8px;
|
|
1295
1289
|
padding-bottom: 0;
|
|
1296
1290
|
|
|
@@ -1298,7 +1292,7 @@ const Tn = S(Me)`
|
|
|
1298
1292
|
opacity: 0.5;
|
|
1299
1293
|
pointer-events: none;
|
|
1300
1294
|
}
|
|
1301
|
-
`,
|
|
1295
|
+
`, ds = ({
|
|
1302
1296
|
subtasksFilter: e,
|
|
1303
1297
|
setSubtasksFilter: n,
|
|
1304
1298
|
users: t,
|
|
@@ -1307,7 +1301,7 @@ const Tn = S(Me)`
|
|
|
1307
1301
|
doneCount: a = 0,
|
|
1308
1302
|
onSearchTextChange: r
|
|
1309
1303
|
}) => {
|
|
1310
|
-
const
|
|
1304
|
+
const l = P(
|
|
1311
1305
|
() => [
|
|
1312
1306
|
{
|
|
1313
1307
|
id: "isDone",
|
|
@@ -1351,48 +1345,48 @@ const Tn = S(Me)`
|
|
|
1351
1345
|
// },
|
|
1352
1346
|
],
|
|
1353
1347
|
[t]
|
|
1354
|
-
),
|
|
1348
|
+
), h = P(() => rs(e, l), [e, l]), [f, u] = K(h), g = Y(null), b = xn();
|
|
1355
1349
|
W(() => {
|
|
1356
|
-
u(
|
|
1357
|
-
}, [JSON.stringify(
|
|
1350
|
+
u(h);
|
|
1351
|
+
}, [JSON.stringify(h)]);
|
|
1358
1352
|
const x = (d) => {
|
|
1359
|
-
const
|
|
1360
|
-
n(
|
|
1361
|
-
},
|
|
1362
|
-
|
|
1363
|
-
}, R = (d,
|
|
1364
|
-
|
|
1353
|
+
const p = ls(d);
|
|
1354
|
+
n(p), r?.("");
|
|
1355
|
+
}, j = (d) => {
|
|
1356
|
+
b.wrapFilterChange(d, f, u);
|
|
1357
|
+
}, R = (d, p) => {
|
|
1358
|
+
p || r?.(d);
|
|
1365
1359
|
};
|
|
1366
1360
|
let E = "";
|
|
1367
1361
|
s > 0 && (E = `${a}/${s}`);
|
|
1368
|
-
const
|
|
1362
|
+
const c = P(
|
|
1369
1363
|
() => [{ id: "isDone", label: E, tooltip: "Status" }],
|
|
1370
1364
|
[E]
|
|
1371
1365
|
);
|
|
1372
|
-
return /* @__PURE__ */ k(
|
|
1366
|
+
return /* @__PURE__ */ k(cs, { className: o ? "loading" : void 0, children: [
|
|
1373
1367
|
/* @__PURE__ */ i(
|
|
1374
1368
|
vt,
|
|
1375
1369
|
{
|
|
1376
1370
|
ref: g,
|
|
1377
1371
|
compact: !0,
|
|
1378
|
-
options:
|
|
1379
|
-
filters:
|
|
1380
|
-
onChange:
|
|
1372
|
+
options: l,
|
|
1373
|
+
filters: f,
|
|
1374
|
+
onChange: j,
|
|
1381
1375
|
onFinish: x,
|
|
1382
1376
|
enableGlobalSearch: !0,
|
|
1383
1377
|
enableMultipleSameFilters: !1,
|
|
1384
1378
|
enableAutosuggestion: !1,
|
|
1385
1379
|
onSearchChange: R,
|
|
1386
|
-
quickActions:
|
|
1380
|
+
quickActions: c,
|
|
1387
1381
|
placeholder: "Search and filter subtasks...",
|
|
1388
1382
|
pt: {
|
|
1389
1383
|
searchBar: {
|
|
1390
|
-
onClickCapture: (d) =>
|
|
1384
|
+
onClickCapture: (d) => b.handleSearchBarClickCapture(d, f)
|
|
1391
1385
|
},
|
|
1392
1386
|
dropdown: {
|
|
1393
1387
|
pt: {
|
|
1394
1388
|
item: {
|
|
1395
|
-
onClick: (d) =>
|
|
1389
|
+
onClick: (d) => b.handleDropdownItemClick(d, f, l)
|
|
1396
1390
|
}
|
|
1397
1391
|
}
|
|
1398
1392
|
}
|
|
@@ -1400,55 +1394,55 @@ const Tn = S(Me)`
|
|
|
1400
1394
|
}
|
|
1401
1395
|
),
|
|
1402
1396
|
/* @__PURE__ */ i(
|
|
1403
|
-
|
|
1397
|
+
bn,
|
|
1404
1398
|
{
|
|
1405
|
-
isOpen: !!
|
|
1406
|
-
header:
|
|
1407
|
-
startDate:
|
|
1408
|
-
endDate:
|
|
1409
|
-
onStartDateChange:
|
|
1410
|
-
onEndDateChange:
|
|
1411
|
-
onApply: () =>
|
|
1412
|
-
onClose:
|
|
1399
|
+
isOpen: !!b.customRangeFilterId,
|
|
1400
|
+
header: l.find((d) => d.id === b.customRangeFilterId?.split("__")[0])?.label ?? "Custom range",
|
|
1401
|
+
startDate: b.customStartDate,
|
|
1402
|
+
endDate: b.customEndDate,
|
|
1403
|
+
onStartDateChange: b.setCustomStartDate,
|
|
1404
|
+
onEndDateChange: b.setCustomEndDate,
|
|
1405
|
+
onApply: () => b.handleCustomRangeApply(f, l, x, g),
|
|
1406
|
+
onClose: b.handleCustomRangeClose
|
|
1413
1407
|
}
|
|
1414
1408
|
)
|
|
1415
1409
|
] });
|
|
1416
|
-
},
|
|
1417
|
-
const [n, t] = K({}), [o, s] = K(""), [a, r] = K([]), { dispatch:
|
|
1418
|
-
let
|
|
1410
|
+
}, us = ({ ...e }) => {
|
|
1411
|
+
const [n, t] = K({}), [o, s] = K(""), [a, r] = K([]), { dispatch: l } = G(), { data: h = [] } = ze({ projectName: e.projectName }), f = e.subtasks?.length || 0, u = e.subtasks?.filter((b) => b.isDone).length || 0, g = P(() => {
|
|
1412
|
+
let b = n;
|
|
1419
1413
|
if (o) {
|
|
1420
1414
|
const x = { key: "search", operator: "like", value: o };
|
|
1421
|
-
|
|
1415
|
+
b = {
|
|
1422
1416
|
...n,
|
|
1423
1417
|
conditions: [...n.conditions || [], x],
|
|
1424
1418
|
operator: "and"
|
|
1425
1419
|
};
|
|
1426
1420
|
}
|
|
1427
|
-
return
|
|
1421
|
+
return Sn(b);
|
|
1428
1422
|
}, [n, o]);
|
|
1429
1423
|
return /* @__PURE__ */ k(Ne, { children: [
|
|
1430
1424
|
/* @__PURE__ */ i(
|
|
1431
|
-
|
|
1425
|
+
os,
|
|
1432
1426
|
{
|
|
1433
|
-
label: `Subtasks (${
|
|
1427
|
+
label: `Subtasks (${f})`,
|
|
1434
1428
|
filters: [],
|
|
1435
1429
|
currentFilter: n,
|
|
1436
1430
|
onFilterChange: t
|
|
1437
1431
|
}
|
|
1438
1432
|
),
|
|
1439
1433
|
/* @__PURE__ */ i(
|
|
1440
|
-
|
|
1434
|
+
ds,
|
|
1441
1435
|
{
|
|
1442
1436
|
subtasksFilter: n,
|
|
1443
1437
|
setSubtasksFilter: t,
|
|
1444
|
-
users:
|
|
1445
|
-
totalCount:
|
|
1438
|
+
users: h,
|
|
1439
|
+
totalCount: f,
|
|
1446
1440
|
doneCount: u,
|
|
1447
1441
|
onSearchTextChange: s
|
|
1448
1442
|
}
|
|
1449
1443
|
),
|
|
1450
1444
|
/* @__PURE__ */ i(
|
|
1451
|
-
|
|
1445
|
+
yn,
|
|
1452
1446
|
{
|
|
1453
1447
|
...e,
|
|
1454
1448
|
style: { padding: 8, height: "unset" },
|
|
@@ -1457,11 +1451,11 @@ const Tn = S(Me)`
|
|
|
1457
1451
|
onSelectSubtasks: r,
|
|
1458
1452
|
filters: g,
|
|
1459
1453
|
actionsPortalClassName: "panel-header-filters",
|
|
1460
|
-
dispatch:
|
|
1454
|
+
dispatch: l
|
|
1461
1455
|
}
|
|
1462
1456
|
)
|
|
1463
1457
|
] });
|
|
1464
|
-
},
|
|
1458
|
+
}, ps = ["product", "representation"], hs = ({
|
|
1465
1459
|
entityType: e,
|
|
1466
1460
|
entitySubTypes: n = [],
|
|
1467
1461
|
// entities is data we already have from kanban
|
|
@@ -1471,23 +1465,23 @@ const Tn = S(Me)`
|
|
|
1471
1465
|
tagsOptions: s = [],
|
|
1472
1466
|
disabledStatuses: a,
|
|
1473
1467
|
projectUsers: r,
|
|
1474
|
-
disabledProjectUsers:
|
|
1475
|
-
activeProjectUsers:
|
|
1476
|
-
projectsInfo:
|
|
1468
|
+
disabledProjectUsers: l,
|
|
1469
|
+
activeProjectUsers: h,
|
|
1470
|
+
projectsInfo: f = {},
|
|
1477
1471
|
projectNames: u = [],
|
|
1478
1472
|
isSlideOut: g = !1,
|
|
1479
|
-
style:
|
|
1473
|
+
style: b = {},
|
|
1480
1474
|
scope: x,
|
|
1481
|
-
isCompact:
|
|
1475
|
+
isCompact: j = !1,
|
|
1482
1476
|
onClose: R,
|
|
1483
1477
|
onWatchersUpdate: E,
|
|
1484
|
-
onOpenViewer:
|
|
1478
|
+
onOpenViewer: c,
|
|
1485
1479
|
onEntityFocus: d,
|
|
1486
|
-
onOpen:
|
|
1480
|
+
onOpen: p,
|
|
1487
1481
|
onUriOpen: C,
|
|
1488
1482
|
// when the details panel is opened from uri
|
|
1489
1483
|
// annotations
|
|
1490
|
-
annotations:
|
|
1484
|
+
annotations: A,
|
|
1491
1485
|
removeAnnotation: T,
|
|
1492
1486
|
exportAnnotationComposite: v,
|
|
1493
1487
|
entityListId: w,
|
|
@@ -1506,35 +1500,35 @@ const Tn = S(Me)`
|
|
|
1506
1500
|
useSearchParams: le,
|
|
1507
1501
|
SubtasksManager: Q,
|
|
1508
1502
|
useNavigate: re
|
|
1509
|
-
} = G(), { currentTab:
|
|
1503
|
+
} = G(), { currentTab: $, setTab: V, isFeed: q } = Yt(x), [ce, pe] = le(), de = Y(!1), N = I?.entityType ?? e, he = I?.entities ?? o, me = I?.entitySubTypes ?? n, m = I?.entities ? [] : t, D = I?.entities ? I.entities.map((y) => y.projectName) : u;
|
|
1510
1504
|
W(() => {
|
|
1511
|
-
|
|
1505
|
+
p && !de.current && (de.current = !0, p());
|
|
1512
1506
|
}, []), W(() => {
|
|
1513
|
-
|
|
1514
|
-
}, [N,
|
|
1507
|
+
ps.includes(N) && $ !== "details" && V("details");
|
|
1508
|
+
}, [N, $, V]), W(() => {
|
|
1515
1509
|
o.length && I && se(null);
|
|
1516
1510
|
}, [o, I, se]);
|
|
1517
1511
|
const H = P(
|
|
1518
|
-
() => nt(
|
|
1519
|
-
[
|
|
1512
|
+
() => nt(f, D),
|
|
1513
|
+
[f, D]
|
|
1520
1514
|
), ot = P(() => Ye(H), [H]);
|
|
1521
1515
|
W(() => {
|
|
1522
|
-
|
|
1523
|
-
}, [N,
|
|
1524
|
-
let J =
|
|
1516
|
+
$ === "files" && N !== "version" && V("feed"), $ === "subtasks" && N !== "task" && V("feed");
|
|
1517
|
+
}, [N, $, x]);
|
|
1518
|
+
let J = he.length ? he.map((y) => ({ id: y.id, projectName: y.projectName })) : (
|
|
1525
1519
|
// @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it
|
|
1526
1520
|
m.map((y) => ({ id: y.id, projectName: y.projectName }))
|
|
1527
1521
|
);
|
|
1528
1522
|
J = J.filter((y) => y.id);
|
|
1529
1523
|
const {
|
|
1530
|
-
data:
|
|
1524
|
+
data: L = [],
|
|
1531
1525
|
isFetching: ae,
|
|
1532
1526
|
isError: it,
|
|
1533
1527
|
originalArgs: rt
|
|
1534
1528
|
} = Ge(
|
|
1535
1529
|
{ entityType: N, entities: J },
|
|
1536
1530
|
{
|
|
1537
|
-
skip: !J.length || !
|
|
1531
|
+
skip: !J.length || !Dt.includes(N)
|
|
1538
1532
|
}
|
|
1539
1533
|
);
|
|
1540
1534
|
W(() => {
|
|
@@ -1547,20 +1541,20 @@ const Tn = S(Me)`
|
|
|
1547
1541
|
if (!ae && (I?.source === "uri" || I?.source === "url") && I?.entities?.length && C) {
|
|
1548
1542
|
const y = I.entities[0].id;
|
|
1549
1543
|
if (be.current === y) return;
|
|
1550
|
-
const F =
|
|
1544
|
+
const F = L.find((B) => B.id === y);
|
|
1551
1545
|
if (!F) return;
|
|
1552
1546
|
be.current = y, C(F, I.source);
|
|
1553
1547
|
}
|
|
1554
|
-
}, [
|
|
1555
|
-
const Pe = et(
|
|
1548
|
+
}, [L, ae, I, C]);
|
|
1549
|
+
const Pe = et(f), z = D[0], Ie = f[z] || {}, M = L[0] || {}, ge = L[L.length - 1], ve = D[D.length - 1], Ee = x === "inbox" && N === "version" && L.length === 1 ? _n(L[0]) : void 0, [Fe, lt] = Jn({
|
|
1556
1550
|
entity: M,
|
|
1557
1551
|
entityType: N,
|
|
1558
1552
|
projectName: z,
|
|
1559
1553
|
isLoading: ae
|
|
1560
|
-
}), { setEntityUri: ct, setUri:
|
|
1554
|
+
}), { setEntityUri: ct, setUri: Ae } = Zt();
|
|
1561
1555
|
W(() => {
|
|
1562
1556
|
if (!ge?.parents || !ve) return;
|
|
1563
|
-
const { folderPath: y, taskName: F, versionName: B, productName: Ue } =
|
|
1557
|
+
const { folderPath: y, taskName: F, versionName: B, productName: Ue } = Qt(
|
|
1564
1558
|
ge.parents,
|
|
1565
1559
|
N,
|
|
1566
1560
|
ge.name
|
|
@@ -1572,9 +1566,9 @@ const Tn = S(Me)`
|
|
|
1572
1566
|
productName: Ue,
|
|
1573
1567
|
versionName: B
|
|
1574
1568
|
}), () => {
|
|
1575
|
-
|
|
1569
|
+
Ae("");
|
|
1576
1570
|
};
|
|
1577
|
-
}, [
|
|
1571
|
+
}, [L, D, N]), Tn({
|
|
1578
1572
|
entityData: ge,
|
|
1579
1573
|
project: ve,
|
|
1580
1574
|
activeEntityType: N,
|
|
@@ -1589,7 +1583,7 @@ const Tn = S(Me)`
|
|
|
1589
1583
|
{ replace: !0 }
|
|
1590
1584
|
);
|
|
1591
1585
|
}, ye = () => {
|
|
1592
|
-
R?.(), se(null),
|
|
1586
|
+
R?.(), se(null), Ae(""), dt(), Z();
|
|
1593
1587
|
};
|
|
1594
1588
|
W(() => {
|
|
1595
1589
|
const y = (F) => {
|
|
@@ -1601,7 +1595,7 @@ const Tn = S(Me)`
|
|
|
1601
1595
|
};
|
|
1602
1596
|
return window.addEventListener("keydown", y), () => window.removeEventListener("keydown", y);
|
|
1603
1597
|
}, [ye, g, ie]);
|
|
1604
|
-
const { requestPipWindow: ut } =
|
|
1598
|
+
const { requestPipWindow: ut } = en(), Oe = Y(null), je = Y(null), pt = L.length === 1 && N !== "representation", ht = P(() => {
|
|
1605
1599
|
const y = M?.label || M?.name || "", F = M?.parents || [], B = [z];
|
|
1606
1600
|
switch (N) {
|
|
1607
1601
|
case "folder":
|
|
@@ -1619,7 +1613,7 @@ const Tn = S(Me)`
|
|
|
1619
1613
|
B.push(y);
|
|
1620
1614
|
}
|
|
1621
1615
|
return B.filter(Boolean).join(" - ");
|
|
1622
|
-
}, [M, N, z]),
|
|
1616
|
+
}, [M, N, z]), mt = () => {
|
|
1623
1617
|
ee({
|
|
1624
1618
|
entityType: N,
|
|
1625
1619
|
entities: J,
|
|
@@ -1630,15 +1624,15 @@ const Tn = S(Me)`
|
|
|
1630
1624
|
te.attrib?.email || ""
|
|
1631
1625
|
)));
|
|
1632
1626
|
return /* @__PURE__ */ i(
|
|
1633
|
-
|
|
1627
|
+
nn,
|
|
1634
1628
|
{
|
|
1635
|
-
thumbnailInputRef:
|
|
1636
|
-
versionsInputRef:
|
|
1629
|
+
thumbnailInputRef: Oe,
|
|
1630
|
+
versionsInputRef: je,
|
|
1637
1631
|
canUploadVersion: pt,
|
|
1638
|
-
children: /* @__PURE__ */ k(
|
|
1639
|
-
/* @__PURE__ */ k(
|
|
1632
|
+
children: /* @__PURE__ */ k(Pn, { className: "details-panel", children: [
|
|
1633
|
+
/* @__PURE__ */ k(Nn, { children: [
|
|
1640
1634
|
/* @__PURE__ */ i(
|
|
1641
|
-
|
|
1635
|
+
zt,
|
|
1642
1636
|
{
|
|
1643
1637
|
segments: Fe,
|
|
1644
1638
|
versions: lt,
|
|
@@ -1650,16 +1644,16 @@ const Tn = S(Me)`
|
|
|
1650
1644
|
entityTypeIcons: ot
|
|
1651
1645
|
}
|
|
1652
1646
|
),
|
|
1653
|
-
/* @__PURE__ */ k(
|
|
1647
|
+
/* @__PURE__ */ k(Dn, { className: "right-tools", children: [
|
|
1654
1648
|
/* @__PURE__ */ i(
|
|
1655
|
-
|
|
1649
|
+
Qn,
|
|
1656
1650
|
{
|
|
1657
1651
|
entityType: N,
|
|
1658
1652
|
entityId: M?.id,
|
|
1659
1653
|
entityIds: J.map((y) => y.id).filter(Boolean),
|
|
1660
|
-
entityLabel:
|
|
1654
|
+
entityLabel: ht,
|
|
1661
1655
|
projectName: z,
|
|
1662
|
-
selectedEntities:
|
|
1656
|
+
selectedEntities: L.filter((y) => !!y?.id).map((y) => {
|
|
1663
1657
|
const F = y.entityType || N;
|
|
1664
1658
|
return {
|
|
1665
1659
|
entityId: y.id,
|
|
@@ -1672,15 +1666,15 @@ const Tn = S(Me)`
|
|
|
1672
1666
|
};
|
|
1673
1667
|
}),
|
|
1674
1668
|
entityListsContext: U,
|
|
1675
|
-
onOpenPip:
|
|
1676
|
-
onOpenViewer:
|
|
1669
|
+
onOpenPip: mt,
|
|
1670
|
+
onOpenViewer: c,
|
|
1677
1671
|
productId: M?.product?.id,
|
|
1678
1672
|
taskId: M?.task?.id,
|
|
1679
1673
|
folderId: M?.folder?.id
|
|
1680
1674
|
}
|
|
1681
1675
|
),
|
|
1682
1676
|
/* @__PURE__ */ i(
|
|
1683
|
-
|
|
1677
|
+
Mt,
|
|
1684
1678
|
{
|
|
1685
1679
|
entities: J,
|
|
1686
1680
|
entityType: N,
|
|
@@ -1701,31 +1695,31 @@ const Tn = S(Me)`
|
|
|
1701
1695
|
] })
|
|
1702
1696
|
] }),
|
|
1703
1697
|
Ee && /* @__PURE__ */ i(
|
|
1704
|
-
|
|
1698
|
+
Ln,
|
|
1705
1699
|
{
|
|
1706
1700
|
latestVersion: Ee,
|
|
1707
1701
|
resolveVersionJump: _
|
|
1708
1702
|
}
|
|
1709
1703
|
),
|
|
1710
1704
|
/* @__PURE__ */ i(
|
|
1711
|
-
|
|
1705
|
+
Un,
|
|
1712
1706
|
{
|
|
1713
1707
|
entityType: N,
|
|
1714
|
-
entitySubTypes:
|
|
1715
|
-
entities:
|
|
1708
|
+
entitySubTypes: me,
|
|
1709
|
+
entities: L,
|
|
1716
1710
|
users: r,
|
|
1717
|
-
disabledAssignees:
|
|
1711
|
+
disabledAssignees: l,
|
|
1718
1712
|
disabledStatuses: a,
|
|
1719
1713
|
tagsOptions: s,
|
|
1720
1714
|
isFetching: ae,
|
|
1721
|
-
isCompact:
|
|
1722
|
-
currentTab:
|
|
1715
|
+
isCompact: j,
|
|
1716
|
+
currentTab: $,
|
|
1723
1717
|
onTabChange: V,
|
|
1724
1718
|
projectInfo: H,
|
|
1725
|
-
onOpenViewer: (y) =>
|
|
1719
|
+
onOpenViewer: (y) => c?.(y),
|
|
1726
1720
|
onEntityFocus: d,
|
|
1727
|
-
thumbnailInputRef:
|
|
1728
|
-
versionsInputRef:
|
|
1721
|
+
thumbnailInputRef: Oe,
|
|
1722
|
+
versionsInputRef: je
|
|
1729
1723
|
}
|
|
1730
1724
|
),
|
|
1731
1725
|
/* @__PURE__ */ k(Ke, { projectName: z, children: [
|
|
@@ -1733,8 +1727,8 @@ const Tn = S(Me)`
|
|
|
1733
1727
|
tt,
|
|
1734
1728
|
{
|
|
1735
1729
|
entityType: N,
|
|
1736
|
-
entities:
|
|
1737
|
-
activeUsers:
|
|
1730
|
+
entities: L,
|
|
1731
|
+
activeUsers: h || [],
|
|
1738
1732
|
projectInfo: Ie,
|
|
1739
1733
|
projectName: z,
|
|
1740
1734
|
disabled: !Re(),
|
|
@@ -1742,14 +1736,14 @@ const Tn = S(Me)`
|
|
|
1742
1736
|
statuses: Pe,
|
|
1743
1737
|
readOnly: !1,
|
|
1744
1738
|
entityListId: w,
|
|
1745
|
-
annotations:
|
|
1739
|
+
annotations: A,
|
|
1746
1740
|
removeAnnotation: T,
|
|
1747
1741
|
exportAnnotationComposite: v,
|
|
1748
1742
|
isSlideOut: g
|
|
1749
1743
|
}
|
|
1750
1744
|
),
|
|
1751
|
-
|
|
1752
|
-
|
|
1745
|
+
$ === "subtasks" && N === "task" && M?.id && Q && /* @__PURE__ */ i(
|
|
1746
|
+
us,
|
|
1753
1747
|
{
|
|
1754
1748
|
projectName: z,
|
|
1755
1749
|
taskId: M.id,
|
|
@@ -1761,33 +1755,33 @@ const Tn = S(Me)`
|
|
|
1761
1755
|
onNotFound: () => V("feed")
|
|
1762
1756
|
}
|
|
1763
1757
|
),
|
|
1764
|
-
|
|
1765
|
-
|
|
1758
|
+
$ === "files" && /* @__PURE__ */ i(
|
|
1759
|
+
$n,
|
|
1766
1760
|
{
|
|
1767
|
-
entities:
|
|
1761
|
+
entities: L,
|
|
1768
1762
|
scope: x,
|
|
1769
1763
|
isLoadingVersion: ae
|
|
1770
1764
|
}
|
|
1771
1765
|
),
|
|
1772
|
-
|
|
1773
|
-
|
|
1766
|
+
$ === "details" && /* @__PURE__ */ i(
|
|
1767
|
+
Xn,
|
|
1774
1768
|
{
|
|
1775
1769
|
entityType: N,
|
|
1776
|
-
entities:
|
|
1777
|
-
activeUsers:
|
|
1770
|
+
entities: L,
|
|
1771
|
+
activeUsers: h || [],
|
|
1778
1772
|
projectInfo: Ie,
|
|
1779
1773
|
projectName: z,
|
|
1780
1774
|
disabled: !Re(),
|
|
1781
1775
|
scope: x,
|
|
1782
1776
|
statuses: Pe,
|
|
1783
1777
|
readOnly: !1,
|
|
1784
|
-
annotations:
|
|
1778
|
+
annotations: A,
|
|
1785
1779
|
removeAnnotation: T,
|
|
1786
1780
|
exportAnnotationComposite: v,
|
|
1787
1781
|
children: /* @__PURE__ */ i(
|
|
1788
|
-
|
|
1782
|
+
Ht,
|
|
1789
1783
|
{
|
|
1790
|
-
entities:
|
|
1784
|
+
entities: L,
|
|
1791
1785
|
isLoading: ae
|
|
1792
1786
|
}
|
|
1793
1787
|
)
|
|
@@ -1803,8 +1797,8 @@ const Tn = S(Me)`
|
|
|
1803
1797
|
...t
|
|
1804
1798
|
}) => {
|
|
1805
1799
|
const { entities: o } = G();
|
|
1806
|
-
return !e && !o || !n && !o ? null : /* @__PURE__ */ i(
|
|
1807
|
-
},
|
|
1800
|
+
return !e && !o || !n && !o ? null : /* @__PURE__ */ i(hs, { ...t, entityType: n || o?.entityType });
|
|
1801
|
+
}, gs = xt`
|
|
1808
1802
|
from {
|
|
1809
1803
|
translate: 0 0;
|
|
1810
1804
|
}
|
|
@@ -1812,7 +1806,7 @@ to {
|
|
|
1812
1806
|
translate: calc(-100% - 8px) 0;
|
|
1813
1807
|
|
|
1814
1808
|
}
|
|
1815
|
-
`,
|
|
1809
|
+
`, fs = S.div`
|
|
1816
1810
|
position: absolute;
|
|
1817
1811
|
left: 0;
|
|
1818
1812
|
top: 0;
|
|
@@ -1821,42 +1815,42 @@ to {
|
|
|
1821
1815
|
width: 100%;
|
|
1822
1816
|
max-width: 533px;
|
|
1823
1817
|
|
|
1824
|
-
animation: ${
|
|
1825
|
-
`,
|
|
1826
|
-
const { slideOut: t, onOpenViewer: o } = G(), { entityType: s, entityId: a, projectName: r } = t || {},
|
|
1827
|
-
return
|
|
1818
|
+
animation: ${gs} 0.2s ease forwards;
|
|
1819
|
+
`, ma = ({ projectsInfo: e, scope: n }) => {
|
|
1820
|
+
const { slideOut: t, onOpenViewer: o } = G(), { entityType: s, entityId: a, projectName: r } = t || {}, l = !!s && !!a && !!r, { data: h } = ze({ projectName: r }, { skip: !r }), f = e[r || ""] || {}, { tags: u = [] } = f, { closeSlideOut: g } = G(), b = () => g(), x = (j) => o?.(j);
|
|
1821
|
+
return l ? /* @__PURE__ */ i(fs, { children: /* @__PURE__ */ i(
|
|
1828
1822
|
ms,
|
|
1829
1823
|
{
|
|
1830
1824
|
isOpen: !0,
|
|
1831
1825
|
entityType: s,
|
|
1832
1826
|
entitySubTypes: [],
|
|
1833
1827
|
entities: [{ id: a, projectName: r }],
|
|
1834
|
-
projectsInfo: { [r]:
|
|
1828
|
+
projectsInfo: { [r]: f },
|
|
1835
1829
|
projectNames: [r],
|
|
1836
1830
|
tagsOptions: u,
|
|
1837
|
-
projectUsers:
|
|
1838
|
-
activeProjectUsers:
|
|
1831
|
+
projectUsers: h,
|
|
1832
|
+
activeProjectUsers: h,
|
|
1839
1833
|
isSlideOut: !0,
|
|
1840
1834
|
scope: n,
|
|
1841
|
-
onClose:
|
|
1835
|
+
onClose: b,
|
|
1842
1836
|
onOpenViewer: x
|
|
1843
1837
|
}
|
|
1844
1838
|
) }) : null;
|
|
1845
1839
|
};
|
|
1846
|
-
S(
|
|
1840
|
+
S(Cn)`
|
|
1847
1841
|
.p-dialog-header-icons {
|
|
1848
1842
|
display: none;
|
|
1849
1843
|
}
|
|
1850
1844
|
.p-dialog-content {
|
|
1851
1845
|
}
|
|
1852
1846
|
`;
|
|
1853
|
-
const
|
|
1847
|
+
const bs = S.div`
|
|
1854
1848
|
display: flex;
|
|
1855
1849
|
flex-direction: column;
|
|
1856
1850
|
margin: -8px;
|
|
1857
1851
|
width: calc(100% + 16px);
|
|
1858
1852
|
height: calc(100% + 16px);
|
|
1859
|
-
`,
|
|
1853
|
+
`, vs = S.header`
|
|
1860
1854
|
display: flex;
|
|
1861
1855
|
align-items: flex-start;
|
|
1862
1856
|
gap: var(--base-gap-large);
|
|
@@ -1868,7 +1862,7 @@ const fs = S.div`
|
|
|
1868
1862
|
display: none;
|
|
1869
1863
|
}
|
|
1870
1864
|
}
|
|
1871
|
-
`,
|
|
1865
|
+
`, ys = S.div`
|
|
1872
1866
|
display: flex;
|
|
1873
1867
|
flex-direction: column;
|
|
1874
1868
|
height: 100%;
|
|
@@ -1905,12 +1899,12 @@ const fs = S.div`
|
|
|
1905
1899
|
align-items: center;
|
|
1906
1900
|
gap: var(--base-gap-medium);
|
|
1907
1901
|
}
|
|
1908
|
-
`,
|
|
1902
|
+
`, ks = S.div`
|
|
1909
1903
|
display: flex;
|
|
1910
1904
|
justify-content: space-between;
|
|
1911
1905
|
padding: 8px;
|
|
1912
1906
|
padding-top: 0;
|
|
1913
|
-
`,
|
|
1907
|
+
`, ws = S.div`
|
|
1914
1908
|
border-top: solid 1px var(--md-sys-color-outline-variant);
|
|
1915
1909
|
height: 100%;
|
|
1916
1910
|
overflow: hidden;
|
|
@@ -1929,7 +1923,7 @@ const fs = S.div`
|
|
|
1929
1923
|
display: none;
|
|
1930
1924
|
}
|
|
1931
1925
|
}
|
|
1932
|
-
`,
|
|
1926
|
+
`, xs = S.div`
|
|
1933
1927
|
display: flex;
|
|
1934
1928
|
align-items: center;
|
|
1935
1929
|
gap: var(--base-gap-small);
|
|
@@ -1940,53 +1934,53 @@ const fs = S.div`
|
|
|
1940
1934
|
.icon {
|
|
1941
1935
|
font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 300, 'opsz' 20;
|
|
1942
1936
|
}
|
|
1943
|
-
`,
|
|
1944
|
-
const { pip: e } = G(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((v) => v.projectName), { data: r = [] } =
|
|
1937
|
+
`, ga = () => {
|
|
1938
|
+
const { pip: e } = G(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((v) => v.projectName), { data: r = [] } = Pt({ projects: a }, { skip: !s }), { data: l = {}, isFetching: h } = It(
|
|
1945
1939
|
{
|
|
1946
1940
|
projects: a
|
|
1947
1941
|
},
|
|
1948
1942
|
{ skip: !s }
|
|
1949
|
-
),
|
|
1950
|
-
() => et(
|
|
1951
|
-
[
|
|
1943
|
+
), f = P(
|
|
1944
|
+
() => et(l, a),
|
|
1945
|
+
[l, a]
|
|
1952
1946
|
), { data: u = [], isFetching: g } = Ge(
|
|
1953
1947
|
// @ts-expect-error
|
|
1954
1948
|
{ entityType: n, entities: t },
|
|
1955
1949
|
{
|
|
1956
|
-
skip: !s ||
|
|
1950
|
+
skip: !s || h
|
|
1957
1951
|
}
|
|
1958
|
-
),
|
|
1959
|
-
() => nt(
|
|
1960
|
-
[
|
|
1952
|
+
), b = P(
|
|
1953
|
+
() => nt(l, a),
|
|
1954
|
+
[l, a]
|
|
1961
1955
|
), x = P(
|
|
1962
1956
|
() => ({
|
|
1963
|
-
task:
|
|
1964
|
-
folder:
|
|
1965
|
-
product:
|
|
1957
|
+
task: b.taskTypes.filter((v) => !!v.icon).reduce((v, w) => ({ ...v, [w.name]: w.icon }), {}),
|
|
1958
|
+
folder: b.folderTypes.filter((v) => !!v.icon).reduce((v, w) => ({ ...v, [w.name]: w.icon }), {}),
|
|
1959
|
+
product: b.productTypes.filter((v) => !!v.icon).reduce((v, w) => ({ ...v, [w.name]: w.icon }), {})
|
|
1966
1960
|
}),
|
|
1967
|
-
[
|
|
1968
|
-
),
|
|
1961
|
+
[b]
|
|
1962
|
+
), j = P(
|
|
1969
1963
|
() => n ? Xe(u, n, x) : [],
|
|
1970
1964
|
[u, n]
|
|
1971
1965
|
), R = P(() => r.filter((v) => u.some((w) => w?.task?.assignees?.includes(v.name))).map((v) => ({ ...v, avatarUrl: `/api/users/${v.name}/avatar` })), [r, t]), E = u[0];
|
|
1972
1966
|
if (!u.length || !E) return null;
|
|
1973
1967
|
if (g) return /* @__PURE__ */ i("div", { children: "Loading..." });
|
|
1974
|
-
const
|
|
1968
|
+
const c = E?.projectName, C = u.some((v) => v?.status !== E?.status) ? {
|
|
1975
1969
|
icon: "question_mark",
|
|
1976
1970
|
color: "var(--md-sys-color-surface-container-highest)",
|
|
1977
1971
|
name: "Mixed statuses"
|
|
1978
|
-
} :
|
|
1972
|
+
} : f.find((v) => v.name === E?.status) || {
|
|
1979
1973
|
icon: "",
|
|
1980
1974
|
color: "",
|
|
1981
1975
|
name: "None"
|
|
1982
1976
|
};
|
|
1983
1977
|
if (!n) return null;
|
|
1984
|
-
const { title:
|
|
1985
|
-
return /* @__PURE__ */ i(
|
|
1986
|
-
/* @__PURE__ */ k(
|
|
1987
|
-
/* @__PURE__ */ i(Qe, { thumbnails:
|
|
1988
|
-
/* @__PURE__ */ k(
|
|
1989
|
-
/* @__PURE__ */ i("h2", { children:
|
|
1978
|
+
const { title: A, subTitle: T } = Ze(u, n);
|
|
1979
|
+
return /* @__PURE__ */ i(tn, { children: /* @__PURE__ */ i(Ke, { projectName: c, children: /* @__PURE__ */ k(bs, { children: [
|
|
1980
|
+
/* @__PURE__ */ k(vs, { children: [
|
|
1981
|
+
/* @__PURE__ */ i(Qe, { thumbnails: j }),
|
|
1982
|
+
/* @__PURE__ */ k(ys, { children: [
|
|
1983
|
+
/* @__PURE__ */ i("h2", { children: A }),
|
|
1990
1984
|
/* @__PURE__ */ k("div", { className: "sub-title", children: [
|
|
1991
1985
|
/* @__PURE__ */ k("span", { children: [
|
|
1992
1986
|
qe(n),
|
|
@@ -1996,9 +1990,9 @@ const fs = S.div`
|
|
|
1996
1990
|
] })
|
|
1997
1991
|
] })
|
|
1998
1992
|
] }),
|
|
1999
|
-
/* @__PURE__ */ k(
|
|
1993
|
+
/* @__PURE__ */ k(ks, { children: [
|
|
2000
1994
|
/* @__PURE__ */ k(
|
|
2001
|
-
|
|
1995
|
+
xs,
|
|
2002
1996
|
{
|
|
2003
1997
|
style: {
|
|
2004
1998
|
backgroundColor: C?.color,
|
|
@@ -2012,40 +2006,40 @@ const fs = S.div`
|
|
|
2012
2006
|
),
|
|
2013
2007
|
/* @__PURE__ */ i(yt, { users: R, style: { pointerEvents: "none" } })
|
|
2014
2008
|
] }),
|
|
2015
|
-
/* @__PURE__ */ i(
|
|
2009
|
+
/* @__PURE__ */ i(ws, { children: /* @__PURE__ */ i(
|
|
2016
2010
|
tt,
|
|
2017
2011
|
{
|
|
2018
2012
|
entityType: n,
|
|
2019
2013
|
entities: u,
|
|
2020
2014
|
thumbnailHash: E?.thumbnailHash,
|
|
2021
2015
|
activeUsers: [],
|
|
2022
|
-
projectInfo: c
|
|
2023
|
-
projectName:
|
|
2016
|
+
projectInfo: l[c],
|
|
2017
|
+
projectName: c,
|
|
2024
2018
|
disabled: !1,
|
|
2025
2019
|
scope: o,
|
|
2026
2020
|
readOnly: !0,
|
|
2027
|
-
statuses:
|
|
2021
|
+
statuses: f
|
|
2028
2022
|
}
|
|
2029
2023
|
) })
|
|
2030
2024
|
] }) }) });
|
|
2031
2025
|
};
|
|
2032
2026
|
export {
|
|
2033
2027
|
Lt as AssigneeSelect,
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2028
|
+
va as CloseButton,
|
|
2029
|
+
Rt as Content,
|
|
2030
|
+
ya as ContentRow,
|
|
2037
2031
|
ms as DetailsPanel,
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2032
|
+
ga as DetailsPanelFloating,
|
|
2033
|
+
ma as DetailsPanelSlideOut,
|
|
2034
|
+
ka as Footer,
|
|
2035
|
+
Ot as Grid,
|
|
2036
|
+
jt as Header,
|
|
2037
|
+
At as HeaderContainer,
|
|
2038
|
+
wa as LabelWrapper,
|
|
2039
|
+
_t as PriorityEnumDropdown,
|
|
2040
|
+
$t as StatusSelect,
|
|
2041
|
+
Vt as TagsSelect,
|
|
2042
|
+
xa as ThumbnailWrapper,
|
|
2043
|
+
Ut as Title,
|
|
2044
|
+
ps as entitiesWithoutFeed
|
|
2051
2045
|
};
|