@ynput/ayon-frontend-shared 0.6.9 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ContextMenu.es.js +44 -27
- package/dist/DetailsPanel.es.js +225 -224
- package/dist/ListTable.es.js +420 -420
- package/dist/NewEntity.es.js +42 -41
- package/dist/ProjectTreeTable.es.js +3517 -3378
- package/dist/Slicer.es.js +301 -276
- package/dist/Views.es.js +366 -352
- package/dist/api.es.js +428 -413
- package/dist/chunks/Actions.es.js +18 -17
- package/dist/chunks/ColumnDropIndicator.es.js +19 -18
- package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
- package/dist/chunks/ContextMenuContextInstance.es.js +4 -3
- package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +53 -41
- package/dist/chunks/DetailsDialog.es.js +26 -24
- package/dist/chunks/EmptyPlaceholder.es.js +3 -3
- package/dist/chunks/EmptyPlaceholderFlex.styled.es.js +40 -0
- package/dist/chunks/EntityPath.es.js +60 -59
- package/dist/chunks/EntityPickerDialog.es.js +88 -83
- package/dist/chunks/EntityTooltip.es.js +15 -14
- package/dist/chunks/EntityUpdatesContext.es.js +11 -11
- package/dist/chunks/Feed.es.js +864 -859
- package/dist/chunks/FilterErrorActions.es.js +4 -3
- package/dist/chunks/Menu.es.js +633 -289
- package/dist/chunks/MenuContext.es.js +1 -1
- package/dist/chunks/MetaWidget.es.js +2457 -2196
- package/dist/chunks/PlayableIcon.es.js +77 -76
- package/dist/chunks/ProjectContext.es.js +6 -6
- package/dist/chunks/RepresentationsList.es.js +1 -1
- package/dist/chunks/ReviewablesSelector.es.js +625 -609
- package/dist/chunks/SimpleForm.es.js +1 -1
- package/dist/chunks/SimpleTable.es.js +386 -363
- package/dist/chunks/Slicer.es.js +954 -821
- package/dist/chunks/{DeleteEntitiesContextInstance.es.js → TableExportContextInstance.es.js} +190 -186
- package/dist/chunks/TableSettingsFallback.es.js +4 -3
- package/dist/chunks/ThumbnailSimple.es.js +100 -99
- package/dist/chunks/VideoPlayer.es.js +1 -1
- package/dist/chunks/Watchers.es.js +222 -221
- package/dist/chunks/getBundleMode.es.js +1 -1
- package/dist/chunks/getEntityTypeIcon.es.js +5 -4
- package/dist/chunks/getUris.es.js +3873 -3736
- package/dist/chunks/realtimeUpdatesUtils.es.js +91 -82
- package/dist/chunks/searchTerms.es.js +621 -499
- package/dist/chunks/sortLists.es.js +22 -0
- package/dist/chunks/useAttributeEnums.es.js +43 -43
- package/dist/chunks/useHierarchySelection.es.js +6 -5
- package/dist/chunks/useLoadModule.es.js +24 -23
- package/dist/chunks/viewUpdateHelper.es.js +16 -15
- package/dist/components.es.js +565 -531
- package/dist/context.es.js +529 -503
- package/dist/hooks.es.js +13 -13
- package/dist/index.es.js +4 -4
- package/dist/types/ContextMenu.d.ts +4 -1
- package/dist/types/Feed.d.ts +1 -1
- package/dist/types/ListTable.d.ts +1 -1
- package/dist/types/ProjectTreeTable.d.ts +123 -13
- package/dist/types/SimpleTable.d.ts +2 -1
- package/dist/types/Slicer.d.ts +26 -1
- package/dist/types/Views.d.ts +2 -0
- package/dist/types/api.d.ts +2359 -590
- package/dist/types/components.d.ts +30 -4
- package/dist/types/context.d.ts +94 -2
- package/dist/types/util.d.ts +54 -0
- package/dist/util.es.js +129 -119
- package/package.json +2 -2
- package/dist/chunks/MenuItem.es.js +0 -420
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { jsx as m, jsxs as z, Fragment as
|
|
1
|
+
import { jsx as m, jsxs as z, Fragment as Z } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo as W, useCallback as Q, useState as L, useEffect as V, useRef as X, forwardRef as q, useContext as Ee } from "react";
|
|
3
3
|
import { snakeCase as Te, upperFirst as Se, intersectionBy as le } from "lodash";
|
|
4
4
|
import "primereact/confirmdialog";
|
|
5
5
|
import { toast as G } from "react-toastify";
|
|
6
6
|
import { c as K } from "./copyToClipboard.es.js";
|
|
7
7
|
import "uuid";
|
|
8
|
-
import {
|
|
8
|
+
import { aF as ce, b6 as De, bs as de, b9 as je, ba as Fe, bb as Ce, bB as Ae, by as Ne, bJ as $e, br as Re, a as B, bz as ze } from "./searchTerms.es.js";
|
|
9
9
|
import p, { keyframes as pe, css as ue } from "styled-components";
|
|
10
10
|
import U from "clsx";
|
|
11
11
|
import { BorderedSection as H, Button as O, StatusSelect as Me, AssigneeSelect as Ue, TagsSelect as Le, EnumDropdown as Pe, Icon as P, getMimeTypeIcon as We, theme as Oe, getFileSizeString as Ie, WatcherSelect as Ve } from "@ynput/ayon-react-components";
|
|
12
12
|
import { o as Be, M as He, T as _e, n as Qe, B as qe, D as Ge } from "./MetaWidget.es.js";
|
|
13
13
|
import "./PlayableIcon.es.js";
|
|
14
|
-
import {
|
|
14
|
+
import { dn as Ke, b$ as Je, cd as me, bj as Ze, ar as Xe, by as Ye, db as et } from "./getUris.es.js";
|
|
15
15
|
import "@module-federation/enhanced/runtime";
|
|
16
|
-
import { o as
|
|
16
|
+
import { o as J, d as tt, x as ot, T as rt } from "./TableExportContextInstance.es.js";
|
|
17
17
|
import "semver";
|
|
18
18
|
import "./ContextMenuContextInstance.es.js";
|
|
19
19
|
import "react-dom";
|
|
20
20
|
import "react-redux";
|
|
21
|
-
import
|
|
21
|
+
import "react-router-dom";
|
|
22
|
+
import { format as nt } from "date-fns";
|
|
22
23
|
import "lexical";
|
|
23
24
|
import "@lexical/markdown";
|
|
24
25
|
import "match-sorter";
|
|
@@ -30,7 +31,7 @@ import "@lexical/utils";
|
|
|
30
31
|
import "@lexical/react/LexicalBlockWithAlignableContents";
|
|
31
32
|
import "@lexical/react/LexicalDecoratorBlockNode";
|
|
32
33
|
import "@tanstack/react-table";
|
|
33
|
-
import { g as
|
|
34
|
+
import { g as at, h as Y } from "./humanizeFieldName.es.js";
|
|
34
35
|
import { a as it, A as st } from "./ThumbnailSimple.es.js";
|
|
35
36
|
import ge from "axios";
|
|
36
37
|
import { p as I } from "./parseFilename.es.js";
|
|
@@ -47,21 +48,21 @@ const ee = [], pt = (e) => {
|
|
|
47
48
|
}),
|
|
48
49
|
[t, r, e]
|
|
49
50
|
);
|
|
50
|
-
},
|
|
51
|
+
}, Bo = () => {
|
|
51
52
|
const [e] = je(), [t] = Fe();
|
|
52
53
|
return Q(
|
|
53
54
|
async (r, o) => {
|
|
54
|
-
const
|
|
55
|
-
}))?.find(({ name:
|
|
55
|
+
const a = (await t(void 0, !0).unwrap().catch(() => {
|
|
56
|
+
}))?.find(({ name: n }) => n === r.enumResolver)?.acceptedParams;
|
|
56
57
|
try {
|
|
57
|
-
const
|
|
58
|
-
ce(r, { projectName: o },
|
|
58
|
+
const n = await e(
|
|
59
|
+
ce(r, { projectName: o }, a),
|
|
59
60
|
!0
|
|
60
61
|
).unwrap();
|
|
61
|
-
if (
|
|
62
|
-
return de(
|
|
63
|
-
} catch (
|
|
64
|
-
throw ut(
|
|
62
|
+
if (n.error) throw new Error(n.error);
|
|
63
|
+
return de(n.items);
|
|
64
|
+
} catch (n) {
|
|
65
|
+
throw ut(n);
|
|
65
66
|
}
|
|
66
67
|
},
|
|
67
68
|
[e, t]
|
|
@@ -76,7 +77,7 @@ const ee = [], pt = (e) => {
|
|
|
76
77
|
} = e || {};
|
|
77
78
|
return typeof r?.detail == "string" ? new Error(r.detail) : typeof l == "string" ? new Error(l) : typeof t == "string" ? new Error(t) : new Error(o ? `Request failed (${o})` : "Request failed");
|
|
78
79
|
}, mt = (e, { projectName: t, skip: r } = {}) => {
|
|
79
|
-
const o = e?.enumResolver, { acceptedParams: l, isRegistryLoaded:
|
|
80
|
+
const o = e?.enumResolver, { acceptedParams: l, isRegistryLoaded: a } = pt(o), n = W(
|
|
80
81
|
() => ce(e, { projectName: t }, l),
|
|
81
82
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
82
83
|
[o, e?.enumResolverSettings, t, l]
|
|
@@ -84,14 +85,14 @@ const ee = [], pt = (e) => {
|
|
|
84
85
|
currentData: c,
|
|
85
86
|
isFetching: g,
|
|
86
87
|
isError: s
|
|
87
|
-
} = De(
|
|
88
|
+
} = De(n, {
|
|
88
89
|
// waiting for the registry keeps the cache key final: no request is sent with params that get dropped
|
|
89
|
-
skip: !o || !!r || !
|
|
90
|
+
skip: !o || !!r || !a
|
|
90
91
|
}), u = W(() => o ? c ? de(c.items) : ee : e?.enum || ee, [o, c, e?.enum]), i = !!o && !g && (s || !!c?.error);
|
|
91
92
|
return {
|
|
92
93
|
options: u,
|
|
93
94
|
// a background refetch (tag invalidation) keeps the cached options, so it is not a load
|
|
94
|
-
isLoading: !!o && !r && (!
|
|
95
|
+
isLoading: !!o && !r && (!a || g && !c),
|
|
95
96
|
isError: i,
|
|
96
97
|
errorMessage: i ? c?.error : void 0
|
|
97
98
|
};
|
|
@@ -126,7 +127,7 @@ const ee = [], pt = (e) => {
|
|
|
126
127
|
"tags",
|
|
127
128
|
"status"
|
|
128
129
|
], ft = (e, t) => {
|
|
129
|
-
const [r, o] = L([]), [l,
|
|
130
|
+
const [r, o] = L([]), [l, a] = L(null), n = () => {
|
|
130
131
|
const s = {}, u = /* @__PURE__ */ new Set();
|
|
131
132
|
e.forEach((h) => {
|
|
132
133
|
const v = {
|
|
@@ -155,18 +156,18 @@ const ee = [], pt = (e) => {
|
|
|
155
156
|
});
|
|
156
157
|
});
|
|
157
158
|
const i = Object.entries(s).reduce((h, [v, f]) => {
|
|
158
|
-
const { value: w, isMixed: y } =
|
|
159
|
+
const { value: w, isMixed: y } = at(f);
|
|
159
160
|
return h[v] = w, y && u.add(v), h;
|
|
160
161
|
}, {});
|
|
161
|
-
|
|
162
|
+
a(i), o(Array.from(u));
|
|
162
163
|
};
|
|
163
164
|
return V(() => {
|
|
164
|
-
t || e.length === 0 ||
|
|
165
|
+
t || e.length === 0 || n();
|
|
165
166
|
}, [e, t]), {
|
|
166
167
|
formData: l,
|
|
167
168
|
mixedFields: r,
|
|
168
169
|
updateFormData: (s, u) => {
|
|
169
|
-
|
|
170
|
+
a((i) => i && {
|
|
170
171
|
...i,
|
|
171
172
|
[s]: u
|
|
172
173
|
});
|
|
@@ -181,8 +182,8 @@ const ee = [], pt = (e) => {
|
|
|
181
182
|
taskTypes: r,
|
|
182
183
|
statuses: o,
|
|
183
184
|
tags: l,
|
|
184
|
-
entityType:
|
|
185
|
-
folderHasVersions:
|
|
185
|
+
entityType: a,
|
|
186
|
+
folderHasVersions: n,
|
|
186
187
|
attribAccess: c
|
|
187
188
|
}) => {
|
|
188
189
|
const g = W(() => {
|
|
@@ -205,7 +206,7 @@ const ee = [], pt = (e) => {
|
|
|
205
206
|
},
|
|
206
207
|
{
|
|
207
208
|
name: "folderType",
|
|
208
|
-
hidden:
|
|
209
|
+
hidden: a !== "folder",
|
|
209
210
|
data: {
|
|
210
211
|
type: "string",
|
|
211
212
|
title: "Folder Type",
|
|
@@ -219,7 +220,7 @@ const ee = [], pt = (e) => {
|
|
|
219
220
|
},
|
|
220
221
|
{
|
|
221
222
|
name: "taskType",
|
|
222
|
-
hidden:
|
|
223
|
+
hidden: a !== "task",
|
|
223
224
|
data: {
|
|
224
225
|
type: "string",
|
|
225
226
|
title: "Task Type",
|
|
@@ -258,7 +259,7 @@ const ee = [], pt = (e) => {
|
|
|
258
259
|
}
|
|
259
260
|
}
|
|
260
261
|
].map(
|
|
261
|
-
(d) => d.name === "folderType" &&
|
|
262
|
+
(d) => d.name === "folderType" && a === "folder" && n ? {
|
|
262
263
|
...d,
|
|
263
264
|
readonly: !0,
|
|
264
265
|
data: {
|
|
@@ -266,16 +267,16 @@ const ee = [], pt = (e) => {
|
|
|
266
267
|
description: "Folder type is locked because the folder has published versions."
|
|
267
268
|
}
|
|
268
269
|
} : d
|
|
269
|
-
), y =
|
|
270
|
+
), y = a === "version" ? [
|
|
270
271
|
...w.map(
|
|
271
272
|
(d) => ["tags", "status"].includes(d.name) ? d : { ...d, readonly: !0 }
|
|
272
273
|
)
|
|
273
274
|
] : w, x = v ? y.map(
|
|
274
275
|
(d) => v.includes(d.name) || v.includes(Te(d.name)) ? d : { ...d, readonly: !0 }
|
|
275
|
-
) : y, F =
|
|
276
|
+
) : y, F = a ? e.filter((d) => d.scope?.includes(a) && d.name !== "description").filter((d) => !i || i.includes(d.name)).map((d) => ({
|
|
276
277
|
name: "attrib." + d.name,
|
|
277
278
|
data: d.data,
|
|
278
|
-
...
|
|
279
|
+
...a === "version" && d.builtin ? { readonly: !0 } : {},
|
|
279
280
|
...h && !h.includes(d.name) ? { readonly: !0 } : {}
|
|
280
281
|
})) : [], T = te.map((d) => ({
|
|
281
282
|
name: d,
|
|
@@ -299,8 +300,8 @@ const ee = [], pt = (e) => {
|
|
|
299
300
|
r,
|
|
300
301
|
o,
|
|
301
302
|
l,
|
|
302
|
-
n,
|
|
303
303
|
a,
|
|
304
|
+
n,
|
|
304
305
|
c
|
|
305
306
|
]), s = g.filter(
|
|
306
307
|
(i) => ht.includes(i.name) || i.name.startsWith("attrib.")
|
|
@@ -313,9 +314,9 @@ const ee = [], pt = (e) => {
|
|
|
313
314
|
readOnlyFieldsData: u
|
|
314
315
|
};
|
|
315
316
|
}, yt = ({ entities: e, entityType: t }) => {
|
|
316
|
-
const [r] = Ke(), { onUpdateEntity: o } =
|
|
317
|
-
return { updateEntity: async (
|
|
318
|
-
if (
|
|
317
|
+
const [r] = Ke(), { onUpdateEntity: o } = J();
|
|
318
|
+
return { updateEntity: async (a, n) => {
|
|
319
|
+
if (n == null) {
|
|
319
320
|
console.error("value is null or undefined");
|
|
320
321
|
return;
|
|
321
322
|
}
|
|
@@ -324,7 +325,7 @@ const ee = [], pt = (e) => {
|
|
|
324
325
|
id: g.id,
|
|
325
326
|
projectName: g.projectName,
|
|
326
327
|
data: {
|
|
327
|
-
[
|
|
328
|
+
[a]: n
|
|
328
329
|
},
|
|
329
330
|
currentAssignees: g.users,
|
|
330
331
|
meta: {
|
|
@@ -340,11 +341,11 @@ const ee = [], pt = (e) => {
|
|
|
340
341
|
(t, r) => r ? t ? t.filter((o) => r.includes(o)) : r : t,
|
|
341
342
|
void 0
|
|
342
343
|
), bt = ({ entities: e, entityType: t }) => {
|
|
343
|
-
const { data: o } =
|
|
344
|
+
const { data: o } = Je(), l = W(() => {
|
|
344
345
|
if (!o?.projects) return {};
|
|
345
|
-
const
|
|
346
|
+
const n = [...new Set(e.map((s) => s.projectName))].map(
|
|
346
347
|
(s) => o.projects?.[s] || {}
|
|
347
|
-
), c =
|
|
348
|
+
), c = n.map((s) => s.attrib_read), g = n.map((s) => s.attrib_write);
|
|
348
349
|
return {
|
|
349
350
|
readableAttributes: _(
|
|
350
351
|
c.map((s) => s?.enabled ? s.attributes ?? [] : void 0)
|
|
@@ -354,20 +355,20 @@ const ee = [], pt = (e) => {
|
|
|
354
355
|
),
|
|
355
356
|
writableFields: _(g.map((s) => s?.enabled ? s.fields ?? [] : void 0))
|
|
356
357
|
};
|
|
357
|
-
}, [o, e]), { updateEntity:
|
|
358
|
-
entities: e.map((
|
|
359
|
-
id:
|
|
360
|
-
projectName:
|
|
361
|
-
folderId:
|
|
362
|
-
productId:
|
|
363
|
-
users:
|
|
358
|
+
}, [o, e]), { updateEntity: a } = yt({
|
|
359
|
+
entities: e.map((n) => ({
|
|
360
|
+
id: n.id,
|
|
361
|
+
projectName: n.projectName || "",
|
|
362
|
+
folderId: n.folder?.id,
|
|
363
|
+
productId: n.product?.id,
|
|
364
|
+
users: n.task?.assignees || []
|
|
364
365
|
})),
|
|
365
366
|
entityType: t
|
|
366
367
|
});
|
|
367
368
|
return {
|
|
368
369
|
enableEditing: !0,
|
|
369
370
|
attribAccess: l,
|
|
370
|
-
updateEntity:
|
|
371
|
+
updateEntity: a
|
|
371
372
|
};
|
|
372
373
|
}, xt = (e, t) => {
|
|
373
374
|
const r = me({ projects: [...new Set(e).values()] });
|
|
@@ -375,17 +376,17 @@ const ee = [], pt = (e) => {
|
|
|
375
376
|
return [];
|
|
376
377
|
let o;
|
|
377
378
|
for (const l of Object.values(r.data)) {
|
|
378
|
-
const
|
|
379
|
-
(
|
|
379
|
+
const a = l.statuses?.filter(
|
|
380
|
+
(n) => t.every((c) => !n.scope || n.scope?.includes(c))
|
|
380
381
|
) || [];
|
|
381
382
|
if (o === void 0) {
|
|
382
|
-
o =
|
|
383
|
+
o = a;
|
|
383
384
|
continue;
|
|
384
385
|
}
|
|
385
|
-
o = le(o,
|
|
386
|
+
o = le(o, a, "name");
|
|
386
387
|
}
|
|
387
388
|
return o;
|
|
388
|
-
},
|
|
389
|
+
}, Ho = (e, t) => {
|
|
389
390
|
let r = Object.values(e || {});
|
|
390
391
|
return r.length == 0 || r[0].scope === void 0 ? r : r.filter(
|
|
391
392
|
(o) => t.every((l) => o.scope === void 0 || o.scope.includes(l))
|
|
@@ -396,12 +397,12 @@ const ee = [], pt = (e) => {
|
|
|
396
397
|
return [];
|
|
397
398
|
let o;
|
|
398
399
|
for (const l of Object.values(r.data)) {
|
|
399
|
-
let
|
|
400
|
-
if (t === "task" ?
|
|
401
|
-
o =
|
|
400
|
+
let a = [];
|
|
401
|
+
if (t === "task" ? a = l.taskTypes || [] : t === "folder" && (a = l.folderTypes || []), o === void 0) {
|
|
402
|
+
o = a;
|
|
402
403
|
continue;
|
|
403
404
|
}
|
|
404
|
-
o = le(o,
|
|
405
|
+
o = le(o, a, "name");
|
|
405
406
|
}
|
|
406
407
|
return o || [];
|
|
407
408
|
}, oe = p.div`
|
|
@@ -430,8 +431,8 @@ const ee = [], pt = (e) => {
|
|
|
430
431
|
isEditing: r,
|
|
431
432
|
isReadOnly: o,
|
|
432
433
|
isMixed: l,
|
|
433
|
-
onChange:
|
|
434
|
-
onCancelEdit:
|
|
434
|
+
onChange: a,
|
|
435
|
+
onCancelEdit: n,
|
|
435
436
|
onExpand: c,
|
|
436
437
|
entities: g = [],
|
|
437
438
|
entityType: s = "task",
|
|
@@ -441,7 +442,7 @@ const ee = [], pt = (e) => {
|
|
|
441
442
|
isEditing: r && !o,
|
|
442
443
|
isReadOnly: o,
|
|
443
444
|
isInherited: !1,
|
|
444
|
-
onChange: ($) =>
|
|
445
|
+
onChange: ($) => a(e.name, $)
|
|
445
446
|
}, f = g.map(($) => $.projectName), w = xt(f, [s]), y = wt(f, s), x = u || f[0], {
|
|
446
447
|
options: F,
|
|
447
448
|
isLoading: T,
|
|
@@ -462,7 +463,7 @@ const ee = [], pt = (e) => {
|
|
|
462
463
|
value: D,
|
|
463
464
|
...v,
|
|
464
465
|
isEditing: !0,
|
|
465
|
-
onCancelEdit:
|
|
466
|
+
onCancelEdit: n,
|
|
466
467
|
style: { width: "fit-content" },
|
|
467
468
|
autoFocus: !1,
|
|
468
469
|
isMidnightExclusive: d
|
|
@@ -508,7 +509,7 @@ const ee = [], pt = (e) => {
|
|
|
508
509
|
},
|
|
509
510
|
placeholder: S ? `Could not load ${N}` : l ? `Mixed ${N}` : `Select ${N}...`,
|
|
510
511
|
error: $e(S),
|
|
511
|
-
onCancelEdit:
|
|
512
|
+
onCancelEdit: n,
|
|
512
513
|
align: "right",
|
|
513
514
|
enableCustomValues: e.enableCustomValues,
|
|
514
515
|
isLoadingOptions: T,
|
|
@@ -524,7 +525,7 @@ const ee = [], pt = (e) => {
|
|
|
524
525
|
He,
|
|
525
526
|
{
|
|
526
527
|
value: D.toString(),
|
|
527
|
-
onCancelEdit:
|
|
528
|
+
onCancelEdit: n,
|
|
528
529
|
onExpand: c,
|
|
529
530
|
showExpand: !!c,
|
|
530
531
|
...v
|
|
@@ -533,7 +534,7 @@ const ee = [], pt = (e) => {
|
|
|
533
534
|
_e,
|
|
534
535
|
{
|
|
535
536
|
value: D.toString(),
|
|
536
|
-
onCancelEdit:
|
|
537
|
+
onCancelEdit: n,
|
|
537
538
|
type: i,
|
|
538
539
|
...v
|
|
539
540
|
}
|
|
@@ -551,11 +552,11 @@ const ee = [], pt = (e) => {
|
|
|
551
552
|
showDetailedTooltip: r = !1,
|
|
552
553
|
...o
|
|
553
554
|
}) => {
|
|
554
|
-
const l = t.title ? Y(t.title) : Y(e),
|
|
555
|
+
const l = t.title ? Y(t.title) : Y(e), a = r ? `${l} (${e}) ${t.description ? "-" : ""} ${t.description || ""}` : t.description || l;
|
|
555
556
|
return /* @__PURE__ */ m(
|
|
556
557
|
Tt,
|
|
557
558
|
{
|
|
558
|
-
"data-tooltip": r ?
|
|
559
|
+
"data-tooltip": r ? a : void 0,
|
|
559
560
|
"data-tooltip-delay": 700,
|
|
560
561
|
...o,
|
|
561
562
|
children: l
|
|
@@ -655,8 +656,8 @@ const ee = [], pt = (e) => {
|
|
|
655
656
|
form: r,
|
|
656
657
|
fields: o,
|
|
657
658
|
enableEditing: l,
|
|
658
|
-
mixedFields:
|
|
659
|
-
onChange:
|
|
659
|
+
mixedFields: a,
|
|
660
|
+
onChange: n,
|
|
660
661
|
entities: c = [],
|
|
661
662
|
projectName: g,
|
|
662
663
|
entityType: s = "task"
|
|
@@ -674,7 +675,7 @@ const ee = [], pt = (e) => {
|
|
|
674
675
|
fieldReadonly: o.find((x) => x.name === y)?.readonly
|
|
675
676
|
});
|
|
676
677
|
}, f = (y, x) => {
|
|
677
|
-
i(null),
|
|
678
|
+
i(null), n?.(y, x);
|
|
678
679
|
}, w = () => {
|
|
679
680
|
i(null);
|
|
680
681
|
};
|
|
@@ -690,7 +691,7 @@ const ee = [], pt = (e) => {
|
|
|
690
691
|
withPadding: !0,
|
|
691
692
|
pt: { content: { style: { minHeight: "unset" } } },
|
|
692
693
|
children: o.filter((y) => !y.hidden).map((y) => {
|
|
693
|
-
const x = r[y.name], F = u === y.name, T = y.readonly || !l, A =
|
|
694
|
+
const x = r[y.name], F = u === y.name, T = y.readonly || !l, A = a?.includes(y.name) || !1;
|
|
694
695
|
return /* @__PURE__ */ z(
|
|
695
696
|
fe,
|
|
696
697
|
{
|
|
@@ -784,7 +785,7 @@ const ee = [], pt = (e) => {
|
|
|
784
785
|
justify-self: end;
|
|
785
786
|
font-size: 14px;
|
|
786
787
|
width: 100%;
|
|
787
|
-
`,
|
|
788
|
+
`, ne = p.div`
|
|
788
789
|
height: 20px;
|
|
789
790
|
background: var(--md-sys-color-surface-container-low);
|
|
790
791
|
border-radius: 4px;
|
|
@@ -807,25 +808,25 @@ const ee = [], pt = (e) => {
|
|
|
807
808
|
mixedFields: r = [],
|
|
808
809
|
isLoading: o
|
|
809
810
|
}) => {
|
|
810
|
-
const l = (
|
|
811
|
-
if (
|
|
811
|
+
const l = (a, n) => {
|
|
812
|
+
if (a == null)
|
|
812
813
|
return "-";
|
|
813
|
-
if (
|
|
814
|
+
if (n === "createdAt" || n === "updatedAt")
|
|
814
815
|
try {
|
|
815
|
-
return
|
|
816
|
+
return nt(new Date(a), "PPpp");
|
|
816
817
|
} catch {
|
|
817
|
-
return
|
|
818
|
+
return a.toString();
|
|
818
819
|
}
|
|
819
|
-
return
|
|
820
|
+
return a.toString();
|
|
820
821
|
};
|
|
821
|
-
return o ? /* @__PURE__ */ m(H, { title: "Details", withPadding: !0, children: Array.from({ length: 6 }).map((
|
|
822
|
-
/* @__PURE__ */ m(
|
|
823
|
-
/* @__PURE__ */ m(
|
|
822
|
+
return o ? /* @__PURE__ */ m(H, { title: "Details", withPadding: !0, children: Array.from({ length: 6 }).map((a, n) => /* @__PURE__ */ z(re, { children: [
|
|
823
|
+
/* @__PURE__ */ m(ne, { style: { width: "80px" } }),
|
|
824
|
+
/* @__PURE__ */ m(ne, { style: { width: "120px", justifySelf: "end" } }),
|
|
824
825
|
/* @__PURE__ */ m("div", { style: { width: "24px" } })
|
|
825
|
-
] },
|
|
826
|
-
const
|
|
826
|
+
] }, n)) }) : /* @__PURE__ */ m(H, { title: "Details", autoHeight: !0, showHeader: !0, withPadding: !0, children: e.filter((a) => !a.hidden).map((a) => {
|
|
827
|
+
const n = t[a.name], c = r.includes(a.name), g = c ? "Multiple values" : l(n, a.name);
|
|
827
828
|
return /* @__PURE__ */ z(re, { children: [
|
|
828
|
-
/* @__PURE__ */ m(he, { name:
|
|
829
|
+
/* @__PURE__ */ m(he, { name: a.name, data: a.data, showDetailedTooltip: !0 }),
|
|
829
830
|
/* @__PURE__ */ m(
|
|
830
831
|
Ct,
|
|
831
832
|
{
|
|
@@ -843,11 +844,11 @@ const ee = [], pt = (e) => {
|
|
|
843
844
|
variant: "text",
|
|
844
845
|
icon: "content_copy",
|
|
845
846
|
onClick: (s) => {
|
|
846
|
-
s.stopPropagation(), K((
|
|
847
|
+
s.stopPropagation(), K((n ?? "").toString(), !0);
|
|
847
848
|
}
|
|
848
849
|
}
|
|
849
850
|
)
|
|
850
|
-
] },
|
|
851
|
+
] }, a.name);
|
|
851
852
|
}) });
|
|
852
853
|
}, Nt = p.div`
|
|
853
854
|
display: flex;
|
|
@@ -858,17 +859,17 @@ const ee = [], pt = (e) => {
|
|
|
858
859
|
padding-right: 8px;
|
|
859
860
|
padding-left: 8px;
|
|
860
861
|
margin-top: 16px;
|
|
861
|
-
`,
|
|
862
|
-
const { formData: r, mixedFields: o, updateFormData: l, clearMixedField:
|
|
862
|
+
`, _o = ({ entities: e = [], isLoading: t }) => {
|
|
863
|
+
const { formData: r, mixedFields: o, updateFormData: l, clearMixedField: a } = ft(
|
|
863
864
|
e,
|
|
864
865
|
t
|
|
865
|
-
), { attributes:
|
|
866
|
+
), { attributes: n } = tt(), {
|
|
866
867
|
folderTypes: c = [],
|
|
867
868
|
taskTypes: g = [],
|
|
868
869
|
statuses: s = [],
|
|
869
870
|
tags: u = [],
|
|
870
871
|
productTypes: i
|
|
871
|
-
} = ot(), { openSlideOut: h } =
|
|
872
|
+
} = ot(), { openSlideOut: h } = J(), [, v] = it(), f = (e || []).filter((R) => R.entityType === "folder"), { data: w } = Ze(
|
|
872
873
|
{
|
|
873
874
|
entityIds: f.map((R) => R.id),
|
|
874
875
|
projectName: r?.projectName || "",
|
|
@@ -882,7 +883,7 @@ const ee = [], pt = (e) => {
|
|
|
882
883
|
entities: e,
|
|
883
884
|
entityType: x
|
|
884
885
|
}), { editableFields: k, readOnlyFieldsData: S } = vt({
|
|
885
|
-
attributes:
|
|
886
|
+
attributes: n,
|
|
886
887
|
folderTypes: c,
|
|
887
888
|
taskTypes: g,
|
|
888
889
|
statuses: s,
|
|
@@ -903,7 +904,7 @@ const ee = [], pt = (e) => {
|
|
|
903
904
|
const { x: xe, y: we, width: ke } = be.getBoundingClientRect();
|
|
904
905
|
v({ id: M, name: M, type: R, label: ye, pos: { left: xe + ke / 2, top: we } });
|
|
905
906
|
}, ve = (R) => {
|
|
906
|
-
l("description", R),
|
|
907
|
+
l("description", R), a("description"), A("attrib", { description: R });
|
|
907
908
|
};
|
|
908
909
|
return /* @__PURE__ */ z(Nt, { children: [
|
|
909
910
|
/* @__PURE__ */ m(
|
|
@@ -943,9 +944,9 @@ const ee = [], pt = (e) => {
|
|
|
943
944
|
}
|
|
944
945
|
)
|
|
945
946
|
] });
|
|
946
|
-
},
|
|
947
|
+
}, Qo = p.div`
|
|
947
948
|
position: relative;
|
|
948
|
-
`,
|
|
949
|
+
`, qo = p.div`
|
|
949
950
|
position: relative;
|
|
950
951
|
padding: 8px;
|
|
951
952
|
border-bottom: 1px solid var(--md-sys-color-outline-variant);
|
|
@@ -977,13 +978,13 @@ const ee = [], pt = (e) => {
|
|
|
977
978
|
/* align center */
|
|
978
979
|
align-items: center;
|
|
979
980
|
}
|
|
980
|
-
`,
|
|
981
|
+
`, Go = p(O)`
|
|
981
982
|
position: absolute;
|
|
982
983
|
right: 4px;
|
|
983
984
|
top: 4px;
|
|
984
985
|
width: fit-content;
|
|
985
986
|
z-index: 50;
|
|
986
|
-
`,
|
|
987
|
+
`, Ko = p.header`
|
|
987
988
|
display: flex;
|
|
988
989
|
align-items: center;
|
|
989
990
|
gap: var(--base-gap-large);
|
|
@@ -998,7 +999,7 @@ const ee = [], pt = (e) => {
|
|
|
998
999
|
display: none;
|
|
999
1000
|
}
|
|
1000
1001
|
}
|
|
1001
|
-
`,
|
|
1002
|
+
`, Jo = p.div`
|
|
1002
1003
|
display: flex;
|
|
1003
1004
|
align-items: center;
|
|
1004
1005
|
gap: var(--base-gap-small);
|
|
@@ -1021,7 +1022,7 @@ const ee = [], pt = (e) => {
|
|
|
1021
1022
|
flex-direction: column;
|
|
1022
1023
|
gap: var(--base-gap-small);
|
|
1023
1024
|
}
|
|
1024
|
-
`,
|
|
1025
|
+
`, Xo = p.div`
|
|
1025
1026
|
display: flex;
|
|
1026
1027
|
flex-direction: column;
|
|
1027
1028
|
height: 100%;
|
|
@@ -1059,7 +1060,7 @@ const ee = [], pt = (e) => {
|
|
|
1059
1060
|
align-items: center;
|
|
1060
1061
|
gap: var(--base-gap-medium);
|
|
1061
1062
|
}
|
|
1062
|
-
`,
|
|
1063
|
+
`, Yo = p.div`
|
|
1063
1064
|
display: flex;
|
|
1064
1065
|
justify-content: space-between;
|
|
1065
1066
|
align-items: flex-start;
|
|
@@ -1068,10 +1069,10 @@ const ee = [], pt = (e) => {
|
|
|
1068
1069
|
label {
|
|
1069
1070
|
color: var(--md-sys-color-outline);
|
|
1070
1071
|
}
|
|
1071
|
-
`,
|
|
1072
|
+
`, er = p.div`
|
|
1072
1073
|
display: flex;
|
|
1073
1074
|
flex-direction: column;
|
|
1074
|
-
`,
|
|
1075
|
+
`, tr = p(Me)`
|
|
1075
1076
|
width: fit-content;
|
|
1076
1077
|
.status-field.value {
|
|
1077
1078
|
position: relative;
|
|
@@ -1082,11 +1083,11 @@ const ee = [], pt = (e) => {
|
|
|
1082
1083
|
margin-bottom: 2px;
|
|
1083
1084
|
color: ${(e) => e.$textColor};
|
|
1084
1085
|
}
|
|
1085
|
-
`,
|
|
1086
|
+
`, or = p(Ue)`
|
|
1086
1087
|
width: fit-content;
|
|
1087
1088
|
justify-self: end;
|
|
1088
1089
|
max-width: 100%;
|
|
1089
|
-
`,
|
|
1090
|
+
`, rr = p(Le)`
|
|
1090
1091
|
height: 24px;
|
|
1091
1092
|
.template-value {
|
|
1092
1093
|
padding: 0 2px;
|
|
@@ -1100,7 +1101,7 @@ const ee = [], pt = (e) => {
|
|
|
1100
1101
|
display: none;
|
|
1101
1102
|
}
|
|
1102
1103
|
}
|
|
1103
|
-
`,
|
|
1104
|
+
`, nr = p.div`
|
|
1104
1105
|
display: flex;
|
|
1105
1106
|
align-items: center;
|
|
1106
1107
|
gap: 4px;
|
|
@@ -1144,12 +1145,12 @@ const ee = [], pt = (e) => {
|
|
|
1144
1145
|
background-color: var(--md-sys-color-surface-container-low-hover);
|
|
1145
1146
|
}
|
|
1146
1147
|
}
|
|
1147
|
-
`,
|
|
1148
|
+
`, ir = p.footer`
|
|
1148
1149
|
display: flex;
|
|
1149
1150
|
align-items: center;
|
|
1150
1151
|
gap: var(--base-gap-small);
|
|
1151
1152
|
justify-content: space-between;
|
|
1152
|
-
`,
|
|
1153
|
+
`, sr = p.div`
|
|
1153
1154
|
height: 100%;
|
|
1154
1155
|
|
|
1155
1156
|
> input[type='file'] {
|
|
@@ -1160,7 +1161,7 @@ const ee = [], pt = (e) => {
|
|
|
1160
1161
|
input[type='file'] {
|
|
1161
1162
|
display: none;
|
|
1162
1163
|
}
|
|
1163
|
-
`,
|
|
1164
|
+
`, lr = p.div`
|
|
1164
1165
|
z-index: 100;
|
|
1165
1166
|
position: absolute;
|
|
1166
1167
|
inset: 0;
|
|
@@ -1172,7 +1173,7 @@ const ee = [], pt = (e) => {
|
|
|
1172
1173
|
display: flex;
|
|
1173
1174
|
align-items: center;
|
|
1174
1175
|
justify-content: center;
|
|
1175
|
-
`,
|
|
1176
|
+
`, cr = p.div`
|
|
1176
1177
|
flex: 1;
|
|
1177
1178
|
height: 100%;
|
|
1178
1179
|
border-radius: var(--border-radius-l);
|
|
@@ -1201,11 +1202,11 @@ const ee = [], pt = (e) => {
|
|
|
1201
1202
|
/* show children */
|
|
1202
1203
|
opacity: 1;
|
|
1203
1204
|
}
|
|
1204
|
-
`,
|
|
1205
|
+
`, dr = p(O)`
|
|
1205
1206
|
position: absolute;
|
|
1206
1207
|
top: 4px;
|
|
1207
1208
|
right: 4px;
|
|
1208
|
-
`,
|
|
1209
|
+
`, pr = p.div`
|
|
1209
1210
|
display: flex;
|
|
1210
1211
|
flex-direction: column;
|
|
1211
1212
|
align-items: center;
|
|
@@ -1218,7 +1219,7 @@ const ee = [], pt = (e) => {
|
|
|
1218
1219
|
top: 12px;
|
|
1219
1220
|
position: relative;
|
|
1220
1221
|
}
|
|
1221
|
-
`,
|
|
1222
|
+
`, ur = p.div`
|
|
1222
1223
|
height: 8px;
|
|
1223
1224
|
position: absolute;
|
|
1224
1225
|
border-radius: 4px;
|
|
@@ -1259,38 +1260,38 @@ const ee = [], pt = (e) => {
|
|
|
1259
1260
|
opacity: 0;
|
|
1260
1261
|
}
|
|
1261
1262
|
`, Ut = ({ mimetype: e = "", src: t, ...r }) => {
|
|
1262
|
-
const [o, l] = L(!1), [
|
|
1263
|
+
const [o, l] = L(!1), [a, n] = L(!1), c = X(null), g = X(0);
|
|
1263
1264
|
return V(() => {
|
|
1264
1265
|
const s = g.current + 1;
|
|
1265
|
-
g.current = s,
|
|
1266
|
+
g.current = s, n(!1), l(!1);
|
|
1266
1267
|
const u = c.current;
|
|
1267
1268
|
let i = !1, h = 0, v = 0, f = 0;
|
|
1268
1269
|
const w = (T) => {
|
|
1269
1270
|
i || s !== g.current || (i = !0, cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(f), T());
|
|
1270
1271
|
}, y = () => {
|
|
1271
1272
|
!u || s !== g.current || u.complete && u.naturalWidth > 0 && w(() => {
|
|
1272
|
-
|
|
1273
|
+
n(!0), l(!1);
|
|
1273
1274
|
});
|
|
1274
1275
|
}, x = () => w(() => {
|
|
1275
|
-
|
|
1276
|
+
n(!0), l(!1);
|
|
1276
1277
|
}), F = () => w(() => {
|
|
1277
|
-
|
|
1278
|
+
n(!0), l(!0);
|
|
1278
1279
|
});
|
|
1279
1280
|
return u && (u.addEventListener("load", x), u.addEventListener("error", F), typeof u.decode == "function" && u.decode().then(
|
|
1280
1281
|
() => w(() => {
|
|
1281
|
-
|
|
1282
|
+
n(!0), l(!1);
|
|
1282
1283
|
})
|
|
1283
1284
|
).catch(() => {
|
|
1284
1285
|
y();
|
|
1285
1286
|
})), h = requestAnimationFrame(y), v = window.setInterval(y, 250), f = window.setTimeout(() => {
|
|
1286
1287
|
w(() => {
|
|
1287
|
-
u && u.naturalWidth > 0 ? (
|
|
1288
|
+
u && u.naturalWidth > 0 ? (n(!0), l(!1)) : n(!0);
|
|
1288
1289
|
});
|
|
1289
1290
|
}, 1e4), () => {
|
|
1290
1291
|
cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(f), u && (u.removeEventListener("load", x), u.removeEventListener("error", F));
|
|
1291
1292
|
};
|
|
1292
1293
|
}, [t]), /* @__PURE__ */ z(Rt, { ...r, className: U("file-thumbnail", r.className), children: [
|
|
1293
|
-
|
|
1294
|
+
a ? /* @__PURE__ */ m(P, { icon: We(e) }) : /* @__PURE__ */ m(zt, { icon: "progress_activity" }),
|
|
1294
1295
|
/* @__PURE__ */ m(
|
|
1295
1296
|
Mt,
|
|
1296
1297
|
{
|
|
@@ -1298,12 +1299,12 @@ const ee = [], pt = (e) => {
|
|
|
1298
1299
|
src: t,
|
|
1299
1300
|
...r,
|
|
1300
1301
|
onError: (s) => {
|
|
1301
|
-
s.currentTarget === c.current && (
|
|
1302
|
+
s.currentTarget === c.current && (n(!0), l(!0));
|
|
1302
1303
|
},
|
|
1303
1304
|
onLoad: (s) => {
|
|
1304
|
-
s.currentTarget === c.current && (
|
|
1305
|
+
s.currentTarget === c.current && (n(!0), l(!1));
|
|
1305
1306
|
},
|
|
1306
|
-
className: U({ hidden: !
|
|
1307
|
+
className: U({ hidden: !a || o })
|
|
1307
1308
|
}
|
|
1308
1309
|
)
|
|
1309
1310
|
] });
|
|
@@ -1433,15 +1434,15 @@ const ee = [], pt = (e) => {
|
|
|
1433
1434
|
|
|
1434
1435
|
/* default hidden */
|
|
1435
1436
|
opacity: 0;
|
|
1436
|
-
`,
|
|
1437
|
+
`, mr = q(
|
|
1437
1438
|
({
|
|
1438
1439
|
availability: e,
|
|
1439
1440
|
projectName: t,
|
|
1440
1441
|
fileId: r,
|
|
1441
1442
|
filename: o,
|
|
1442
1443
|
label: l,
|
|
1443
|
-
processing:
|
|
1444
|
-
mimetype:
|
|
1444
|
+
processing: a,
|
|
1445
|
+
mimetype: n,
|
|
1445
1446
|
isDragOverlay: c,
|
|
1446
1447
|
isDropPlaceholder: g,
|
|
1447
1448
|
isSelected: s,
|
|
@@ -1451,7 +1452,7 @@ const ee = [], pt = (e) => {
|
|
|
1451
1452
|
onEdit: v,
|
|
1452
1453
|
...f
|
|
1453
1454
|
}, w) => {
|
|
1454
|
-
const y = (i || c) && !h, x = e === "conversionRecommended", F = x && !!
|
|
1455
|
+
const y = (i || c) && !h, x = e === "conversionRecommended", F = x && !!a;
|
|
1455
1456
|
let T = o;
|
|
1456
1457
|
x && (T = "Unoptimized - conversion recommended"), F && (T = "Unoptimized - queued for conversion");
|
|
1457
1458
|
let A = l;
|
|
@@ -1475,7 +1476,7 @@ const ee = [], pt = (e) => {
|
|
|
1475
1476
|
It,
|
|
1476
1477
|
{
|
|
1477
1478
|
src: `/api/projects/${t}/files/${r}/thumbnail`,
|
|
1478
|
-
mimetype:
|
|
1479
|
+
mimetype: n
|
|
1479
1480
|
}
|
|
1480
1481
|
),
|
|
1481
1482
|
/* @__PURE__ */ z(Pt, { children: [
|
|
@@ -1602,14 +1603,14 @@ const ee = [], pt = (e) => {
|
|
|
1602
1603
|
object-fit: cover;
|
|
1603
1604
|
opacity: 0.5;
|
|
1604
1605
|
}
|
|
1605
|
-
`,
|
|
1606
|
+
`, ae = ({
|
|
1606
1607
|
name: e,
|
|
1607
1608
|
progress: t,
|
|
1608
1609
|
size: r,
|
|
1609
1610
|
type: o,
|
|
1610
1611
|
fileId: l,
|
|
1611
|
-
src:
|
|
1612
|
-
error:
|
|
1612
|
+
src: a,
|
|
1613
|
+
error: n,
|
|
1613
1614
|
tooltip: c,
|
|
1614
1615
|
onRemove: g,
|
|
1615
1616
|
...s
|
|
@@ -1638,26 +1639,26 @@ const ee = [], pt = (e) => {
|
|
|
1638
1639
|
u = "Validating", h = "checklist";
|
|
1639
1640
|
break;
|
|
1640
1641
|
}
|
|
1641
|
-
|
|
1642
|
+
n && (i = !1, h = "error");
|
|
1642
1643
|
const v = t !== void 0 ? `- ${t}%` : "";
|
|
1643
1644
|
return /* @__PURE__ */ z(
|
|
1644
1645
|
Ht,
|
|
1645
1646
|
{
|
|
1646
|
-
className: U({ finished: t === 100, error: !!
|
|
1647
|
+
className: U({ finished: t === 100, error: !!n, [o]: !0 }),
|
|
1647
1648
|
id: l,
|
|
1648
1649
|
...s,
|
|
1649
1650
|
children: [
|
|
1650
1651
|
/* @__PURE__ */ z(Qt, { children: [
|
|
1651
|
-
|
|
1652
|
+
a && /* @__PURE__ */ m("img", { src: a }),
|
|
1652
1653
|
h && /* @__PURE__ */ m(P, { icon: h, className: U({ spinning: i }) })
|
|
1653
1654
|
] }),
|
|
1654
1655
|
/* @__PURE__ */ z("span", { className: "content", children: [
|
|
1655
1656
|
/* @__PURE__ */ m("span", { className: "name", children: e }),
|
|
1656
|
-
/* @__PURE__ */ m("span", { className: "message", children:
|
|
1657
|
+
/* @__PURE__ */ m("span", { className: "message", children: n || `${u} ${v}` })
|
|
1657
1658
|
] }),
|
|
1658
1659
|
r && /* @__PURE__ */ m("span", { className: "size", children: Ie(r) }),
|
|
1659
1660
|
c && /* @__PURE__ */ m(P, { icon: "info", className: "info", "data-tooltip": c, "data-tooltip-as": "markdown" }),
|
|
1660
|
-
(
|
|
1661
|
+
(n || o === "waiting") && /* @__PURE__ */ m(O, { icon: "close", variant: "text", onClick: g }),
|
|
1661
1662
|
/* @__PURE__ */ m(_t, { className: "progress", style: { right: `${100 - (t ?? 0)}%` } })
|
|
1662
1663
|
]
|
|
1663
1664
|
},
|
|
@@ -1671,13 +1672,13 @@ p.div`
|
|
|
1671
1672
|
min-height: 100%;
|
|
1672
1673
|
padding-bottom: var(--padding-m);
|
|
1673
1674
|
`;
|
|
1674
|
-
const
|
|
1675
|
+
const gr = p.div`
|
|
1675
1676
|
position: relative;
|
|
1676
1677
|
overflow: hidden;
|
|
1677
1678
|
border-radius: var(--border-radius-m);
|
|
1678
1679
|
width: 100%;
|
|
1679
1680
|
min-height: 50px;
|
|
1680
|
-
`,
|
|
1681
|
+
`, hr = p.div`
|
|
1681
1682
|
word-break: break-all;
|
|
1682
1683
|
`, qt = p.div`
|
|
1683
1684
|
display: flex;
|
|
@@ -1760,14 +1761,14 @@ const mr = p.div`
|
|
|
1760
1761
|
return e.message || e.response?.statusText || "Unknown upload error";
|
|
1761
1762
|
}
|
|
1762
1763
|
return e instanceof Error ? e.message : typeof e == "string" ? e : "Unknown upload error";
|
|
1763
|
-
},
|
|
1764
|
+
}, Jt = ({
|
|
1764
1765
|
projectName: e,
|
|
1765
1766
|
versionId: t,
|
|
1766
1767
|
taskId: r,
|
|
1767
1768
|
folderId: o,
|
|
1768
1769
|
productId: l,
|
|
1769
|
-
dispatch:
|
|
1770
|
-
onUpload:
|
|
1770
|
+
dispatch: a,
|
|
1771
|
+
onUpload: n,
|
|
1771
1772
|
onProgress: c
|
|
1772
1773
|
}) => {
|
|
1773
1774
|
const [g, s] = L({}), u = Q(
|
|
@@ -1794,7 +1795,7 @@ const mr = p.div`
|
|
|
1794
1795
|
if (!f) return;
|
|
1795
1796
|
console.log(`Upload successful for ${k.name}`);
|
|
1796
1797
|
const d = S.data;
|
|
1797
|
-
e && (
|
|
1798
|
+
e && (a(
|
|
1798
1799
|
// @ts-ignore
|
|
1799
1800
|
Xe.util.updateQueryData(
|
|
1800
1801
|
"getReviewablesForVersion",
|
|
@@ -1803,7 +1804,7 @@ const mr = p.div`
|
|
|
1803
1804
|
D.reviewables || (D.reviewables = []), D.reviewables.push(d);
|
|
1804
1805
|
}
|
|
1805
1806
|
)
|
|
1806
|
-
), l &&
|
|
1807
|
+
), l && a(B.util.invalidateTags([{ type: "viewer", id: l }])), a(B.util.invalidateTags([{ type: "viewer", id: f }])), o && a(B.util.invalidateTags([{ type: "viewer", id: o }])), r && a(B.util.invalidateTags([{ type: "viewer", id: r }])), u(I(k.name)));
|
|
1807
1808
|
}, T = (k) => (S) => {
|
|
1808
1809
|
f && (console.error(`Upload failed for ${k.name}: ${S}`), s((d) => {
|
|
1809
1810
|
const N = (d[f] || []).map((C) => C.name !== I(k.name) ? C : {
|
|
@@ -1836,7 +1837,7 @@ const mr = p.div`
|
|
|
1836
1837
|
throw T(S)($), $;
|
|
1837
1838
|
});
|
|
1838
1839
|
});
|
|
1839
|
-
await Promise.all(k),
|
|
1840
|
+
await Promise.all(k), n && n();
|
|
1840
1841
|
} catch (k) {
|
|
1841
1842
|
throw console.error(k), G.error(`Failed to upload file/s: ${ie(k)}`), k;
|
|
1842
1843
|
}
|
|
@@ -1845,26 +1846,26 @@ const mr = p.div`
|
|
|
1845
1846
|
t,
|
|
1846
1847
|
e,
|
|
1847
1848
|
g,
|
|
1848
|
-
|
|
1849
|
+
a,
|
|
1849
1850
|
l,
|
|
1850
1851
|
o,
|
|
1851
1852
|
r,
|
|
1852
1853
|
u,
|
|
1853
|
-
|
|
1854
|
+
n,
|
|
1854
1855
|
c
|
|
1855
1856
|
]
|
|
1856
1857
|
),
|
|
1857
1858
|
handleRemoveUpload: u,
|
|
1858
1859
|
uploading: g
|
|
1859
1860
|
};
|
|
1860
|
-
},
|
|
1861
|
+
}, fr = ({
|
|
1861
1862
|
projectName: e,
|
|
1862
1863
|
taskId: t,
|
|
1863
1864
|
folderId: r,
|
|
1864
1865
|
versionId: o,
|
|
1865
1866
|
productId: l,
|
|
1866
|
-
onUpload:
|
|
1867
|
-
onFilesAdded:
|
|
1867
|
+
onUpload: a,
|
|
1868
|
+
onFilesAdded: n,
|
|
1868
1869
|
children: c,
|
|
1869
1870
|
dispatch: g,
|
|
1870
1871
|
variant: s = "normal",
|
|
@@ -1879,14 +1880,14 @@ const mr = p.div`
|
|
|
1879
1880
|
handleFileUpload: F,
|
|
1880
1881
|
handleRemoveUpload: T,
|
|
1881
1882
|
uploading: A
|
|
1882
|
-
} =
|
|
1883
|
+
} = Jt({
|
|
1883
1884
|
projectName: e,
|
|
1884
1885
|
versionId: o,
|
|
1885
1886
|
taskId: t,
|
|
1886
1887
|
folderId: r,
|
|
1887
1888
|
productId: l,
|
|
1888
1889
|
dispatch: g,
|
|
1889
|
-
onUpload:
|
|
1890
|
+
onUpload: a
|
|
1890
1891
|
}), k = !!o;
|
|
1891
1892
|
V(() => {
|
|
1892
1893
|
if (k && o && u.length > 0 && i) {
|
|
@@ -1901,7 +1902,7 @@ const mr = p.div`
|
|
|
1901
1902
|
preview: S(E) ? URL.createObjectURL(E) : void 0
|
|
1902
1903
|
})), D = async (b) => {
|
|
1903
1904
|
const E = Array.from(b);
|
|
1904
|
-
if (
|
|
1905
|
+
if (n?.(E), !k || !o) {
|
|
1905
1906
|
i && i((j) => [...j, ...d(E)]);
|
|
1906
1907
|
return;
|
|
1907
1908
|
}
|
|
@@ -1914,7 +1915,7 @@ const mr = p.div`
|
|
|
1914
1915
|
const E = b.dataTransfer.files;
|
|
1915
1916
|
E && D(E);
|
|
1916
1917
|
}, $ = s === "large" ? { minWidth: "360px", maxWidth: "480px", alignSelf: "center" } : {};
|
|
1917
|
-
return /* @__PURE__ */ z(
|
|
1918
|
+
return /* @__PURE__ */ z(Z, { children: [
|
|
1918
1919
|
/* @__PURE__ */ m(
|
|
1919
1920
|
qt,
|
|
1920
1921
|
{
|
|
@@ -1925,10 +1926,10 @@ const mr = p.div`
|
|
|
1925
1926
|
onDrop: (b) => {
|
|
1926
1927
|
v && (b.preventDefault(), b.stopPropagation());
|
|
1927
1928
|
},
|
|
1928
|
-
children: /* @__PURE__ */ z(
|
|
1929
|
+
children: /* @__PURE__ */ z(Z, { children: [
|
|
1929
1930
|
c,
|
|
1930
1931
|
!k && u?.map((b) => /* @__PURE__ */ m(
|
|
1931
|
-
|
|
1932
|
+
ae,
|
|
1932
1933
|
{
|
|
1933
1934
|
name: b.file.name,
|
|
1934
1935
|
size: b.file.size,
|
|
@@ -1941,7 +1942,7 @@ const mr = p.div`
|
|
|
1941
1942
|
b.file.name
|
|
1942
1943
|
)),
|
|
1943
1944
|
o && A[o]?.map((b) => /* @__PURE__ */ m(
|
|
1944
|
-
|
|
1945
|
+
ae,
|
|
1945
1946
|
{
|
|
1946
1947
|
...b,
|
|
1947
1948
|
type: "upload",
|
|
@@ -1979,7 +1980,7 @@ const mr = p.div`
|
|
|
1979
1980
|
}
|
|
1980
1981
|
)
|
|
1981
1982
|
] });
|
|
1982
|
-
},
|
|
1983
|
+
}, vr = p.div`
|
|
1983
1984
|
position: relative;
|
|
1984
1985
|
border-radius: var(--border-radius-m);
|
|
1985
1986
|
display: flex;
|
|
@@ -1994,9 +1995,9 @@ const mr = p.div`
|
|
|
1994
1995
|
}
|
|
1995
1996
|
|
|
1996
1997
|
flex: 1;
|
|
1997
|
-
`,
|
|
1998
|
+
`, yr = p.div`
|
|
1998
1999
|
position: relative;
|
|
1999
|
-
`,
|
|
2000
|
+
`, br = p.span`
|
|
2000
2001
|
position: relative;
|
|
2001
2002
|
padding: 0px 2px;
|
|
2002
2003
|
border-radius: var(--border-radius-m);
|
|
@@ -2018,7 +2019,7 @@ const mr = p.div`
|
|
|
2018
2019
|
color: var(--md-sys-color-on-surface);
|
|
2019
2020
|
}
|
|
2020
2021
|
}
|
|
2021
|
-
`,
|
|
2022
|
+
`, xr = p.span`
|
|
2022
2023
|
text-overflow: ellipsis;
|
|
2023
2024
|
overflow: hidden;
|
|
2024
2025
|
display: inline-block;
|
|
@@ -2029,7 +2030,7 @@ const mr = p.div`
|
|
|
2029
2030
|
.icon {
|
|
2030
2031
|
color: var(--md-sys-color-on-surface);
|
|
2031
2032
|
}
|
|
2032
|
-
`,
|
|
2033
|
+
`, Zt = p.div`
|
|
2033
2034
|
& > span,
|
|
2034
2035
|
& > li {
|
|
2035
2036
|
cursor: pointer;
|
|
@@ -2052,7 +2053,7 @@ const mr = p.div`
|
|
|
2052
2053
|
}
|
|
2053
2054
|
}
|
|
2054
2055
|
}
|
|
2055
|
-
`,
|
|
2056
|
+
`, wr = p.div`
|
|
2056
2057
|
position: absolute;
|
|
2057
2058
|
top: 100%;
|
|
2058
2059
|
left: 0px;
|
|
@@ -2061,7 +2062,7 @@ const mr = p.div`
|
|
|
2061
2062
|
|
|
2062
2063
|
z-index: 200;
|
|
2063
2064
|
padding-top: 4px;
|
|
2064
|
-
`,
|
|
2065
|
+
`, kr = p.ul`
|
|
2065
2066
|
display: flex;
|
|
2066
2067
|
flex-direction: column;
|
|
2067
2068
|
gap: var(--base-gap-small);
|
|
@@ -2076,15 +2077,15 @@ const mr = p.div`
|
|
|
2076
2077
|
|
|
2077
2078
|
max-height: 500px;
|
|
2078
2079
|
overflow: auto;
|
|
2079
|
-
`,
|
|
2080
|
+
`, Er = p.li`
|
|
2080
2081
|
padding: var(--base-gap-small);
|
|
2081
2082
|
border-radius: var(--border-radius-m);
|
|
2082
2083
|
color: var(--md-sys-color-on-surface);
|
|
2083
2084
|
min-width: max-content;
|
|
2084
2085
|
width: 100%;
|
|
2085
|
-
`,
|
|
2086
|
-
({ children: e, segment: t, isOpen: r, scope: o, projectName: l, ...
|
|
2087
|
-
const { openSlideOut: c } =
|
|
2086
|
+
`, Tr = q(
|
|
2087
|
+
({ children: e, segment: t, isOpen: r, scope: o, projectName: l, ...a }, n) => {
|
|
2088
|
+
const { openSlideOut: c } = J(), g = t?.type !== "product" && t?.type !== "project", s = () => {
|
|
2088
2089
|
if (!g) return;
|
|
2089
2090
|
const { type: v, id: f } = t || {};
|
|
2090
2091
|
!v || v === "project" || v === "product" || !f || c({
|
|
@@ -2100,7 +2101,7 @@ const mr = p.div`
|
|
|
2100
2101
|
}
|
|
2101
2102
|
], [i] = ct();
|
|
2102
2103
|
return /* @__PURE__ */ m(
|
|
2103
|
-
|
|
2104
|
+
Zt,
|
|
2104
2105
|
{
|
|
2105
2106
|
onClick: s,
|
|
2106
2107
|
onContextMenu: (v) => {
|
|
@@ -2109,8 +2110,8 @@ const mr = p.div`
|
|
|
2109
2110
|
i(v, f);
|
|
2110
2111
|
},
|
|
2111
2112
|
className: lt({ link: g, open: r }),
|
|
2112
|
-
...
|
|
2113
|
-
ref:
|
|
2113
|
+
...a,
|
|
2114
|
+
ref: n,
|
|
2114
2115
|
children: e
|
|
2115
2116
|
}
|
|
2116
2117
|
);
|
|
@@ -2223,8 +2224,8 @@ const mr = p.div`
|
|
|
2223
2224
|
entityId: r = "",
|
|
2224
2225
|
icon: o,
|
|
2225
2226
|
color: l,
|
|
2226
|
-
thumbnailHash:
|
|
2227
|
-
isLoading:
|
|
2227
|
+
thumbnailHash: a,
|
|
2228
|
+
isLoading: n,
|
|
2228
2229
|
shimmer: c,
|
|
2229
2230
|
className: g,
|
|
2230
2231
|
disabled: s,
|
|
@@ -2235,7 +2236,7 @@ const mr = p.div`
|
|
|
2235
2236
|
}) => {
|
|
2236
2237
|
const f = t === "project", w = ["product"].includes(t), y = f ? !!e : !!r;
|
|
2237
2238
|
let x = "";
|
|
2238
|
-
t && (
|
|
2239
|
+
t && (a || f) && y && (u ? x = u : x = dt({ projectName: e, entityType: t, entityId: r, thumbnailHash: a }) ?? "");
|
|
2239
2240
|
const [F, T] = L(!1), [A, k] = L(!1);
|
|
2240
2241
|
return V(() => {
|
|
2241
2242
|
if (x === "") {
|
|
@@ -2247,7 +2248,7 @@ const mr = p.div`
|
|
|
2247
2248
|
Xt,
|
|
2248
2249
|
{
|
|
2249
2250
|
className: U(g, "thumbnail", {
|
|
2250
|
-
loading: c && (
|
|
2251
|
+
loading: c && (n || !A),
|
|
2251
2252
|
loaded: A,
|
|
2252
2253
|
error: F,
|
|
2253
2254
|
clickable: !!v.onClick,
|
|
@@ -2255,7 +2256,7 @@ const mr = p.div`
|
|
|
2255
2256
|
}),
|
|
2256
2257
|
...v,
|
|
2257
2258
|
children: [
|
|
2258
|
-
(!
|
|
2259
|
+
(!n || !A) && !s && /* @__PURE__ */ m(P, { style: { color: l || void 0 }, icon: o || "image", className: "type-icon" }),
|
|
2259
2260
|
t && e && !w && y && /* @__PURE__ */ m(
|
|
2260
2261
|
Yt,
|
|
2261
2262
|
{
|
|
@@ -2310,21 +2311,21 @@ const mr = p.div`
|
|
|
2310
2311
|
object-fit: cover;
|
|
2311
2312
|
}
|
|
2312
2313
|
}
|
|
2313
|
-
`,
|
|
2314
|
+
`, Sr = ({
|
|
2314
2315
|
thumbnails: e = [],
|
|
2315
2316
|
isLoading: t,
|
|
2316
2317
|
className: r,
|
|
2317
2318
|
style: o,
|
|
2318
2319
|
...l
|
|
2319
2320
|
}) => {
|
|
2320
|
-
const { onContextMenu:
|
|
2321
|
+
const { onContextMenu: a } = Ee(rt);
|
|
2321
2322
|
e = e.slice(0, 5);
|
|
2322
|
-
const
|
|
2323
|
+
const n = e.length > 1;
|
|
2323
2324
|
return e.length ? /* @__PURE__ */ m(
|
|
2324
2325
|
to,
|
|
2325
2326
|
{
|
|
2326
2327
|
$length: e.length,
|
|
2327
|
-
className: U("stacked-thumbnails", r, { stacking:
|
|
2328
|
+
className: U("stacked-thumbnails", r, { stacking: n }),
|
|
2328
2329
|
children: e.map(
|
|
2329
2330
|
(c, g) => c ? /* @__PURE__ */ m(
|
|
2330
2331
|
eo,
|
|
@@ -2338,7 +2339,7 @@ const mr = p.div`
|
|
|
2338
2339
|
thumbnailHash: c.thumbnailHash,
|
|
2339
2340
|
isLoading: t,
|
|
2340
2341
|
src: c.src,
|
|
2341
|
-
onContextMenu:
|
|
2342
|
+
onContextMenu: a,
|
|
2342
2343
|
...l
|
|
2343
2344
|
},
|
|
2344
2345
|
c.id || c.src || g
|
|
@@ -2346,15 +2347,15 @@ const mr = p.div`
|
|
|
2346
2347
|
)
|
|
2347
2348
|
}
|
|
2348
2349
|
) : null;
|
|
2349
|
-
},
|
|
2350
|
-
({ entities: e, entityType: t, onWatchersUpdate: r, userName: o, ...l },
|
|
2351
|
-
const
|
|
2350
|
+
}, Dr = q(
|
|
2351
|
+
({ entities: e, entityType: t, onWatchersUpdate: r, userName: o, ...l }, a) => {
|
|
2352
|
+
const n = e.map((i) => ({
|
|
2352
2353
|
entityId: i.id,
|
|
2353
2354
|
entityType: t,
|
|
2354
2355
|
projectName: i.projectName
|
|
2355
2356
|
})), { data: c = [] } = Ye(
|
|
2356
2357
|
{
|
|
2357
|
-
entities:
|
|
2358
|
+
entities: n
|
|
2358
2359
|
},
|
|
2359
2360
|
{ skip: !e.length }
|
|
2360
2361
|
), g = Array.from(new Set(c.flatMap((i) => i.watchers))), [s] = et(), u = async (i) => {
|
|
@@ -2380,61 +2381,61 @@ const mr = p.div`
|
|
|
2380
2381
|
value: g,
|
|
2381
2382
|
currentUser: o,
|
|
2382
2383
|
onChange: u,
|
|
2383
|
-
ref:
|
|
2384
|
+
ref: a,
|
|
2384
2385
|
buttonProps: { "data-tooltip": "Watchers" }
|
|
2385
2386
|
}
|
|
2386
2387
|
);
|
|
2387
2388
|
}
|
|
2388
2389
|
);
|
|
2389
2390
|
export {
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2391
|
+
Xo as A,
|
|
2392
|
+
Jo as B,
|
|
2393
|
+
dr as C,
|
|
2394
|
+
cr as D,
|
|
2395
|
+
rr as E,
|
|
2396
|
+
xr as F,
|
|
2397
|
+
qo as G,
|
|
2398
|
+
Qo as H,
|
|
2399
|
+
nr as I,
|
|
2400
|
+
tr as J,
|
|
2401
|
+
or as K,
|
|
2402
|
+
gr as L,
|
|
2403
|
+
wr as M,
|
|
2403
2404
|
ar as N,
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2405
|
+
Go as O,
|
|
2406
|
+
ur as P,
|
|
2407
|
+
Yo as Q,
|
|
2408
|
+
mr as R,
|
|
2409
|
+
br as S,
|
|
2409
2410
|
Zo as T,
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2411
|
+
pr as U,
|
|
2412
|
+
ir as V,
|
|
2413
|
+
Dr as W,
|
|
2414
|
+
er as X,
|
|
2415
|
+
hr as a,
|
|
2416
|
+
fr as b,
|
|
2417
|
+
ae as c,
|
|
2418
|
+
sr as d,
|
|
2419
|
+
lr as e,
|
|
2420
|
+
vr as f,
|
|
2421
|
+
kr as g,
|
|
2422
|
+
Tr as h,
|
|
2423
|
+
Er as i,
|
|
2424
|
+
yr as j,
|
|
2425
|
+
Ho as k,
|
|
2425
2426
|
mt as l,
|
|
2426
2427
|
yt as m,
|
|
2427
|
-
|
|
2428
|
+
Bo as n,
|
|
2428
2429
|
xt as o,
|
|
2429
2430
|
wt as p,
|
|
2430
2431
|
Ft as q,
|
|
2431
2432
|
At as r,
|
|
2432
|
-
|
|
2433
|
+
_o as s,
|
|
2433
2434
|
he as t,
|
|
2434
|
-
|
|
2435
|
+
Jt as u,
|
|
2435
2436
|
Ut as v,
|
|
2436
|
-
|
|
2437
|
+
Sr as w,
|
|
2437
2438
|
eo as x,
|
|
2438
2439
|
bt as y,
|
|
2439
|
-
|
|
2440
|
+
Ko as z
|
|
2440
2441
|
};
|