@ynput/ayon-frontend-shared 0.6.4 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.es.js +480 -477
- package/dist/ListTable.es.js +24 -25
- package/dist/NewEntity.es.js +6 -7
- package/dist/ProjectTreeTable.es.js +2018 -2006
- package/dist/Views.es.js +28 -28
- package/dist/api.es.js +291 -289
- package/dist/chunks/Actions.es.js +12 -12
- package/dist/chunks/ColumnDropIndicator.es.js +8 -9
- package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +31 -25
- package/dist/chunks/DeleteEntitiesContextInstance.es.js +1 -1
- package/dist/chunks/DetailsDialog.es.js +1 -1
- package/dist/chunks/EmptyPlaceholder.es.js +13 -12
- package/dist/chunks/EntityPath.es.js +67 -67
- package/dist/chunks/EntityPickerDialog.es.js +1 -1
- package/dist/chunks/EntityTooltip.es.js +8 -8
- package/dist/chunks/Feed.es.js +1742 -1734
- package/dist/chunks/Menu.es.js +168 -166
- package/dist/chunks/MenuItem.es.js +112 -77
- package/dist/chunks/MetaWidget.es.js +1283 -1279
- package/dist/chunks/PlayableIcon.es.js +458 -451
- package/dist/chunks/ProjectContext.es.js +20 -20
- package/dist/chunks/RepresentationsList.es.js +9 -9
- package/dist/chunks/ReviewablesSelector.es.js +1504 -1374
- package/dist/chunks/SimpleForm.es.js +78 -75
- package/dist/chunks/Slicer.es.js +68 -69
- package/dist/chunks/ThumbnailSimple.es.js +4 -4
- package/dist/chunks/Watchers.es.js +104 -105
- package/dist/chunks/activeEntities.es.js +58 -0
- package/dist/chunks/columnConfigConverter.es.js +57 -63
- package/dist/chunks/getUris.es.js +1014 -960
- package/dist/chunks/iconUtils.es.js +151 -0
- package/dist/chunks/queryFilterToClientFilter.es.js +90 -81
- package/dist/chunks/realtimeUpdatesUtils.es.js +113 -80
- package/dist/chunks/searchTerms.es.js +332 -247
- package/dist/chunks/useAttributeEnums.es.js +34 -34
- package/dist/chunks/viewUpdateHelper.es.js +11 -11
- package/dist/components.es.js +340 -337
- package/dist/context.es.js +48 -48
- package/dist/hooks.es.js +34 -34
- package/dist/index.es.js +1 -1
- package/dist/types/ContextMenu.d.ts +1 -1
- package/dist/types/Feed.d.ts +2 -2
- package/dist/types/ListTable.d.ts +1 -1
- package/dist/types/ProjectTreeTable.d.ts +7 -6
- package/dist/types/SimpleTable.d.ts +1 -1
- package/dist/types/Slicer.d.ts +6 -6
- package/dist/types/Views.d.ts +6 -6
- package/dist/types/api.d.ts +554 -176
- package/dist/types/components.d.ts +73 -11
- package/dist/types/context.d.ts +7 -7
- package/dist/types/util.d.ts +238 -3
- package/dist/util.es.js +127 -114
- package/package.json +1 -1
- package/dist/chunks/extractEntityHierarchyFromParents.es.js +0 -28
- package/dist/chunks/parseHtmlToPlainTextWithLinks.es.js +0 -138
package/dist/DetailsPanel.es.js
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { jsxs as k, jsx as i, Fragment as
|
|
2
|
-
import { Toolbar as
|
|
3
|
-
import { useEffect as H, useRef as
|
|
4
|
-
import
|
|
5
|
-
import { bo as
|
|
6
|
-
import {
|
|
1
|
+
import { jsxs as k, jsx as i, Fragment as Ie } from "react/jsx-runtime";
|
|
2
|
+
import { Toolbar as ze, Panel as ft, Button as Z, Spacer as Ge, Icon as fe, getTextColor as Ee, Dialog as bt, SEARCH_FILTER_ID as Qe, buildFilterId as Se, getFilterFromId as vt, SearchFilter as yt, AssigneeField as kt } from "@ynput/ayon-react-components";
|
|
3
|
+
import { useEffect as H, useRef as ee, useMemo as D, useState as X, useContext as wt, useId as xt } from "react";
|
|
4
|
+
import T, { keyframes as St } from "styled-components";
|
|
5
|
+
import { bo as Ct } from "./chunks/searchTerms.es.js";
|
|
6
|
+
import { bm as Tt, bK as Nt, bZ as Et, ct as qe, bu as Ke, t as Dt, bO as It, c8 as Pt } from "./chunks/getUris.es.js";
|
|
7
7
|
import "primereact/confirmdialog";
|
|
8
|
-
import { c as
|
|
9
|
-
import { O as
|
|
10
|
-
import { E as
|
|
11
|
-
import { union as ue, upperFirst as
|
|
8
|
+
import { c as Ft, y as At, H as Ot, G as Rt, z as jt, w as Xe, A as Vt, B as Ut, E as $t, I as Lt, J as _t, K as Mt, N as Ht, W as Bt, s as Wt } from "./chunks/Watchers.es.js";
|
|
9
|
+
import { O as wa, Q as xa, V as Sa, X as Ca, T as Ta } from "./chunks/Watchers.es.js";
|
|
10
|
+
import { E as zt, R as Gt, a as Qt } from "./chunks/EntityPath.es.js";
|
|
11
|
+
import { union as ue, upperFirst as Je } from "lodash";
|
|
12
12
|
import "react-toastify";
|
|
13
13
|
import "uuid";
|
|
14
|
-
import {
|
|
14
|
+
import { a as qt, b as Kt, A as _e, e as Xt } from "./chunks/activeEntities.es.js";
|
|
15
15
|
import "@module-federation/enhanced/runtime";
|
|
16
|
-
import { v as q, u as
|
|
16
|
+
import { v as q, u as Jt, T as Yt, a6 as Zt, a0 as en, a8 as tn, B as nn, a7 as sn, X as an } from "./chunks/DeleteEntitiesContextInstance.es.js";
|
|
17
17
|
import "semver";
|
|
18
|
-
import { T as
|
|
18
|
+
import { T as on, P as Ye } from "./chunks/ProjectContext.es.js";
|
|
19
19
|
import "react-dom";
|
|
20
20
|
import "react-redux";
|
|
21
21
|
import ie from "clsx";
|
|
22
|
-
import { A as
|
|
22
|
+
import { A as rn } from "./chunks/Actions.es.js";
|
|
23
23
|
import "./chunks/ContextMenuContextInstance.es.js";
|
|
24
24
|
import { g as Ce } from "./chunks/getEntityTypeIcon.es.js";
|
|
25
|
-
import { P as
|
|
26
|
-
import { R as
|
|
27
|
-
import { I as
|
|
28
|
-
import { M as
|
|
29
|
-
import { D as
|
|
30
|
-
import { u as
|
|
31
|
-
import { p as
|
|
32
|
-
import { c as
|
|
33
|
-
import { u as
|
|
34
|
-
import { c as
|
|
35
|
-
import { A as
|
|
36
|
-
import {
|
|
37
|
-
import { t as
|
|
38
|
-
import { u as
|
|
39
|
-
import { e as
|
|
25
|
+
import { P as ln } from "./chunks/PlayableIcon.es.js";
|
|
26
|
+
import { R as cn } from "./chunks/RepresentationsList.es.js";
|
|
27
|
+
import { I as dn } from "./chunks/InfoMessage.es.js";
|
|
28
|
+
import { M as un, a as pn } from "./chunks/Menu.es.js";
|
|
29
|
+
import { D as hn } from "./chunks/DetailsDialog.es.js";
|
|
30
|
+
import { u as mn } from "./chunks/VersionUploadContextInstance.es.js";
|
|
31
|
+
import { p as gn } from "./chunks/pluralize.es.js";
|
|
32
|
+
import { c as fn } from "./chunks/copyToClipboard.es.js";
|
|
33
|
+
import { u as bn } from "./chunks/useQueryArgumentChangeLoading.es.js";
|
|
34
|
+
import { c as Ze, b as vn } from "./chunks/Feed.es.js";
|
|
35
|
+
import { A as yn, C as kn } from "./chunks/ThumbnailSimple.es.js";
|
|
36
|
+
import { o as wn, k as xn } from "./chunks/MetaWidget.es.js";
|
|
37
|
+
import { t as Sn, c as Cn } from "./chunks/queryFilterToClientFilter.es.js";
|
|
38
|
+
import { u as Tn } from "./chunks/useDateRangeFilter.es.js";
|
|
39
|
+
import { e as Nn } from "./chunks/expandRelativeDates.es.js";
|
|
40
40
|
import "axios";
|
|
41
41
|
import "@dnd-kit/core";
|
|
42
42
|
import "@dnd-kit/sortable";
|
|
43
43
|
import "@dnd-kit/utilities";
|
|
44
44
|
import "custom-protocol-check";
|
|
45
45
|
import "./chunks/SimpleForm.es.js";
|
|
46
|
-
import { Dialog as
|
|
47
|
-
function
|
|
46
|
+
import { Dialog as En } from "primereact/dialog";
|
|
47
|
+
function Dn({
|
|
48
48
|
entityData: e,
|
|
49
49
|
project: n,
|
|
50
50
|
activeEntityType: t,
|
|
@@ -60,7 +60,7 @@ function Nn({
|
|
|
60
60
|
c !== m && window.history.replaceState(window.history.state, "", c);
|
|
61
61
|
}, [e, n, t, o]);
|
|
62
62
|
}
|
|
63
|
-
const
|
|
63
|
+
const In = T(ze)`
|
|
64
64
|
display: flex;
|
|
65
65
|
justify-content: space-between;
|
|
66
66
|
align-items: flex-start;
|
|
@@ -72,7 +72,7 @@ const Dn = C(We)`
|
|
|
72
72
|
& > * {
|
|
73
73
|
min-width: max-content;
|
|
74
74
|
}
|
|
75
|
-
`,
|
|
75
|
+
`, Pn = T.div`
|
|
76
76
|
display: flex;
|
|
77
77
|
align-items: flex-start;
|
|
78
78
|
gap: 4px;
|
|
@@ -81,28 +81,28 @@ const Dn = C(We)`
|
|
|
81
81
|
right: 0;
|
|
82
82
|
padding: var(--padding-m);
|
|
83
83
|
background-color: var(--md-sys-color-surface-container-low);
|
|
84
|
-
`,
|
|
84
|
+
`, Fn = T(ft)`
|
|
85
85
|
gap: 0px;
|
|
86
86
|
height: 100%;
|
|
87
87
|
padding: 0px;
|
|
88
88
|
box-shadow: -2px 0 6px #00000047;
|
|
89
89
|
z-index: 300;
|
|
90
|
-
`,
|
|
90
|
+
`, An = T(ze)`
|
|
91
91
|
border-radius: 8px 8px 0 0;
|
|
92
92
|
gap: var(--base-gap-small) !important;
|
|
93
93
|
position: relative;
|
|
94
94
|
z-index: 100;
|
|
95
95
|
grid-column: span 2;
|
|
96
|
-
`,
|
|
96
|
+
`, On = ["product", "representation"], Rn = ["task"], jn = ({
|
|
97
97
|
entityType: e,
|
|
98
98
|
currentTab: n,
|
|
99
99
|
onTabChange: t,
|
|
100
100
|
isLoading: o
|
|
101
101
|
}) => {
|
|
102
|
-
const s = !
|
|
103
|
-
return /* @__PURE__ */ k(
|
|
102
|
+
const s = !On.includes(e), a = Rn.includes(e);
|
|
103
|
+
return /* @__PURE__ */ k(An, { className: o ? "loading" : "", children: [
|
|
104
104
|
s && /* @__PURE__ */ i(
|
|
105
|
-
|
|
105
|
+
Z,
|
|
106
106
|
{
|
|
107
107
|
icon: "forum",
|
|
108
108
|
selected: n === "feed",
|
|
@@ -113,7 +113,7 @@ const Dn = C(We)`
|
|
|
113
113
|
}
|
|
114
114
|
),
|
|
115
115
|
a && /* @__PURE__ */ i(
|
|
116
|
-
|
|
116
|
+
Z,
|
|
117
117
|
{
|
|
118
118
|
icon: "checklist",
|
|
119
119
|
selected: n === "subtasks",
|
|
@@ -123,9 +123,9 @@ const Dn = C(We)`
|
|
|
123
123
|
variant: "text"
|
|
124
124
|
}
|
|
125
125
|
),
|
|
126
|
-
/* @__PURE__ */ i(
|
|
126
|
+
/* @__PURE__ */ i(Ge, {}),
|
|
127
127
|
e === "version" && /* @__PURE__ */ i(
|
|
128
|
-
|
|
128
|
+
Z,
|
|
129
129
|
{
|
|
130
130
|
icon: "order_play",
|
|
131
131
|
onClick: () => t("files"),
|
|
@@ -136,7 +136,7 @@ const Dn = C(We)`
|
|
|
136
136
|
}
|
|
137
137
|
),
|
|
138
138
|
/* @__PURE__ */ i(
|
|
139
|
-
|
|
139
|
+
Z,
|
|
140
140
|
{
|
|
141
141
|
onClick: () => t("details"),
|
|
142
142
|
selected: n === "details",
|
|
@@ -146,12 +146,12 @@ const Dn = C(We)`
|
|
|
146
146
|
}
|
|
147
147
|
)
|
|
148
148
|
] });
|
|
149
|
-
},
|
|
149
|
+
}, Vn = T.div`
|
|
150
150
|
display: flex;
|
|
151
151
|
align-items: center;
|
|
152
152
|
gap: var(--base-gap-small);
|
|
153
153
|
overflow: hidden;
|
|
154
|
-
`,
|
|
154
|
+
`, Un = T.button`
|
|
155
155
|
display: inline-flex;
|
|
156
156
|
align-items: center;
|
|
157
157
|
gap: var(--base-gap-small);
|
|
@@ -173,14 +173,14 @@ const Dn = C(We)`
|
|
|
173
173
|
text-overflow: ellipsis;
|
|
174
174
|
white-space: nowrap;
|
|
175
175
|
}
|
|
176
|
-
`,
|
|
176
|
+
`, $n = ({ entity: e, taskTypes: n }) => {
|
|
177
177
|
const { openSlideOut: t } = q(), { projectName: o } = e, s = e.task?.name ? e.task : void 0;
|
|
178
178
|
if (!s?.id) return null;
|
|
179
179
|
const a = n.find((r) => r.name === s.taskType);
|
|
180
|
-
return /* @__PURE__ */ k(
|
|
180
|
+
return /* @__PURE__ */ k(Vn, { className: "linked-task", children: [
|
|
181
181
|
/* @__PURE__ */ i("span", { children: "Task" }),
|
|
182
182
|
/* @__PURE__ */ k(
|
|
183
|
-
|
|
183
|
+
Un,
|
|
184
184
|
{
|
|
185
185
|
onClick: () => t({ entityId: s.id, entityType: "task", projectName: o }),
|
|
186
186
|
children: [
|
|
@@ -190,7 +190,7 @@ const Dn = C(We)`
|
|
|
190
190
|
}
|
|
191
191
|
)
|
|
192
192
|
] });
|
|
193
|
-
},
|
|
193
|
+
}, et = (e, n, t) => {
|
|
194
194
|
if (!e[0]) return [];
|
|
195
195
|
if (n === "representation") return [{ icon: "view_in_ar" }];
|
|
196
196
|
const o = (s) => {
|
|
@@ -210,11 +210,11 @@ const Dn = C(We)`
|
|
|
210
210
|
thumbnailHash: s.thumbnailHash,
|
|
211
211
|
projectName: s.projectName
|
|
212
212
|
}));
|
|
213
|
-
}, Te = (e) => e.filter((n) => !!n.icon).reduce((n, t) => ({ ...n, [t.name]: t.icon }), {}),
|
|
213
|
+
}, Te = (e) => e.filter((n) => !!n.icon).reduce((n, t) => ({ ...n, [t.name]: t.icon }), {}), tt = (e) => ({
|
|
214
214
|
task: Te(e.taskTypes),
|
|
215
215
|
folder: Te(e.folderTypes),
|
|
216
216
|
product: Te(e.productTypes)
|
|
217
|
-
}),
|
|
217
|
+
}), nt = (e, n) => {
|
|
218
218
|
const t = e.length > 1, o = e[0];
|
|
219
219
|
if (t)
|
|
220
220
|
return {
|
|
@@ -249,7 +249,7 @@ const Dn = C(We)`
|
|
|
249
249
|
subTitle: o.entityType || "Unknown Type"
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
|
-
},
|
|
252
|
+
}, Ln = ({
|
|
253
253
|
entityType: e,
|
|
254
254
|
entitySubTypes: n,
|
|
255
255
|
entities: t = [],
|
|
@@ -267,18 +267,18 @@ const Dn = C(We)`
|
|
|
267
267
|
thumbnailInputRef: R,
|
|
268
268
|
versionsInputRef: j
|
|
269
269
|
}) => {
|
|
270
|
-
const { useSearchParams:
|
|
270
|
+
const { useSearchParams: P, useNavigate: d, bundleMode: u } = q(), h = d(), [N, A] = P(), E = ee(null), y = D(() => tt(g), [g]), w = Ft(
|
|
271
271
|
t.map((l) => l.projectName),
|
|
272
272
|
[e]
|
|
273
|
-
), O =
|
|
273
|
+
), O = D(() => e === "task" ? ue(...t.map((l) => l.task?.assignees || [])) : e === "version" ? ue(
|
|
274
274
|
...t.map((l) => {
|
|
275
|
-
const
|
|
276
|
-
return Array.isArray(
|
|
275
|
+
const C = l.version?.author;
|
|
276
|
+
return Array.isArray(C) ? C : C ? [C] : [];
|
|
277
277
|
})
|
|
278
278
|
) : [], [t, e]);
|
|
279
|
-
let
|
|
280
|
-
const L = t.length === 0 || !
|
|
281
|
-
|
|
279
|
+
let V = t[0];
|
|
280
|
+
const L = t.length === 0 || !V || c;
|
|
281
|
+
V || (V = {
|
|
282
282
|
parents: [],
|
|
283
283
|
id: "placeholder",
|
|
284
284
|
name: "loading...",
|
|
@@ -293,87 +293,87 @@ const Dn = C(We)`
|
|
|
293
293
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
294
294
|
path: ""
|
|
295
295
|
});
|
|
296
|
-
const
|
|
297
|
-
t.filter((l) => l.projectName ===
|
|
298
|
-
const { data:
|
|
299
|
-
() =>
|
|
300
|
-
[t, e,
|
|
301
|
-
),
|
|
302
|
-
() => r.reduce((l,
|
|
296
|
+
const te = t.length > 1 ? void 0 : V?.projectName;
|
|
297
|
+
t.filter((l) => l.projectName === V?.projectName && l.id).map((l) => l.id);
|
|
298
|
+
const { data: ne } = Tt({ attributeName: "priority" }), se = qt(ne, e), ae = D(
|
|
299
|
+
() => et(t, e, y),
|
|
300
|
+
[t, e, y]
|
|
301
|
+
), I = D(() => t.map((l) => l.status), [t]), oe = D(() => t.map((l) => l.attrib?.priority), [t]), J = D(() => t.map((l) => l.tags), [t]), re = D(
|
|
302
|
+
() => r.reduce((l, C) => (l[C.name] = C, l), {}),
|
|
303
303
|
[r]
|
|
304
|
-
), K = t.length > 1, le = !K && !!
|
|
304
|
+
), K = t.length > 1, le = !K && !!V?.hasReviewables, $ = ae.length === 1, { attribAccess: U, updateEntity: ce } = At({
|
|
305
305
|
entities: t,
|
|
306
306
|
entityType: e
|
|
307
|
-
}), { writableFields: B } =
|
|
308
|
-
if (!(l !== "attrib" && B && !B.includes(l)) && !(l === "assignees" && !
|
|
309
|
-
return
|
|
307
|
+
}), { writableFields: B } = U, be = !B || B.includes("status"), he = !B || B.includes("tags"), S = e === "task" && (!B || B.includes("assignees")), Y = (l, C) => {
|
|
308
|
+
if (!(l !== "attrib" && B && !B.includes(l)) && !(l === "assignees" && !S))
|
|
309
|
+
return C == null ? console.error("value is null or undefined") : ce(l, C);
|
|
310
310
|
}, ve = () => {
|
|
311
|
-
let l,
|
|
312
|
-
e === "version" &&
|
|
313
|
-
[z]:
|
|
314
|
-
projectName:
|
|
311
|
+
let l, C = V.id, z = e + "Id";
|
|
312
|
+
e === "version" && V.product?.id && (l = [V.id], C = V.product?.id, z = "productId"), C && b({
|
|
313
|
+
[z]: C,
|
|
314
|
+
projectName: te,
|
|
315
315
|
versionIds: l
|
|
316
316
|
});
|
|
317
|
-
}, me = (e === "task" || e === "version") && (O.length > 0 || e === "task"), Q = [...
|
|
317
|
+
}, me = (e === "task" || e === "version") && (O.length > 0 || e === "task"), Q = [...Ct(s, O)];
|
|
318
318
|
if (me) {
|
|
319
|
-
const l = s.map((z) => z.name),
|
|
320
|
-
|
|
319
|
+
const l = s.map((z) => z.name), C = O.filter((z) => !l.includes(z));
|
|
320
|
+
C.length && Q.push(...C.map((z) => ({ name: z, fullName: z })));
|
|
321
321
|
}
|
|
322
|
-
const { title: de, subTitle: ye } =
|
|
323
|
-
return /* @__PURE__ */ i(
|
|
324
|
-
|
|
322
|
+
const { title: de, subTitle: ye } = nt(t, e), W = w?.length !== 0 && w?.find((l) => l.name === I[0]);
|
|
323
|
+
return /* @__PURE__ */ i(Ot, { children: /* @__PURE__ */ i(
|
|
324
|
+
zt,
|
|
325
325
|
{
|
|
326
326
|
entities: t,
|
|
327
327
|
entityType: e,
|
|
328
|
-
projectName:
|
|
328
|
+
projectName: te,
|
|
329
329
|
thumbnailInputRef: R,
|
|
330
330
|
versionsInputRef: j,
|
|
331
331
|
onVersionCreated: (l) => x?.(l, "version"),
|
|
332
|
-
children: /* @__PURE__ */ k(
|
|
332
|
+
children: /* @__PURE__ */ k(Rt, { className: ie("details-panel-header", { isCompact: m }), children: [
|
|
333
333
|
/* @__PURE__ */ k(
|
|
334
|
-
|
|
334
|
+
jt,
|
|
335
335
|
{
|
|
336
336
|
className: ie("titles", { isCompact: m, loading: L }, "no-shimmer"),
|
|
337
337
|
children: [
|
|
338
338
|
/* @__PURE__ */ k("div", { style: { position: "relative" }, children: [
|
|
339
339
|
/* @__PURE__ */ i(
|
|
340
|
-
|
|
340
|
+
Xe,
|
|
341
341
|
{
|
|
342
342
|
isLoading: L,
|
|
343
343
|
shimmer: L,
|
|
344
|
-
thumbnails:
|
|
344
|
+
thumbnails: ae,
|
|
345
345
|
onClick: $ ? ve : void 0,
|
|
346
346
|
hoverIcon: le ? "play_circle" : void 0
|
|
347
347
|
}
|
|
348
348
|
),
|
|
349
|
-
le && /* @__PURE__ */ i(
|
|
349
|
+
le && /* @__PURE__ */ i(ln, {})
|
|
350
350
|
] }),
|
|
351
|
-
/* @__PURE__ */ k(
|
|
351
|
+
/* @__PURE__ */ k(Vt, { className: ie({ loading: L }), children: [
|
|
352
352
|
/* @__PURE__ */ k(Ut, { children: [
|
|
353
353
|
/* @__PURE__ */ i("h2", { children: de }),
|
|
354
354
|
he ? /* @__PURE__ */ i(
|
|
355
|
-
|
|
355
|
+
$t,
|
|
356
356
|
{
|
|
357
|
-
ref:
|
|
357
|
+
ref: E,
|
|
358
358
|
value: ue(...J),
|
|
359
359
|
tags: re,
|
|
360
360
|
options: [],
|
|
361
361
|
editable: !0,
|
|
362
362
|
editor: !0,
|
|
363
|
-
onChange: (l) =>
|
|
363
|
+
onChange: (l) => Y("tags", l),
|
|
364
364
|
align: "right",
|
|
365
365
|
styleDropdown: { display: L ? "none" : "unset" },
|
|
366
366
|
className: "tags-select",
|
|
367
367
|
itemClassName: "details-tag"
|
|
368
368
|
}
|
|
369
|
-
) : /* @__PURE__ */ i(
|
|
370
|
-
const
|
|
369
|
+
) : /* @__PURE__ */ i(Lt, { className: "tags-select", children: ue(...J).length ? ue(...J).map((l) => {
|
|
370
|
+
const C = re[l]?.color;
|
|
371
371
|
return /* @__PURE__ */ i(
|
|
372
372
|
"span",
|
|
373
373
|
{
|
|
374
374
|
style: {
|
|
375
|
-
backgroundColor:
|
|
376
|
-
color:
|
|
375
|
+
backgroundColor: C || void 0,
|
|
376
|
+
color: C ? Ee(C) : void 0
|
|
377
377
|
},
|
|
378
378
|
children: l
|
|
379
379
|
},
|
|
@@ -383,78 +383,78 @@ const Dn = C(We)`
|
|
|
383
383
|
] }),
|
|
384
384
|
/* @__PURE__ */ k("div", { className: "sub-title", children: [
|
|
385
385
|
/* @__PURE__ */ k("span", { className: "entity-type", children: [
|
|
386
|
-
|
|
386
|
+
Je(e),
|
|
387
387
|
" - "
|
|
388
388
|
] }),
|
|
389
389
|
/* @__PURE__ */ i("h3", { children: ye })
|
|
390
390
|
] }),
|
|
391
|
-
e === "version" && !K && !L &&
|
|
392
|
-
|
|
391
|
+
e === "version" && !K && !L && V && /* @__PURE__ */ i(
|
|
392
|
+
$n,
|
|
393
393
|
{
|
|
394
|
-
entity:
|
|
394
|
+
entity: V,
|
|
395
395
|
taskTypes: g.taskTypes
|
|
396
396
|
},
|
|
397
|
-
|
|
397
|
+
V.id
|
|
398
398
|
)
|
|
399
399
|
] })
|
|
400
400
|
]
|
|
401
401
|
}
|
|
402
402
|
),
|
|
403
403
|
/* @__PURE__ */ i(
|
|
404
|
-
|
|
404
|
+
_t,
|
|
405
405
|
{
|
|
406
|
-
value:
|
|
406
|
+
value: I,
|
|
407
407
|
options: w || [],
|
|
408
408
|
disabledValues: a,
|
|
409
409
|
disableOpen: !be,
|
|
410
410
|
invert: !0,
|
|
411
411
|
style: { maxWidth: "unset" },
|
|
412
|
-
onChange: (l) =>
|
|
412
|
+
onChange: (l) => Y("status", l),
|
|
413
413
|
className: ie("status-select", { loading: L }),
|
|
414
414
|
align: m ? "right" : "left",
|
|
415
|
-
$textColor:
|
|
415
|
+
$textColor: Ee(W !== void 0 ? W.color : "#OOO")
|
|
416
416
|
}
|
|
417
417
|
),
|
|
418
418
|
!m && (!me || L ? /* @__PURE__ */ i("div", {}) : /* @__PURE__ */ i(
|
|
419
|
-
|
|
419
|
+
Mt,
|
|
420
420
|
{
|
|
421
421
|
value: O,
|
|
422
422
|
options: Q,
|
|
423
423
|
disabledValues: o.map((l) => l.name),
|
|
424
424
|
isMultiple: K && O.length > 1 && e === "task",
|
|
425
|
-
readOnly: !
|
|
426
|
-
emptyMessage:
|
|
425
|
+
readOnly: !S,
|
|
426
|
+
emptyMessage: S ? "Assign user" : "-",
|
|
427
427
|
align: "right",
|
|
428
|
-
onChange: (l) =>
|
|
428
|
+
onChange: (l) => Y("assignees", l),
|
|
429
429
|
className: "assignee-select",
|
|
430
430
|
"data-tooltip": O.length ? e === "task" ? "Assigned users" : "Author" : ""
|
|
431
431
|
}
|
|
432
432
|
)),
|
|
433
433
|
/* @__PURE__ */ i(
|
|
434
|
-
|
|
434
|
+
rn,
|
|
435
435
|
{
|
|
436
436
|
entities: t,
|
|
437
437
|
entityType: e,
|
|
438
438
|
entitySubTypes: n,
|
|
439
439
|
isLoadingEntity: !!c || !!L,
|
|
440
|
-
searchParams:
|
|
440
|
+
searchParams: N,
|
|
441
441
|
bundleMode: u,
|
|
442
442
|
onSetSearchParams: A,
|
|
443
443
|
onNavigate: h
|
|
444
444
|
}
|
|
445
445
|
),
|
|
446
|
-
|
|
447
|
-
|
|
446
|
+
se ? /* @__PURE__ */ i(
|
|
447
|
+
Ht,
|
|
448
448
|
{
|
|
449
|
-
options:
|
|
449
|
+
options: se,
|
|
450
450
|
placeholder: "No priority",
|
|
451
|
-
value:
|
|
452
|
-
onChange: (l) =>
|
|
451
|
+
value: oe,
|
|
452
|
+
onChange: (l) => Y("attrib", { priority: l[0] }),
|
|
453
453
|
align: "right"
|
|
454
454
|
}
|
|
455
455
|
) : /* @__PURE__ */ i("div", { style: { height: 32 } }),
|
|
456
456
|
/* @__PURE__ */ i(
|
|
457
|
-
|
|
457
|
+
jn,
|
|
458
458
|
{
|
|
459
459
|
entityType: e,
|
|
460
460
|
currentTab: f,
|
|
@@ -465,13 +465,13 @@ const Dn = C(We)`
|
|
|
465
465
|
] })
|
|
466
466
|
}
|
|
467
467
|
) });
|
|
468
|
-
},
|
|
468
|
+
}, _n = T.div`
|
|
469
469
|
display: flex;
|
|
470
470
|
flex-direction: column;
|
|
471
471
|
|
|
472
472
|
height: 100%;
|
|
473
473
|
overflow: hidden;
|
|
474
|
-
`,
|
|
474
|
+
`, Me = T.div`
|
|
475
475
|
position: relative;
|
|
476
476
|
flex: 1;
|
|
477
477
|
display: flex;
|
|
@@ -485,7 +485,7 @@ const Dn = C(We)`
|
|
|
485
485
|
&:first-child {
|
|
486
486
|
border-bottom: 1px solid var(--md-sys-color-outline-variant);
|
|
487
487
|
}
|
|
488
|
-
`,
|
|
488
|
+
`, Mn = ({
|
|
489
489
|
entities: e = [],
|
|
490
490
|
scope: n,
|
|
491
491
|
isLoadingVersion: t
|
|
@@ -493,11 +493,11 @@ const Dn = C(We)`
|
|
|
493
493
|
const o = e[0];
|
|
494
494
|
if (!o) return null;
|
|
495
495
|
let s = "Reviewables";
|
|
496
|
-
return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(
|
|
497
|
-
/* @__PURE__ */ k(
|
|
496
|
+
return e.length > 1 && (s += ` (${o.name})`), e.some((a) => a.entityType !== "version") ? null : /* @__PURE__ */ k(_n, { children: [
|
|
497
|
+
/* @__PURE__ */ k(Me, { children: [
|
|
498
498
|
/* @__PURE__ */ i("h4", { children: s }),
|
|
499
499
|
/* @__PURE__ */ i(
|
|
500
|
-
|
|
500
|
+
Gt,
|
|
501
501
|
{
|
|
502
502
|
projectName: o.projectName,
|
|
503
503
|
productId: o.product?.id,
|
|
@@ -507,18 +507,18 @@ const Dn = C(We)`
|
|
|
507
507
|
}
|
|
508
508
|
)
|
|
509
509
|
] }),
|
|
510
|
-
/* @__PURE__ */ k(
|
|
510
|
+
/* @__PURE__ */ k(Me, { children: [
|
|
511
511
|
/* @__PURE__ */ i("h4", { children: "Representations" }),
|
|
512
|
-
/* @__PURE__ */ i(
|
|
512
|
+
/* @__PURE__ */ i(cn, { entities: e })
|
|
513
513
|
] })
|
|
514
514
|
] });
|
|
515
|
-
},
|
|
515
|
+
}, Hn = ({
|
|
516
516
|
latestVersion: e,
|
|
517
517
|
resolveVersionJump: n
|
|
518
518
|
}) => {
|
|
519
519
|
const t = n?.(e.id);
|
|
520
520
|
return /* @__PURE__ */ i(
|
|
521
|
-
|
|
521
|
+
dn,
|
|
522
522
|
{
|
|
523
523
|
variant: "info",
|
|
524
524
|
compact: !0,
|
|
@@ -532,16 +532,16 @@ const Dn = C(We)`
|
|
|
532
532
|
} : void 0
|
|
533
533
|
}
|
|
534
534
|
);
|
|
535
|
-
},
|
|
535
|
+
}, Bn = (e) => {
|
|
536
536
|
const n = e?.version?.version, t = e?.product?.latestVersion;
|
|
537
537
|
if (!(e?.entityType !== "version" || !n || n <= 0 || !t?.active))
|
|
538
538
|
return t.version > n ? t : void 0;
|
|
539
|
-
},
|
|
540
|
-
onOpenVersionUpload:
|
|
541
|
-
}),
|
|
539
|
+
}, Wn = () => ({
|
|
540
|
+
onOpenVersionUpload: mn()?.onOpenVersionUpload ?? null
|
|
541
|
+
}), zn = (e, n, t) => {
|
|
542
542
|
const o = e === "folder" || e === "task" ? "overview" : e === "product" || e === "version" || e === "representation" ? "products" : null;
|
|
543
543
|
return o ? `${typeof window < "u" ? window.location.origin : ""}/projects/${t}/${o}?project=${t}&type=${e}&id=${n}` : null;
|
|
544
|
-
},
|
|
544
|
+
}, Gn = ({
|
|
545
545
|
entityType: e,
|
|
546
546
|
entityId: n,
|
|
547
547
|
projectName: t,
|
|
@@ -558,15 +558,15 @@ const Dn = C(We)`
|
|
|
558
558
|
onUploadThumbnail: x,
|
|
559
559
|
onUploadVersion: R,
|
|
560
560
|
onShare: j,
|
|
561
|
-
onViewData:
|
|
561
|
+
onViewData: P,
|
|
562
562
|
onDelete: d
|
|
563
563
|
}) => {
|
|
564
|
-
const u =
|
|
564
|
+
const u = D(() => o.length ? o.filter((h) => !!h?.entityId).map((h) => ({
|
|
565
565
|
entityId: h.entityId,
|
|
566
566
|
entityType: h.entityType || e,
|
|
567
567
|
hasReviewables: h.hasReviewables
|
|
568
568
|
})) : n ? [{ entityId: n, entityType: e }] : [], [o, n, e]);
|
|
569
|
-
return
|
|
569
|
+
return D(() => {
|
|
570
570
|
const h = [];
|
|
571
571
|
if (m && h.push({
|
|
572
572
|
id: "open-in-viewer",
|
|
@@ -589,27 +589,27 @@ const Dn = C(We)`
|
|
|
589
589
|
icon: "upload",
|
|
590
590
|
onClick: R
|
|
591
591
|
}), p?.openAddToListDialog && t && u.length) {
|
|
592
|
-
const
|
|
592
|
+
const E = u[0]?.entityType || e, y = p.openAddToListDialog;
|
|
593
593
|
if (h.push({
|
|
594
594
|
id: "add-to-list",
|
|
595
595
|
label: "Add to list",
|
|
596
596
|
icon: "list_alt_add",
|
|
597
|
-
onClick: () =>
|
|
598
|
-
}), (
|
|
599
|
-
const O = u.some((
|
|
597
|
+
onClick: () => y(E, u)
|
|
598
|
+
}), (E === "version" || E === "representation") && p.hasReviewAddon) {
|
|
599
|
+
const O = u.some((V) => V.hasReviewables === !0);
|
|
600
600
|
h.push({
|
|
601
601
|
id: "add-to-review-list",
|
|
602
602
|
label: "Add to session",
|
|
603
603
|
icon: "list_alt_add",
|
|
604
604
|
disabled: !O,
|
|
605
605
|
...O ? {} : { "data-tooltip": "No reviewables on selected version" },
|
|
606
|
-
onClick: () =>
|
|
606
|
+
onClick: () => y(E, u, { isReview: !0 })
|
|
607
607
|
});
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
|
-
const
|
|
611
|
-
|
|
612
|
-
|
|
610
|
+
const N = u[0], A = N?.entityId && t ? zn(
|
|
611
|
+
N.entityType || e,
|
|
612
|
+
N.entityId,
|
|
613
613
|
t
|
|
614
614
|
) : null;
|
|
615
615
|
if (A && h.push({
|
|
@@ -621,9 +621,9 @@ const Dn = C(We)`
|
|
|
621
621
|
id: "view-data",
|
|
622
622
|
label: "View data",
|
|
623
623
|
icon: "database",
|
|
624
|
-
onClick:
|
|
624
|
+
onClick: P
|
|
625
625
|
}), f && s.length > 0) {
|
|
626
|
-
const
|
|
626
|
+
const E = new Set(s.map((O) => O.entityType)), y = E.size === 1 ? [...E][0] : "item", w = s.length === 1 ? `Delete ${y}` : `Delete ${gn(s.length, y)}`;
|
|
627
627
|
h.push({
|
|
628
628
|
id: "delete",
|
|
629
629
|
label: w,
|
|
@@ -649,21 +649,21 @@ const Dn = C(We)`
|
|
|
649
649
|
x,
|
|
650
650
|
R,
|
|
651
651
|
j,
|
|
652
|
-
|
|
652
|
+
P,
|
|
653
653
|
d
|
|
654
654
|
]);
|
|
655
|
-
},
|
|
655
|
+
}, Qn = T.div`
|
|
656
656
|
display: flex;
|
|
657
657
|
flex-direction: column;
|
|
658
658
|
gap: 16px;
|
|
659
|
-
`,
|
|
659
|
+
`, He = T.div`
|
|
660
660
|
display: flex;
|
|
661
661
|
flex-direction: column;
|
|
662
662
|
gap: 6px;
|
|
663
|
-
`,
|
|
663
|
+
`, Be = T.span`
|
|
664
664
|
font-size: 13px;
|
|
665
665
|
color: var(--md-sys-color-on-surface);
|
|
666
|
-
`,
|
|
666
|
+
`, We = T.button`
|
|
667
667
|
display: flex;
|
|
668
668
|
align-items: center;
|
|
669
669
|
gap: 12px;
|
|
@@ -692,28 +692,28 @@ const Dn = C(We)`
|
|
|
692
692
|
text-overflow: ellipsis;
|
|
693
693
|
white-space: nowrap;
|
|
694
694
|
}
|
|
695
|
-
`,
|
|
695
|
+
`, qn = ({ link: e, entityLabel: n, visible: t, onHide: o }) => {
|
|
696
696
|
if (!t) return null;
|
|
697
697
|
const s = `[${n}](${e})`, a = (r) => {
|
|
698
|
-
|
|
698
|
+
fn(r, !0), o();
|
|
699
699
|
};
|
|
700
|
-
return /* @__PURE__ */ i(
|
|
701
|
-
/* @__PURE__ */ k(
|
|
702
|
-
/* @__PURE__ */ i(
|
|
703
|
-
/* @__PURE__ */ k(
|
|
700
|
+
return /* @__PURE__ */ i(bt, { isOpen: !0, onClose: o, size: "sm", header: "Share", children: /* @__PURE__ */ k(Qn, { children: [
|
|
701
|
+
/* @__PURE__ */ k(He, { children: [
|
|
702
|
+
/* @__PURE__ */ i(Be, { children: "Link" }),
|
|
703
|
+
/* @__PURE__ */ k(We, { type: "button", onClick: () => a(e), "aria-label": "Copy link", children: [
|
|
704
704
|
/* @__PURE__ */ i("span", { className: "value", children: e }),
|
|
705
705
|
/* @__PURE__ */ i(fe, { icon: "content_copy" })
|
|
706
706
|
] })
|
|
707
707
|
] }),
|
|
708
|
-
/* @__PURE__ */ k(
|
|
709
|
-
/* @__PURE__ */ i(
|
|
710
|
-
/* @__PURE__ */ k(
|
|
708
|
+
/* @__PURE__ */ k(He, { children: [
|
|
709
|
+
/* @__PURE__ */ i(Be, { children: "Markdown Link" }),
|
|
710
|
+
/* @__PURE__ */ k(We, { type: "button", onClick: () => a(s), "aria-label": "Copy markdown link", children: [
|
|
711
711
|
/* @__PURE__ */ i("span", { className: "value", children: s }),
|
|
712
712
|
/* @__PURE__ */ i(fe, { icon: "content_copy" })
|
|
713
713
|
] })
|
|
714
714
|
] })
|
|
715
715
|
] }) });
|
|
716
|
-
},
|
|
716
|
+
}, Kn = (e, n, t, o) => {
|
|
717
717
|
const s = { projectName: t, quickView: !0 };
|
|
718
718
|
switch (e) {
|
|
719
719
|
case "folder":
|
|
@@ -727,7 +727,7 @@ const Dn = C(We)`
|
|
|
727
727
|
default:
|
|
728
728
|
return null;
|
|
729
729
|
}
|
|
730
|
-
},
|
|
730
|
+
}, Xn = ({
|
|
731
731
|
entityType: e,
|
|
732
732
|
entityId: n,
|
|
733
733
|
entityIds: t,
|
|
@@ -741,47 +741,47 @@ const Dn = C(We)`
|
|
|
741
741
|
taskId: p,
|
|
742
742
|
folderId: g
|
|
743
743
|
}) => {
|
|
744
|
-
const b =
|
|
744
|
+
const b = ee(null), [x, R] = X(!1), [j, P] = X(null), { menuOpen: d, toggleMenuOpen: u, setMenuOpen: h } = Jt(), { triggerThumbnailUpload: N, canUploadVersion: A } = wt(Yt), { onOpenVersionUpload: E } = Wn(), y = xt(), w = D(() => {
|
|
745
745
|
const $ = n || t?.[0] || "noentity";
|
|
746
|
-
return `details-more-menu-${
|
|
747
|
-
}, [
|
|
748
|
-
|
|
749
|
-
},
|
|
750
|
-
const ce =
|
|
751
|
-
return !
|
|
752
|
-
id:
|
|
746
|
+
return `details-more-menu-${y}-${$}-${s || "noproject"}`;
|
|
747
|
+
}, [y, n, t, s]), O = d === w, V = !!n && !!s && !!N, L = !!A && !!E, te = () => {
|
|
748
|
+
E?.({ productId: f, taskId: p, folderId: g });
|
|
749
|
+
}, ne = n && s ? Kn(e, n, s, f) : null, se = !!m && !!ne, ae = Zt(), I = D(() => (a.length ? a : n ? [{ entityId: n, entityType: e, projectName: s }] : []).map((U) => {
|
|
750
|
+
const ce = U.entityType || e, B = U.projectName || s;
|
|
751
|
+
return !en(ce) || !U.entityId || !B ? null : {
|
|
752
|
+
id: U.entityId,
|
|
753
753
|
entityType: ce,
|
|
754
|
-
name:
|
|
755
|
-
label:
|
|
754
|
+
name: U.name,
|
|
755
|
+
label: U.label,
|
|
756
756
|
projectName: B,
|
|
757
|
-
folderId:
|
|
758
|
-
parentId:
|
|
757
|
+
folderId: U.folderId,
|
|
758
|
+
parentId: U.parentId
|
|
759
759
|
};
|
|
760
|
-
}).filter((
|
|
761
|
-
h(!1),
|
|
762
|
-
}, { items: re } =
|
|
760
|
+
}).filter((U) => U !== null), [a, n, e, s]), oe = !!ae && I.length > 0, J = () => {
|
|
761
|
+
h(!1), ae?.deleteEntities(I);
|
|
762
|
+
}, { items: re } = Gn({
|
|
763
763
|
entityType: e,
|
|
764
764
|
entityId: n,
|
|
765
765
|
projectName: s,
|
|
766
766
|
selectedEntities: a,
|
|
767
|
-
deleteEntities:
|
|
768
|
-
canUploadThumbnail:
|
|
767
|
+
deleteEntities: I,
|
|
768
|
+
canUploadThumbnail: V,
|
|
769
769
|
canUploadVersion: L,
|
|
770
770
|
canOpenPip: !!c,
|
|
771
|
-
canOpenViewer:
|
|
772
|
-
canDelete:
|
|
771
|
+
canOpenViewer: se,
|
|
772
|
+
canDelete: oe,
|
|
773
773
|
entityListsContext: r,
|
|
774
774
|
onPip: () => c?.(),
|
|
775
|
-
onOpenViewer: () =>
|
|
776
|
-
onUploadThumbnail: () =>
|
|
777
|
-
onUploadVersion:
|
|
778
|
-
onShare: ($) =>
|
|
775
|
+
onOpenViewer: () => ne && m?.(ne),
|
|
776
|
+
onUploadThumbnail: () => N?.(),
|
|
777
|
+
onUploadVersion: te,
|
|
778
|
+
onShare: ($) => P($),
|
|
779
779
|
onViewData: () => R(!0),
|
|
780
780
|
onDelete: J
|
|
781
781
|
}), K = t?.length ? t : n ? [n] : [], le = o || n || "";
|
|
782
|
-
return /* @__PURE__ */ k(
|
|
782
|
+
return /* @__PURE__ */ k(Ie, { children: [
|
|
783
783
|
/* @__PURE__ */ i(
|
|
784
|
-
|
|
784
|
+
Z,
|
|
785
785
|
{
|
|
786
786
|
ref: b,
|
|
787
787
|
icon: "more_horiz",
|
|
@@ -792,9 +792,9 @@ const Dn = C(We)`
|
|
|
792
792
|
onClick: () => u(w)
|
|
793
793
|
}
|
|
794
794
|
),
|
|
795
|
-
/* @__PURE__ */ i(
|
|
795
|
+
/* @__PURE__ */ i(un, { id: w, target: b.current, align: "right", children: /* @__PURE__ */ i(pn, { menu: re, onClose: () => h(!1) }) }),
|
|
796
796
|
x && s && K.length > 0 && /* @__PURE__ */ i(
|
|
797
|
-
|
|
797
|
+
hn,
|
|
798
798
|
{
|
|
799
799
|
projectName: s,
|
|
800
800
|
entityType: e,
|
|
@@ -804,16 +804,16 @@ const Dn = C(We)`
|
|
|
804
804
|
}
|
|
805
805
|
),
|
|
806
806
|
j && /* @__PURE__ */ i(
|
|
807
|
-
|
|
807
|
+
qn,
|
|
808
808
|
{
|
|
809
809
|
link: j,
|
|
810
810
|
entityLabel: le,
|
|
811
811
|
visible: !0,
|
|
812
|
-
onHide: () =>
|
|
812
|
+
onHide: () => P(null)
|
|
813
813
|
}
|
|
814
814
|
)
|
|
815
815
|
] });
|
|
816
|
-
},
|
|
816
|
+
}, Jn = (e, n) => {
|
|
817
817
|
const t = [e];
|
|
818
818
|
let o = e;
|
|
819
819
|
for (; o.parentId && o.parentId !== "root"; ) {
|
|
@@ -823,54 +823,54 @@ const Dn = C(We)`
|
|
|
823
823
|
t.unshift(s), o = s;
|
|
824
824
|
}
|
|
825
825
|
return t;
|
|
826
|
-
},
|
|
826
|
+
}, Yn = (e, n) => {
|
|
827
827
|
const t = [];
|
|
828
828
|
let o = n.get(e.folder?.id || "");
|
|
829
|
-
if ((o ?
|
|
829
|
+
if ((o ? Jn(o, n) : []).forEach((a) => {
|
|
830
830
|
t.push({ type: "folder", label: a.label || a.name, id: a.id });
|
|
831
831
|
}), e.entityType === "version") {
|
|
832
832
|
const a = `${e.product?.name} - ${e.name}`;
|
|
833
833
|
t.push({ type: "version", label: a, id: e.id });
|
|
834
834
|
}
|
|
835
835
|
return e.entityType === "task" && t.push({ type: "task", label: e.label || e.name, id: e.id }), t;
|
|
836
|
-
},
|
|
836
|
+
}, Zn = ({
|
|
837
837
|
entity: e,
|
|
838
838
|
entityType: n,
|
|
839
839
|
projectName: t,
|
|
840
840
|
isLoading: o
|
|
841
841
|
}) => {
|
|
842
|
-
const { data: { folders: s = [] } = {}, isFetching: a } =
|
|
842
|
+
const { data: { folders: s = [] } = {}, isFetching: a } = Nt(
|
|
843
843
|
// TODO: this is major overkill, we are only using label, name and id
|
|
844
844
|
// We add a patch field that allows us to specify what ws message changes should cause an update to this query
|
|
845
845
|
// @ts-expect-error - patch is not part of the query args
|
|
846
846
|
{ projectName: t, patch: ["id", "name", "label"] },
|
|
847
847
|
{ skip: !t || o }
|
|
848
|
-
), r =
|
|
848
|
+
), r = bn(
|
|
849
849
|
{ projectName: t || "", isLoading: o },
|
|
850
850
|
a
|
|
851
|
-
), { data: c } =
|
|
851
|
+
), { data: c } = Et(
|
|
852
852
|
{ productId: e.product?.id || "", projectName: t },
|
|
853
853
|
{ skip: n !== "version" || !e.product?.id }
|
|
854
|
-
), m =
|
|
854
|
+
), m = D(
|
|
855
855
|
() => c?.project.product?.versionList ? [...c.project.product?.versionList || []].sort((g, b) => g.name === "HERO" ? -1 : b.name === "HERO" ? 1 : b.name.localeCompare(g.name)).map((g) => ({
|
|
856
856
|
type: "version",
|
|
857
857
|
label: g.name,
|
|
858
858
|
id: g.id
|
|
859
859
|
})) : [],
|
|
860
860
|
[c]
|
|
861
|
-
), f =
|
|
861
|
+
), f = D(
|
|
862
862
|
() => new Map(s.map((g) => [g.id, g])),
|
|
863
863
|
[s]
|
|
864
864
|
);
|
|
865
|
-
return [
|
|
866
|
-
() => r ? [] :
|
|
865
|
+
return [D(
|
|
866
|
+
() => r ? [] : Yn(e, f),
|
|
867
867
|
[r, s, e]
|
|
868
868
|
), m];
|
|
869
|
-
},
|
|
869
|
+
}, st = (e, n) => {
|
|
870
870
|
let t = Object.entries(e).filter(([s]) => n ? n.includes(s) : !0).map(([, s]) => s?.statuses || []).flat();
|
|
871
871
|
const o = new Map(t.map((s) => [s.name, s]));
|
|
872
872
|
return Array.from(o.values());
|
|
873
|
-
},
|
|
873
|
+
}, at = ({
|
|
874
874
|
scope: e = "dashboard",
|
|
875
875
|
entities: n,
|
|
876
876
|
entityType: t,
|
|
@@ -884,7 +884,7 @@ const Dn = C(We)`
|
|
|
884
884
|
}) => {
|
|
885
885
|
const p = { annotations: r, removeAnnotation: c, exportAnnotationComposite: m }, { user: g } = q(), b = g.name || "", x = g.attrib?.fullName || "";
|
|
886
886
|
return /* @__PURE__ */ k(
|
|
887
|
-
|
|
887
|
+
Ze,
|
|
888
888
|
{
|
|
889
889
|
scope: e,
|
|
890
890
|
entities: n,
|
|
@@ -896,12 +896,12 @@ const Dn = C(We)`
|
|
|
896
896
|
...p,
|
|
897
897
|
...f,
|
|
898
898
|
children: [
|
|
899
|
-
/* @__PURE__ */ i(
|
|
900
|
-
/* @__PURE__ */ i(
|
|
899
|
+
/* @__PURE__ */ i(vn, { ...f, statuses: f.statuses }),
|
|
900
|
+
/* @__PURE__ */ i(yn, {})
|
|
901
901
|
]
|
|
902
902
|
}
|
|
903
903
|
);
|
|
904
|
-
},
|
|
904
|
+
}, es = ({
|
|
905
905
|
children: e,
|
|
906
906
|
scope: n = "dashboard",
|
|
907
907
|
entities: t,
|
|
@@ -915,7 +915,7 @@ const Dn = C(We)`
|
|
|
915
915
|
}) => {
|
|
916
916
|
const p = { annotations: r, removeAnnotation: c, exportAnnotationComposite: m }, { user: g } = q(), b = g?.name ?? "", x = g?.attrib?.fullName ?? "", [R, j] = X(null);
|
|
917
917
|
return /* @__PURE__ */ i(
|
|
918
|
-
|
|
918
|
+
Ze,
|
|
919
919
|
{
|
|
920
920
|
scope: n,
|
|
921
921
|
entities: t,
|
|
@@ -931,7 +931,7 @@ const Dn = C(We)`
|
|
|
931
931
|
children: e
|
|
932
932
|
}
|
|
933
933
|
);
|
|
934
|
-
},
|
|
934
|
+
}, ot = (e, n) => {
|
|
935
935
|
if (!e || Object.keys(e).length === 0 || !n?.length)
|
|
936
936
|
return {
|
|
937
937
|
folderTypes: [],
|
|
@@ -975,23 +975,23 @@ const Dn = C(We)`
|
|
|
975
975
|
}), Object.keys(s).forEach((a) => {
|
|
976
976
|
(a === "productTypes" || s[a].length > 0) && (t[a] = o(s[a]));
|
|
977
977
|
}), t;
|
|
978
|
-
},
|
|
978
|
+
}, ts = T.div`
|
|
979
979
|
display: flex;
|
|
980
980
|
align-items: center;
|
|
981
981
|
padding: 4px 8px;
|
|
982
982
|
gap: var(--base-gap-small);
|
|
983
|
-
`,
|
|
983
|
+
`, ns = T.span`
|
|
984
984
|
font-weight: 600;
|
|
985
985
|
user-select: none;
|
|
986
|
-
`,
|
|
986
|
+
`, ss = T.div`
|
|
987
987
|
display: flex;
|
|
988
988
|
gap: var(--base-gap-small);
|
|
989
|
-
`, Ne =
|
|
989
|
+
`, Ne = T(Z)`
|
|
990
990
|
background-color: unset;
|
|
991
991
|
&.hasIcon {
|
|
992
992
|
padding: 4px;
|
|
993
993
|
}
|
|
994
|
-
`,
|
|
994
|
+
`, as = T.div`
|
|
995
995
|
display: flex;
|
|
996
996
|
align-items: center;
|
|
997
997
|
gap: var(--base-gap-small);
|
|
@@ -1008,10 +1008,10 @@ const Dn = C(We)`
|
|
|
1008
1008
|
box-shadow: 0 0 0 1px var(--md-sys-color-primary-container);
|
|
1009
1009
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
1010
1010
|
}
|
|
1011
|
-
`,
|
|
1011
|
+
`, os = T(wn)`
|
|
1012
1012
|
width: 28px;
|
|
1013
1013
|
height: 28px;
|
|
1014
|
-
`,
|
|
1014
|
+
`, is = T.input`
|
|
1015
1015
|
flex: 1;
|
|
1016
1016
|
min-width: 0;
|
|
1017
1017
|
border: none;
|
|
@@ -1024,22 +1024,22 @@ const Dn = C(We)`
|
|
|
1024
1024
|
&::placeholder {
|
|
1025
1025
|
color: var(--md-sys-color-outline);
|
|
1026
1026
|
}
|
|
1027
|
-
`,
|
|
1027
|
+
`, rs = T(Z)`
|
|
1028
1028
|
background-color: unset;
|
|
1029
1029
|
min-width: unset;
|
|
1030
1030
|
&.hasIcon {
|
|
1031
1031
|
padding: 2px;
|
|
1032
1032
|
}
|
|
1033
|
-
`,
|
|
1034
|
-
if (
|
|
1033
|
+
`, Pe = (e) => !!e && "key" in e, pe = (e, n) => Pe(e) ? e.key === n : !!e.conditions?.some((t) => pe(t, n)), De = (e) => {
|
|
1034
|
+
if (Pe(e)) return String(e.value || "");
|
|
1035
1035
|
const n = e.operator === "or" ? ", " : ".";
|
|
1036
|
-
return e.conditions?.map((t) =>
|
|
1037
|
-
},
|
|
1036
|
+
return e.conditions?.map((t) => De(t)).join(n) || "";
|
|
1037
|
+
}, it = (e, n, t) => {
|
|
1038
1038
|
const o = e.split(",").map((r) => r.trim()).filter(Boolean);
|
|
1039
1039
|
if (o.length > 1)
|
|
1040
1040
|
return {
|
|
1041
1041
|
operator: "or",
|
|
1042
|
-
conditions: o.map((r) =>
|
|
1042
|
+
conditions: o.map((r) => it(r, n, t))
|
|
1043
1043
|
};
|
|
1044
1044
|
const s = o[0] || e.trim();
|
|
1045
1045
|
if (!s || s === "," || s === ".")
|
|
@@ -1061,21 +1061,21 @@ const Dn = C(We)`
|
|
|
1061
1061
|
operator: t,
|
|
1062
1062
|
value: a[0] || ""
|
|
1063
1063
|
};
|
|
1064
|
-
},
|
|
1064
|
+
}, ls = ({
|
|
1065
1065
|
label: e,
|
|
1066
1066
|
filters: n,
|
|
1067
1067
|
currentFilter: t,
|
|
1068
1068
|
onFilterChange: o,
|
|
1069
1069
|
isLoading: s
|
|
1070
1070
|
}) => {
|
|
1071
|
-
const [a, r] = X(null), [c, m] = X(""), f =
|
|
1071
|
+
const [a, r] = X(null), [c, m] = X(""), f = ee(null), p = (d) => typeof d == "object" && d !== null && !Array.isArray(d);
|
|
1072
1072
|
H(() => {
|
|
1073
1073
|
a && f.current && f.current.focus();
|
|
1074
1074
|
}, [a]), H(() => {
|
|
1075
1075
|
if (a && p(t)) {
|
|
1076
1076
|
if (document.activeElement === f.current) return;
|
|
1077
1077
|
const d = t.conditions?.find((u) => pe(u, a));
|
|
1078
|
-
m(d ?
|
|
1078
|
+
m(d ? De(d) : "");
|
|
1079
1079
|
}
|
|
1080
1080
|
}, [a, t]);
|
|
1081
1081
|
const g = (d, u) => {
|
|
@@ -1083,60 +1083,60 @@ const Dn = C(We)`
|
|
|
1083
1083
|
o(d.id);
|
|
1084
1084
|
return;
|
|
1085
1085
|
}
|
|
1086
|
-
const h = t.conditions ? [...t.conditions] : [],
|
|
1086
|
+
const h = t.conditions ? [...t.conditions] : [], N = {
|
|
1087
1087
|
...t,
|
|
1088
1088
|
conditions: h,
|
|
1089
1089
|
operator: t.operator || "and"
|
|
1090
|
-
}, A = String(d.id),
|
|
1091
|
-
if (
|
|
1092
|
-
|
|
1093
|
-
else if (
|
|
1090
|
+
}, A = String(d.id), E = h.findIndex((w) => pe(w, A)), y = d.type || "boolean";
|
|
1091
|
+
if (y === "boolean")
|
|
1092
|
+
E > -1 ? h.splice(E, 1) : h.push({ key: A, operator: d.operator || "eq", value: !0 });
|
|
1093
|
+
else if (y === "enum") {
|
|
1094
1094
|
const w = Array.isArray(u) ? u : [u];
|
|
1095
1095
|
if (w.length === 0 || w.length === 1 && w[0] === void 0)
|
|
1096
|
-
|
|
1096
|
+
E > -1 && h.splice(E, 1);
|
|
1097
1097
|
else {
|
|
1098
1098
|
const O = {
|
|
1099
1099
|
key: A,
|
|
1100
1100
|
operator: d.operator || "in",
|
|
1101
1101
|
value: w
|
|
1102
1102
|
};
|
|
1103
|
-
|
|
1103
|
+
E > -1 ? h[E] = O : h.push(O);
|
|
1104
1104
|
}
|
|
1105
|
-
} else if (
|
|
1105
|
+
} else if (y === "search") {
|
|
1106
1106
|
const w = typeof u == "string" ? u : "";
|
|
1107
1107
|
if (!w)
|
|
1108
|
-
|
|
1108
|
+
E > -1 && h.splice(E, 1);
|
|
1109
1109
|
else {
|
|
1110
|
-
const O =
|
|
1111
|
-
|
|
1110
|
+
const O = it(w, A, d.operator || "like");
|
|
1111
|
+
E > -1 ? h[E] = O : h.push(O);
|
|
1112
1112
|
}
|
|
1113
1113
|
}
|
|
1114
|
-
o(
|
|
1114
|
+
o(N);
|
|
1115
1115
|
}, b = (d) => {
|
|
1116
1116
|
const u = String(d.id);
|
|
1117
1117
|
if (a !== u && (r(u), p(t))) {
|
|
1118
|
-
const h = t.conditions?.find((
|
|
1119
|
-
m(h ?
|
|
1118
|
+
const h = t.conditions?.find((N) => pe(N, u));
|
|
1119
|
+
m(h ? De(h) : "");
|
|
1120
1120
|
}
|
|
1121
1121
|
}, x = (d, u) => {
|
|
1122
1122
|
m(u), g(d, u);
|
|
1123
1123
|
}, R = (d) => {
|
|
1124
1124
|
m(""), r(null), g(d, "");
|
|
1125
|
-
}, j = (d) => p(t) ? t.conditions?.some((u) => pe(u, String(d.id))) : d.id === t,
|
|
1126
|
-
(h) =>
|
|
1125
|
+
}, j = (d) => p(t) ? t.conditions?.some((u) => pe(u, String(d.id))) : d.id === t, P = (d) => p(t) ? t.conditions?.find(
|
|
1126
|
+
(h) => Pe(h) && h.key === String(d.id)
|
|
1127
1127
|
)?.value || [] : [];
|
|
1128
|
-
return /* @__PURE__ */ k(
|
|
1129
|
-
/* @__PURE__ */ i(
|
|
1130
|
-
/* @__PURE__ */ i(
|
|
1131
|
-
/* @__PURE__ */ i(
|
|
1128
|
+
return /* @__PURE__ */ k(ts, { className: ie("panel-tabs", { loading: s }), children: [
|
|
1129
|
+
/* @__PURE__ */ i(ns, { className: "panel-header-label", children: e }),
|
|
1130
|
+
/* @__PURE__ */ i(Ge, {}),
|
|
1131
|
+
/* @__PURE__ */ i(ss, { className: "panel-header-filters", children: n.map((d) => {
|
|
1132
1132
|
const u = j(d), h = d.type || "boolean";
|
|
1133
1133
|
if (h === "enum")
|
|
1134
1134
|
return /* @__PURE__ */ i(
|
|
1135
|
-
|
|
1135
|
+
os,
|
|
1136
1136
|
{
|
|
1137
1137
|
options: d.options || [],
|
|
1138
|
-
value:
|
|
1139
|
-
onChange: (
|
|
1138
|
+
value: P(d),
|
|
1139
|
+
onChange: (N) => g(d, N),
|
|
1140
1140
|
isEditing: !0,
|
|
1141
1141
|
autoOpen: !1,
|
|
1142
1142
|
align: "right",
|
|
@@ -1156,25 +1156,25 @@ const Dn = C(We)`
|
|
|
1156
1156
|
String(d.id)
|
|
1157
1157
|
);
|
|
1158
1158
|
if (h === "search") {
|
|
1159
|
-
const
|
|
1159
|
+
const N = a === String(d.id);
|
|
1160
1160
|
return /* @__PURE__ */ k(
|
|
1161
|
-
|
|
1161
|
+
as,
|
|
1162
1162
|
{
|
|
1163
|
-
className: ie("panel-filter", "panel-filter-search", { expanded:
|
|
1163
|
+
className: ie("panel-filter", "panel-filter-search", { expanded: N }),
|
|
1164
1164
|
children: [
|
|
1165
1165
|
/* @__PURE__ */ i(
|
|
1166
1166
|
Ne,
|
|
1167
1167
|
{
|
|
1168
|
-
selected: u ||
|
|
1168
|
+
selected: u || N,
|
|
1169
1169
|
onClick: () => b(d),
|
|
1170
1170
|
icon: d.icon,
|
|
1171
|
-
"data-tooltip":
|
|
1171
|
+
"data-tooltip": N ? void 0 : d.tooltip,
|
|
1172
1172
|
"data-tooltip-delay": 0
|
|
1173
1173
|
}
|
|
1174
1174
|
),
|
|
1175
|
-
|
|
1175
|
+
N && /* @__PURE__ */ k(Ie, { children: [
|
|
1176
1176
|
/* @__PURE__ */ i(
|
|
1177
|
-
|
|
1177
|
+
is,
|
|
1178
1178
|
{
|
|
1179
1179
|
ref: f,
|
|
1180
1180
|
value: c,
|
|
@@ -1186,7 +1186,7 @@ const Dn = C(We)`
|
|
|
1186
1186
|
}
|
|
1187
1187
|
),
|
|
1188
1188
|
/* @__PURE__ */ i(
|
|
1189
|
-
|
|
1189
|
+
rs,
|
|
1190
1190
|
{
|
|
1191
1191
|
icon: "close",
|
|
1192
1192
|
onClick: () => R(d),
|
|
@@ -1214,10 +1214,10 @@ const Dn = C(We)`
|
|
|
1214
1214
|
);
|
|
1215
1215
|
}) })
|
|
1216
1216
|
] });
|
|
1217
|
-
},
|
|
1217
|
+
}, rt = ["done", "isDone"], cs = (e) => !!e && "key" in e, ds = (e, n) => {
|
|
1218
1218
|
const t = [], o = [], s = (a) => {
|
|
1219
1219
|
if (!a) return;
|
|
1220
|
-
if (
|
|
1220
|
+
if (cs(a)) {
|
|
1221
1221
|
const c = a.key;
|
|
1222
1222
|
if (c === "search") {
|
|
1223
1223
|
const p = String(a.value ?? "");
|
|
@@ -1226,7 +1226,7 @@ const Dn = C(We)`
|
|
|
1226
1226
|
}
|
|
1227
1227
|
const m = n.find((p) => p.id === c);
|
|
1228
1228
|
if (!m) return;
|
|
1229
|
-
if (
|
|
1229
|
+
if (rt.includes(c)) {
|
|
1230
1230
|
a.value !== void 0 && t.push({
|
|
1231
1231
|
id: Se(c),
|
|
1232
1232
|
label: m.label,
|
|
@@ -1269,33 +1269,33 @@ const Dn = C(We)`
|
|
|
1269
1269
|
});
|
|
1270
1270
|
return;
|
|
1271
1271
|
}
|
|
1272
|
-
const r =
|
|
1272
|
+
const r = Sn(a, n);
|
|
1273
1273
|
if (r) {
|
|
1274
1274
|
t.push(r);
|
|
1275
1275
|
return;
|
|
1276
1276
|
}
|
|
1277
1277
|
a.conditions?.forEach(s);
|
|
1278
1278
|
};
|
|
1279
|
-
return e?.conditions?.forEach(s), o.length && t.push({ id:
|
|
1280
|
-
},
|
|
1279
|
+
return e?.conditions?.forEach(s), o.length && t.push({ id: Qe, label: "", values: o }), t;
|
|
1280
|
+
}, us = (e) => {
|
|
1281
1281
|
const n = [], t = [];
|
|
1282
1282
|
return e.forEach((o) => {
|
|
1283
|
-
const s =
|
|
1283
|
+
const s = vt(o.id), a = (o.values || []).map((r) => r.id);
|
|
1284
1284
|
if (a.length)
|
|
1285
|
-
if (s ===
|
|
1285
|
+
if (s === Qe)
|
|
1286
1286
|
a.forEach(
|
|
1287
1287
|
(r) => t.push({ key: "search", operator: "like", value: String(r) })
|
|
1288
1288
|
);
|
|
1289
|
-
else if (
|
|
1289
|
+
else if (rt.includes(s)) {
|
|
1290
1290
|
const r = a[0] === "true";
|
|
1291
1291
|
n.push({ key: s, operator: "eq", value: r });
|
|
1292
1292
|
} else if (o.type === "datetime") {
|
|
1293
|
-
const r =
|
|
1293
|
+
const r = Cn(s, o);
|
|
1294
1294
|
r && n.push(r);
|
|
1295
1295
|
} else
|
|
1296
1296
|
n.push({ key: s, operator: "in", value: a.map(String) });
|
|
1297
1297
|
}), t.length === 1 ? n.push(t[0]) : t.length > 1 && n.push({ operator: "or", conditions: t }), { operator: "and", conditions: n };
|
|
1298
|
-
},
|
|
1298
|
+
}, ps = T.div`
|
|
1299
1299
|
padding: 4px 8px;
|
|
1300
1300
|
padding-bottom: 0;
|
|
1301
1301
|
|
|
@@ -1303,7 +1303,7 @@ const Dn = C(We)`
|
|
|
1303
1303
|
opacity: 0.5;
|
|
1304
1304
|
pointer-events: none;
|
|
1305
1305
|
}
|
|
1306
|
-
`,
|
|
1306
|
+
`, hs = ({
|
|
1307
1307
|
subtasksFilter: e,
|
|
1308
1308
|
setSubtasksFilter: n,
|
|
1309
1309
|
users: t,
|
|
@@ -1312,7 +1312,7 @@ const Dn = C(We)`
|
|
|
1312
1312
|
doneCount: a = 0,
|
|
1313
1313
|
onSearchTextChange: r
|
|
1314
1314
|
}) => {
|
|
1315
|
-
const c =
|
|
1315
|
+
const c = D(
|
|
1316
1316
|
() => [
|
|
1317
1317
|
{
|
|
1318
1318
|
id: "isDone",
|
|
@@ -1356,27 +1356,27 @@ const Dn = C(We)`
|
|
|
1356
1356
|
// },
|
|
1357
1357
|
],
|
|
1358
1358
|
[t]
|
|
1359
|
-
), m =
|
|
1359
|
+
), m = D(() => ds(e, c), [e, c]), [f, p] = X(m), g = ee(null), b = Tn();
|
|
1360
1360
|
H(() => {
|
|
1361
1361
|
p(m);
|
|
1362
1362
|
}, [JSON.stringify(m)]);
|
|
1363
1363
|
const x = (u) => {
|
|
1364
|
-
const h =
|
|
1364
|
+
const h = us(u);
|
|
1365
1365
|
n(h), r?.("");
|
|
1366
1366
|
}, R = (u) => {
|
|
1367
1367
|
b.wrapFilterChange(u, f, p);
|
|
1368
1368
|
}, j = (u, h) => {
|
|
1369
1369
|
h || r?.(u);
|
|
1370
1370
|
};
|
|
1371
|
-
let
|
|
1372
|
-
s > 0 && (
|
|
1373
|
-
const d =
|
|
1374
|
-
() => [{ id: "isDone", label:
|
|
1375
|
-
[
|
|
1371
|
+
let P = "";
|
|
1372
|
+
s > 0 && (P = `${a}/${s}`);
|
|
1373
|
+
const d = D(
|
|
1374
|
+
() => [{ id: "isDone", label: P, tooltip: "Status" }],
|
|
1375
|
+
[P]
|
|
1376
1376
|
);
|
|
1377
|
-
return /* @__PURE__ */ k(
|
|
1377
|
+
return /* @__PURE__ */ k(ps, { className: o ? "loading" : void 0, children: [
|
|
1378
1378
|
/* @__PURE__ */ i(
|
|
1379
|
-
|
|
1379
|
+
yt,
|
|
1380
1380
|
{
|
|
1381
1381
|
ref: g,
|
|
1382
1382
|
compact: !0,
|
|
@@ -1405,7 +1405,7 @@ const Dn = C(We)`
|
|
|
1405
1405
|
}
|
|
1406
1406
|
),
|
|
1407
1407
|
/* @__PURE__ */ i(
|
|
1408
|
-
|
|
1408
|
+
kn,
|
|
1409
1409
|
{
|
|
1410
1410
|
isOpen: !!b.customRangeFilterId,
|
|
1411
1411
|
header: c.find((u) => u.id === b.customRangeFilterId?.split("__")[0])?.label ?? "Custom range",
|
|
@@ -1418,8 +1418,8 @@ const Dn = C(We)`
|
|
|
1418
1418
|
}
|
|
1419
1419
|
)
|
|
1420
1420
|
] });
|
|
1421
|
-
},
|
|
1422
|
-
const [n, t] = X({}), [o, s] = X(""), [a, r] = X([]), { dispatch: c } = q(), { data: m = [] } =
|
|
1421
|
+
}, ms = ({ ...e }) => {
|
|
1422
|
+
const [n, t] = X({}), [o, s] = X(""), [a, r] = X([]), { dispatch: c } = q(), { data: m = [] } = qe({ projectName: e.projectName }), f = e.subtasks?.length || 0, p = e.subtasks?.filter((b) => b.isDone).length || 0, g = D(() => {
|
|
1423
1423
|
let b = n;
|
|
1424
1424
|
if (o) {
|
|
1425
1425
|
const x = { key: "search", operator: "like", value: o };
|
|
@@ -1429,11 +1429,11 @@ const Dn = C(We)`
|
|
|
1429
1429
|
operator: "and"
|
|
1430
1430
|
};
|
|
1431
1431
|
}
|
|
1432
|
-
return
|
|
1432
|
+
return Nn(b);
|
|
1433
1433
|
}, [n, o]);
|
|
1434
|
-
return /* @__PURE__ */ k(
|
|
1434
|
+
return /* @__PURE__ */ k(Ie, { children: [
|
|
1435
1435
|
/* @__PURE__ */ i(
|
|
1436
|
-
|
|
1436
|
+
ls,
|
|
1437
1437
|
{
|
|
1438
1438
|
label: `Subtasks (${f})`,
|
|
1439
1439
|
filters: [],
|
|
@@ -1442,7 +1442,7 @@ const Dn = C(We)`
|
|
|
1442
1442
|
}
|
|
1443
1443
|
),
|
|
1444
1444
|
/* @__PURE__ */ i(
|
|
1445
|
-
|
|
1445
|
+
hs,
|
|
1446
1446
|
{
|
|
1447
1447
|
subtasksFilter: n,
|
|
1448
1448
|
setSubtasksFilter: t,
|
|
@@ -1453,7 +1453,7 @@ const Dn = C(We)`
|
|
|
1453
1453
|
}
|
|
1454
1454
|
),
|
|
1455
1455
|
/* @__PURE__ */ i(
|
|
1456
|
-
|
|
1456
|
+
xn,
|
|
1457
1457
|
{
|
|
1458
1458
|
...e,
|
|
1459
1459
|
style: { padding: 8, height: "unset" },
|
|
@@ -1466,7 +1466,7 @@ const Dn = C(We)`
|
|
|
1466
1466
|
}
|
|
1467
1467
|
)
|
|
1468
1468
|
] });
|
|
1469
|
-
},
|
|
1469
|
+
}, gs = ["product", "representation"], fs = ({
|
|
1470
1470
|
entityType: e,
|
|
1471
1471
|
entitySubTypes: n = [],
|
|
1472
1472
|
// entities is data we already have from kanban
|
|
@@ -1485,199 +1485,202 @@ const Dn = C(We)`
|
|
|
1485
1485
|
scope: x,
|
|
1486
1486
|
isCompact: R = !1,
|
|
1487
1487
|
onClose: j,
|
|
1488
|
-
onWatchersUpdate:
|
|
1488
|
+
onWatchersUpdate: P,
|
|
1489
1489
|
onOpenViewer: d,
|
|
1490
1490
|
onEntityFocus: u,
|
|
1491
1491
|
onOpen: h,
|
|
1492
|
-
onUriOpen:
|
|
1492
|
+
onUriOpen: N,
|
|
1493
1493
|
// when the details panel is opened from uri
|
|
1494
1494
|
// annotations
|
|
1495
1495
|
annotations: A,
|
|
1496
|
-
removeAnnotation:
|
|
1497
|
-
exportAnnotationComposite:
|
|
1496
|
+
removeAnnotation: E,
|
|
1497
|
+
exportAnnotationComposite: y,
|
|
1498
1498
|
entityListId: w,
|
|
1499
1499
|
guestCategories: O = {},
|
|
1500
|
-
entityListsContext:
|
|
1500
|
+
entityListsContext: V,
|
|
1501
1501
|
resolveVersionJump: L
|
|
1502
1502
|
}) => {
|
|
1503
1503
|
const {
|
|
1504
|
-
closeSlideOut:
|
|
1505
|
-
openPip:
|
|
1506
|
-
user:
|
|
1507
|
-
isGuest:
|
|
1508
|
-
entities:
|
|
1509
|
-
setEntities:
|
|
1504
|
+
closeSlideOut: te,
|
|
1505
|
+
openPip: ne,
|
|
1506
|
+
user: se,
|
|
1507
|
+
isGuest: ae,
|
|
1508
|
+
entities: I,
|
|
1509
|
+
setEntities: oe,
|
|
1510
1510
|
slideOut: J,
|
|
1511
1511
|
useSearchParams: re,
|
|
1512
1512
|
SubtasksManager: K,
|
|
1513
1513
|
useNavigate: le
|
|
1514
|
-
} = q(), { currentTab: $, setTab:
|
|
1515
|
-
|
|
1514
|
+
} = q(), { currentTab: $, setTab: U, isFeed: ce } = tn(x), [B, be] = re(), he = ee(!1), S = I?.entityType ?? e, Y = I?.entities ?? o, ve = I?.entitySubTypes ?? n, me = I?.entities ? [] : t, Q = I?.entities ? I.entities.map((v) => v.projectName) : p;
|
|
1515
|
+
Kt(
|
|
1516
|
+
S ? Y.map((v) => ({ ...v, entityType: S })) : [],
|
|
1517
|
+
g ? _e.slideOut : _e.detailsPanel
|
|
1518
|
+
), H(() => {
|
|
1516
1519
|
h && !he.current && (he.current = !0, h());
|
|
1517
1520
|
}, []), H(() => {
|
|
1518
|
-
|
|
1519
|
-
}, [
|
|
1520
|
-
o.length &&
|
|
1521
|
-
}, [o,
|
|
1522
|
-
const de =
|
|
1523
|
-
() =>
|
|
1521
|
+
gs.includes(S) && $ !== "details" && U("details");
|
|
1522
|
+
}, [S, $, U]), H(() => {
|
|
1523
|
+
o.length && I && oe(null);
|
|
1524
|
+
}, [o, I, oe]);
|
|
1525
|
+
const de = D(
|
|
1526
|
+
() => ot(f, Q),
|
|
1524
1527
|
[f, Q]
|
|
1525
|
-
), ye =
|
|
1528
|
+
), ye = D(() => tt(de), [de]);
|
|
1526
1529
|
H(() => {
|
|
1527
|
-
$ === "files" &&
|
|
1528
|
-
}, [
|
|
1529
|
-
let W =
|
|
1530
|
+
$ === "files" && S !== "version" && U("feed"), $ === "subtasks" && S !== "task" && U("feed");
|
|
1531
|
+
}, [S, $, x]);
|
|
1532
|
+
let W = Y.length ? Y.map((v) => ({ id: v.id, projectName: v.projectName })) : (
|
|
1530
1533
|
// @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it
|
|
1531
|
-
me.map((
|
|
1534
|
+
me.map((v) => ({ id: v.id, projectName: v.projectName }))
|
|
1532
1535
|
);
|
|
1533
|
-
W = W.filter((
|
|
1536
|
+
W = W.filter((v) => v.id);
|
|
1534
1537
|
const {
|
|
1535
1538
|
data: l = [],
|
|
1536
|
-
isFetching:
|
|
1539
|
+
isFetching: C,
|
|
1537
1540
|
isError: z,
|
|
1538
|
-
originalArgs:
|
|
1539
|
-
} =
|
|
1540
|
-
{ entityType:
|
|
1541
|
+
originalArgs: lt
|
|
1542
|
+
} = Ke(
|
|
1543
|
+
{ entityType: S, entities: W },
|
|
1541
1544
|
{
|
|
1542
|
-
skip: !W.length || !Dt.includes(
|
|
1545
|
+
skip: !W.length || !Dt.includes(S)
|
|
1543
1546
|
}
|
|
1544
1547
|
);
|
|
1545
1548
|
H(() => {
|
|
1546
|
-
g ||
|
|
1547
|
-
}, [
|
|
1548
|
-
const ke =
|
|
1549
|
+
g || te();
|
|
1550
|
+
}, [lt, g]);
|
|
1551
|
+
const ke = ee(null);
|
|
1549
1552
|
H(() => {
|
|
1550
|
-
|
|
1551
|
-
}, [
|
|
1552
|
-
if (!
|
|
1553
|
-
const
|
|
1554
|
-
if (ke.current ===
|
|
1555
|
-
const F = l.find((M) => M.id ===
|
|
1553
|
+
I || (ke.current = null);
|
|
1554
|
+
}, [I]), H(() => {
|
|
1555
|
+
if (!C && (I?.source === "uri" || I?.source === "url") && I?.entities?.length && N) {
|
|
1556
|
+
const v = I.entities[0].id;
|
|
1557
|
+
if (ke.current === v) return;
|
|
1558
|
+
const F = l.find((M) => M.id === v);
|
|
1556
1559
|
if (!F) return;
|
|
1557
|
-
ke.current =
|
|
1560
|
+
ke.current = v, N(F, I.source);
|
|
1558
1561
|
}
|
|
1559
|
-
}, [l,
|
|
1560
|
-
const Fe =
|
|
1562
|
+
}, [l, C, I, N]);
|
|
1563
|
+
const Fe = st(f), G = Q[0], Ae = f[G] || {}, _ = l[0] || {}, ge = l[l.length - 1], we = Q[Q.length - 1], Oe = x === "inbox" && S === "version" && l.length === 1 ? Bn(l[0]) : void 0, [Re, ct] = Zn({
|
|
1561
1564
|
entity: _,
|
|
1562
|
-
entityType:
|
|
1565
|
+
entityType: S,
|
|
1563
1566
|
projectName: G,
|
|
1564
|
-
isLoading:
|
|
1565
|
-
}), { setEntityUri:
|
|
1567
|
+
isLoading: C
|
|
1568
|
+
}), { setEntityUri: dt, setUri: je } = nn();
|
|
1566
1569
|
H(() => {
|
|
1567
1570
|
if (!ge?.parents || !we) return;
|
|
1568
|
-
const { folderPath:
|
|
1571
|
+
const { folderPath: v, taskName: F, versionName: M, productName: Le } = Xt(
|
|
1569
1572
|
ge.parents,
|
|
1570
|
-
|
|
1573
|
+
S,
|
|
1571
1574
|
ge.name
|
|
1572
1575
|
);
|
|
1573
|
-
return
|
|
1576
|
+
return dt({
|
|
1574
1577
|
projectName: we,
|
|
1575
|
-
folderPath:
|
|
1578
|
+
folderPath: v,
|
|
1576
1579
|
taskName: F,
|
|
1577
1580
|
productName: Le,
|
|
1578
1581
|
versionName: M
|
|
1579
1582
|
}), () => {
|
|
1580
1583
|
je("");
|
|
1581
1584
|
};
|
|
1582
|
-
}, [l, Q,
|
|
1585
|
+
}, [l, Q, S]), Dn({
|
|
1583
1586
|
entityData: ge,
|
|
1584
1587
|
project: we,
|
|
1585
|
-
activeEntityType:
|
|
1588
|
+
activeEntityType: S,
|
|
1586
1589
|
entitiesToQuery: W
|
|
1587
1590
|
});
|
|
1588
|
-
const
|
|
1591
|
+
const ut = () => {
|
|
1589
1592
|
be(
|
|
1590
|
-
(
|
|
1591
|
-
const F = new URLSearchParams(
|
|
1593
|
+
(v) => {
|
|
1594
|
+
const F = new URLSearchParams(v);
|
|
1592
1595
|
return F.delete("project"), F.delete("type"), F.delete("id"), F;
|
|
1593
1596
|
},
|
|
1594
1597
|
{ replace: !0 }
|
|
1595
1598
|
);
|
|
1596
1599
|
}, xe = () => {
|
|
1597
|
-
j?.(),
|
|
1600
|
+
j?.(), oe(null), je(""), ut(), te();
|
|
1598
1601
|
};
|
|
1599
1602
|
H(() => {
|
|
1600
|
-
const
|
|
1603
|
+
const v = (F) => {
|
|
1601
1604
|
if (F.key === "Escape" && j) {
|
|
1602
1605
|
const M = F.target;
|
|
1603
1606
|
if (["INPUT", "TEXTAREA", "SELECT"].includes(M.tagName) || M.isContentEditable || g === !1 && (M.closest("#viewer-dialog") || J)) return;
|
|
1604
1607
|
xe();
|
|
1605
1608
|
}
|
|
1606
1609
|
};
|
|
1607
|
-
return window.addEventListener("keydown",
|
|
1610
|
+
return window.addEventListener("keydown", v), () => window.removeEventListener("keydown", v);
|
|
1608
1611
|
}, [xe, g, J]);
|
|
1609
|
-
const { requestPipWindow:
|
|
1610
|
-
const
|
|
1611
|
-
switch (
|
|
1612
|
+
const { requestPipWindow: pt } = sn(), Ve = ee(null), Ue = ee(null), ht = l.length === 1 && S !== "representation", mt = D(() => {
|
|
1613
|
+
const v = _?.label || _?.name || "", F = _?.parents || [], M = [G];
|
|
1614
|
+
switch (S) {
|
|
1612
1615
|
case "folder":
|
|
1613
1616
|
case "task":
|
|
1614
1617
|
case "product":
|
|
1615
|
-
M.push(F.at(-1),
|
|
1618
|
+
M.push(F.at(-1), v);
|
|
1616
1619
|
break;
|
|
1617
1620
|
case "version":
|
|
1618
|
-
M.push(F.at(-2), F.at(-1),
|
|
1621
|
+
M.push(F.at(-2), F.at(-1), v);
|
|
1619
1622
|
break;
|
|
1620
1623
|
case "representation":
|
|
1621
|
-
M.push(F.at(-3), F.at(-2), F.at(-1),
|
|
1624
|
+
M.push(F.at(-3), F.at(-2), F.at(-1), v);
|
|
1622
1625
|
break;
|
|
1623
1626
|
default:
|
|
1624
|
-
M.push(
|
|
1627
|
+
M.push(v);
|
|
1625
1628
|
}
|
|
1626
1629
|
return M.filter(Boolean).join(" - ");
|
|
1627
|
-
}, [_,
|
|
1628
|
-
|
|
1629
|
-
entityType:
|
|
1630
|
+
}, [_, S, G]), gt = () => {
|
|
1631
|
+
ne({
|
|
1632
|
+
entityType: S,
|
|
1630
1633
|
entities: W,
|
|
1631
1634
|
scope: x
|
|
1632
|
-
}),
|
|
1633
|
-
}, $e = () => !(Q.length > 1 ||
|
|
1635
|
+
}), pt(500, 500);
|
|
1636
|
+
}, $e = () => !(Q.length > 1 || ae && (!w || !Object.prototype.hasOwnProperty.call(
|
|
1634
1637
|
O,
|
|
1635
|
-
|
|
1638
|
+
se.attrib?.email || ""
|
|
1636
1639
|
)));
|
|
1637
1640
|
return /* @__PURE__ */ i(
|
|
1638
|
-
|
|
1641
|
+
on,
|
|
1639
1642
|
{
|
|
1640
|
-
thumbnailInputRef:
|
|
1641
|
-
versionsInputRef:
|
|
1642
|
-
canUploadVersion:
|
|
1643
|
-
children: /* @__PURE__ */ k(
|
|
1644
|
-
/* @__PURE__ */ k(
|
|
1643
|
+
thumbnailInputRef: Ve,
|
|
1644
|
+
versionsInputRef: Ue,
|
|
1645
|
+
canUploadVersion: ht,
|
|
1646
|
+
children: /* @__PURE__ */ k(Fn, { className: "details-panel", children: [
|
|
1647
|
+
/* @__PURE__ */ k(In, { children: [
|
|
1645
1648
|
/* @__PURE__ */ i(
|
|
1646
|
-
|
|
1649
|
+
Qt,
|
|
1647
1650
|
{
|
|
1648
1651
|
segments: Re,
|
|
1649
|
-
versions:
|
|
1652
|
+
versions: ct,
|
|
1650
1653
|
projectName: G,
|
|
1651
1654
|
hideProjectName: g,
|
|
1652
|
-
isLoading:
|
|
1653
|
-
entityType:
|
|
1655
|
+
isLoading: C || !Re.length,
|
|
1656
|
+
entityType: S,
|
|
1654
1657
|
scope: x,
|
|
1655
1658
|
entityTypeIcons: ye
|
|
1656
1659
|
}
|
|
1657
1660
|
),
|
|
1658
|
-
/* @__PURE__ */ k(
|
|
1661
|
+
/* @__PURE__ */ k(Pn, { className: "right-tools", children: [
|
|
1659
1662
|
/* @__PURE__ */ i(
|
|
1660
|
-
|
|
1663
|
+
Xn,
|
|
1661
1664
|
{
|
|
1662
|
-
entityType:
|
|
1665
|
+
entityType: S,
|
|
1663
1666
|
entityId: _?.id,
|
|
1664
|
-
entityIds: W.map((
|
|
1665
|
-
entityLabel:
|
|
1667
|
+
entityIds: W.map((v) => v.id).filter(Boolean),
|
|
1668
|
+
entityLabel: mt,
|
|
1666
1669
|
projectName: G,
|
|
1667
|
-
selectedEntities: l.filter((
|
|
1668
|
-
const F =
|
|
1670
|
+
selectedEntities: l.filter((v) => !!v?.id).map((v) => {
|
|
1671
|
+
const F = v.entityType || S;
|
|
1669
1672
|
return {
|
|
1670
|
-
entityId:
|
|
1673
|
+
entityId: v.id,
|
|
1671
1674
|
entityType: F,
|
|
1672
|
-
hasReviewables: !!
|
|
1673
|
-
name:
|
|
1674
|
-
label:
|
|
1675
|
-
projectName:
|
|
1676
|
-
folderId: F === "task" ?
|
|
1675
|
+
hasReviewables: !!v.hasReviewables,
|
|
1676
|
+
name: v.name,
|
|
1677
|
+
label: v.label,
|
|
1678
|
+
projectName: v.projectName || G,
|
|
1679
|
+
folderId: F === "task" ? v.folder?.id : void 0
|
|
1677
1680
|
};
|
|
1678
1681
|
}),
|
|
1679
|
-
entityListsContext:
|
|
1680
|
-
onOpenPip:
|
|
1682
|
+
entityListsContext: V,
|
|
1683
|
+
onOpenPip: gt,
|
|
1681
1684
|
onOpenViewer: d,
|
|
1682
1685
|
productId: _?.product?.id,
|
|
1683
1686
|
taskId: _?.task?.id,
|
|
@@ -1685,17 +1688,17 @@ const Dn = C(We)`
|
|
|
1685
1688
|
}
|
|
1686
1689
|
),
|
|
1687
1690
|
/* @__PURE__ */ i(
|
|
1688
|
-
|
|
1691
|
+
Bt,
|
|
1689
1692
|
{
|
|
1690
1693
|
entities: W,
|
|
1691
|
-
entityType:
|
|
1694
|
+
entityType: S,
|
|
1692
1695
|
options: r || [],
|
|
1693
|
-
onWatchersUpdate:
|
|
1694
|
-
userName:
|
|
1696
|
+
onWatchersUpdate: P && P,
|
|
1697
|
+
userName: se.name
|
|
1695
1698
|
}
|
|
1696
1699
|
),
|
|
1697
1700
|
j && /* @__PURE__ */ i(
|
|
1698
|
-
|
|
1701
|
+
Z,
|
|
1699
1702
|
{
|
|
1700
1703
|
icon: "close",
|
|
1701
1704
|
variant: "text",
|
|
@@ -1706,38 +1709,38 @@ const Dn = C(We)`
|
|
|
1706
1709
|
] })
|
|
1707
1710
|
] }),
|
|
1708
1711
|
Oe && /* @__PURE__ */ i(
|
|
1709
|
-
|
|
1712
|
+
Hn,
|
|
1710
1713
|
{
|
|
1711
1714
|
latestVersion: Oe,
|
|
1712
1715
|
resolveVersionJump: L
|
|
1713
1716
|
}
|
|
1714
1717
|
),
|
|
1715
1718
|
/* @__PURE__ */ i(
|
|
1716
|
-
|
|
1719
|
+
Ln,
|
|
1717
1720
|
{
|
|
1718
|
-
entityType:
|
|
1721
|
+
entityType: S,
|
|
1719
1722
|
entitySubTypes: ve,
|
|
1720
1723
|
entities: l,
|
|
1721
1724
|
users: r,
|
|
1722
1725
|
disabledAssignees: c,
|
|
1723
1726
|
disabledStatuses: a,
|
|
1724
1727
|
tagsOptions: s,
|
|
1725
|
-
isFetching:
|
|
1728
|
+
isFetching: C,
|
|
1726
1729
|
isCompact: R,
|
|
1727
1730
|
currentTab: $,
|
|
1728
|
-
onTabChange:
|
|
1731
|
+
onTabChange: U,
|
|
1729
1732
|
projectInfo: de,
|
|
1730
|
-
onOpenViewer: (
|
|
1733
|
+
onOpenViewer: (v) => d?.(v),
|
|
1731
1734
|
onEntityFocus: u,
|
|
1732
|
-
thumbnailInputRef:
|
|
1733
|
-
versionsInputRef:
|
|
1735
|
+
thumbnailInputRef: Ve,
|
|
1736
|
+
versionsInputRef: Ue
|
|
1734
1737
|
}
|
|
1735
1738
|
),
|
|
1736
|
-
/* @__PURE__ */ k(
|
|
1739
|
+
/* @__PURE__ */ k(Ye, { projectName: G, children: [
|
|
1737
1740
|
ce && !z && /* @__PURE__ */ i(
|
|
1738
|
-
|
|
1741
|
+
at,
|
|
1739
1742
|
{
|
|
1740
|
-
entityType:
|
|
1743
|
+
entityType: S,
|
|
1741
1744
|
entities: l,
|
|
1742
1745
|
activeUsers: m || [],
|
|
1743
1746
|
projectInfo: Ae,
|
|
@@ -1748,13 +1751,13 @@ const Dn = C(We)`
|
|
|
1748
1751
|
readOnly: !1,
|
|
1749
1752
|
entityListId: w,
|
|
1750
1753
|
annotations: A,
|
|
1751
|
-
removeAnnotation:
|
|
1752
|
-
exportAnnotationComposite:
|
|
1754
|
+
removeAnnotation: E,
|
|
1755
|
+
exportAnnotationComposite: y,
|
|
1753
1756
|
isSlideOut: g
|
|
1754
1757
|
}
|
|
1755
1758
|
),
|
|
1756
|
-
$ === "subtasks" &&
|
|
1757
|
-
|
|
1759
|
+
$ === "subtasks" && S === "task" && _?.id && K && /* @__PURE__ */ i(
|
|
1760
|
+
ms,
|
|
1758
1761
|
{
|
|
1759
1762
|
projectName: G,
|
|
1760
1763
|
taskId: _.id,
|
|
@@ -1763,21 +1766,21 @@ const Dn = C(We)`
|
|
|
1763
1766
|
subtasks: _.task?.subtasks || [],
|
|
1764
1767
|
SubtasksManager: K,
|
|
1765
1768
|
useNavigate: le,
|
|
1766
|
-
onNotFound: () =>
|
|
1769
|
+
onNotFound: () => U("feed")
|
|
1767
1770
|
}
|
|
1768
1771
|
),
|
|
1769
1772
|
$ === "files" && /* @__PURE__ */ i(
|
|
1770
|
-
|
|
1773
|
+
Mn,
|
|
1771
1774
|
{
|
|
1772
1775
|
entities: l,
|
|
1773
1776
|
scope: x,
|
|
1774
|
-
isLoadingVersion:
|
|
1777
|
+
isLoadingVersion: C
|
|
1775
1778
|
}
|
|
1776
1779
|
),
|
|
1777
1780
|
$ === "details" && /* @__PURE__ */ i(
|
|
1778
|
-
|
|
1781
|
+
es,
|
|
1779
1782
|
{
|
|
1780
|
-
entityType:
|
|
1783
|
+
entityType: S,
|
|
1781
1784
|
entities: l,
|
|
1782
1785
|
activeUsers: m || [],
|
|
1783
1786
|
projectInfo: Ae,
|
|
@@ -1787,13 +1790,13 @@ const Dn = C(We)`
|
|
|
1787
1790
|
statuses: Fe,
|
|
1788
1791
|
readOnly: !1,
|
|
1789
1792
|
annotations: A,
|
|
1790
|
-
removeAnnotation:
|
|
1791
|
-
exportAnnotationComposite:
|
|
1793
|
+
removeAnnotation: E,
|
|
1794
|
+
exportAnnotationComposite: y,
|
|
1792
1795
|
children: /* @__PURE__ */ i(
|
|
1793
|
-
|
|
1796
|
+
Wt,
|
|
1794
1797
|
{
|
|
1795
1798
|
entities: l,
|
|
1796
|
-
isLoading:
|
|
1799
|
+
isLoading: C
|
|
1797
1800
|
}
|
|
1798
1801
|
)
|
|
1799
1802
|
}
|
|
@@ -1802,14 +1805,14 @@ const Dn = C(We)`
|
|
|
1802
1805
|
] })
|
|
1803
1806
|
}
|
|
1804
1807
|
);
|
|
1805
|
-
},
|
|
1808
|
+
}, bs = ({
|
|
1806
1809
|
isOpen: e,
|
|
1807
1810
|
entityType: n,
|
|
1808
1811
|
...t
|
|
1809
1812
|
}) => {
|
|
1810
1813
|
const { entities: o } = q();
|
|
1811
|
-
return !e && !o || !n && !o ? null : /* @__PURE__ */ i(
|
|
1812
|
-
},
|
|
1814
|
+
return !e && !o || !n && !o ? null : /* @__PURE__ */ i(fs, { ...t, entityType: n || o?.entityType });
|
|
1815
|
+
}, vs = St`
|
|
1813
1816
|
from {
|
|
1814
1817
|
translate: 0 0;
|
|
1815
1818
|
}
|
|
@@ -1817,7 +1820,7 @@ to {
|
|
|
1817
1820
|
translate: calc(-100% - 8px) 0;
|
|
1818
1821
|
|
|
1819
1822
|
}
|
|
1820
|
-
`,
|
|
1823
|
+
`, ys = T.div`
|
|
1821
1824
|
position: absolute;
|
|
1822
1825
|
left: 0;
|
|
1823
1826
|
top: 0;
|
|
@@ -1826,11 +1829,11 @@ to {
|
|
|
1826
1829
|
width: 100%;
|
|
1827
1830
|
max-width: 533px;
|
|
1828
1831
|
|
|
1829
|
-
animation: ${
|
|
1830
|
-
`,
|
|
1831
|
-
const { slideOut: t, onOpenViewer: o } = q(), { entityType: s, entityId: a, projectName: r } = t || {}, c = !!s && !!a && !!r, { data: m } =
|
|
1832
|
-
return c ? /* @__PURE__ */ i(
|
|
1833
|
-
|
|
1832
|
+
animation: ${vs} 0.2s ease forwards;
|
|
1833
|
+
`, ba = ({ projectsInfo: e, scope: n }) => {
|
|
1834
|
+
const { slideOut: t, onOpenViewer: o } = q(), { entityType: s, entityId: a, projectName: r } = t || {}, c = !!s && !!a && !!r, { data: m } = qe({ projectName: r }, { skip: !r }), f = e[r || ""] || {}, { tags: p = [] } = f, { closeSlideOut: g } = q(), b = () => g(), x = (R) => o?.(R);
|
|
1835
|
+
return c ? /* @__PURE__ */ i(ys, { children: /* @__PURE__ */ i(
|
|
1836
|
+
bs,
|
|
1834
1837
|
{
|
|
1835
1838
|
isOpen: !0,
|
|
1836
1839
|
entityType: s,
|
|
@@ -1848,20 +1851,20 @@ to {
|
|
|
1848
1851
|
}
|
|
1849
1852
|
) }) : null;
|
|
1850
1853
|
};
|
|
1851
|
-
|
|
1854
|
+
T(En)`
|
|
1852
1855
|
.p-dialog-header-icons {
|
|
1853
1856
|
display: none;
|
|
1854
1857
|
}
|
|
1855
1858
|
.p-dialog-content {
|
|
1856
1859
|
}
|
|
1857
1860
|
`;
|
|
1858
|
-
const
|
|
1861
|
+
const ks = T.div`
|
|
1859
1862
|
display: flex;
|
|
1860
1863
|
flex-direction: column;
|
|
1861
1864
|
margin: -8px;
|
|
1862
1865
|
width: calc(100% + 16px);
|
|
1863
1866
|
height: calc(100% + 16px);
|
|
1864
|
-
`,
|
|
1867
|
+
`, ws = T.header`
|
|
1865
1868
|
display: flex;
|
|
1866
1869
|
align-items: flex-start;
|
|
1867
1870
|
gap: var(--base-gap-large);
|
|
@@ -1873,7 +1876,7 @@ const vs = C.div`
|
|
|
1873
1876
|
display: none;
|
|
1874
1877
|
}
|
|
1875
1878
|
}
|
|
1876
|
-
`,
|
|
1879
|
+
`, xs = T.div`
|
|
1877
1880
|
display: flex;
|
|
1878
1881
|
flex-direction: column;
|
|
1879
1882
|
height: 100%;
|
|
@@ -1910,12 +1913,12 @@ const vs = C.div`
|
|
|
1910
1913
|
align-items: center;
|
|
1911
1914
|
gap: var(--base-gap-medium);
|
|
1912
1915
|
}
|
|
1913
|
-
`,
|
|
1916
|
+
`, Ss = T.div`
|
|
1914
1917
|
display: flex;
|
|
1915
1918
|
justify-content: space-between;
|
|
1916
1919
|
padding: 8px;
|
|
1917
1920
|
padding-top: 0;
|
|
1918
|
-
`,
|
|
1921
|
+
`, Cs = T.div`
|
|
1919
1922
|
border-top: solid 1px var(--md-sys-color-outline-variant);
|
|
1920
1923
|
height: 100%;
|
|
1921
1924
|
overflow: hidden;
|
|
@@ -1934,7 +1937,7 @@ const vs = C.div`
|
|
|
1934
1937
|
display: none;
|
|
1935
1938
|
}
|
|
1936
1939
|
}
|
|
1937
|
-
`,
|
|
1940
|
+
`, Ts = T.div`
|
|
1938
1941
|
display: flex;
|
|
1939
1942
|
align-items: center;
|
|
1940
1943
|
gap: var(--base-gap-small);
|
|
@@ -1945,84 +1948,84 @@ const vs = C.div`
|
|
|
1945
1948
|
.icon {
|
|
1946
1949
|
font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 300, 'opsz' 20;
|
|
1947
1950
|
}
|
|
1948
|
-
`,
|
|
1949
|
-
const { pip: e } = q(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((
|
|
1951
|
+
`, va = () => {
|
|
1952
|
+
const { pip: e } = q(), n = e?.entityType, t = e?.entities || [], o = e?.scope || "", s = t.length > 0 && !!n, a = t.map((y) => y.projectName), { data: r = [] } = It({ projects: a }, { skip: !s }), { data: c = {}, isFetching: m } = Pt(
|
|
1950
1953
|
{
|
|
1951
1954
|
projects: a
|
|
1952
1955
|
},
|
|
1953
1956
|
{ skip: !s }
|
|
1954
|
-
), f =
|
|
1955
|
-
() =>
|
|
1957
|
+
), f = D(
|
|
1958
|
+
() => st(c, a),
|
|
1956
1959
|
[c, a]
|
|
1957
|
-
), { data: p = [], isFetching: g } =
|
|
1960
|
+
), { data: p = [], isFetching: g } = Ke(
|
|
1958
1961
|
// @ts-expect-error
|
|
1959
1962
|
{ entityType: n, entities: t },
|
|
1960
1963
|
{
|
|
1961
1964
|
skip: !s || m
|
|
1962
1965
|
}
|
|
1963
|
-
), b =
|
|
1964
|
-
() =>
|
|
1966
|
+
), b = D(
|
|
1967
|
+
() => ot(c, a),
|
|
1965
1968
|
[c, a]
|
|
1966
|
-
), x =
|
|
1969
|
+
), x = D(
|
|
1967
1970
|
() => ({
|
|
1968
|
-
task: b.taskTypes.filter((
|
|
1969
|
-
folder: b.folderTypes.filter((
|
|
1970
|
-
product: b.productTypes.filter((
|
|
1971
|
+
task: b.taskTypes.filter((y) => !!y.icon).reduce((y, w) => ({ ...y, [w.name]: w.icon }), {}),
|
|
1972
|
+
folder: b.folderTypes.filter((y) => !!y.icon).reduce((y, w) => ({ ...y, [w.name]: w.icon }), {}),
|
|
1973
|
+
product: b.productTypes.filter((y) => !!y.icon).reduce((y, w) => ({ ...y, [w.name]: w.icon }), {})
|
|
1971
1974
|
}),
|
|
1972
1975
|
[b]
|
|
1973
|
-
), R =
|
|
1974
|
-
() => n ?
|
|
1976
|
+
), R = D(
|
|
1977
|
+
() => n ? et(p, n, x) : [],
|
|
1975
1978
|
[p, n]
|
|
1976
|
-
), j =
|
|
1977
|
-
if (!p.length || !
|
|
1979
|
+
), j = D(() => r.filter((y) => p.some((w) => w?.task?.assignees?.includes(y.name))).map((y) => ({ ...y, avatarUrl: `/api/users/${y.name}/avatar` })), [r, t]), P = p[0];
|
|
1980
|
+
if (!p.length || !P) return null;
|
|
1978
1981
|
if (g) return /* @__PURE__ */ i("div", { children: "Loading..." });
|
|
1979
|
-
const d =
|
|
1982
|
+
const d = P?.projectName, N = p.some((y) => y?.status !== P?.status) ? {
|
|
1980
1983
|
icon: "question_mark",
|
|
1981
1984
|
color: "var(--md-sys-color-surface-container-highest)",
|
|
1982
1985
|
name: "Mixed statuses"
|
|
1983
|
-
} : f.find((
|
|
1986
|
+
} : f.find((y) => y.name === P?.status) || {
|
|
1984
1987
|
icon: "",
|
|
1985
1988
|
color: "",
|
|
1986
1989
|
name: "None"
|
|
1987
1990
|
};
|
|
1988
1991
|
if (!n) return null;
|
|
1989
|
-
const { title: A, subTitle:
|
|
1990
|
-
return /* @__PURE__ */ i(
|
|
1991
|
-
/* @__PURE__ */ k(
|
|
1992
|
-
/* @__PURE__ */ i(
|
|
1993
|
-
/* @__PURE__ */ k(
|
|
1992
|
+
const { title: A, subTitle: E } = nt(p, n);
|
|
1993
|
+
return /* @__PURE__ */ i(an, { children: /* @__PURE__ */ i(Ye, { projectName: d, children: /* @__PURE__ */ k(ks, { children: [
|
|
1994
|
+
/* @__PURE__ */ k(ws, { children: [
|
|
1995
|
+
/* @__PURE__ */ i(Xe, { thumbnails: R }),
|
|
1996
|
+
/* @__PURE__ */ k(xs, { children: [
|
|
1994
1997
|
/* @__PURE__ */ i("h2", { children: A }),
|
|
1995
1998
|
/* @__PURE__ */ k("div", { className: "sub-title", children: [
|
|
1996
1999
|
/* @__PURE__ */ k("span", { children: [
|
|
1997
|
-
|
|
2000
|
+
Je(n),
|
|
1998
2001
|
" - "
|
|
1999
2002
|
] }),
|
|
2000
|
-
/* @__PURE__ */ i("h3", { children:
|
|
2003
|
+
/* @__PURE__ */ i("h3", { children: E })
|
|
2001
2004
|
] })
|
|
2002
2005
|
] })
|
|
2003
2006
|
] }),
|
|
2004
|
-
/* @__PURE__ */ k(
|
|
2007
|
+
/* @__PURE__ */ k(Ss, { children: [
|
|
2005
2008
|
/* @__PURE__ */ k(
|
|
2006
|
-
|
|
2009
|
+
Ts,
|
|
2007
2010
|
{
|
|
2008
2011
|
style: {
|
|
2009
|
-
backgroundColor:
|
|
2010
|
-
color:
|
|
2012
|
+
backgroundColor: N?.color,
|
|
2013
|
+
color: Ee(N?.color)
|
|
2011
2014
|
},
|
|
2012
2015
|
children: [
|
|
2013
|
-
/* @__PURE__ */ i(fe, { icon:
|
|
2014
|
-
/* @__PURE__ */ i("span", { className: "label", children:
|
|
2016
|
+
/* @__PURE__ */ i(fe, { icon: N.icon || "question_mark", style: { color: "inherit" } }),
|
|
2017
|
+
/* @__PURE__ */ i("span", { className: "label", children: N?.name })
|
|
2015
2018
|
]
|
|
2016
2019
|
}
|
|
2017
2020
|
),
|
|
2018
|
-
/* @__PURE__ */ i(
|
|
2021
|
+
/* @__PURE__ */ i(kt, { users: j, style: { pointerEvents: "none" } })
|
|
2019
2022
|
] }),
|
|
2020
|
-
/* @__PURE__ */ i(
|
|
2021
|
-
|
|
2023
|
+
/* @__PURE__ */ i(Cs, { children: /* @__PURE__ */ i(
|
|
2024
|
+
at,
|
|
2022
2025
|
{
|
|
2023
2026
|
entityType: n,
|
|
2024
2027
|
entities: p,
|
|
2025
|
-
thumbnailHash:
|
|
2028
|
+
thumbnailHash: P?.thumbnailHash,
|
|
2026
2029
|
activeUsers: [],
|
|
2027
2030
|
projectInfo: c[d],
|
|
2028
2031
|
projectName: d,
|
|
@@ -2035,23 +2038,23 @@ const vs = C.div`
|
|
|
2035
2038
|
] }) }) });
|
|
2036
2039
|
};
|
|
2037
2040
|
export {
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2041
|
+
Mt as AssigneeSelect,
|
|
2042
|
+
wa as CloseButton,
|
|
2043
|
+
Vt as Content,
|
|
2044
|
+
xa as ContentRow,
|
|
2045
|
+
bs as DetailsPanel,
|
|
2046
|
+
va as DetailsPanelFloating,
|
|
2047
|
+
ba as DetailsPanelSlideOut,
|
|
2048
|
+
Sa as Footer,
|
|
2049
|
+
Rt as Grid,
|
|
2050
|
+
jt as Header,
|
|
2051
|
+
Ot as HeaderContainer,
|
|
2052
|
+
Ca as LabelWrapper,
|
|
2053
|
+
Ht as PriorityEnumDropdown,
|
|
2054
|
+
Lt as ReadOnlyTags,
|
|
2055
|
+
_t as StatusSelect,
|
|
2056
|
+
$t as TagsSelect,
|
|
2057
|
+
Ta as ThumbnailWrapper,
|
|
2055
2058
|
Ut as Title,
|
|
2056
|
-
|
|
2059
|
+
gs as entitiesWithoutFeed
|
|
2057
2060
|
};
|