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