@ynput/ayon-frontend-shared 0.6.2 → 0.6.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/dist/DetailsPanel.es.js +732 -720
- package/dist/NewEntity.es.js +427 -425
- package/dist/ProjectTreeTable.es.js +1524 -1522
- package/dist/chunks/Feed.es.js +1864 -1797
- package/dist/chunks/MetaWidget.es.js +85 -98
- package/dist/chunks/Watchers.es.js +871 -810
- package/dist/components.es.js +1 -1
- package/dist/types/DetailsPanel.d.ts +2 -0
- package/dist/types/Feed.d.ts +2 -1
- package/dist/types/NewEntity.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useMemo as
|
|
3
|
-
import { upperFirst as
|
|
1
|
+
import { jsx as m, jsxs as z, Fragment as Z } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as W, useCallback as Q, useState as L, useEffect as V, useRef as J, forwardRef as q, useContext as Ee } from "react";
|
|
3
|
+
import { snakeCase as Te, upperFirst as Se, intersectionBy as le } from "lodash";
|
|
4
4
|
import "primereact/confirmdialog";
|
|
5
|
-
import { toast as
|
|
6
|
-
import { c as
|
|
5
|
+
import { toast as G } from "react-toastify";
|
|
6
|
+
import { c as K } from "./copyToClipboard.es.js";
|
|
7
7
|
import "uuid";
|
|
8
|
-
import { aw as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { BorderedSection as
|
|
12
|
-
import { m as
|
|
8
|
+
import { aw as ce, aY as De, bh as de, a$ as je, b0 as Fe, b1 as Ce, bj as Ae, bn as Ne, bw as $e, bg as Re, a as B, bo as ze } from "./searchTerms.es.js";
|
|
9
|
+
import p, { keyframes as pe, css as ue } from "styled-components";
|
|
10
|
+
import M from "clsx";
|
|
11
|
+
import { BorderedSection as H, Button as O, StatusSelect as Ue, AssigneeSelect as Me, 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
|
+
import { m as Be, M as He, T as _e, l as Qe, B as qe, D as Ge } from "./MetaWidget.es.js";
|
|
13
13
|
import "./PlayableIcon.es.js";
|
|
14
|
-
import { df as
|
|
14
|
+
import { df as Ke, bU as Ye, c6 as me, bf as Ze, an as Je, bu as Xe, d3 as et } from "./getUris.es.js";
|
|
15
15
|
import "@module-federation/enhanced/runtime";
|
|
16
|
-
import { v as
|
|
16
|
+
import { v as Y, d as tt, x as ot, T as rt } from "./DeleteEntitiesContextInstance.es.js";
|
|
17
17
|
import "semver";
|
|
18
18
|
import "./ContextMenuContextInstance.es.js";
|
|
19
19
|
import "react-dom";
|
|
20
20
|
import "react-redux";
|
|
21
|
-
import { format as
|
|
21
|
+
import { format as at } from "date-fns";
|
|
22
22
|
import "lexical";
|
|
23
23
|
import "@lexical/markdown";
|
|
24
24
|
import "@lexical/react/LexicalBlockWithAlignableContents";
|
|
@@ -31,16 +31,16 @@ import "@lexical/selection";
|
|
|
31
31
|
import "@lexical/utils";
|
|
32
32
|
import "react-router-dom";
|
|
33
33
|
import "@tanstack/react-table";
|
|
34
|
-
import { g as
|
|
35
|
-
import { a as
|
|
36
|
-
import
|
|
37
|
-
import { p as
|
|
38
|
-
import { classNames as
|
|
39
|
-
import { u as
|
|
40
|
-
import { g as
|
|
41
|
-
const
|
|
42
|
-
const { data: t, isError: r } =
|
|
43
|
-
return
|
|
34
|
+
import { g as nt, h as X } from "./humanizeFieldName.es.js";
|
|
35
|
+
import { a as it, A as st } from "./ThumbnailSimple.es.js";
|
|
36
|
+
import ge from "axios";
|
|
37
|
+
import { p as I } from "./parseFilename.es.js";
|
|
38
|
+
import { classNames as lt } from "primereact/utils";
|
|
39
|
+
import { u as ct } from "./useCreateContextMenu.es.js";
|
|
40
|
+
import { g as dt } from "./getThumbnailUrl.es.js";
|
|
41
|
+
const ee = [], pt = (e) => {
|
|
42
|
+
const { data: t, isError: r } = Ce(void 0, { skip: !e });
|
|
43
|
+
return W(
|
|
44
44
|
() => ({
|
|
45
45
|
// a failed registry is settled too: every param is sent, same fallback as the batch
|
|
46
46
|
isRegistryLoaded: !!t || r,
|
|
@@ -48,55 +48,55 @@ const Z = [], at = (e) => {
|
|
|
48
48
|
}),
|
|
49
49
|
[t, r, e]
|
|
50
50
|
);
|
|
51
|
-
},
|
|
52
|
-
const [e] =
|
|
53
|
-
return
|
|
51
|
+
}, Bo = () => {
|
|
52
|
+
const [e] = je(), [t] = Fe();
|
|
53
|
+
return Q(
|
|
54
54
|
async (r, o) => {
|
|
55
|
-
const
|
|
56
|
-
}))?.find(({ name:
|
|
55
|
+
const n = (await t(void 0, !0).unwrap().catch(() => {
|
|
56
|
+
}))?.find(({ name: a }) => a === r.enumResolver)?.acceptedParams;
|
|
57
57
|
try {
|
|
58
|
-
const
|
|
59
|
-
|
|
58
|
+
const a = await e(
|
|
59
|
+
ce(r, { projectName: o }, n),
|
|
60
60
|
!0
|
|
61
61
|
).unwrap();
|
|
62
|
-
if (
|
|
63
|
-
return
|
|
64
|
-
} catch (
|
|
65
|
-
throw
|
|
62
|
+
if (a.error) throw new Error(a.error);
|
|
63
|
+
return de(a.items);
|
|
64
|
+
} catch (a) {
|
|
65
|
+
throw ut(a);
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
[e, t]
|
|
69
69
|
);
|
|
70
|
-
},
|
|
70
|
+
}, ut = (e) => {
|
|
71
71
|
if (e instanceof Error) return e;
|
|
72
72
|
const {
|
|
73
73
|
message: t,
|
|
74
74
|
data: r,
|
|
75
75
|
status: o,
|
|
76
|
-
error:
|
|
76
|
+
error: l
|
|
77
77
|
} = e || {};
|
|
78
|
-
return typeof r?.detail == "string" ? new Error(r.detail) : typeof
|
|
79
|
-
},
|
|
80
|
-
const o = e?.enumResolver, { acceptedParams:
|
|
81
|
-
() =>
|
|
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");
|
|
79
|
+
}, mt = (e, { projectName: t, skip: r } = {}) => {
|
|
80
|
+
const o = e?.enumResolver, { acceptedParams: l, isRegistryLoaded: n } = pt(o), a = W(
|
|
81
|
+
() => ce(e, { projectName: t }, l),
|
|
82
82
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
83
|
-
[o, e?.enumResolverSettings, t,
|
|
83
|
+
[o, e?.enumResolverSettings, t, l]
|
|
84
84
|
), {
|
|
85
|
-
currentData:
|
|
86
|
-
isFetching:
|
|
87
|
-
isError:
|
|
88
|
-
} =
|
|
85
|
+
currentData: c,
|
|
86
|
+
isFetching: g,
|
|
87
|
+
isError: s
|
|
88
|
+
} = De(a, {
|
|
89
89
|
// waiting for the registry keeps the cache key final: no request is sent with params that get dropped
|
|
90
|
-
skip: !o || !!r || !
|
|
91
|
-
}),
|
|
90
|
+
skip: !o || !!r || !n
|
|
91
|
+
}), u = W(() => o ? c ? de(c.items) : ee : e?.enum || ee, [o, c, e?.enum]), i = !!o && !g && (s || !!c?.error);
|
|
92
92
|
return {
|
|
93
|
-
options:
|
|
93
|
+
options: u,
|
|
94
94
|
// a background refetch (tag invalidation) keeps the cached options, so it is not a load
|
|
95
|
-
isLoading: !!o && !r && (!
|
|
96
|
-
isError:
|
|
97
|
-
errorMessage:
|
|
95
|
+
isLoading: !!o && !r && (!n || g && !c),
|
|
96
|
+
isError: i,
|
|
97
|
+
errorMessage: i ? c?.error : void 0
|
|
98
98
|
};
|
|
99
|
-
},
|
|
99
|
+
}, gt = [
|
|
100
100
|
"id",
|
|
101
101
|
"name",
|
|
102
102
|
"label",
|
|
@@ -111,14 +111,14 @@ const Z = [], at = (e) => {
|
|
|
111
111
|
"projectName",
|
|
112
112
|
"path",
|
|
113
113
|
"description"
|
|
114
|
-
],
|
|
114
|
+
], te = [
|
|
115
115
|
"id",
|
|
116
116
|
"entityType",
|
|
117
117
|
"projectName",
|
|
118
118
|
"path",
|
|
119
119
|
"createdAt",
|
|
120
120
|
"updatedAt"
|
|
121
|
-
],
|
|
121
|
+
], ht = [
|
|
122
122
|
"name",
|
|
123
123
|
"label",
|
|
124
124
|
"taskType",
|
|
@@ -126,9 +126,9 @@ const Z = [], at = (e) => {
|
|
|
126
126
|
"productType",
|
|
127
127
|
"tags",
|
|
128
128
|
"status"
|
|
129
|
-
],
|
|
130
|
-
const [r, o] =
|
|
131
|
-
const
|
|
129
|
+
], ft = (e, t) => {
|
|
130
|
+
const [r, o] = L([]), [l, n] = L(null), a = () => {
|
|
131
|
+
const s = {}, u = /* @__PURE__ */ new Set();
|
|
132
132
|
e.forEach((h) => {
|
|
133
133
|
const v = {
|
|
134
134
|
id: h.id,
|
|
@@ -146,47 +146,48 @@ const Z = [], at = (e) => {
|
|
|
146
146
|
taskType: h.task?.taskType,
|
|
147
147
|
description: h.attrib?.description?.toString() ?? ""
|
|
148
148
|
};
|
|
149
|
-
Object.keys(v).forEach((
|
|
150
|
-
|
|
151
|
-
}), h.attrib && Object.keys(h.attrib).forEach((
|
|
152
|
-
if (
|
|
153
|
-
const
|
|
154
|
-
|
|
149
|
+
Object.keys(v).forEach((f) => {
|
|
150
|
+
gt.includes(f) && (s[f] = s[f] || [], s[f].push(v[f]));
|
|
151
|
+
}), h.attrib && Object.keys(h.attrib).forEach((f) => {
|
|
152
|
+
if (f !== "description") {
|
|
153
|
+
const w = `attrib.${f}`;
|
|
154
|
+
s[w] = s[w] || [], s[w].push(h.attrib?.[f]);
|
|
155
155
|
}
|
|
156
156
|
});
|
|
157
157
|
});
|
|
158
|
-
const
|
|
159
|
-
const { value:
|
|
160
|
-
return h[v] =
|
|
158
|
+
const i = Object.entries(s).reduce((h, [v, f]) => {
|
|
159
|
+
const { value: w, isMixed: y } = nt(f);
|
|
160
|
+
return h[v] = w, y && u.add(v), h;
|
|
161
161
|
}, {});
|
|
162
|
-
|
|
162
|
+
n(i), o(Array.from(u));
|
|
163
163
|
};
|
|
164
|
-
return
|
|
165
|
-
t || e.length === 0 ||
|
|
164
|
+
return V(() => {
|
|
165
|
+
t || e.length === 0 || a();
|
|
166
166
|
}, [e, t]), {
|
|
167
|
-
formData:
|
|
167
|
+
formData: l,
|
|
168
168
|
mixedFields: r,
|
|
169
|
-
updateFormData: (
|
|
170
|
-
|
|
171
|
-
...
|
|
172
|
-
[
|
|
169
|
+
updateFormData: (s, u) => {
|
|
170
|
+
n((i) => i && {
|
|
171
|
+
...i,
|
|
172
|
+
[s]: u
|
|
173
173
|
});
|
|
174
174
|
},
|
|
175
|
-
clearMixedField: (
|
|
176
|
-
o((
|
|
175
|
+
clearMixedField: (s) => {
|
|
176
|
+
o((u) => u.filter((i) => i !== s));
|
|
177
177
|
}
|
|
178
178
|
};
|
|
179
|
-
},
|
|
179
|
+
}, vt = ({
|
|
180
180
|
attributes: e,
|
|
181
181
|
folderTypes: t,
|
|
182
182
|
taskTypes: r,
|
|
183
183
|
statuses: o,
|
|
184
|
-
tags:
|
|
185
|
-
entityType:
|
|
186
|
-
folderHasVersions:
|
|
184
|
+
tags: l,
|
|
185
|
+
entityType: n,
|
|
186
|
+
folderHasVersions: a,
|
|
187
|
+
attribAccess: c
|
|
187
188
|
}) => {
|
|
188
|
-
const
|
|
189
|
-
const c = [
|
|
189
|
+
const g = W(() => {
|
|
190
|
+
const { readableAttributes: i, writableAttributes: h, writableFields: v } = c || {}, w = [
|
|
190
191
|
{
|
|
191
192
|
name: "name",
|
|
192
193
|
data: {
|
|
@@ -205,29 +206,29 @@ const Z = [], at = (e) => {
|
|
|
205
206
|
},
|
|
206
207
|
{
|
|
207
208
|
name: "folderType",
|
|
208
|
-
hidden:
|
|
209
|
+
hidden: n !== "folder",
|
|
209
210
|
data: {
|
|
210
211
|
type: "string",
|
|
211
212
|
title: "Folder Type",
|
|
212
213
|
description: "Type of the folder",
|
|
213
|
-
enum: t.map((
|
|
214
|
-
value:
|
|
215
|
-
label:
|
|
216
|
-
icon:
|
|
214
|
+
enum: t.map((d) => ({
|
|
215
|
+
value: d.name,
|
|
216
|
+
label: d.name,
|
|
217
|
+
icon: d.icon
|
|
217
218
|
}))
|
|
218
219
|
}
|
|
219
220
|
},
|
|
220
221
|
{
|
|
221
222
|
name: "taskType",
|
|
222
|
-
hidden:
|
|
223
|
+
hidden: n !== "task",
|
|
223
224
|
data: {
|
|
224
225
|
type: "string",
|
|
225
226
|
title: "Task Type",
|
|
226
227
|
description: "Type of the task",
|
|
227
|
-
enum: r.map((
|
|
228
|
-
value:
|
|
229
|
-
label:
|
|
230
|
-
icon:
|
|
228
|
+
enum: r.map((d) => ({
|
|
229
|
+
value: d.name,
|
|
230
|
+
label: d.name,
|
|
231
|
+
icon: d.icon
|
|
231
232
|
}))
|
|
232
233
|
}
|
|
233
234
|
},
|
|
@@ -237,11 +238,11 @@ const Z = [], at = (e) => {
|
|
|
237
238
|
type: "string",
|
|
238
239
|
title: "Status",
|
|
239
240
|
description: "The state the entity is in, is it approved or in progress etc.",
|
|
240
|
-
enum: o.map((
|
|
241
|
-
value:
|
|
242
|
-
label:
|
|
243
|
-
icon:
|
|
244
|
-
color:
|
|
241
|
+
enum: o.map((d) => ({
|
|
242
|
+
value: d.name,
|
|
243
|
+
label: d.name,
|
|
244
|
+
icon: d.icon,
|
|
245
|
+
color: d.color
|
|
245
246
|
}))
|
|
246
247
|
}
|
|
247
248
|
},
|
|
@@ -250,126 +251,161 @@ const Z = [], at = (e) => {
|
|
|
250
251
|
data: {
|
|
251
252
|
type: "list_of_strings",
|
|
252
253
|
title: "Tags",
|
|
253
|
-
enum:
|
|
254
|
-
value:
|
|
255
|
-
label:
|
|
256
|
-
color:
|
|
254
|
+
enum: l.map((d) => ({
|
|
255
|
+
value: d.name,
|
|
256
|
+
label: d.name,
|
|
257
|
+
color: d.color
|
|
257
258
|
}))
|
|
258
259
|
}
|
|
259
260
|
}
|
|
260
261
|
].map(
|
|
261
|
-
(
|
|
262
|
-
...
|
|
262
|
+
(d) => d.name === "folderType" && n === "folder" && a ? {
|
|
263
|
+
...d,
|
|
263
264
|
readonly: !0,
|
|
264
265
|
data: {
|
|
265
|
-
...
|
|
266
|
+
...d.data,
|
|
266
267
|
description: "Folder type is locked because the folder has published versions."
|
|
267
268
|
}
|
|
268
|
-
} :
|
|
269
|
-
),
|
|
270
|
-
...
|
|
271
|
-
(
|
|
269
|
+
} : d
|
|
270
|
+
), y = n === "version" ? [
|
|
271
|
+
...w.map(
|
|
272
|
+
(d) => ["tags", "status"].includes(d.name) ? d : { ...d, readonly: !0 }
|
|
272
273
|
)
|
|
273
|
-
] :
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
274
|
+
] : w, x = v ? y.map(
|
|
275
|
+
(d) => v.includes(d.name) || v.includes(Te(d.name)) ? d : { ...d, readonly: !0 }
|
|
276
|
+
) : y, F = n ? e.filter((d) => d.scope?.includes(n) && d.name !== "description").filter((d) => !i || i.includes(d.name)).map((d) => ({
|
|
277
|
+
name: "attrib." + d.name,
|
|
278
|
+
data: d.data,
|
|
279
|
+
...n === "version" && d.builtin ? { readonly: !0 } : {},
|
|
280
|
+
...h && !h.includes(d.name) ? { readonly: !0 } : {}
|
|
281
|
+
})) : [], T = te.map((d) => ({
|
|
282
|
+
name: d,
|
|
279
283
|
readonly: !0,
|
|
280
284
|
data: {
|
|
281
285
|
type: "string",
|
|
282
|
-
title:
|
|
286
|
+
title: Se(d)
|
|
283
287
|
}
|
|
284
|
-
})),
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
+
})), A = [
|
|
289
|
+
...x,
|
|
290
|
+
...F,
|
|
291
|
+
...T
|
|
292
|
+
], k = ["path", "name"];
|
|
293
|
+
return [...A].sort((d, D) => {
|
|
294
|
+
const N = k.indexOf(d.name), C = k.indexOf(D.name);
|
|
295
|
+
return N === -1 && C === -1 ? 0 : N === -1 ? 1 : C === -1 ? -1 : N - C;
|
|
288
296
|
});
|
|
289
|
-
}, [
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
297
|
+
}, [
|
|
298
|
+
e,
|
|
299
|
+
t,
|
|
300
|
+
r,
|
|
301
|
+
o,
|
|
302
|
+
l,
|
|
303
|
+
n,
|
|
304
|
+
a,
|
|
305
|
+
c
|
|
306
|
+
]), s = g.filter(
|
|
307
|
+
(i) => ht.includes(i.name) || i.name.startsWith("attrib.")
|
|
308
|
+
), u = g.filter(
|
|
309
|
+
(i) => te.includes(i.name)
|
|
293
310
|
);
|
|
294
311
|
return {
|
|
295
|
-
fields:
|
|
296
|
-
editableFields:
|
|
297
|
-
readOnlyFieldsData:
|
|
312
|
+
fields: g,
|
|
313
|
+
editableFields: s,
|
|
314
|
+
readOnlyFieldsData: u
|
|
298
315
|
};
|
|
299
|
-
},
|
|
300
|
-
const [r] =
|
|
301
|
-
return { updateEntity: async (
|
|
302
|
-
if (
|
|
316
|
+
}, yt = ({ entities: e, entityType: t }) => {
|
|
317
|
+
const [r] = Ke(), { onUpdateEntity: o } = Y();
|
|
318
|
+
return { updateEntity: async (n, a) => {
|
|
319
|
+
if (a == null) {
|
|
303
320
|
console.error("value is null or undefined");
|
|
304
321
|
return;
|
|
305
322
|
}
|
|
306
323
|
try {
|
|
307
|
-
const
|
|
308
|
-
id:
|
|
309
|
-
projectName:
|
|
324
|
+
const c = e.map((g) => ({
|
|
325
|
+
id: g.id,
|
|
326
|
+
projectName: g.projectName,
|
|
310
327
|
data: {
|
|
311
|
-
[
|
|
328
|
+
[n]: a
|
|
312
329
|
},
|
|
313
|
-
currentAssignees:
|
|
330
|
+
currentAssignees: g.users,
|
|
314
331
|
meta: {
|
|
315
|
-
folderId:
|
|
332
|
+
folderId: g.folderId
|
|
316
333
|
}
|
|
317
334
|
}));
|
|
318
|
-
await r({ operations:
|
|
335
|
+
await r({ operations: c, entityType: t }), o?.({ operations: c, entityType: t });
|
|
319
336
|
} catch {
|
|
320
|
-
|
|
337
|
+
G.error(`Error updating ${t}`);
|
|
321
338
|
}
|
|
322
339
|
} };
|
|
323
|
-
},
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
340
|
+
}, _ = (e) => e.reduce(
|
|
341
|
+
(t, r) => r ? t ? t.filter((o) => r.includes(o)) : r : t,
|
|
342
|
+
void 0
|
|
343
|
+
), bt = ({ entities: e, entityType: t }) => {
|
|
344
|
+
const { data: o } = Ye(), l = W(() => {
|
|
345
|
+
if (!o?.projects) return {};
|
|
346
|
+
const a = [...new Set(e.map((s) => s.projectName))].map(
|
|
347
|
+
(s) => o.projects?.[s] || {}
|
|
348
|
+
), c = a.map((s) => s.attrib_read), g = a.map((s) => s.attrib_write);
|
|
349
|
+
return {
|
|
350
|
+
readableAttributes: _(
|
|
351
|
+
c.map((s) => s?.enabled ? s.attributes ?? [] : void 0)
|
|
352
|
+
),
|
|
353
|
+
writableAttributes: _(
|
|
354
|
+
g.map((s) => s?.enabled ? s.attributes ?? [] : void 0)
|
|
355
|
+
),
|
|
356
|
+
writableFields: _(g.map((s) => s?.enabled ? s.fields ?? [] : void 0))
|
|
357
|
+
};
|
|
358
|
+
}, [o, e]), { updateEntity: n } = yt({
|
|
359
|
+
entities: e.map((a) => ({
|
|
360
|
+
id: a.id,
|
|
361
|
+
projectName: a.projectName || "",
|
|
362
|
+
folderId: a.folder?.id,
|
|
363
|
+
productId: a.product?.id,
|
|
364
|
+
users: a.task?.assignees || []
|
|
330
365
|
})),
|
|
331
366
|
entityType: t
|
|
332
367
|
});
|
|
333
368
|
return {
|
|
334
369
|
enableEditing: !0,
|
|
335
|
-
|
|
370
|
+
attribAccess: l,
|
|
371
|
+
updateEntity: n
|
|
336
372
|
};
|
|
337
|
-
},
|
|
338
|
-
const r =
|
|
373
|
+
}, xt = (e, t) => {
|
|
374
|
+
const r = me({ projects: [...new Set(e).values()] });
|
|
339
375
|
if (!r || !r.data)
|
|
340
376
|
return [];
|
|
341
377
|
let o;
|
|
342
|
-
for (const
|
|
343
|
-
const
|
|
344
|
-
(
|
|
378
|
+
for (const l of Object.values(r.data)) {
|
|
379
|
+
const n = l.statuses?.filter(
|
|
380
|
+
(a) => t.every((c) => !a.scope || a.scope?.includes(c))
|
|
345
381
|
) || [];
|
|
346
382
|
if (o === void 0) {
|
|
347
|
-
o =
|
|
383
|
+
o = n;
|
|
348
384
|
continue;
|
|
349
385
|
}
|
|
350
|
-
o =
|
|
386
|
+
o = le(o, n, "name");
|
|
351
387
|
}
|
|
352
388
|
return o;
|
|
353
|
-
},
|
|
389
|
+
}, Ho = (e, t) => {
|
|
354
390
|
let r = Object.values(e || {});
|
|
355
391
|
return r.length == 0 || r[0].scope === void 0 ? r : r.filter(
|
|
356
|
-
(o) => t.every((
|
|
392
|
+
(o) => t.every((l) => o.scope === void 0 || o.scope.includes(l))
|
|
357
393
|
);
|
|
358
|
-
},
|
|
359
|
-
const r =
|
|
394
|
+
}, wt = (e, t) => {
|
|
395
|
+
const r = me({ projects: [...new Set(e).values()] });
|
|
360
396
|
if (!r || !r.data)
|
|
361
397
|
return [];
|
|
362
398
|
let o;
|
|
363
|
-
for (const
|
|
364
|
-
let
|
|
365
|
-
if (t === "task" ?
|
|
366
|
-
o =
|
|
399
|
+
for (const l of Object.values(r.data)) {
|
|
400
|
+
let n = [];
|
|
401
|
+
if (t === "task" ? n = l.taskTypes || [] : t === "folder" && (n = l.folderTypes || []), o === void 0) {
|
|
402
|
+
o = n;
|
|
367
403
|
continue;
|
|
368
404
|
}
|
|
369
|
-
o =
|
|
405
|
+
o = le(o, n, "name");
|
|
370
406
|
}
|
|
371
407
|
return o || [];
|
|
372
|
-
},
|
|
408
|
+
}, oe = p.div`
|
|
373
409
|
width: 100%;
|
|
374
410
|
overflow: hidden;
|
|
375
411
|
text-overflow: ellipsis;
|
|
@@ -379,7 +415,7 @@ const Z = [], at = (e) => {
|
|
|
379
415
|
input {
|
|
380
416
|
text-align: left;
|
|
381
417
|
}
|
|
382
|
-
`,
|
|
418
|
+
`, kt = p(Be)`
|
|
383
419
|
.enum,
|
|
384
420
|
.edit-trigger {
|
|
385
421
|
&:hover {
|
|
@@ -389,142 +425,144 @@ const Z = [], at = (e) => {
|
|
|
389
425
|
&:hover {
|
|
390
426
|
background-color: unset;
|
|
391
427
|
}
|
|
392
|
-
`,
|
|
428
|
+
`, Et = ({
|
|
393
429
|
field: e,
|
|
394
430
|
value: t,
|
|
395
431
|
isEditing: r,
|
|
396
432
|
isReadOnly: o,
|
|
397
|
-
isMixed:
|
|
398
|
-
onChange:
|
|
399
|
-
onCancelEdit:
|
|
400
|
-
onExpand:
|
|
401
|
-
entities:
|
|
402
|
-
entityType:
|
|
403
|
-
projectName:
|
|
433
|
+
isMixed: l,
|
|
434
|
+
onChange: n,
|
|
435
|
+
onCancelEdit: a,
|
|
436
|
+
onExpand: c,
|
|
437
|
+
entities: g = [],
|
|
438
|
+
entityType: s = "task",
|
|
439
|
+
projectName: u
|
|
404
440
|
}) => {
|
|
405
|
-
const { type:
|
|
441
|
+
const { type: i, widget: h } = e.data, v = {
|
|
406
442
|
isEditing: r && !o,
|
|
407
443
|
isReadOnly: o,
|
|
408
444
|
isInherited: !1,
|
|
409
|
-
onChange: (
|
|
410
|
-
},
|
|
411
|
-
options:
|
|
445
|
+
onChange: ($) => n(e.name, $)
|
|
446
|
+
}, f = g.map(($) => $.projectName), w = xt(f, [s]), y = wt(f, s), x = u || f[0], {
|
|
447
|
+
options: F,
|
|
412
448
|
isLoading: T,
|
|
413
|
-
isError:
|
|
414
|
-
errorMessage:
|
|
415
|
-
} =
|
|
449
|
+
isError: A,
|
|
450
|
+
errorMessage: k
|
|
451
|
+
} = mt(e.data, { projectName: x }), S = A ? Re(k) : void 0, d = e.name === "attrib.endDate" && g.length > 0 && g.every(($) => $.data?.schedulerSyncData?.allDay === !0);
|
|
416
452
|
let D = t ?? "";
|
|
417
|
-
const
|
|
453
|
+
const N = e.data.title || e.name, C = t == null || t === "" || Array.isArray(t) && t.length === 0;
|
|
454
|
+
if (i !== "boolean" && o && !l && C)
|
|
455
|
+
return /* @__PURE__ */ m(oe, { children: "-" });
|
|
418
456
|
switch (!0) {
|
|
419
|
-
case
|
|
420
|
-
return /* @__PURE__ */
|
|
421
|
-
case
|
|
422
|
-
return /* @__PURE__ */
|
|
423
|
-
|
|
457
|
+
case i === "boolean":
|
|
458
|
+
return /* @__PURE__ */ m(qe, { value: !!D, ...v, style: { margin: 0 } });
|
|
459
|
+
case i === "datetime":
|
|
460
|
+
return /* @__PURE__ */ m(
|
|
461
|
+
Qe,
|
|
424
462
|
{
|
|
425
463
|
value: D,
|
|
426
464
|
...v,
|
|
427
465
|
isEditing: !0,
|
|
428
|
-
onCancelEdit:
|
|
466
|
+
onCancelEdit: a,
|
|
429
467
|
style: { width: "fit-content" },
|
|
430
468
|
autoFocus: !1,
|
|
431
|
-
isMidnightExclusive:
|
|
469
|
+
isMidnightExclusive: d
|
|
432
470
|
}
|
|
433
471
|
);
|
|
434
|
-
case
|
|
435
|
-
const
|
|
436
|
-
let
|
|
437
|
-
|
|
438
|
-
let
|
|
439
|
-
value:
|
|
440
|
-
label:
|
|
441
|
-
icon:
|
|
442
|
-
color:
|
|
443
|
-
group:
|
|
444
|
-
hidden:
|
|
472
|
+
case Ae(e.data): {
|
|
473
|
+
const $ = i?.includes("list");
|
|
474
|
+
let b = [];
|
|
475
|
+
$ ? b = Array.isArray(D) ? D : [] : l ? b = [] : b = [D];
|
|
476
|
+
let E = F.map((j) => ({
|
|
477
|
+
value: j.value,
|
|
478
|
+
label: j.label,
|
|
479
|
+
icon: Ne(j.icon),
|
|
480
|
+
color: j.color,
|
|
481
|
+
group: j.group,
|
|
482
|
+
hidden: j.hidden
|
|
445
483
|
}));
|
|
446
|
-
return e.name === "status" &&
|
|
447
|
-
value:
|
|
448
|
-
label:
|
|
449
|
-
icon:
|
|
450
|
-
color:
|
|
451
|
-
}))), e.name === "taskType" &&
|
|
452
|
-
value:
|
|
453
|
-
label:
|
|
454
|
-
icon:
|
|
455
|
-
color:
|
|
456
|
-
}))), e.allowNone &&
|
|
484
|
+
return e.name === "status" && g.length > 0 && w && w.length > 0 && (E = w.map((j) => ({
|
|
485
|
+
value: j.name,
|
|
486
|
+
label: j.name,
|
|
487
|
+
icon: j.icon,
|
|
488
|
+
color: j.color
|
|
489
|
+
}))), e.name === "taskType" && g.length > 0 && y && y.length > 0 && (E = y.map((j) => ({
|
|
490
|
+
value: j.name,
|
|
491
|
+
label: j.name,
|
|
492
|
+
icon: j.icon,
|
|
493
|
+
color: j.color
|
|
494
|
+
}))), e.allowNone && b.length && !$ && D && D !== "" && (E = [
|
|
457
495
|
{ value: "", label: `No ${e.data.title || e.name}` },
|
|
458
|
-
...
|
|
459
|
-
]), /* @__PURE__ */
|
|
460
|
-
|
|
496
|
+
...E
|
|
497
|
+
]), /* @__PURE__ */ m(
|
|
498
|
+
kt,
|
|
461
499
|
{
|
|
462
500
|
"data-tooltip": S,
|
|
463
|
-
value:
|
|
464
|
-
options:
|
|
465
|
-
type:
|
|
501
|
+
value: b,
|
|
502
|
+
options: E,
|
|
503
|
+
type: i,
|
|
466
504
|
pt: {
|
|
467
505
|
template: {
|
|
468
506
|
style: { height: 32 },
|
|
469
507
|
className: "enum"
|
|
470
508
|
}
|
|
471
509
|
},
|
|
472
|
-
placeholder: S ? `Could not load ${
|
|
473
|
-
error:
|
|
474
|
-
onCancelEdit:
|
|
510
|
+
placeholder: S ? `Could not load ${N}` : l ? `Mixed ${N}` : `Select ${N}...`,
|
|
511
|
+
error: $e(S),
|
|
512
|
+
onCancelEdit: a,
|
|
475
513
|
align: "right",
|
|
476
514
|
enableCustomValues: e.enableCustomValues,
|
|
477
515
|
isLoadingOptions: T,
|
|
478
|
-
search: e.enableSearch ??
|
|
479
|
-
sortBySelected: !
|
|
516
|
+
search: e.enableSearch ?? E.length >= 5,
|
|
517
|
+
sortBySelected: !E,
|
|
480
518
|
...v
|
|
481
519
|
}
|
|
482
520
|
);
|
|
483
521
|
}
|
|
484
|
-
case (
|
|
522
|
+
case (i === "string" || i === "integer" || i === "float"):
|
|
485
523
|
default:
|
|
486
|
-
return h === "markdown" ? /* @__PURE__ */
|
|
487
|
-
|
|
524
|
+
return h === "markdown" ? /* @__PURE__ */ m(
|
|
525
|
+
He,
|
|
488
526
|
{
|
|
489
527
|
value: D.toString(),
|
|
490
|
-
onCancelEdit:
|
|
491
|
-
onExpand:
|
|
492
|
-
showExpand: !!
|
|
528
|
+
onCancelEdit: a,
|
|
529
|
+
onExpand: c,
|
|
530
|
+
showExpand: !!c,
|
|
493
531
|
...v
|
|
494
532
|
}
|
|
495
|
-
) : /* @__PURE__ */
|
|
496
|
-
|
|
533
|
+
) : /* @__PURE__ */ m(oe, { children: /* @__PURE__ */ m(
|
|
534
|
+
_e,
|
|
497
535
|
{
|
|
498
536
|
value: D.toString(),
|
|
499
|
-
onCancelEdit:
|
|
500
|
-
type:
|
|
537
|
+
onCancelEdit: a,
|
|
538
|
+
type: i,
|
|
501
539
|
...v
|
|
502
540
|
}
|
|
503
541
|
) });
|
|
504
542
|
}
|
|
505
|
-
},
|
|
543
|
+
}, Tt = p.div`
|
|
506
544
|
color: var(--md-sys-color-outline);
|
|
507
545
|
white-space: nowrap;
|
|
508
546
|
overflow: hidden;
|
|
509
547
|
text-overflow: ellipsis;
|
|
510
548
|
font-size: 14px;
|
|
511
|
-
`,
|
|
549
|
+
`, he = ({
|
|
512
550
|
name: e,
|
|
513
551
|
data: t,
|
|
514
552
|
showDetailedTooltip: r = !1,
|
|
515
553
|
...o
|
|
516
554
|
}) => {
|
|
517
|
-
const
|
|
518
|
-
return /* @__PURE__ */
|
|
519
|
-
|
|
555
|
+
const l = t.title ? X(t.title) : X(e), n = r ? `${l} (${e}) ${t.description ? "-" : ""} ${t.description || ""}` : t.description || l;
|
|
556
|
+
return /* @__PURE__ */ m(
|
|
557
|
+
Tt,
|
|
520
558
|
{
|
|
521
|
-
"data-tooltip": r ?
|
|
559
|
+
"data-tooltip": r ? n : void 0,
|
|
522
560
|
"data-tooltip-delay": 700,
|
|
523
561
|
...o,
|
|
524
|
-
children:
|
|
562
|
+
children: l
|
|
525
563
|
}
|
|
526
564
|
);
|
|
527
|
-
},
|
|
565
|
+
}, fe = p.div`
|
|
528
566
|
display: grid;
|
|
529
567
|
grid-template-columns: minmax(150px, 1fr) minmax(0, 1fr) 32px;
|
|
530
568
|
row-gap: 2px;
|
|
@@ -558,7 +596,7 @@ const Z = [], at = (e) => {
|
|
|
558
596
|
margin-top: 6px;
|
|
559
597
|
}
|
|
560
598
|
}
|
|
561
|
-
`,
|
|
599
|
+
`, St = p.div`
|
|
562
600
|
height: 32px;
|
|
563
601
|
overflow: hidden;
|
|
564
602
|
width: 100%;
|
|
@@ -594,7 +632,7 @@ const Z = [], at = (e) => {
|
|
|
594
632
|
&.readonly {
|
|
595
633
|
pointer-events: none;
|
|
596
634
|
}
|
|
597
|
-
`,
|
|
635
|
+
`, Dt = p.div`
|
|
598
636
|
display: flex;
|
|
599
637
|
flex-direction: column;
|
|
600
638
|
gap: var(--base-gap-small);
|
|
@@ -604,7 +642,7 @@ const Z = [], at = (e) => {
|
|
|
604
642
|
height: 32px;
|
|
605
643
|
padding: 2px;
|
|
606
644
|
}
|
|
607
|
-
`,
|
|
645
|
+
`, jt = p(fe)`
|
|
608
646
|
&.loading {
|
|
609
647
|
width: 100%;
|
|
610
648
|
height: 33px;
|
|
@@ -612,110 +650,110 @@ const Z = [], at = (e) => {
|
|
|
612
650
|
border-radius: 4px;
|
|
613
651
|
margin-bottom: 4px;
|
|
614
652
|
}
|
|
615
|
-
`,
|
|
653
|
+
`, Ft = ({
|
|
616
654
|
title: e,
|
|
617
655
|
isLoading: t,
|
|
618
656
|
form: r,
|
|
619
657
|
fields: o,
|
|
620
|
-
enableEditing:
|
|
621
|
-
mixedFields:
|
|
622
|
-
onChange:
|
|
623
|
-
entities:
|
|
624
|
-
projectName:
|
|
625
|
-
entityType:
|
|
658
|
+
enableEditing: l,
|
|
659
|
+
mixedFields: n,
|
|
660
|
+
onChange: a,
|
|
661
|
+
entities: c = [],
|
|
662
|
+
projectName: g,
|
|
663
|
+
entityType: s = "task"
|
|
626
664
|
}) => {
|
|
627
|
-
const [
|
|
628
|
-
() =>
|
|
629
|
-
[
|
|
665
|
+
const [u, i] = L(null), h = W(
|
|
666
|
+
() => c.map((y) => y?.id).join("|"),
|
|
667
|
+
[c]
|
|
630
668
|
);
|
|
631
|
-
|
|
632
|
-
|
|
669
|
+
V(() => {
|
|
670
|
+
i(null);
|
|
633
671
|
}, [h]);
|
|
634
|
-
const v = (
|
|
635
|
-
|
|
636
|
-
enableEditing:
|
|
637
|
-
fieldReadonly: o.find((
|
|
672
|
+
const v = (y) => {
|
|
673
|
+
l && !o.find((x) => x.name === y)?.readonly ? i(y) : console.log("Editing not allowed:", {
|
|
674
|
+
enableEditing: l,
|
|
675
|
+
fieldReadonly: o.find((x) => x.name === y)?.readonly
|
|
638
676
|
});
|
|
639
|
-
},
|
|
640
|
-
|
|
641
|
-
},
|
|
642
|
-
|
|
677
|
+
}, f = (y, x) => {
|
|
678
|
+
i(null), a?.(y, x);
|
|
679
|
+
}, w = () => {
|
|
680
|
+
i(null);
|
|
643
681
|
};
|
|
644
|
-
return t ? /* @__PURE__ */
|
|
645
|
-
/* @__PURE__ */
|
|
646
|
-
/* @__PURE__ */
|
|
647
|
-
] },
|
|
648
|
-
|
|
682
|
+
return t ? /* @__PURE__ */ m(H, { title: "Attributes", withPadding: !0, children: Array.from({ length: 10 }).map((y, x) => /* @__PURE__ */ z(jt, { children: [
|
|
683
|
+
/* @__PURE__ */ m("div", { className: "loading" }),
|
|
684
|
+
/* @__PURE__ */ m("div", { className: "loading" })
|
|
685
|
+
] }, x)) }) : /* @__PURE__ */ m(
|
|
686
|
+
H,
|
|
649
687
|
{
|
|
650
688
|
title: "Attributes",
|
|
651
689
|
autoHeight: !0,
|
|
652
690
|
showHeader: !0,
|
|
653
691
|
withPadding: !0,
|
|
654
692
|
pt: { content: { style: { minHeight: "unset" } } },
|
|
655
|
-
children: o.filter((
|
|
656
|
-
const
|
|
657
|
-
return /* @__PURE__ */
|
|
658
|
-
|
|
693
|
+
children: o.filter((y) => !y.hidden).map((y) => {
|
|
694
|
+
const x = r[y.name], F = u === y.name, T = y.readonly || !l, A = n?.includes(y.name) || !1;
|
|
695
|
+
return /* @__PURE__ */ z(
|
|
696
|
+
fe,
|
|
659
697
|
{
|
|
660
|
-
className:
|
|
698
|
+
className: M("field-row", { "multi-line": y.data.widget === "markdown" }),
|
|
661
699
|
children: [
|
|
662
|
-
/* @__PURE__ */
|
|
663
|
-
|
|
700
|
+
/* @__PURE__ */ m(
|
|
701
|
+
he,
|
|
664
702
|
{
|
|
665
|
-
name:
|
|
666
|
-
data:
|
|
703
|
+
name: y.name,
|
|
704
|
+
data: y.data,
|
|
667
705
|
showDetailedTooltip: !0,
|
|
668
706
|
className: "field-label"
|
|
669
707
|
}
|
|
670
708
|
),
|
|
671
|
-
/* @__PURE__ */
|
|
672
|
-
|
|
709
|
+
/* @__PURE__ */ m(
|
|
710
|
+
St,
|
|
673
711
|
{
|
|
674
|
-
className:
|
|
675
|
-
editing:
|
|
712
|
+
className: M("field-value", {
|
|
713
|
+
editing: F,
|
|
676
714
|
readonly: T
|
|
677
715
|
}),
|
|
678
|
-
onClick: (
|
|
679
|
-
|
|
716
|
+
onClick: (k) => {
|
|
717
|
+
k.target.closest("a") || (k.preventDefault(), !F && !T && y.data.type !== "boolean" && v(y.name));
|
|
680
718
|
},
|
|
681
|
-
children: /* @__PURE__ */
|
|
682
|
-
|
|
719
|
+
children: /* @__PURE__ */ m(
|
|
720
|
+
Et,
|
|
683
721
|
{
|
|
684
|
-
field:
|
|
685
|
-
value:
|
|
686
|
-
isEditing:
|
|
722
|
+
field: y,
|
|
723
|
+
value: x,
|
|
724
|
+
isEditing: F,
|
|
687
725
|
isReadOnly: T,
|
|
688
|
-
isMixed:
|
|
689
|
-
onChange:
|
|
690
|
-
onCancelEdit:
|
|
726
|
+
isMixed: A,
|
|
727
|
+
onChange: f,
|
|
728
|
+
onCancelEdit: w,
|
|
691
729
|
onExpand: () => {
|
|
692
730
|
},
|
|
693
|
-
entities:
|
|
694
|
-
projectName:
|
|
695
|
-
entityType:
|
|
731
|
+
entities: c,
|
|
732
|
+
projectName: g,
|
|
733
|
+
entityType: s
|
|
696
734
|
}
|
|
697
735
|
)
|
|
698
736
|
}
|
|
699
737
|
),
|
|
700
|
-
/* @__PURE__ */
|
|
701
|
-
|
|
738
|
+
/* @__PURE__ */ m(Dt, { className: "field-tools", children: /* @__PURE__ */ m(
|
|
739
|
+
O,
|
|
702
740
|
{
|
|
703
741
|
className: "tool",
|
|
704
742
|
variant: "text",
|
|
705
743
|
icon: "content_copy",
|
|
706
|
-
onClick: (
|
|
707
|
-
|
|
744
|
+
onClick: (k) => {
|
|
745
|
+
k.preventDefault(), k.stopPropagation(), K((x ?? "").toString(), !0);
|
|
708
746
|
}
|
|
709
747
|
}
|
|
710
748
|
) })
|
|
711
749
|
]
|
|
712
750
|
},
|
|
713
|
-
|
|
751
|
+
y.name
|
|
714
752
|
);
|
|
715
753
|
})
|
|
716
754
|
}
|
|
717
755
|
);
|
|
718
|
-
},
|
|
756
|
+
}, re = p.div`
|
|
719
757
|
display: grid;
|
|
720
758
|
grid-template-columns: minmax(200px, 1fr) 1fr 32px;
|
|
721
759
|
row-gap: 2px;
|
|
@@ -738,7 +776,7 @@ const Z = [], at = (e) => {
|
|
|
738
776
|
&:hover .copy-icon {
|
|
739
777
|
opacity: 1;
|
|
740
778
|
}
|
|
741
|
-
`,
|
|
779
|
+
`, Ct = p.div`
|
|
742
780
|
text-align: left;
|
|
743
781
|
color: var(--md-sys-color-on-surface);
|
|
744
782
|
white-space: nowrap;
|
|
@@ -747,7 +785,7 @@ const Z = [], at = (e) => {
|
|
|
747
785
|
justify-self: end;
|
|
748
786
|
font-size: 14px;
|
|
749
787
|
width: 100%;
|
|
750
|
-
`,
|
|
788
|
+
`, ae = p.div`
|
|
751
789
|
height: 20px;
|
|
752
790
|
background: var(--md-sys-color-surface-container-low);
|
|
753
791
|
border-radius: 4px;
|
|
@@ -764,55 +802,55 @@ const Z = [], at = (e) => {
|
|
|
764
802
|
opacity: 0.5;
|
|
765
803
|
}
|
|
766
804
|
}
|
|
767
|
-
`,
|
|
805
|
+
`, At = ({
|
|
768
806
|
fields: e,
|
|
769
807
|
form: t,
|
|
770
808
|
mixedFields: r = [],
|
|
771
809
|
isLoading: o
|
|
772
810
|
}) => {
|
|
773
|
-
const
|
|
774
|
-
if (
|
|
811
|
+
const l = (n, a) => {
|
|
812
|
+
if (n == null)
|
|
775
813
|
return "-";
|
|
776
|
-
if (
|
|
814
|
+
if (a === "createdAt" || a === "updatedAt")
|
|
777
815
|
try {
|
|
778
|
-
return
|
|
816
|
+
return at(new Date(n), "PPpp");
|
|
779
817
|
} catch {
|
|
780
|
-
return
|
|
818
|
+
return n.toString();
|
|
781
819
|
}
|
|
782
|
-
return
|
|
820
|
+
return n.toString();
|
|
783
821
|
};
|
|
784
|
-
return o ? /* @__PURE__ */
|
|
785
|
-
/* @__PURE__ */
|
|
786
|
-
/* @__PURE__ */
|
|
787
|
-
/* @__PURE__ */
|
|
788
|
-
] },
|
|
789
|
-
const
|
|
790
|
-
return /* @__PURE__ */
|
|
791
|
-
/* @__PURE__ */
|
|
792
|
-
/* @__PURE__ */
|
|
793
|
-
|
|
822
|
+
return o ? /* @__PURE__ */ m(H, { title: "Details", withPadding: !0, children: Array.from({ length: 6 }).map((n, a) => /* @__PURE__ */ z(re, { children: [
|
|
823
|
+
/* @__PURE__ */ m(ae, { style: { width: "80px" } }),
|
|
824
|
+
/* @__PURE__ */ m(ae, { style: { width: "120px", justifySelf: "end" } }),
|
|
825
|
+
/* @__PURE__ */ m("div", { style: { width: "24px" } })
|
|
826
|
+
] }, a)) }) : /* @__PURE__ */ m(H, { title: "Details", autoHeight: !0, showHeader: !0, withPadding: !0, children: e.filter((n) => !n.hidden).map((n) => {
|
|
827
|
+
const a = t[n.name], c = r.includes(n.name), g = c ? "Multiple values" : l(a, n.name);
|
|
828
|
+
return /* @__PURE__ */ z(re, { children: [
|
|
829
|
+
/* @__PURE__ */ m(he, { name: n.name, data: n.data, showDetailedTooltip: !0 }),
|
|
830
|
+
/* @__PURE__ */ m(
|
|
831
|
+
Ct,
|
|
794
832
|
{
|
|
795
833
|
style: {
|
|
796
|
-
color:
|
|
797
|
-
fontStyle:
|
|
834
|
+
color: c ? "var(--md-sys-color-on-surface-variant)" : "var(--md-sys-color-on-surface)",
|
|
835
|
+
fontStyle: c ? "italic" : "normal"
|
|
798
836
|
},
|
|
799
|
-
children:
|
|
837
|
+
children: g
|
|
800
838
|
}
|
|
801
839
|
),
|
|
802
|
-
/* @__PURE__ */
|
|
803
|
-
|
|
840
|
+
/* @__PURE__ */ m(
|
|
841
|
+
O,
|
|
804
842
|
{
|
|
805
843
|
className: "copy-icon",
|
|
806
844
|
variant: "text",
|
|
807
845
|
icon: "content_copy",
|
|
808
|
-
onClick: (
|
|
809
|
-
|
|
846
|
+
onClick: (s) => {
|
|
847
|
+
s.stopPropagation(), K((a ?? "").toString(), !0);
|
|
810
848
|
}
|
|
811
849
|
}
|
|
812
850
|
)
|
|
813
|
-
] },
|
|
851
|
+
] }, n.name);
|
|
814
852
|
}) });
|
|
815
|
-
},
|
|
853
|
+
}, Nt = p.div`
|
|
816
854
|
display: flex;
|
|
817
855
|
flex-direction: column;
|
|
818
856
|
height: 100%;
|
|
@@ -821,93 +859,94 @@ const Z = [], at = (e) => {
|
|
|
821
859
|
padding-right: 8px;
|
|
822
860
|
padding-left: 8px;
|
|
823
861
|
margin-top: 16px;
|
|
824
|
-
`,
|
|
825
|
-
const { formData: r, mixedFields: o, updateFormData:
|
|
862
|
+
`, _o = ({ entities: e = [], isLoading: t }) => {
|
|
863
|
+
const { formData: r, mixedFields: o, updateFormData: l, clearMixedField: n } = ft(
|
|
826
864
|
e,
|
|
827
865
|
t
|
|
828
|
-
), { attributes:
|
|
829
|
-
folderTypes:
|
|
830
|
-
taskTypes:
|
|
831
|
-
statuses:
|
|
832
|
-
tags:
|
|
833
|
-
productTypes:
|
|
834
|
-
} =
|
|
866
|
+
), { attributes: a } = tt(), {
|
|
867
|
+
folderTypes: c = [],
|
|
868
|
+
taskTypes: g = [],
|
|
869
|
+
statuses: s = [],
|
|
870
|
+
tags: u = [],
|
|
871
|
+
productTypes: i
|
|
872
|
+
} = ot(), { openSlideOut: h } = Y(), [, v] = it(), f = (e || []).filter((R) => R.entityType === "folder"), { data: w } = Ze(
|
|
835
873
|
{
|
|
836
|
-
entityIds:
|
|
874
|
+
entityIds: f.map((R) => R.id),
|
|
837
875
|
projectName: r?.projectName || "",
|
|
838
876
|
referenceTypes: ["origin", "mention", "relation"],
|
|
839
877
|
activityTypes: ["version.publish"]
|
|
840
878
|
},
|
|
841
879
|
{
|
|
842
|
-
skip: !r?.projectName ||
|
|
880
|
+
skip: !r?.projectName || f.length === 0
|
|
843
881
|
}
|
|
844
|
-
),
|
|
845
|
-
attributes: n,
|
|
846
|
-
folderTypes: s,
|
|
847
|
-
taskTypes: f,
|
|
848
|
-
statuses: y,
|
|
849
|
-
tags: l,
|
|
850
|
-
entityType: r?.entityType,
|
|
851
|
-
folderHasVersions: b
|
|
852
|
-
}), T = r?.entityType || "task", { enableEditing: j, updateEntity: w } = ut({
|
|
882
|
+
), y = !!w?.pages?.[0]?.activities?.length, x = r?.entityType || "task", { enableEditing: F, attribAccess: T, updateEntity: A } = bt({
|
|
853
883
|
entities: e,
|
|
854
|
-
entityType:
|
|
855
|
-
}),
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
},
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
884
|
+
entityType: x
|
|
885
|
+
}), { editableFields: k, readOnlyFieldsData: S } = vt({
|
|
886
|
+
attributes: a,
|
|
887
|
+
folderTypes: c,
|
|
888
|
+
taskTypes: g,
|
|
889
|
+
statuses: s,
|
|
890
|
+
tags: u,
|
|
891
|
+
entityType: r?.entityType,
|
|
892
|
+
folderHasVersions: y,
|
|
893
|
+
attribAccess: T
|
|
894
|
+
}), { writableAttributes: d } = T, D = !d || d.includes("description"), N = (R, U) => {
|
|
895
|
+
R === "tags" && (Array.isArray(U) || (U == null || U === "" ? U = [] : U = [String(U)])), R.startsWith("attrib.") && (U = {
|
|
896
|
+
[R.replace("attrib.", "")]: U
|
|
897
|
+
}, R = "attrib"), l(R, U), A(R, U);
|
|
898
|
+
}, C = r?.projectName || e[0]?.projectName, $ = e[0]?.id, b = W(
|
|
899
|
+
() => C && $ ? { projectName: C, entityType: x, entityId: $, productTypes: i, taskTypes: g } : void 0,
|
|
900
|
+
[C, x, $, i, g]
|
|
901
|
+
), E = ({ type: R, id: U }) => {
|
|
902
|
+
R === "user" || R === "team" || !C || h({ entityId: U, entityType: R, projectName: C });
|
|
903
|
+
}, j = ({ type: R, id: U, label: ye }, be) => {
|
|
904
|
+
const { x: xe, y: we, width: ke } = be.getBoundingClientRect();
|
|
905
|
+
v({ id: U, name: U, type: R, label: ye, pos: { left: xe + ke / 2, top: we } });
|
|
906
|
+
}, ve = (R) => {
|
|
907
|
+
l("description", R), n("description"), A("attrib", { description: R });
|
|
869
908
|
};
|
|
870
|
-
return /* @__PURE__ */
|
|
871
|
-
/* @__PURE__ */
|
|
872
|
-
|
|
909
|
+
return /* @__PURE__ */ z(Nt, { children: [
|
|
910
|
+
/* @__PURE__ */ m(
|
|
911
|
+
Ge,
|
|
873
912
|
{
|
|
874
913
|
description: r?.description || "",
|
|
875
914
|
isMixed: o.includes("description"),
|
|
876
|
-
enableEditing:
|
|
877
|
-
onChange:
|
|
915
|
+
enableEditing: D,
|
|
916
|
+
onChange: ve,
|
|
878
917
|
isLoading: t,
|
|
879
|
-
mentionsContext:
|
|
880
|
-
onMentionClick:
|
|
881
|
-
onMentionHover:
|
|
918
|
+
mentionsContext: b,
|
|
919
|
+
onMentionClick: E,
|
|
920
|
+
onMentionHover: j
|
|
882
921
|
}
|
|
883
922
|
),
|
|
884
|
-
/* @__PURE__ */
|
|
885
|
-
/* @__PURE__ */
|
|
886
|
-
|
|
923
|
+
/* @__PURE__ */ m(st, {}),
|
|
924
|
+
/* @__PURE__ */ m(
|
|
925
|
+
Ft,
|
|
887
926
|
{
|
|
888
|
-
fields:
|
|
927
|
+
fields: k,
|
|
889
928
|
form: r || {},
|
|
890
929
|
mixedFields: o,
|
|
891
930
|
isLoading: t,
|
|
892
|
-
enableEditing:
|
|
893
|
-
onChange:
|
|
931
|
+
enableEditing: F,
|
|
932
|
+
onChange: N,
|
|
894
933
|
entities: e,
|
|
895
|
-
entityType:
|
|
934
|
+
entityType: x
|
|
896
935
|
}
|
|
897
936
|
),
|
|
898
|
-
/* @__PURE__ */
|
|
899
|
-
|
|
937
|
+
/* @__PURE__ */ m(
|
|
938
|
+
At,
|
|
900
939
|
{
|
|
901
|
-
fields:
|
|
940
|
+
fields: S,
|
|
902
941
|
form: r || {},
|
|
903
942
|
mixedFields: o,
|
|
904
943
|
isLoading: t
|
|
905
944
|
}
|
|
906
945
|
)
|
|
907
946
|
] });
|
|
908
|
-
},
|
|
947
|
+
}, Qo = p.div`
|
|
909
948
|
position: relative;
|
|
910
|
-
`,
|
|
949
|
+
`, qo = p.div`
|
|
911
950
|
position: relative;
|
|
912
951
|
padding: 8px;
|
|
913
952
|
border-bottom: 1px solid var(--md-sys-color-outline-variant);
|
|
@@ -939,13 +978,13 @@ const Z = [], at = (e) => {
|
|
|
939
978
|
/* align center */
|
|
940
979
|
align-items: center;
|
|
941
980
|
}
|
|
942
|
-
`,
|
|
981
|
+
`, Go = p(O)`
|
|
943
982
|
position: absolute;
|
|
944
983
|
right: 4px;
|
|
945
984
|
top: 4px;
|
|
946
985
|
width: fit-content;
|
|
947
986
|
z-index: 50;
|
|
948
|
-
`,
|
|
987
|
+
`, Ko = p.header`
|
|
949
988
|
display: flex;
|
|
950
989
|
align-items: center;
|
|
951
990
|
gap: var(--base-gap-large);
|
|
@@ -960,7 +999,7 @@ const Z = [], at = (e) => {
|
|
|
960
999
|
display: none;
|
|
961
1000
|
}
|
|
962
1001
|
}
|
|
963
|
-
`,
|
|
1002
|
+
`, Yo = p.div`
|
|
964
1003
|
display: flex;
|
|
965
1004
|
align-items: center;
|
|
966
1005
|
gap: var(--base-gap-small);
|
|
@@ -968,7 +1007,7 @@ const Z = [], at = (e) => {
|
|
|
968
1007
|
h2 {
|
|
969
1008
|
min-width: fit-content;
|
|
970
1009
|
}
|
|
971
|
-
`,
|
|
1010
|
+
`, Zo = p.div`
|
|
972
1011
|
position: relative;
|
|
973
1012
|
height: 100%;
|
|
974
1013
|
|
|
@@ -983,7 +1022,7 @@ const Z = [], at = (e) => {
|
|
|
983
1022
|
flex-direction: column;
|
|
984
1023
|
gap: var(--base-gap-small);
|
|
985
1024
|
}
|
|
986
|
-
`,
|
|
1025
|
+
`, Jo = p.div`
|
|
987
1026
|
display: flex;
|
|
988
1027
|
flex-direction: column;
|
|
989
1028
|
height: 100%;
|
|
@@ -1021,7 +1060,7 @@ const Z = [], at = (e) => {
|
|
|
1021
1060
|
align-items: center;
|
|
1022
1061
|
gap: var(--base-gap-medium);
|
|
1023
1062
|
}
|
|
1024
|
-
`,
|
|
1063
|
+
`, Xo = p.div`
|
|
1025
1064
|
display: flex;
|
|
1026
1065
|
justify-content: space-between;
|
|
1027
1066
|
align-items: flex-start;
|
|
@@ -1030,10 +1069,10 @@ const Z = [], at = (e) => {
|
|
|
1030
1069
|
label {
|
|
1031
1070
|
color: var(--md-sys-color-outline);
|
|
1032
1071
|
}
|
|
1033
|
-
`,
|
|
1072
|
+
`, er = p.div`
|
|
1034
1073
|
display: flex;
|
|
1035
1074
|
flex-direction: column;
|
|
1036
|
-
`,
|
|
1075
|
+
`, tr = p(Ue)`
|
|
1037
1076
|
width: fit-content;
|
|
1038
1077
|
.status-field.value {
|
|
1039
1078
|
position: relative;
|
|
@@ -1044,11 +1083,11 @@ const Z = [], at = (e) => {
|
|
|
1044
1083
|
margin-bottom: 2px;
|
|
1045
1084
|
color: ${(e) => e.$textColor};
|
|
1046
1085
|
}
|
|
1047
|
-
`,
|
|
1086
|
+
`, or = p(Me)`
|
|
1048
1087
|
width: fit-content;
|
|
1049
1088
|
justify-self: end;
|
|
1050
1089
|
max-width: 100%;
|
|
1051
|
-
`,
|
|
1090
|
+
`, rr = p(Le)`
|
|
1052
1091
|
height: 24px;
|
|
1053
1092
|
.template-value {
|
|
1054
1093
|
padding: 0 2px;
|
|
@@ -1062,7 +1101,27 @@ const Z = [], at = (e) => {
|
|
|
1062
1101
|
display: none;
|
|
1063
1102
|
}
|
|
1064
1103
|
}
|
|
1065
|
-
`,
|
|
1104
|
+
`, ar = p.div`
|
|
1105
|
+
display: flex;
|
|
1106
|
+
align-items: center;
|
|
1107
|
+
gap: 4px;
|
|
1108
|
+
min-width: 0;
|
|
1109
|
+
max-width: 100%;
|
|
1110
|
+
overflow: hidden;
|
|
1111
|
+
white-space: nowrap;
|
|
1112
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
1113
|
+
|
|
1114
|
+
span {
|
|
1115
|
+
box-sizing: border-box;
|
|
1116
|
+
display: inline-flex;
|
|
1117
|
+
align-items: center;
|
|
1118
|
+
height: 20px;
|
|
1119
|
+
overflow: hidden;
|
|
1120
|
+
text-overflow: ellipsis;
|
|
1121
|
+
border-radius: 3px;
|
|
1122
|
+
padding: 0 4px;
|
|
1123
|
+
}
|
|
1124
|
+
`, nr = p(Pe)`
|
|
1066
1125
|
width: max-content;
|
|
1067
1126
|
justify-self: end;
|
|
1068
1127
|
/* remove text and dropdown icon */
|
|
@@ -1086,12 +1145,12 @@ const Z = [], at = (e) => {
|
|
|
1086
1145
|
background-color: var(--md-sys-color-surface-container-low-hover);
|
|
1087
1146
|
}
|
|
1088
1147
|
}
|
|
1089
|
-
`,
|
|
1148
|
+
`, ir = p.footer`
|
|
1090
1149
|
display: flex;
|
|
1091
1150
|
align-items: center;
|
|
1092
1151
|
gap: var(--base-gap-small);
|
|
1093
1152
|
justify-content: space-between;
|
|
1094
|
-
`,
|
|
1153
|
+
`, sr = p.div`
|
|
1095
1154
|
height: 100%;
|
|
1096
1155
|
|
|
1097
1156
|
> input[type='file'] {
|
|
@@ -1102,7 +1161,7 @@ const Z = [], at = (e) => {
|
|
|
1102
1161
|
input[type='file'] {
|
|
1103
1162
|
display: none;
|
|
1104
1163
|
}
|
|
1105
|
-
`,
|
|
1164
|
+
`, lr = p.div`
|
|
1106
1165
|
z-index: 100;
|
|
1107
1166
|
position: absolute;
|
|
1108
1167
|
inset: 0;
|
|
@@ -1114,7 +1173,7 @@ const Z = [], at = (e) => {
|
|
|
1114
1173
|
display: flex;
|
|
1115
1174
|
align-items: center;
|
|
1116
1175
|
justify-content: center;
|
|
1117
|
-
`,
|
|
1176
|
+
`, cr = p.div`
|
|
1118
1177
|
flex: 1;
|
|
1119
1178
|
height: 100%;
|
|
1120
1179
|
border-radius: var(--border-radius-l);
|
|
@@ -1143,11 +1202,11 @@ const Z = [], at = (e) => {
|
|
|
1143
1202
|
/* show children */
|
|
1144
1203
|
opacity: 1;
|
|
1145
1204
|
}
|
|
1146
|
-
`,
|
|
1205
|
+
`, dr = p(O)`
|
|
1147
1206
|
position: absolute;
|
|
1148
1207
|
top: 4px;
|
|
1149
1208
|
right: 4px;
|
|
1150
|
-
`,
|
|
1209
|
+
`, pr = p.div`
|
|
1151
1210
|
display: flex;
|
|
1152
1211
|
flex-direction: column;
|
|
1153
1212
|
align-items: center;
|
|
@@ -1160,7 +1219,7 @@ const Z = [], at = (e) => {
|
|
|
1160
1219
|
top: 12px;
|
|
1161
1220
|
position: relative;
|
|
1162
1221
|
}
|
|
1163
|
-
`,
|
|
1222
|
+
`, ur = p.div`
|
|
1164
1223
|
height: 8px;
|
|
1165
1224
|
position: absolute;
|
|
1166
1225
|
border-radius: 4px;
|
|
@@ -1169,14 +1228,14 @@ const Z = [], at = (e) => {
|
|
|
1169
1228
|
background-color: var(--md-sys-color-primary);
|
|
1170
1229
|
|
|
1171
1230
|
transition: right 0.2s;
|
|
1172
|
-
`,
|
|
1231
|
+
`, $t = pe`
|
|
1173
1232
|
from {
|
|
1174
1233
|
transform: rotate(0deg);
|
|
1175
1234
|
}
|
|
1176
1235
|
to {
|
|
1177
1236
|
transform: rotate(360deg);
|
|
1178
1237
|
}
|
|
1179
|
-
`,
|
|
1238
|
+
`, Rt = p.div`
|
|
1180
1239
|
position: relative;
|
|
1181
1240
|
display: flex;
|
|
1182
1241
|
justify-content: center;
|
|
@@ -1185,10 +1244,10 @@ const Z = [], at = (e) => {
|
|
|
1185
1244
|
overflow: hidden;
|
|
1186
1245
|
|
|
1187
1246
|
background-color: var(--md-sys-color-surface-container-low);
|
|
1188
|
-
`,
|
|
1189
|
-
animation: ${
|
|
1247
|
+
`, zt = p(P)`
|
|
1248
|
+
animation: ${$t} 1s linear infinite;
|
|
1190
1249
|
opacity: 0.6;
|
|
1191
|
-
`,
|
|
1250
|
+
`, Ut = p.img`
|
|
1192
1251
|
position: absolute;
|
|
1193
1252
|
inset: 0;
|
|
1194
1253
|
object-fit: cover;
|
|
@@ -1200,56 +1259,56 @@ const Z = [], at = (e) => {
|
|
|
1200
1259
|
&.hidden {
|
|
1201
1260
|
opacity: 0;
|
|
1202
1261
|
}
|
|
1203
|
-
`,
|
|
1204
|
-
const [o,
|
|
1205
|
-
return
|
|
1206
|
-
const
|
|
1207
|
-
|
|
1208
|
-
const
|
|
1209
|
-
let
|
|
1210
|
-
const
|
|
1211
|
-
|
|
1212
|
-
},
|
|
1213
|
-
!
|
|
1214
|
-
|
|
1262
|
+
`, Mt = ({ mimetype: e = "", src: t, ...r }) => {
|
|
1263
|
+
const [o, l] = L(!1), [n, a] = L(!1), c = J(null), g = J(0);
|
|
1264
|
+
return V(() => {
|
|
1265
|
+
const s = g.current + 1;
|
|
1266
|
+
g.current = s, a(!1), l(!1);
|
|
1267
|
+
const u = c.current;
|
|
1268
|
+
let i = !1, h = 0, v = 0, f = 0;
|
|
1269
|
+
const w = (T) => {
|
|
1270
|
+
i || s !== g.current || (i = !0, cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(f), T());
|
|
1271
|
+
}, y = () => {
|
|
1272
|
+
!u || s !== g.current || u.complete && u.naturalWidth > 0 && w(() => {
|
|
1273
|
+
a(!0), l(!1);
|
|
1215
1274
|
});
|
|
1216
|
-
},
|
|
1217
|
-
|
|
1218
|
-
}),
|
|
1219
|
-
|
|
1275
|
+
}, x = () => w(() => {
|
|
1276
|
+
a(!0), l(!1);
|
|
1277
|
+
}), F = () => w(() => {
|
|
1278
|
+
a(!0), l(!0);
|
|
1220
1279
|
});
|
|
1221
|
-
return
|
|
1222
|
-
() =>
|
|
1223
|
-
|
|
1280
|
+
return u && (u.addEventListener("load", x), u.addEventListener("error", F), typeof u.decode == "function" && u.decode().then(
|
|
1281
|
+
() => w(() => {
|
|
1282
|
+
a(!0), l(!1);
|
|
1224
1283
|
})
|
|
1225
1284
|
).catch(() => {
|
|
1226
|
-
|
|
1227
|
-
})), h = requestAnimationFrame(
|
|
1228
|
-
|
|
1229
|
-
|
|
1285
|
+
y();
|
|
1286
|
+
})), h = requestAnimationFrame(y), v = window.setInterval(y, 250), f = window.setTimeout(() => {
|
|
1287
|
+
w(() => {
|
|
1288
|
+
u && u.naturalWidth > 0 ? (a(!0), l(!1)) : a(!0);
|
|
1230
1289
|
});
|
|
1231
1290
|
}, 1e4), () => {
|
|
1232
|
-
cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(
|
|
1291
|
+
cancelAnimationFrame(h), window.clearInterval(v), window.clearTimeout(f), u && (u.removeEventListener("load", x), u.removeEventListener("error", F));
|
|
1233
1292
|
};
|
|
1234
|
-
}, [t]), /* @__PURE__ */
|
|
1235
|
-
|
|
1236
|
-
/* @__PURE__ */
|
|
1237
|
-
|
|
1293
|
+
}, [t]), /* @__PURE__ */ z(Rt, { ...r, className: M("file-thumbnail", r.className), children: [
|
|
1294
|
+
n ? /* @__PURE__ */ m(P, { icon: We(e) }) : /* @__PURE__ */ m(zt, { icon: "progress_activity" }),
|
|
1295
|
+
/* @__PURE__ */ m(
|
|
1296
|
+
Ut,
|
|
1238
1297
|
{
|
|
1239
|
-
ref:
|
|
1298
|
+
ref: c,
|
|
1240
1299
|
src: t,
|
|
1241
1300
|
...r,
|
|
1242
|
-
onError: (
|
|
1243
|
-
|
|
1301
|
+
onError: (s) => {
|
|
1302
|
+
s.currentTarget === c.current && (a(!0), l(!0));
|
|
1244
1303
|
},
|
|
1245
|
-
onLoad: (
|
|
1246
|
-
|
|
1304
|
+
onLoad: (s) => {
|
|
1305
|
+
s.currentTarget === c.current && (a(!0), l(!1));
|
|
1247
1306
|
},
|
|
1248
|
-
className:
|
|
1307
|
+
className: M({ hidden: !n || o })
|
|
1249
1308
|
}
|
|
1250
1309
|
)
|
|
1251
1310
|
] });
|
|
1252
|
-
},
|
|
1311
|
+
}, Lt = p.div`
|
|
1253
1312
|
display: flex;
|
|
1254
1313
|
align-items: center;
|
|
1255
1314
|
overflow: hidden;
|
|
@@ -1316,7 +1375,7 @@ const Z = [], at = (e) => {
|
|
|
1316
1375
|
background-color: var(--md-sys-color-primary-container);
|
|
1317
1376
|
}
|
|
1318
1377
|
}
|
|
1319
|
-
`,
|
|
1378
|
+
`, Pt = p.div`
|
|
1320
1379
|
display: flex;
|
|
1321
1380
|
flex-direction: column;
|
|
1322
1381
|
flex: 1;
|
|
@@ -1341,15 +1400,15 @@ const Z = [], at = (e) => {
|
|
|
1341
1400
|
.name {
|
|
1342
1401
|
color: var(--md-sys-color-outline);
|
|
1343
1402
|
}
|
|
1344
|
-
`,
|
|
1403
|
+
`, Wt = p.div`
|
|
1345
1404
|
display: flex;
|
|
1346
1405
|
align-items: center;
|
|
1347
1406
|
gap: var(--base-gap-small);
|
|
1348
1407
|
|
|
1349
1408
|
h4 {
|
|
1350
|
-
${
|
|
1409
|
+
${Oe.titleSmall}
|
|
1351
1410
|
}
|
|
1352
|
-
`,
|
|
1411
|
+
`, Ot = p(O)`
|
|
1353
1412
|
/* hidden by default and show on card hover */
|
|
1354
1413
|
display: none;
|
|
1355
1414
|
.icon {
|
|
@@ -1361,78 +1420,78 @@ const Z = [], at = (e) => {
|
|
|
1361
1420
|
}
|
|
1362
1421
|
|
|
1363
1422
|
margin: -2px;
|
|
1364
|
-
`,
|
|
1423
|
+
`, It = p(Mt)`
|
|
1365
1424
|
width: 71px;
|
|
1366
1425
|
height: 40px;
|
|
1367
1426
|
|
|
1368
1427
|
border-radius: var(--border-radius-m);
|
|
1369
1428
|
|
|
1370
1429
|
object-fit: cover;
|
|
1371
|
-
`,
|
|
1430
|
+
`, Vt = p(P)`
|
|
1372
1431
|
font-size: 25px;
|
|
1373
1432
|
|
|
1374
1433
|
cursor: grab;
|
|
1375
1434
|
|
|
1376
1435
|
/* default hidden */
|
|
1377
1436
|
opacity: 0;
|
|
1378
|
-
`,
|
|
1437
|
+
`, mr = q(
|
|
1379
1438
|
({
|
|
1380
1439
|
availability: e,
|
|
1381
1440
|
projectName: t,
|
|
1382
1441
|
fileId: r,
|
|
1383
1442
|
filename: o,
|
|
1384
|
-
label:
|
|
1385
|
-
processing:
|
|
1386
|
-
mimetype:
|
|
1387
|
-
isDragOverlay:
|
|
1388
|
-
isDropPlaceholder:
|
|
1389
|
-
isSelected:
|
|
1390
|
-
isDragging:
|
|
1391
|
-
dragProps:
|
|
1443
|
+
label: l,
|
|
1444
|
+
processing: n,
|
|
1445
|
+
mimetype: a,
|
|
1446
|
+
isDragOverlay: c,
|
|
1447
|
+
isDropPlaceholder: g,
|
|
1448
|
+
isSelected: s,
|
|
1449
|
+
isDragging: u,
|
|
1450
|
+
dragProps: i = {},
|
|
1392
1451
|
sortingDisabled: h,
|
|
1393
1452
|
onEdit: v,
|
|
1394
|
-
...
|
|
1395
|
-
},
|
|
1396
|
-
const
|
|
1453
|
+
...f
|
|
1454
|
+
}, w) => {
|
|
1455
|
+
const y = (i || c) && !h, x = e === "conversionRecommended", F = x && !!n;
|
|
1397
1456
|
let T = o;
|
|
1398
|
-
|
|
1399
|
-
let
|
|
1400
|
-
return
|
|
1401
|
-
|
|
1457
|
+
x && (T = "Unoptimized - conversion recommended"), F && (T = "Unoptimized - queued for conversion");
|
|
1458
|
+
let A = l;
|
|
1459
|
+
return x && (A = o), /* @__PURE__ */ z(
|
|
1460
|
+
Lt,
|
|
1402
1461
|
{
|
|
1403
1462
|
id: r,
|
|
1404
|
-
ref:
|
|
1405
|
-
className:
|
|
1406
|
-
draggable:
|
|
1407
|
-
"drop-placeholder":
|
|
1408
|
-
"drag-overlay":
|
|
1409
|
-
dragging:
|
|
1463
|
+
ref: w,
|
|
1464
|
+
className: M({
|
|
1465
|
+
draggable: y,
|
|
1466
|
+
"drop-placeholder": g,
|
|
1467
|
+
"drag-overlay": c,
|
|
1468
|
+
dragging: u,
|
|
1410
1469
|
// is anything dragging
|
|
1411
|
-
selected:
|
|
1470
|
+
selected: s,
|
|
1412
1471
|
editable: !!v
|
|
1413
1472
|
}),
|
|
1414
|
-
...
|
|
1473
|
+
...f,
|
|
1415
1474
|
children: [
|
|
1416
|
-
/* @__PURE__ */
|
|
1417
|
-
|
|
1475
|
+
/* @__PURE__ */ m(
|
|
1476
|
+
It,
|
|
1418
1477
|
{
|
|
1419
1478
|
src: `/api/projects/${t}/files/${r}/thumbnail`,
|
|
1420
|
-
mimetype:
|
|
1479
|
+
mimetype: a
|
|
1421
1480
|
}
|
|
1422
1481
|
),
|
|
1423
|
-
/* @__PURE__ */
|
|
1424
|
-
/* @__PURE__ */
|
|
1425
|
-
/* @__PURE__ */
|
|
1426
|
-
!!v && /* @__PURE__ */
|
|
1482
|
+
/* @__PURE__ */ z(Pt, { children: [
|
|
1483
|
+
/* @__PURE__ */ z(Wt, { children: [
|
|
1484
|
+
/* @__PURE__ */ m("h4", { children: A }),
|
|
1485
|
+
!!v && /* @__PURE__ */ m(Ot, { icon: "edit", variant: "text", className: "edit", onClick: v })
|
|
1427
1486
|
] }),
|
|
1428
|
-
/* @__PURE__ */
|
|
1487
|
+
/* @__PURE__ */ m("span", { className: "name", children: T })
|
|
1429
1488
|
] }),
|
|
1430
|
-
|
|
1489
|
+
y && /* @__PURE__ */ m(Vt, { className: "handle", ...i, icon: "drag_indicator" })
|
|
1431
1490
|
]
|
|
1432
1491
|
}
|
|
1433
1492
|
);
|
|
1434
1493
|
}
|
|
1435
|
-
),
|
|
1494
|
+
), Bt = pe`
|
|
1436
1495
|
from {
|
|
1437
1496
|
transform: rotate(360deg);
|
|
1438
1497
|
}
|
|
@@ -1441,7 +1500,7 @@ const Z = [], at = (e) => {
|
|
|
1441
1500
|
transform: rotate(0deg);
|
|
1442
1501
|
}
|
|
1443
1502
|
|
|
1444
|
-
`,
|
|
1503
|
+
`, Ht = p.div`
|
|
1445
1504
|
position: relative;
|
|
1446
1505
|
width: 100%;
|
|
1447
1506
|
min-height: 50px;
|
|
@@ -1507,13 +1566,13 @@ const Z = [], at = (e) => {
|
|
|
1507
1566
|
& > * {
|
|
1508
1567
|
z-index: 10;
|
|
1509
1568
|
}
|
|
1510
|
-
`,
|
|
1569
|
+
`, _t = p.div`
|
|
1511
1570
|
position: absolute;
|
|
1512
1571
|
inset: 0;
|
|
1513
1572
|
background-color: var(--md-sys-color-primary-container);
|
|
1514
1573
|
z-index: 0;
|
|
1515
1574
|
transition: right 0.2s;
|
|
1516
|
-
`,
|
|
1575
|
+
`, Qt = p.div`
|
|
1517
1576
|
position: relative;
|
|
1518
1577
|
width: 71px;
|
|
1519
1578
|
height: 40px;
|
|
@@ -1532,7 +1591,7 @@ const Z = [], at = (e) => {
|
|
|
1532
1591
|
|
|
1533
1592
|
&.spinning {
|
|
1534
1593
|
/* spin animation */
|
|
1535
|
-
animation: ${
|
|
1594
|
+
animation: ${Bt} 1s infinite linear;
|
|
1536
1595
|
}
|
|
1537
1596
|
}
|
|
1538
1597
|
|
|
@@ -1544,84 +1603,84 @@ const Z = [], at = (e) => {
|
|
|
1544
1603
|
object-fit: cover;
|
|
1545
1604
|
opacity: 0.5;
|
|
1546
1605
|
}
|
|
1547
|
-
`,
|
|
1606
|
+
`, ne = ({
|
|
1548
1607
|
name: e,
|
|
1549
1608
|
progress: t,
|
|
1550
1609
|
size: r,
|
|
1551
1610
|
type: o,
|
|
1552
|
-
fileId:
|
|
1553
|
-
src:
|
|
1554
|
-
error:
|
|
1555
|
-
tooltip:
|
|
1556
|
-
onRemove:
|
|
1557
|
-
...
|
|
1611
|
+
fileId: l,
|
|
1612
|
+
src: n,
|
|
1613
|
+
error: a,
|
|
1614
|
+
tooltip: c,
|
|
1615
|
+
onRemove: g,
|
|
1616
|
+
...s
|
|
1558
1617
|
}) => {
|
|
1559
|
-
let
|
|
1618
|
+
let u = "", i = !1, h = "";
|
|
1560
1619
|
switch (o) {
|
|
1561
1620
|
case "processing":
|
|
1562
|
-
|
|
1621
|
+
u = "Transcoding", i = !0, h = "settings";
|
|
1563
1622
|
break;
|
|
1564
1623
|
case "unsupported":
|
|
1565
|
-
|
|
1624
|
+
u = "Unsupported - conversion required", h = "visibility_off";
|
|
1566
1625
|
break;
|
|
1567
1626
|
case "upload":
|
|
1568
|
-
|
|
1627
|
+
u = "Uploading", i = !0, h = "sync";
|
|
1569
1628
|
break;
|
|
1570
1629
|
case "queued":
|
|
1571
|
-
|
|
1630
|
+
u = "Queued - waiting to be transcoded", h = "hourglass";
|
|
1572
1631
|
break;
|
|
1573
1632
|
case "waiting":
|
|
1574
|
-
|
|
1633
|
+
u = "Waiting for upload", h = "schedule";
|
|
1575
1634
|
break;
|
|
1576
1635
|
case "importing":
|
|
1577
|
-
|
|
1636
|
+
u = "Importing", h = "upload_file";
|
|
1578
1637
|
break;
|
|
1579
1638
|
case "validating":
|
|
1580
|
-
|
|
1639
|
+
u = "Validating", h = "checklist";
|
|
1581
1640
|
break;
|
|
1582
1641
|
}
|
|
1583
|
-
|
|
1642
|
+
a && (i = !1, h = "error");
|
|
1584
1643
|
const v = t !== void 0 ? `- ${t}%` : "";
|
|
1585
|
-
return /* @__PURE__ */
|
|
1586
|
-
|
|
1644
|
+
return /* @__PURE__ */ z(
|
|
1645
|
+
Ht,
|
|
1587
1646
|
{
|
|
1588
|
-
className:
|
|
1589
|
-
id:
|
|
1590
|
-
...
|
|
1647
|
+
className: M({ finished: t === 100, error: !!a, [o]: !0 }),
|
|
1648
|
+
id: l,
|
|
1649
|
+
...s,
|
|
1591
1650
|
children: [
|
|
1592
|
-
/* @__PURE__ */
|
|
1593
|
-
|
|
1594
|
-
h && /* @__PURE__ */
|
|
1651
|
+
/* @__PURE__ */ z(Qt, { children: [
|
|
1652
|
+
n && /* @__PURE__ */ m("img", { src: n }),
|
|
1653
|
+
h && /* @__PURE__ */ m(P, { icon: h, className: M({ spinning: i }) })
|
|
1595
1654
|
] }),
|
|
1596
|
-
/* @__PURE__ */
|
|
1597
|
-
/* @__PURE__ */
|
|
1598
|
-
/* @__PURE__ */
|
|
1655
|
+
/* @__PURE__ */ z("span", { className: "content", children: [
|
|
1656
|
+
/* @__PURE__ */ m("span", { className: "name", children: e }),
|
|
1657
|
+
/* @__PURE__ */ m("span", { className: "message", children: a || `${u} ${v}` })
|
|
1599
1658
|
] }),
|
|
1600
|
-
r && /* @__PURE__ */
|
|
1601
|
-
|
|
1602
|
-
(
|
|
1603
|
-
/* @__PURE__ */
|
|
1659
|
+
r && /* @__PURE__ */ m("span", { className: "size", children: Ie(r) }),
|
|
1660
|
+
c && /* @__PURE__ */ m(P, { icon: "info", className: "info", "data-tooltip": c, "data-tooltip-as": "markdown" }),
|
|
1661
|
+
(a || o === "waiting") && /* @__PURE__ */ m(O, { icon: "close", variant: "text", onClick: g }),
|
|
1662
|
+
/* @__PURE__ */ m(_t, { className: "progress", style: { right: `${100 - (t ?? 0)}%` } })
|
|
1604
1663
|
]
|
|
1605
1664
|
},
|
|
1606
1665
|
e
|
|
1607
1666
|
);
|
|
1608
1667
|
};
|
|
1609
|
-
|
|
1668
|
+
p.div`
|
|
1610
1669
|
display: flex;
|
|
1611
1670
|
flex-direction: column;
|
|
1612
1671
|
gap: var(--base-gap-small);
|
|
1613
1672
|
min-height: 100%;
|
|
1614
1673
|
padding-bottom: var(--padding-m);
|
|
1615
1674
|
`;
|
|
1616
|
-
const
|
|
1675
|
+
const gr = p.div`
|
|
1617
1676
|
position: relative;
|
|
1618
1677
|
overflow: hidden;
|
|
1619
1678
|
border-radius: var(--border-radius-m);
|
|
1620
1679
|
width: 100%;
|
|
1621
1680
|
min-height: 50px;
|
|
1622
|
-
`,
|
|
1681
|
+
`, hr = p.div`
|
|
1623
1682
|
word-break: break-all;
|
|
1624
|
-
`,
|
|
1683
|
+
`, qt = p.div`
|
|
1625
1684
|
display: flex;
|
|
1626
1685
|
flex-direction: column;
|
|
1627
1686
|
gap: var(--base-gap-small);
|
|
@@ -1638,7 +1697,7 @@ const sr = d.div`
|
|
|
1638
1697
|
&.dragging {
|
|
1639
1698
|
opacity: 0;
|
|
1640
1699
|
}
|
|
1641
|
-
`,
|
|
1700
|
+
`, Gt = p.div`
|
|
1642
1701
|
position: relative;
|
|
1643
1702
|
min-height: 50px;
|
|
1644
1703
|
display: flex;
|
|
@@ -1667,7 +1726,7 @@ const sr = d.div`
|
|
|
1667
1726
|
opacity: 0;
|
|
1668
1727
|
cursor: pointer;
|
|
1669
1728
|
}
|
|
1670
|
-
`,
|
|
1729
|
+
`, Kt = p.div`
|
|
1671
1730
|
position: absolute;
|
|
1672
1731
|
inset: var(--padding-s);
|
|
1673
1732
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
@@ -1689,8 +1748,8 @@ const sr = d.div`
|
|
|
1689
1748
|
.icon {
|
|
1690
1749
|
font-size: 32px;
|
|
1691
1750
|
}
|
|
1692
|
-
`,
|
|
1693
|
-
if (
|
|
1751
|
+
`, ie = (e) => {
|
|
1752
|
+
if (ge.isAxiosError(e)) {
|
|
1694
1753
|
const t = e.response?.data;
|
|
1695
1754
|
if (typeof t == "string" && t)
|
|
1696
1755
|
return t;
|
|
@@ -1702,226 +1761,226 @@ const sr = d.div`
|
|
|
1702
1761
|
return e.message || e.response?.statusText || "Unknown upload error";
|
|
1703
1762
|
}
|
|
1704
1763
|
return e instanceof Error ? e.message : typeof e == "string" ? e : "Unknown upload error";
|
|
1705
|
-
},
|
|
1764
|
+
}, Yt = ({
|
|
1706
1765
|
projectName: e,
|
|
1707
1766
|
versionId: t,
|
|
1708
1767
|
taskId: r,
|
|
1709
1768
|
folderId: o,
|
|
1710
|
-
productId:
|
|
1711
|
-
dispatch:
|
|
1712
|
-
onUpload:
|
|
1713
|
-
onProgress:
|
|
1769
|
+
productId: l,
|
|
1770
|
+
dispatch: n,
|
|
1771
|
+
onUpload: a,
|
|
1772
|
+
onProgress: c
|
|
1714
1773
|
}) => {
|
|
1715
|
-
const [
|
|
1774
|
+
const [g, s] = L({}), u = Q(
|
|
1716
1775
|
(h) => {
|
|
1717
|
-
t &&
|
|
1776
|
+
t && s((v) => ({
|
|
1718
1777
|
...v,
|
|
1719
|
-
[t]: v[t]?.filter((
|
|
1778
|
+
[t]: v[t]?.filter((f) => f.name !== h) || []
|
|
1720
1779
|
}));
|
|
1721
1780
|
},
|
|
1722
1781
|
[t]
|
|
1723
1782
|
);
|
|
1724
1783
|
return {
|
|
1725
|
-
handleFileUpload:
|
|
1784
|
+
handleFileUpload: Q(
|
|
1726
1785
|
async (h, v) => {
|
|
1727
|
-
const
|
|
1728
|
-
if (!
|
|
1729
|
-
const
|
|
1730
|
-
name:
|
|
1731
|
-
size:
|
|
1786
|
+
const f = v || t;
|
|
1787
|
+
if (!f || !e) return;
|
|
1788
|
+
const w = Array.from(h), y = w.map((k) => ({
|
|
1789
|
+
name: I(k.name),
|
|
1790
|
+
size: k.size,
|
|
1732
1791
|
progress: 0
|
|
1733
|
-
})),
|
|
1734
|
-
|
|
1735
|
-
const
|
|
1736
|
-
if (!
|
|
1737
|
-
console.log(`Upload successful for ${
|
|
1738
|
-
const
|
|
1739
|
-
e && (
|
|
1792
|
+
})), x = [...g[f] || [], ...y];
|
|
1793
|
+
s({ ...g, [f]: x });
|
|
1794
|
+
const F = (k) => (S) => {
|
|
1795
|
+
if (!f) return;
|
|
1796
|
+
console.log(`Upload successful for ${k.name}`);
|
|
1797
|
+
const d = S.data;
|
|
1798
|
+
e && (n(
|
|
1740
1799
|
// @ts-ignore
|
|
1741
|
-
|
|
1800
|
+
Je.util.updateQueryData(
|
|
1742
1801
|
"getReviewablesForVersion",
|
|
1743
|
-
{ projectName: e, versionId:
|
|
1802
|
+
{ projectName: e, versionId: f },
|
|
1744
1803
|
(D) => {
|
|
1745
|
-
D.reviewables || (D.reviewables = []), D.reviewables.push(
|
|
1804
|
+
D.reviewables || (D.reviewables = []), D.reviewables.push(d);
|
|
1746
1805
|
}
|
|
1747
1806
|
)
|
|
1748
|
-
),
|
|
1749
|
-
}, T = (
|
|
1750
|
-
|
|
1751
|
-
const
|
|
1807
|
+
), l && n(B.util.invalidateTags([{ type: "viewer", id: l }])), n(B.util.invalidateTags([{ type: "viewer", id: f }])), o && n(B.util.invalidateTags([{ type: "viewer", id: o }])), r && n(B.util.invalidateTags([{ type: "viewer", id: r }])), u(I(k.name)));
|
|
1808
|
+
}, T = (k) => (S) => {
|
|
1809
|
+
f && (console.error(`Upload failed for ${k.name}: ${S}`), s((d) => {
|
|
1810
|
+
const N = (d[f] || []).map((C) => C.name !== I(k.name) ? C : {
|
|
1752
1811
|
...C,
|
|
1753
|
-
error:
|
|
1812
|
+
error: ie(S)
|
|
1754
1813
|
});
|
|
1755
1814
|
return {
|
|
1756
|
-
...
|
|
1757
|
-
[
|
|
1815
|
+
...d,
|
|
1816
|
+
[f]: N
|
|
1758
1817
|
};
|
|
1759
1818
|
}));
|
|
1760
|
-
},
|
|
1761
|
-
const
|
|
1762
|
-
...
|
|
1819
|
+
}, A = (k) => f ? (S) => s((d) => {
|
|
1820
|
+
const N = (d[f] || []).map((b) => b.name !== I(k.name) ? b : {
|
|
1821
|
+
...b,
|
|
1763
1822
|
progress: S.total ? Math.round(S.loaded / S.total * 100) : 0
|
|
1764
|
-
}), C =
|
|
1765
|
-
(
|
|
1823
|
+
}), C = N.reduce(
|
|
1824
|
+
(b, E) => b + (E.progress || 0),
|
|
1766
1825
|
0
|
|
1767
|
-
),
|
|
1768
|
-
return
|
|
1769
|
-
...
|
|
1770
|
-
[
|
|
1826
|
+
), $ = Math.round(C / N.length);
|
|
1827
|
+
return c?.($), {
|
|
1828
|
+
...d,
|
|
1829
|
+
[f]: N
|
|
1771
1830
|
};
|
|
1772
1831
|
}) : () => {
|
|
1773
1832
|
};
|
|
1774
1833
|
try {
|
|
1775
|
-
const
|
|
1776
|
-
const
|
|
1777
|
-
return
|
|
1778
|
-
throw T(S)(
|
|
1834
|
+
const k = w.map((S) => {
|
|
1835
|
+
const d = I(S.name), D = d.split(".").slice(0, -1).join(".") || "unnamed", N = `/api/projects/${e}/versions/${f}/reviewables?label=${D}`, C = { "content-type": S.type, "x-file-name": d };
|
|
1836
|
+
return ge.post(N, S, { headers: C, onUploadProgress: A(S) }).then(F(S)).catch(($) => {
|
|
1837
|
+
throw T(S)($), $;
|
|
1779
1838
|
});
|
|
1780
1839
|
});
|
|
1781
|
-
await Promise.all(
|
|
1782
|
-
} catch (
|
|
1783
|
-
throw console.error(
|
|
1840
|
+
await Promise.all(k), a && a();
|
|
1841
|
+
} catch (k) {
|
|
1842
|
+
throw console.error(k), G.error(`Failed to upload file/s: ${ie(k)}`), k;
|
|
1784
1843
|
}
|
|
1785
1844
|
},
|
|
1786
1845
|
[
|
|
1787
1846
|
t,
|
|
1788
1847
|
e,
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1848
|
+
g,
|
|
1849
|
+
n,
|
|
1850
|
+
l,
|
|
1792
1851
|
o,
|
|
1793
1852
|
r,
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1853
|
+
u,
|
|
1854
|
+
a,
|
|
1855
|
+
c
|
|
1797
1856
|
]
|
|
1798
1857
|
),
|
|
1799
|
-
handleRemoveUpload:
|
|
1800
|
-
uploading:
|
|
1858
|
+
handleRemoveUpload: u,
|
|
1859
|
+
uploading: g
|
|
1801
1860
|
};
|
|
1802
|
-
},
|
|
1861
|
+
}, fr = ({
|
|
1803
1862
|
projectName: e,
|
|
1804
1863
|
taskId: t,
|
|
1805
1864
|
folderId: r,
|
|
1806
1865
|
versionId: o,
|
|
1807
|
-
productId:
|
|
1808
|
-
onUpload:
|
|
1809
|
-
onFilesAdded:
|
|
1810
|
-
children:
|
|
1811
|
-
dispatch:
|
|
1812
|
-
variant:
|
|
1813
|
-
pendingFiles:
|
|
1814
|
-
setPendingFiles:
|
|
1866
|
+
productId: l,
|
|
1867
|
+
onUpload: n,
|
|
1868
|
+
onFilesAdded: a,
|
|
1869
|
+
children: c,
|
|
1870
|
+
dispatch: g,
|
|
1871
|
+
variant: s = "normal",
|
|
1872
|
+
pendingFiles: u = [],
|
|
1873
|
+
setPendingFiles: i,
|
|
1815
1874
|
className: h,
|
|
1816
1875
|
readOnly: v = !1,
|
|
1817
|
-
pt:
|
|
1818
|
-
...
|
|
1876
|
+
pt: f,
|
|
1877
|
+
...w
|
|
1819
1878
|
}) => {
|
|
1820
|
-
const [
|
|
1821
|
-
handleFileUpload:
|
|
1879
|
+
const [y, x] = L(!1), {
|
|
1880
|
+
handleFileUpload: F,
|
|
1822
1881
|
handleRemoveUpload: T,
|
|
1823
|
-
uploading:
|
|
1824
|
-
} =
|
|
1882
|
+
uploading: A
|
|
1883
|
+
} = Yt({
|
|
1825
1884
|
projectName: e,
|
|
1826
1885
|
versionId: o,
|
|
1827
1886
|
taskId: t,
|
|
1828
1887
|
folderId: r,
|
|
1829
|
-
productId:
|
|
1830
|
-
dispatch:
|
|
1831
|
-
onUpload:
|
|
1832
|
-
}),
|
|
1833
|
-
|
|
1834
|
-
if (
|
|
1835
|
-
const
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
}),
|
|
1888
|
+
productId: l,
|
|
1889
|
+
dispatch: g,
|
|
1890
|
+
onUpload: n
|
|
1891
|
+
}), k = !!o;
|
|
1892
|
+
V(() => {
|
|
1893
|
+
if (k && o && u.length > 0 && i) {
|
|
1894
|
+
const b = u.map((E) => E.file);
|
|
1895
|
+
u.forEach((E) => {
|
|
1896
|
+
E.preview && URL.revokeObjectURL(E.preview);
|
|
1897
|
+
}), i([]), F(b);
|
|
1839
1898
|
}
|
|
1840
|
-
}, [
|
|
1841
|
-
const S = (
|
|
1842
|
-
file:
|
|
1843
|
-
preview: S(
|
|
1844
|
-
})), D = async (
|
|
1845
|
-
const
|
|
1846
|
-
if (
|
|
1847
|
-
|
|
1899
|
+
}, [k, o, u.length, F, i]);
|
|
1900
|
+
const S = (b) => b.type.startsWith("image/"), d = (b) => b.map((E) => ({
|
|
1901
|
+
file: E,
|
|
1902
|
+
preview: S(E) ? URL.createObjectURL(E) : void 0
|
|
1903
|
+
})), D = async (b) => {
|
|
1904
|
+
const E = Array.from(b);
|
|
1905
|
+
if (a?.(E), !k || !o) {
|
|
1906
|
+
i && i((j) => [...j, ...d(E)]);
|
|
1848
1907
|
return;
|
|
1849
1908
|
}
|
|
1850
|
-
await
|
|
1851
|
-
},
|
|
1852
|
-
const
|
|
1853
|
-
|
|
1854
|
-
}, C = (
|
|
1855
|
-
|
|
1856
|
-
const
|
|
1857
|
-
|
|
1858
|
-
},
|
|
1859
|
-
return /* @__PURE__ */
|
|
1860
|
-
/* @__PURE__ */
|
|
1861
|
-
|
|
1909
|
+
await F(b);
|
|
1910
|
+
}, N = (b) => {
|
|
1911
|
+
const E = b.target.files;
|
|
1912
|
+
E && D(E);
|
|
1913
|
+
}, C = (b) => {
|
|
1914
|
+
b.preventDefault(), x(!1);
|
|
1915
|
+
const E = b.dataTransfer.files;
|
|
1916
|
+
E && D(E);
|
|
1917
|
+
}, $ = s === "large" ? { minWidth: "360px", maxWidth: "480px", alignSelf: "center" } : {};
|
|
1918
|
+
return /* @__PURE__ */ z(Z, { children: [
|
|
1919
|
+
/* @__PURE__ */ m(
|
|
1920
|
+
qt,
|
|
1862
1921
|
{
|
|
1863
|
-
className:
|
|
1864
|
-
...
|
|
1865
|
-
onDragEnter: () => !v &&
|
|
1866
|
-
onDragOver: (
|
|
1867
|
-
onDrop: (
|
|
1868
|
-
v && (
|
|
1922
|
+
className: M(h, s, { dragging: y }),
|
|
1923
|
+
...w,
|
|
1924
|
+
onDragEnter: () => !v && x(!0),
|
|
1925
|
+
onDragOver: (b) => b.preventDefault(),
|
|
1926
|
+
onDrop: (b) => {
|
|
1927
|
+
v && (b.preventDefault(), b.stopPropagation());
|
|
1869
1928
|
},
|
|
1870
|
-
children: /* @__PURE__ */
|
|
1871
|
-
|
|
1872
|
-
!
|
|
1873
|
-
|
|
1929
|
+
children: /* @__PURE__ */ z(Z, { children: [
|
|
1930
|
+
c,
|
|
1931
|
+
!k && u?.map((b) => /* @__PURE__ */ m(
|
|
1932
|
+
ne,
|
|
1874
1933
|
{
|
|
1875
|
-
name:
|
|
1876
|
-
size:
|
|
1877
|
-
src:
|
|
1934
|
+
name: b.file.name,
|
|
1935
|
+
size: b.file.size,
|
|
1936
|
+
src: b.preview,
|
|
1878
1937
|
type: "waiting",
|
|
1879
1938
|
onRemove: () => {
|
|
1880
|
-
|
|
1939
|
+
i && i((E) => E.filter((j) => j.file.name !== b.file.name));
|
|
1881
1940
|
}
|
|
1882
1941
|
},
|
|
1883
|
-
|
|
1942
|
+
b.file.name
|
|
1884
1943
|
)),
|
|
1885
|
-
o &&
|
|
1886
|
-
|
|
1944
|
+
o && A[o]?.map((b) => /* @__PURE__ */ m(
|
|
1945
|
+
ne,
|
|
1887
1946
|
{
|
|
1888
|
-
...
|
|
1947
|
+
...b,
|
|
1889
1948
|
type: "upload",
|
|
1890
|
-
onRemove: () => T(
|
|
1949
|
+
onRemove: () => T(b.name)
|
|
1891
1950
|
},
|
|
1892
|
-
|
|
1951
|
+
b.name
|
|
1893
1952
|
)),
|
|
1894
|
-
!v && /* @__PURE__ */
|
|
1895
|
-
|
|
1953
|
+
!v && /* @__PURE__ */ z(
|
|
1954
|
+
Gt,
|
|
1896
1955
|
{
|
|
1897
1956
|
id: "upload",
|
|
1898
|
-
className:
|
|
1899
|
-
style:
|
|
1900
|
-
...
|
|
1957
|
+
className: M("upload", s),
|
|
1958
|
+
style: $,
|
|
1959
|
+
...f?.upload,
|
|
1901
1960
|
children: [
|
|
1902
|
-
/* @__PURE__ */
|
|
1903
|
-
/* @__PURE__ */
|
|
1961
|
+
/* @__PURE__ */ m("span", { children: "Drop or click to upload" }),
|
|
1962
|
+
/* @__PURE__ */ m("input", { type: "file", multiple: !0, onChange: N })
|
|
1904
1963
|
]
|
|
1905
1964
|
}
|
|
1906
1965
|
)
|
|
1907
1966
|
] })
|
|
1908
1967
|
}
|
|
1909
1968
|
),
|
|
1910
|
-
|
|
1911
|
-
|
|
1969
|
+
y && !v && /* @__PURE__ */ z(
|
|
1970
|
+
Kt,
|
|
1912
1971
|
{
|
|
1913
|
-
onDragOver: (
|
|
1914
|
-
onDragLeave: () =>
|
|
1972
|
+
onDragOver: (b) => b.preventDefault(),
|
|
1973
|
+
onDragLeave: () => x(!1),
|
|
1915
1974
|
onDrop: C,
|
|
1916
|
-
...
|
|
1975
|
+
...f?.dropzone,
|
|
1917
1976
|
children: [
|
|
1918
|
-
/* @__PURE__ */
|
|
1919
|
-
/* @__PURE__ */
|
|
1977
|
+
/* @__PURE__ */ m(P, { icon: "upload" }),
|
|
1978
|
+
/* @__PURE__ */ m("span", { children: "Upload reviewable" })
|
|
1920
1979
|
]
|
|
1921
1980
|
}
|
|
1922
1981
|
)
|
|
1923
1982
|
] });
|
|
1924
|
-
},
|
|
1983
|
+
}, vr = p.div`
|
|
1925
1984
|
position: relative;
|
|
1926
1985
|
border-radius: var(--border-radius-m);
|
|
1927
1986
|
display: flex;
|
|
@@ -1936,9 +1995,9 @@ const sr = d.div`
|
|
|
1936
1995
|
}
|
|
1937
1996
|
|
|
1938
1997
|
flex: 1;
|
|
1939
|
-
`,
|
|
1998
|
+
`, yr = p.div`
|
|
1940
1999
|
position: relative;
|
|
1941
|
-
`,
|
|
2000
|
+
`, br = p.span`
|
|
1942
2001
|
position: relative;
|
|
1943
2002
|
padding: 0px 2px;
|
|
1944
2003
|
border-radius: var(--border-radius-m);
|
|
@@ -1960,29 +2019,29 @@ const sr = d.div`
|
|
|
1960
2019
|
color: var(--md-sys-color-on-surface);
|
|
1961
2020
|
}
|
|
1962
2021
|
}
|
|
1963
|
-
`,
|
|
2022
|
+
`, xr = p.span`
|
|
1964
2023
|
text-overflow: ellipsis;
|
|
1965
2024
|
overflow: hidden;
|
|
1966
2025
|
display: inline-block;
|
|
1967
2026
|
white-space: nowrap;
|
|
1968
|
-
`,
|
|
2027
|
+
`, se = ue`
|
|
1969
2028
|
background-color: var(--md-sys-color-surface-container);
|
|
1970
2029
|
&,
|
|
1971
2030
|
.icon {
|
|
1972
2031
|
color: var(--md-sys-color-on-surface);
|
|
1973
2032
|
}
|
|
1974
|
-
`,
|
|
2033
|
+
`, Zt = p.div`
|
|
1975
2034
|
& > span,
|
|
1976
2035
|
& > li {
|
|
1977
2036
|
cursor: pointer;
|
|
1978
2037
|
&:hover {
|
|
1979
|
-
${
|
|
2038
|
+
${se}
|
|
1980
2039
|
}
|
|
1981
2040
|
}
|
|
1982
2041
|
|
|
1983
2042
|
&.open {
|
|
1984
2043
|
& > span {
|
|
1985
|
-
${
|
|
2044
|
+
${se}
|
|
1986
2045
|
}
|
|
1987
2046
|
}
|
|
1988
2047
|
|
|
@@ -1994,7 +2053,7 @@ const sr = d.div`
|
|
|
1994
2053
|
}
|
|
1995
2054
|
}
|
|
1996
2055
|
}
|
|
1997
|
-
`,
|
|
2056
|
+
`, wr = p.div`
|
|
1998
2057
|
position: absolute;
|
|
1999
2058
|
top: 100%;
|
|
2000
2059
|
left: 0px;
|
|
@@ -2003,7 +2062,7 @@ const sr = d.div`
|
|
|
2003
2062
|
|
|
2004
2063
|
z-index: 200;
|
|
2005
2064
|
padding-top: 4px;
|
|
2006
|
-
`,
|
|
2065
|
+
`, kr = p.ul`
|
|
2007
2066
|
display: flex;
|
|
2008
2067
|
flex-direction: column;
|
|
2009
2068
|
gap: var(--base-gap-small);
|
|
@@ -2018,46 +2077,46 @@ const sr = d.div`
|
|
|
2018
2077
|
|
|
2019
2078
|
max-height: 500px;
|
|
2020
2079
|
overflow: auto;
|
|
2021
|
-
`,
|
|
2080
|
+
`, Er = p.li`
|
|
2022
2081
|
padding: var(--base-gap-small);
|
|
2023
2082
|
border-radius: var(--border-radius-m);
|
|
2024
2083
|
color: var(--md-sys-color-on-surface);
|
|
2025
2084
|
min-width: max-content;
|
|
2026
2085
|
width: 100%;
|
|
2027
|
-
`,
|
|
2028
|
-
({ children: e, segment: t, isOpen: r, scope: o, projectName:
|
|
2029
|
-
const { openSlideOut:
|
|
2030
|
-
if (!
|
|
2031
|
-
const { type: v, id:
|
|
2032
|
-
!v || v === "project" || v === "product" || !
|
|
2086
|
+
`, Tr = q(
|
|
2087
|
+
({ children: e, segment: t, isOpen: r, scope: o, projectName: l, ...n }, a) => {
|
|
2088
|
+
const { openSlideOut: c } = Y(), g = t?.type !== "product" && t?.type !== "project", s = () => {
|
|
2089
|
+
if (!g) return;
|
|
2090
|
+
const { type: v, id: f } = t || {};
|
|
2091
|
+
!v || v === "project" || v === "product" || !f || c({
|
|
2033
2092
|
entityType: v,
|
|
2034
|
-
entityId:
|
|
2035
|
-
projectName:
|
|
2093
|
+
entityId: f,
|
|
2094
|
+
projectName: l
|
|
2036
2095
|
});
|
|
2037
|
-
},
|
|
2096
|
+
}, u = (v) => [
|
|
2038
2097
|
{
|
|
2039
2098
|
label: `ID: ${v}`,
|
|
2040
2099
|
icon: "content_copy",
|
|
2041
|
-
command: () =>
|
|
2100
|
+
command: () => K(v)
|
|
2042
2101
|
}
|
|
2043
|
-
], [
|
|
2044
|
-
return /* @__PURE__ */
|
|
2045
|
-
|
|
2102
|
+
], [i] = ct();
|
|
2103
|
+
return /* @__PURE__ */ m(
|
|
2104
|
+
Zt,
|
|
2046
2105
|
{
|
|
2047
|
-
onClick:
|
|
2106
|
+
onClick: s,
|
|
2048
2107
|
onContextMenu: (v) => {
|
|
2049
2108
|
if (!t) return;
|
|
2050
|
-
const
|
|
2051
|
-
|
|
2109
|
+
const f = u(t.id);
|
|
2110
|
+
i(v, f);
|
|
2052
2111
|
},
|
|
2053
|
-
className:
|
|
2054
|
-
...
|
|
2055
|
-
ref:
|
|
2112
|
+
className: lt({ link: g, open: r }),
|
|
2113
|
+
...n,
|
|
2114
|
+
ref: a,
|
|
2056
2115
|
children: e
|
|
2057
2116
|
}
|
|
2058
2117
|
);
|
|
2059
2118
|
}
|
|
2060
|
-
),
|
|
2119
|
+
), Jt = p.div`
|
|
2061
2120
|
position: relative;
|
|
2062
2121
|
width: 100%;
|
|
2063
2122
|
height: 52px;
|
|
@@ -2147,7 +2206,7 @@ const sr = d.div`
|
|
|
2147
2206
|
border: none;
|
|
2148
2207
|
border-color: transparent;
|
|
2149
2208
|
}
|
|
2150
|
-
`,
|
|
2209
|
+
`, Xt = p.img`
|
|
2151
2210
|
width: 100%;
|
|
2152
2211
|
height: 100%;
|
|
2153
2212
|
object-fit: contain;
|
|
@@ -2159,63 +2218,63 @@ const sr = d.div`
|
|
|
2159
2218
|
inset: 0;
|
|
2160
2219
|
|
|
2161
2220
|
transition: scale 0.2s, opacity 0.2s;
|
|
2162
|
-
`,
|
|
2221
|
+
`, eo = ({
|
|
2163
2222
|
projectName: e = "",
|
|
2164
2223
|
entityType: t = "",
|
|
2165
2224
|
entityId: r = "",
|
|
2166
2225
|
icon: o,
|
|
2167
|
-
color:
|
|
2168
|
-
thumbnailHash:
|
|
2169
|
-
isLoading:
|
|
2170
|
-
shimmer:
|
|
2171
|
-
className:
|
|
2172
|
-
disabled:
|
|
2173
|
-
src:
|
|
2174
|
-
hoverIcon:
|
|
2226
|
+
color: l,
|
|
2227
|
+
thumbnailHash: n,
|
|
2228
|
+
isLoading: a,
|
|
2229
|
+
shimmer: c,
|
|
2230
|
+
className: g,
|
|
2231
|
+
disabled: s,
|
|
2232
|
+
src: u,
|
|
2233
|
+
hoverIcon: i,
|
|
2175
2234
|
showBorder: h = !0,
|
|
2176
2235
|
...v
|
|
2177
2236
|
}) => {
|
|
2178
|
-
const
|
|
2179
|
-
let
|
|
2180
|
-
t && (
|
|
2181
|
-
const [
|
|
2182
|
-
return
|
|
2183
|
-
if (
|
|
2184
|
-
|
|
2237
|
+
const f = t === "project", w = ["product"].includes(t), y = f ? !!e : !!r;
|
|
2238
|
+
let x = "";
|
|
2239
|
+
t && (n || f) && y && (u ? x = u : x = dt({ projectName: e, entityType: t, entityId: r, thumbnailHash: n }) ?? "");
|
|
2240
|
+
const [F, T] = L(!1), [A, k] = L(!1);
|
|
2241
|
+
return V(() => {
|
|
2242
|
+
if (x === "") {
|
|
2243
|
+
k(!0), T(!0);
|
|
2185
2244
|
return;
|
|
2186
2245
|
}
|
|
2187
|
-
|
|
2188
|
-
}, [
|
|
2189
|
-
|
|
2246
|
+
k(!1), T(!1);
|
|
2247
|
+
}, [x]), /* @__PURE__ */ z(
|
|
2248
|
+
Jt,
|
|
2190
2249
|
{
|
|
2191
|
-
className:
|
|
2192
|
-
loading:
|
|
2193
|
-
loaded:
|
|
2194
|
-
error:
|
|
2250
|
+
className: M(g, "thumbnail", {
|
|
2251
|
+
loading: c && (a || !A),
|
|
2252
|
+
loaded: A,
|
|
2253
|
+
error: F,
|
|
2195
2254
|
clickable: !!v.onClick,
|
|
2196
2255
|
border: h
|
|
2197
2256
|
}),
|
|
2198
2257
|
...v,
|
|
2199
2258
|
children: [
|
|
2200
|
-
(!
|
|
2201
|
-
t && e && !
|
|
2202
|
-
|
|
2259
|
+
(!a || !A) && !s && /* @__PURE__ */ m(P, { style: { color: l || void 0 }, icon: o || "image", className: "type-icon" }),
|
|
2260
|
+
t && e && !w && y && /* @__PURE__ */ m(
|
|
2261
|
+
Xt,
|
|
2203
2262
|
{
|
|
2204
2263
|
alt: `Entity thumbnail ${r || e}`,
|
|
2205
|
-
src:
|
|
2264
|
+
src: x,
|
|
2206
2265
|
onLoad: () => {
|
|
2207
|
-
|
|
2266
|
+
k(!0), T(!1);
|
|
2208
2267
|
},
|
|
2209
2268
|
onError: () => {
|
|
2210
|
-
|
|
2269
|
+
k(!0), T(!0);
|
|
2211
2270
|
}
|
|
2212
2271
|
}
|
|
2213
2272
|
),
|
|
2214
|
-
|
|
2273
|
+
i && /* @__PURE__ */ m(P, { icon: i, className: "hover-icon" })
|
|
2215
2274
|
]
|
|
2216
2275
|
}
|
|
2217
2276
|
);
|
|
2218
|
-
},
|
|
2277
|
+
}, to = p.div`
|
|
2219
2278
|
display: flex;
|
|
2220
2279
|
z-index: 10;
|
|
2221
2280
|
height: 100%;
|
|
@@ -2236,7 +2295,7 @@ const sr = d.div`
|
|
|
2236
2295
|
font-size: 24px;
|
|
2237
2296
|
}
|
|
2238
2297
|
|
|
2239
|
-
${({ $length: e }) => e > 1 &&
|
|
2298
|
+
${({ $length: e }) => e > 1 && ue`
|
|
2240
2299
|
:not(:last-child) {
|
|
2241
2300
|
box-shadow: 0 0 4px 0px black;
|
|
2242
2301
|
}
|
|
@@ -2252,129 +2311,131 @@ const sr = d.div`
|
|
|
2252
2311
|
object-fit: cover;
|
|
2253
2312
|
}
|
|
2254
2313
|
}
|
|
2255
|
-
`,
|
|
2314
|
+
`, Sr = ({
|
|
2256
2315
|
thumbnails: e = [],
|
|
2257
2316
|
isLoading: t,
|
|
2258
2317
|
className: r,
|
|
2259
2318
|
style: o,
|
|
2260
|
-
...
|
|
2319
|
+
...l
|
|
2261
2320
|
}) => {
|
|
2262
|
-
const { onContextMenu:
|
|
2321
|
+
const { onContextMenu: n } = Ee(rt);
|
|
2263
2322
|
e = e.slice(0, 5);
|
|
2264
|
-
const
|
|
2265
|
-
return e.length ? /* @__PURE__ */
|
|
2266
|
-
|
|
2323
|
+
const a = e.length > 1;
|
|
2324
|
+
return e.length ? /* @__PURE__ */ m(
|
|
2325
|
+
to,
|
|
2267
2326
|
{
|
|
2268
2327
|
$length: e.length,
|
|
2269
|
-
className:
|
|
2328
|
+
className: M("stacked-thumbnails", r, { stacking: a }),
|
|
2270
2329
|
children: e.map(
|
|
2271
|
-
(
|
|
2272
|
-
|
|
2330
|
+
(c, g) => c ? /* @__PURE__ */ m(
|
|
2331
|
+
eo,
|
|
2273
2332
|
{
|
|
2274
|
-
projectName:
|
|
2275
|
-
entityType:
|
|
2276
|
-
entityId:
|
|
2277
|
-
icon:
|
|
2278
|
-
color:
|
|
2279
|
-
style: { ...o, zIndex: -
|
|
2280
|
-
thumbnailHash:
|
|
2333
|
+
projectName: c.projectName,
|
|
2334
|
+
entityType: c.type,
|
|
2335
|
+
entityId: c.id,
|
|
2336
|
+
icon: c.icon,
|
|
2337
|
+
color: c.color,
|
|
2338
|
+
style: { ...o, zIndex: -g },
|
|
2339
|
+
thumbnailHash: c.thumbnailHash,
|
|
2281
2340
|
isLoading: t,
|
|
2282
|
-
src:
|
|
2283
|
-
onContextMenu:
|
|
2284
|
-
...
|
|
2341
|
+
src: c.src,
|
|
2342
|
+
onContextMenu: n,
|
|
2343
|
+
...l
|
|
2285
2344
|
},
|
|
2286
|
-
|
|
2345
|
+
c.id || c.src || g
|
|
2287
2346
|
) : null
|
|
2288
2347
|
)
|
|
2289
2348
|
}
|
|
2290
2349
|
) : null;
|
|
2291
|
-
},
|
|
2292
|
-
({ entities: e, entityType: t, onWatchersUpdate: r, userName: o, ...
|
|
2293
|
-
const
|
|
2294
|
-
entityId:
|
|
2350
|
+
}, Dr = q(
|
|
2351
|
+
({ entities: e, entityType: t, onWatchersUpdate: r, userName: o, ...l }, n) => {
|
|
2352
|
+
const a = e.map((i) => ({
|
|
2353
|
+
entityId: i.id,
|
|
2295
2354
|
entityType: t,
|
|
2296
|
-
projectName:
|
|
2297
|
-
})), { data:
|
|
2355
|
+
projectName: i.projectName
|
|
2356
|
+
})), { data: c = [] } = Xe(
|
|
2298
2357
|
{
|
|
2299
|
-
entities:
|
|
2358
|
+
entities: a
|
|
2300
2359
|
},
|
|
2301
2360
|
{ skip: !e.length }
|
|
2302
|
-
),
|
|
2303
|
-
const h =
|
|
2304
|
-
const
|
|
2305
|
-
return
|
|
2306
|
-
...
|
|
2307
|
-
watchers:
|
|
2361
|
+
), g = Array.from(new Set(c.flatMap((i) => i.watchers))), [s] = et(), u = async (i) => {
|
|
2362
|
+
const h = i.filter((w) => !g.includes(w)), v = g.filter((w) => !i.includes(w)), f = c.map((w) => {
|
|
2363
|
+
const y = w.watchers.filter((x) => !v.includes(x));
|
|
2364
|
+
return y.push(...h), {
|
|
2365
|
+
...w,
|
|
2366
|
+
watchers: y
|
|
2308
2367
|
};
|
|
2309
2368
|
});
|
|
2310
2369
|
try {
|
|
2311
|
-
await
|
|
2370
|
+
await s({ entities: f }).unwrap(), r && r(h, v);
|
|
2312
2371
|
} catch {
|
|
2313
|
-
|
|
2372
|
+
G.error("Failed to update watchers");
|
|
2314
2373
|
}
|
|
2315
2374
|
};
|
|
2316
|
-
return /* @__PURE__ */
|
|
2317
|
-
|
|
2375
|
+
return /* @__PURE__ */ m(
|
|
2376
|
+
Ve,
|
|
2318
2377
|
{
|
|
2319
2378
|
align: "right",
|
|
2320
|
-
...
|
|
2321
|
-
options:
|
|
2322
|
-
value:
|
|
2379
|
+
...l,
|
|
2380
|
+
options: ze(l.options, g),
|
|
2381
|
+
value: g,
|
|
2323
2382
|
currentUser: o,
|
|
2324
|
-
onChange:
|
|
2325
|
-
ref:
|
|
2383
|
+
onChange: u,
|
|
2384
|
+
ref: n,
|
|
2326
2385
|
buttonProps: { "data-tooltip": "Watchers" }
|
|
2327
2386
|
}
|
|
2328
2387
|
);
|
|
2329
2388
|
}
|
|
2330
2389
|
);
|
|
2331
2390
|
export {
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
vr as
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2391
|
+
Jo as A,
|
|
2392
|
+
Yo 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
|
+
ar as I,
|
|
2400
|
+
tr as J,
|
|
2401
|
+
or as K,
|
|
2402
|
+
gr as L,
|
|
2403
|
+
wr as M,
|
|
2404
|
+
nr as N,
|
|
2405
|
+
Go as O,
|
|
2406
|
+
ur as P,
|
|
2407
|
+
Xo as Q,
|
|
2408
|
+
mr as R,
|
|
2409
|
+
br as S,
|
|
2410
|
+
Zo as T,
|
|
2411
|
+
pr as U,
|
|
2412
|
+
ir as V,
|
|
2413
|
+
Dr as W,
|
|
2414
|
+
er as X,
|
|
2415
|
+
yt as a,
|
|
2416
|
+
Bo as b,
|
|
2417
|
+
xt as c,
|
|
2418
|
+
wt as d,
|
|
2419
|
+
hr as e,
|
|
2420
|
+
Ho as f,
|
|
2421
|
+
fr as g,
|
|
2422
|
+
ne as h,
|
|
2423
|
+
Yt as i,
|
|
2424
|
+
sr as j,
|
|
2425
|
+
lr as k,
|
|
2426
|
+
vr as l,
|
|
2427
|
+
kr as m,
|
|
2428
|
+
Tr as n,
|
|
2429
|
+
Er as o,
|
|
2430
|
+
yr as p,
|
|
2431
|
+
Ft as q,
|
|
2432
|
+
At as r,
|
|
2433
|
+
_o as s,
|
|
2434
|
+
he as t,
|
|
2435
|
+
mt as u,
|
|
2436
|
+
Mt as v,
|
|
2437
|
+
Sr as w,
|
|
2438
|
+
eo as x,
|
|
2439
|
+
bt as y,
|
|
2440
|
+
Ko as z
|
|
2380
2441
|
};
|