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