@ynput/ayon-frontend-shared 0.6.5 → 0.6.7
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 +3 -3
- package/dist/NewEntity.es.js +15 -15
- package/dist/ProjectTreeTable.es.js +430 -433
- package/dist/Slicer.es.js +11 -11
- package/dist/Views.es.js +213 -206
- package/dist/chunks/CodeEditor.es.js +30 -0
- package/dist/chunks/ColumnDropIndicator.styled.es.js +24 -24
- package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
- package/dist/chunks/DeleteEntitiesContextInstance.es.js +103 -103
- package/dist/chunks/EntityPath.es.js +2 -2
- package/dist/chunks/EntityTooltip.es.js +1 -1
- package/dist/chunks/Feed.es.js +958 -931
- package/dist/chunks/JsonViewer.es.js +1 -1
- package/dist/chunks/Menu.es.js +169 -167
- package/dist/chunks/MenuItem.es.js +109 -74
- package/dist/chunks/MetaWidget.es.js +1537 -1516
- package/dist/chunks/PlayableIcon.es.js +127 -127
- package/dist/chunks/ReviewablesSelector.es.js +199 -196
- package/dist/chunks/SimpleForm.es.js +78 -75
- package/dist/chunks/SimpleTable.es.js +110 -110
- package/dist/chunks/Slicer.es.js +22 -22
- package/dist/chunks/TableSettingsFallback.es.js +1 -1
- package/dist/chunks/ThumbnailSimple.es.js +2 -2
- package/dist/chunks/VideoPlayer.es.js +1 -1
- package/dist/chunks/Watchers.es.js +19 -19
- package/dist/chunks/afterStartup.es.js +13 -0
- package/dist/chunks/getUris.es.js +926 -964
- package/dist/chunks/queryFilterToClientFilter.es.js +90 -81
- package/dist/chunks/searchTerms.es.js +1 -0
- package/dist/chunks/useHierarchySelection.es.js +2 -2
- package/dist/chunks/useLoadModule.es.js +24 -23
- package/dist/components.es.js +202 -200
- package/dist/context.es.js +521 -492
- package/dist/hooks.es.js +190 -166
- package/dist/types/ContextMenu.d.ts +1 -0
- package/dist/types/Feed.d.ts +1 -1
- package/dist/types/ProjectTreeTable.d.ts +4 -5
- package/dist/types/Slicer.d.ts +1 -1
- package/dist/types/Views.d.ts +13 -2
- package/dist/types/api.d.ts +203 -1175
- package/dist/types/components.d.ts +14 -3
- package/dist/types/context.d.ts +3 -2
- package/dist/types/hooks.d.ts +25 -1
- package/dist/types/util.d.ts +11 -1
- package/dist/util.es.js +44 -41
- package/package.json +2 -2
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { jsx as W, jsxs as Ge, Fragment as vn } from "react/jsx-runtime";
|
|
2
|
-
import Xe, { useMemo as j, useCallback as q, useEffect as Ue, useState as Ve, useRef as je, useLayoutEffect as
|
|
2
|
+
import Xe, { useMemo as j, useCallback as q, useEffect as Ue, useState as Ve, useRef as je, useLayoutEffect as bs } from "react";
|
|
3
3
|
import { useVirtualizer as Un } from "@tanstack/react-virtual";
|
|
4
|
-
import { functionalUpdate as Ct, useReactTable as
|
|
4
|
+
import { functionalUpdate as Ct, useReactTable as ws, filterFns as Cs, getSortedRowModel as Ts, getExpandedRowModel as Ss, getFilteredRowModel as vs, getCoreRowModel as Es, flexRender as dn } from "@tanstack/react-table";
|
|
5
5
|
import qe from "clsx";
|
|
6
|
-
import { r as
|
|
7
|
-
import { B as Na,
|
|
6
|
+
import { r as xs, s as ks, t as En, v as Rs, w as dt, a as nt, x as Ps, y as Gn, z as As, b as Ke, F as ut, G as Zt, H as en, I as Ye, p as he, J as Ds, K as $t, N as Ls, O as Os, Q as _s, R as Fs, V as Ns, P as Ms, W as $s, X as Wn, Y as _e, Z as Vs, _ as zs, f as un, $ as Bs, a0 as an, a1 as Wt, U as xn, a2 as ln, a3 as Us, a4 as bt, a5 as Gs, a6 as Ws, C as Hs, a7 as js, a8 as Ks, a9 as qs, aa as Qs, ab as Xs, ac as Hn, ad as fn, ae as Ys, af as Js, ag as Zs, ah as kn, ai as eo, q as Rn, aj as to, ak as no, al as jn, am as Kn, an as so, ao as oo, ap as ro, aq as io } from "./chunks/MetaWidget.es.js";
|
|
7
|
+
import { B as Na, ar as Ma, as as $a, at as Va, au as za, av as Ba, aw as Ua, n as Ga, ax as Wa, ay as Ha, az as ja, aA as Ka, aB as qa, aC as Qa, aD as Xa, o as Ya, aE as Ja, aF as Za, aG as el, aH as tl, M as nl, aI as sl, aJ as ol, aK as rl, aL as il, aM as al, aN as ll, aO as cl, aP as dl, aQ as ul, aR as fl, aS as pl, T as gl, aT as ml, aU as yl, aV as hl, aW as Il, aX as bl, aY as wl, aZ as Cl, a_ as Tl, a$ as Sl, b0 as vl, b1 as El, b2 as xl, b3 as kl, b4 as Rl, b5 as Pl, b6 as Al, b7 as Dl, b8 as Ll, b9 as Ol, ba as _l, bb as Fl, bc as Nl, bd as Ml, be as $l, bf as Vl, h as zl, bg as Bl, g as Ul } from "./chunks/MetaWidget.es.js";
|
|
8
8
|
import { T as ao, g as Kt, c as qt, H as Pn } from "./chunks/ColumnDropIndicator.styled.es.js";
|
|
9
9
|
import { SEARCH_FILTER_ID as lo, Icon as pn, Button as tn } from "@ynput/ayon-react-components";
|
|
10
10
|
import "@module-federation/enhanced/runtime";
|
|
11
|
+
import { toast as Le } from "react-toastify";
|
|
11
12
|
import { ay as An, bi as qn } from "./chunks/searchTerms.es.js";
|
|
12
13
|
import { aV as co, aG as uo, ds as Qn, dB as St, bX as fo, ct as po, bY as go, ca as mo, bx as Dn, cm as yo, bM as ho, dC as Io } from "./chunks/getUris.es.js";
|
|
13
14
|
import { dD as Wl } from "./chunks/getUris.es.js";
|
|
14
15
|
import "primereact/confirmdialog";
|
|
15
16
|
import { x as Qe, d as bo, a5 as wo, y as Co, u as Xn, a as To, a1 as So } from "./chunks/DeleteEntitiesContextInstance.es.js";
|
|
16
17
|
import { isEqual as wt, debounce as vo, throttle as Eo } from "lodash";
|
|
17
|
-
import { toast as Le } from "react-toastify";
|
|
18
18
|
import { v4 as xo } from "uuid";
|
|
19
19
|
import { v as Yn, g as cn, R as ge, D as Be, f as ko, M as gn } from "./chunks/realtimeUpdatesUtils.es.js";
|
|
20
20
|
import { C as jl, W as Kl, k as ql } from "./chunks/realtimeUpdatesUtils.es.js";
|
|
@@ -83,9 +83,9 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
83
83
|
}) => {
|
|
84
84
|
const o = t.map((i) => i.folderId), s = e.filter(
|
|
85
85
|
(i) => n.get(i)?.hasTasks
|
|
86
|
-
),
|
|
86
|
+
), m = new Set(o), h = /* @__PURE__ */ new Set();
|
|
87
87
|
for (const i of s)
|
|
88
|
-
|
|
88
|
+
m.has(i) || h.add(i);
|
|
89
89
|
const w = {};
|
|
90
90
|
for (const i of h) {
|
|
91
91
|
const d = n.get(i);
|
|
@@ -98,17 +98,17 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
98
98
|
folderTypes: n,
|
|
99
99
|
taskTypes: o,
|
|
100
100
|
productTypes: s,
|
|
101
|
-
tags:
|
|
101
|
+
tags: m,
|
|
102
102
|
scopes: h
|
|
103
103
|
}) => {
|
|
104
104
|
const w = (i) => e.filter(
|
|
105
105
|
(d) => !d.scope || i.some((a) => d.scope?.includes(a))
|
|
106
|
-
).map(({ name: d, color: a, icon: y, scope:
|
|
106
|
+
).map(({ name: d, color: a, icon: y, scope: g }) => ({
|
|
107
107
|
value: d,
|
|
108
108
|
label: d,
|
|
109
109
|
color: a,
|
|
110
110
|
icon: y,
|
|
111
|
-
scope:
|
|
111
|
+
scope: g
|
|
112
112
|
}));
|
|
113
113
|
return {
|
|
114
114
|
assignee: t.map(({ name: i, fullName: d, hidden: a }) => ({
|
|
@@ -120,7 +120,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
120
120
|
status: w(h),
|
|
121
121
|
folderStatus: w(["folder"]),
|
|
122
122
|
taskStatus: w(["task"]),
|
|
123
|
-
tag:
|
|
123
|
+
tag: m.map(({ name: i, color: d }) => ({ value: i, label: i, color: d })),
|
|
124
124
|
folderType: n.map(({ name: i, icon: d, color: a }) => ({
|
|
125
125
|
value: i,
|
|
126
126
|
label: i,
|
|
@@ -149,25 +149,25 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
149
149
|
author: ["author"]
|
|
150
150
|
}, sr = (t, e, n = []) => {
|
|
151
151
|
let o = t.filter((d) => d.readOnly).map((d) => d.name), s;
|
|
152
|
-
const
|
|
152
|
+
const m = [];
|
|
153
153
|
let h = !1, w = !1;
|
|
154
154
|
if (e) {
|
|
155
|
-
const d = new Set(e), a = (y) => y.some((
|
|
156
|
-
Object.entries(nr).forEach(([y,
|
|
157
|
-
a(
|
|
155
|
+
const d = new Set(e), a = (y) => y.some((g) => d.has(g));
|
|
156
|
+
Object.entries(nr).forEach(([y, g]) => {
|
|
157
|
+
a(g) || (m.push(y), y === "folderType" && (h = !0), y === "taskType" && (w = !0));
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
160
|
if (n?.includes("attrib") ? (o = t.filter((d) => d.builtin || d.readOnly).map((d) => d.name), s = /* @__PURE__ */ new Set([
|
|
161
161
|
...o.map((d) => "attrib_" + d),
|
|
162
162
|
// Add the read-only attribute columns to the set
|
|
163
|
-
...
|
|
163
|
+
...m,
|
|
164
164
|
// Also include read-only built-in fields
|
|
165
165
|
...n || []
|
|
166
166
|
// Add any other specified readOnly columns
|
|
167
167
|
])) : (s = /* @__PURE__ */ new Set([
|
|
168
168
|
...o.map((d) => "attrib_" + d),
|
|
169
169
|
// Add readOnly attribute columns to the set
|
|
170
|
-
...
|
|
170
|
+
...m,
|
|
171
171
|
// Add read-only built-in fields to the set (field ids match column ids)
|
|
172
172
|
...n || []
|
|
173
173
|
// Add any other specified readOnly columns
|
|
@@ -176,8 +176,8 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
176
176
|
const a = d.replace("attrib_", "");
|
|
177
177
|
t.find((y) => y.name === a) && !o.includes(a) && o.push(a);
|
|
178
178
|
}
|
|
179
|
-
})), h && w && (s.add("subType"), o.includes("subType") || o.push("subType")),
|
|
180
|
-
for (const d of
|
|
179
|
+
})), h && w && (s.add("subType"), o.includes("subType") || o.push("subType")), m.length)
|
|
180
|
+
for (const d of m)
|
|
181
181
|
o.includes(d) || o.push(d);
|
|
182
182
|
return { readOnlyColumns: Array.from(s), readOnlyAttribs: o };
|
|
183
183
|
}, or = {
|
|
@@ -188,16 +188,9 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
188
188
|
const e = t.trim().split(`
|
|
189
189
|
`), n = [], o = [];
|
|
190
190
|
return e.forEach((s) => {
|
|
191
|
-
const
|
|
192
|
-
n.push({ values:
|
|
191
|
+
const m = s.split(" ");
|
|
192
|
+
n.push({ values: m, colIds: o });
|
|
193
193
|
}), n;
|
|
194
|
-
}, ns = (t, e) => {
|
|
195
|
-
const n = e.get(t);
|
|
196
|
-
if (!n) return "";
|
|
197
|
-
const o = n.name || "", s = n.folderId || n.parentId;
|
|
198
|
-
if (!s) return o;
|
|
199
|
-
const g = ns(s, e);
|
|
200
|
-
return g ? `${g} / ${o}` : o;
|
|
201
194
|
}, rr = (t, e) => {
|
|
202
195
|
if (e === "array")
|
|
203
196
|
try {
|
|
@@ -225,7 +218,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
225
218
|
isFolder: n,
|
|
226
219
|
pasteValue: o,
|
|
227
220
|
parsedData: s,
|
|
228
|
-
columnEnums:
|
|
221
|
+
columnEnums: m,
|
|
229
222
|
columnReadOnly: h,
|
|
230
223
|
rowIndex: w,
|
|
231
224
|
colIndex: i,
|
|
@@ -240,7 +233,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
240
233
|
if (ir.includes(e)) {
|
|
241
234
|
let r = e;
|
|
242
235
|
e === "assignees" ? r = "assignee" : e === "subType" ? r = n ? "folderType" : "taskType" : e === "status" && (r = "status");
|
|
243
|
-
const l =
|
|
236
|
+
const l = m[r] || [];
|
|
244
237
|
if (l.length === 0)
|
|
245
238
|
return !0;
|
|
246
239
|
const p = o.split(",").map(($) => $.trim()), v = [];
|
|
@@ -325,15 +318,15 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
325
318
|
}
|
|
326
319
|
}
|
|
327
320
|
let y = e === "subType" ? n ? "folderType" : "taskType" : e;
|
|
328
|
-
if (y = or[y] || y, !(y in
|
|
329
|
-
const
|
|
330
|
-
if (!Array.isArray(
|
|
321
|
+
if (y = or[y] || y, !(y in m)) return !0;
|
|
322
|
+
const g = m[y];
|
|
323
|
+
if (!Array.isArray(g) || g.length === 0) return !0;
|
|
331
324
|
const T = o.split(",").map((r) => r.trim()), { validValues: b, hasInvalidValues: P } = T.reduce(
|
|
332
325
|
(r, l) => {
|
|
333
|
-
const p =
|
|
326
|
+
const p = g.find((x) => x.value === l || x.label === l);
|
|
334
327
|
if (p)
|
|
335
328
|
return r.validValues.push(String(p.value)), r;
|
|
336
|
-
const v =
|
|
329
|
+
const v = g.find(
|
|
337
330
|
(x) => String(x.value).toLowerCase() === l.toLowerCase() || String(x.label).toLowerCase() === l.toLowerCase()
|
|
338
331
|
);
|
|
339
332
|
return v ? (r.validValues.push(String(v.value)), r) : (r.hasInvalidValues = !0, r.validValues.push(l), r);
|
|
@@ -378,15 +371,15 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
378
371
|
return (n.includes("taskid") && n.includes("taskname") && n.includes("label") && n.includes("name") && n.includes("start date") && n.includes("end date") && n.includes("assignees") && n.includes("status") ? e.slice(1) : e).map((h) => {
|
|
379
372
|
const w = h.split(" ");
|
|
380
373
|
if (w.length < 6) return null;
|
|
381
|
-
let i, d, a, y,
|
|
382
|
-
w.length >= 8 ? ([i, d, a, y,
|
|
374
|
+
let i, d, a, y, g, T, b, P;
|
|
375
|
+
w.length >= 8 ? ([i, d, a, y, g, T, b, P] = w, i = i || void 0, d = d || void 0) : [a, y, g, T, b, P] = w.slice(0, 6);
|
|
383
376
|
const I = b ? b.split(",").map((p) => p.trim()).filter(Boolean) : [], r = P?.toLowerCase().trim() === "done", l = {
|
|
384
377
|
label: a || "",
|
|
385
378
|
name: y || "",
|
|
386
379
|
assignees: I,
|
|
387
380
|
isDone: r
|
|
388
381
|
};
|
|
389
|
-
return i && (l.taskId = i), d && (l.taskName = d),
|
|
382
|
+
return i && (l.taskId = i), d && (l.taskName = d), g && (l.startDate = g), T && (l.endDate = T), l;
|
|
390
383
|
}).filter(
|
|
391
384
|
(h) => h !== null
|
|
392
385
|
);
|
|
@@ -402,8 +395,8 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
402
395
|
if (s.includes("taskid") && s.includes("taskname") && s.includes("label") && s.includes("name") && s.includes("start date") && s.includes("end date") && s.includes("assignees") && s.includes("status") || s.includes("label") && s.includes("name") && s.includes("start date") && s.includes("end date") && s.includes("assignees") && s.includes("status"))
|
|
403
396
|
return !0;
|
|
404
397
|
if (e.length > 0) {
|
|
405
|
-
const
|
|
406
|
-
return
|
|
398
|
+
const m = o[o.length - 1]?.toLowerCase().trim();
|
|
399
|
+
return m === "done" || m === "todo";
|
|
407
400
|
}
|
|
408
401
|
return !1;
|
|
409
402
|
}, dr = (t) => {
|
|
@@ -432,14 +425,14 @@ function mr({
|
|
|
432
425
|
rows: n,
|
|
433
426
|
tasksByFolderMap: o,
|
|
434
427
|
expanded: s,
|
|
435
|
-
showHierarchy:
|
|
428
|
+
showHierarchy: m,
|
|
436
429
|
isFlatFolderView: h = !1,
|
|
437
430
|
showEmptyFolders: w = !1,
|
|
438
431
|
loadingTasks: i = {},
|
|
439
432
|
isLoadingMore: d = !1,
|
|
440
433
|
selectedFolders: a = []
|
|
441
434
|
}) {
|
|
442
|
-
const y = Qe(),
|
|
435
|
+
const y = Qe(), g = xs({ projectInfo: y }), T = j(() => JSON.stringify(s), [s]), b = j(() => new Set(
|
|
443
436
|
Object.entries(s).filter(([l, p]) => p).map(([l]) => l)
|
|
444
437
|
), [T]), { childToParentMap: P, parentToChildrenMap: I } = j(() => {
|
|
445
438
|
const l = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
|
|
@@ -469,10 +462,10 @@ function mr({
|
|
|
469
462
|
}, [t, I, b]);
|
|
470
463
|
return j(() => {
|
|
471
464
|
const l = (C, c) => {
|
|
472
|
-
const u =
|
|
465
|
+
const u = g("task", C.taskType), E = ks(C, t.get(c || C.folderId));
|
|
473
466
|
return E.primary.icon = u?.icon || null, E.primary.color = u?.color || null, E.primary.links = En(C.links, "task", y.anatomy), E.subRows = [], E;
|
|
474
467
|
}, p = (C) => {
|
|
475
|
-
const c =
|
|
468
|
+
const c = g("folder", C.folderType), u = Rs(C);
|
|
476
469
|
return u.primary.icon = c?.icon || null, u.primary.color = c?.color || null, u.primary.links = En(C.links, "folder", y.anatomy), u.subRows = [], u;
|
|
477
470
|
}, v = () => {
|
|
478
471
|
const C = [];
|
|
@@ -508,7 +501,7 @@ function mr({
|
|
|
508
501
|
}
|
|
509
502
|
return C.push(...v()), C;
|
|
510
503
|
}
|
|
511
|
-
if (!
|
|
504
|
+
if (!m) {
|
|
512
505
|
const C = [];
|
|
513
506
|
for (const c of e.values())
|
|
514
507
|
c.id && C.push(l(c));
|
|
@@ -551,7 +544,7 @@ function mr({
|
|
|
551
544
|
const u = x.get(C), E = x.get(c);
|
|
552
545
|
!u || !E || E.subRows?.push(u);
|
|
553
546
|
}
|
|
554
|
-
if ($.push(...v()),
|
|
547
|
+
if ($.push(...v()), m && d) {
|
|
555
548
|
const C = Nn;
|
|
556
549
|
$.push(...Tt(C));
|
|
557
550
|
}
|
|
@@ -566,7 +559,7 @@ function mr({
|
|
|
566
559
|
r,
|
|
567
560
|
P,
|
|
568
561
|
b,
|
|
569
|
-
|
|
562
|
+
m,
|
|
570
563
|
h,
|
|
571
564
|
w,
|
|
572
565
|
i,
|
|
@@ -580,7 +573,7 @@ function yr({
|
|
|
580
573
|
tasksByFolderMap: n,
|
|
581
574
|
getEntityById: o,
|
|
582
575
|
projectAttrib: s,
|
|
583
|
-
attribFields:
|
|
576
|
+
attribFields: m
|
|
584
577
|
}) {
|
|
585
578
|
const h = j(() => {
|
|
586
579
|
const T = /* @__PURE__ */ new Map();
|
|
@@ -668,7 +661,7 @@ function yr({
|
|
|
668
661
|
if (p.length)
|
|
669
662
|
for (const v of p) {
|
|
670
663
|
const x = r.filter(
|
|
671
|
-
([c]) => !v.ownAttrib?.includes(c) &&
|
|
664
|
+
([c]) => !v.ownAttrib?.includes(c) && m?.find((u) => u.name === c)?.data?.inherit
|
|
672
665
|
), $ = r.filter(
|
|
673
666
|
([c]) => v.ownAttrib?.includes(c)
|
|
674
667
|
);
|
|
@@ -698,7 +691,7 @@ function yr({
|
|
|
698
691
|
return b;
|
|
699
692
|
},
|
|
700
693
|
[w, t, d, i]
|
|
701
|
-
),
|
|
694
|
+
), g = q(
|
|
702
695
|
(T, b, P) => {
|
|
703
696
|
const I = o(T);
|
|
704
697
|
if (!I) return null;
|
|
@@ -718,7 +711,7 @@ function yr({
|
|
|
718
711
|
folderChildrenMap: h,
|
|
719
712
|
getChildrenEntities: w,
|
|
720
713
|
getInheritedDependents: y,
|
|
721
|
-
findInheritedValueFromAncestors:
|
|
714
|
+
findInheritedValueFromAncestors: g,
|
|
722
715
|
findNonInheritedValues: a,
|
|
723
716
|
getAncestorsOf: i
|
|
724
717
|
};
|
|
@@ -729,14 +722,14 @@ const oa = ({
|
|
|
729
722
|
tableRows: n,
|
|
730
723
|
tasksMap: o,
|
|
731
724
|
entitiesMap: s,
|
|
732
|
-
tasksByFolderMap:
|
|
725
|
+
tasksByFolderMap: m,
|
|
733
726
|
selectedFolders: h,
|
|
734
727
|
expanded: w,
|
|
735
728
|
showHierarchy: i,
|
|
736
729
|
loadingTasks: d,
|
|
737
730
|
isLoadingMore: a,
|
|
738
731
|
isLoading: y,
|
|
739
|
-
error:
|
|
732
|
+
error: g,
|
|
740
733
|
softError: T,
|
|
741
734
|
softErrorAction: b,
|
|
742
735
|
isInitialized: P,
|
|
@@ -760,7 +753,7 @@ const oa = ({
|
|
|
760
753
|
modules: O,
|
|
761
754
|
loadingLinksEntityIds: _,
|
|
762
755
|
groupByConfig: A,
|
|
763
|
-
hierarchyOptions:
|
|
756
|
+
hierarchyOptions: V,
|
|
764
757
|
hierarchyActive: J,
|
|
765
758
|
isFlatFolderView: ee,
|
|
766
759
|
SubtasksManager: le,
|
|
@@ -777,13 +770,13 @@ const oa = ({
|
|
|
777
770
|
dispatch: D
|
|
778
771
|
}) => {
|
|
779
772
|
const { attrib: Y } = Qe(), {
|
|
780
|
-
groupBy:
|
|
773
|
+
groupBy: z,
|
|
781
774
|
groupByConfig: { showEmpty: G = !0 } = {}
|
|
782
775
|
} = nt(), K = mr({
|
|
783
776
|
foldersMap: e,
|
|
784
777
|
tasksMap: o,
|
|
785
778
|
rows: n,
|
|
786
|
-
tasksByFolderMap:
|
|
779
|
+
tasksByFolderMap: m,
|
|
787
780
|
expanded: w,
|
|
788
781
|
showHierarchy: i,
|
|
789
782
|
isFlatFolderView: ee,
|
|
@@ -791,7 +784,7 @@ const oa = ({
|
|
|
791
784
|
loadingTasks: d,
|
|
792
785
|
isLoadingMore: a,
|
|
793
786
|
selectedFolders: h
|
|
794
|
-
}), Z = ee ? void 0 : x ||
|
|
787
|
+
}), Z = ee ? void 0 : x || z, te = Ps({
|
|
795
788
|
entities: s,
|
|
796
789
|
entityType: A?.entityType || "unknown",
|
|
797
790
|
groups: p,
|
|
@@ -833,7 +826,7 @@ const oa = ({
|
|
|
833
826
|
} = yr({
|
|
834
827
|
entitiesMap: s,
|
|
835
828
|
tasksMap: o,
|
|
836
|
-
tasksByFolderMap:
|
|
829
|
+
tasksByFolderMap: m,
|
|
837
830
|
getEntityById: ve,
|
|
838
831
|
projectAttrib: Y,
|
|
839
832
|
attribFields: r
|
|
@@ -860,7 +853,7 @@ const oa = ({
|
|
|
860
853
|
[w, f]
|
|
861
854
|
);
|
|
862
855
|
return /* @__PURE__ */ W(
|
|
863
|
-
|
|
856
|
+
As.Provider,
|
|
864
857
|
{
|
|
865
858
|
value: {
|
|
866
859
|
// from this context
|
|
@@ -868,7 +861,7 @@ const oa = ({
|
|
|
868
861
|
// forwarded on
|
|
869
862
|
isInitialized: P,
|
|
870
863
|
isLoading: y,
|
|
871
|
-
error:
|
|
864
|
+
error: g,
|
|
872
865
|
softError: T,
|
|
873
866
|
softErrorAction: b,
|
|
874
867
|
attribFields: r,
|
|
@@ -887,7 +880,7 @@ const oa = ({
|
|
|
887
880
|
// hierarchy
|
|
888
881
|
showHierarchy: i,
|
|
889
882
|
updateShowHierarchy: u,
|
|
890
|
-
hierarchyOptions:
|
|
883
|
+
hierarchyOptions: V,
|
|
891
884
|
hierarchyActive: J,
|
|
892
885
|
// flat folder view
|
|
893
886
|
isFlatFolderView: ee,
|
|
@@ -928,7 +921,7 @@ const oa = ({
|
|
|
928
921
|
}
|
|
929
922
|
);
|
|
930
923
|
}, hr = (t) => {
|
|
931
|
-
const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [
|
|
924
|
+
const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [m] = co(), [h] = uo();
|
|
932
925
|
return { pasteTableLinks: q(
|
|
933
926
|
async (i) => {
|
|
934
927
|
if (!o || !i.length) return;
|
|
@@ -937,7 +930,7 @@ const oa = ({
|
|
|
937
930
|
const b = `${T.sourceEntityId}-${T.linkType}-${T.direction}`;
|
|
938
931
|
d.has(b) || d.set(b, []), d.get(b).push(T);
|
|
939
932
|
}
|
|
940
|
-
const a = [], y = [],
|
|
933
|
+
const a = [], y = [], g = [];
|
|
941
934
|
for (const [, T] of d) {
|
|
942
935
|
const { sourceEntityId: b } = T[0], P = /* @__PURE__ */ new Set();
|
|
943
936
|
if (T.forEach((I) => I.targetEntityIds.forEach((r) => P.add(r))), P.has(b)) {
|
|
@@ -1010,10 +1003,10 @@ const oa = ({
|
|
|
1010
1003
|
});
|
|
1011
1004
|
}
|
|
1012
1005
|
}
|
|
1013
|
-
c.length > 0 && (a.push(Zt(c,
|
|
1006
|
+
c.length > 0 && (a.push(Zt(c, m)), g.push(...c)), C.length > 0 && (a.push(en(C, h)), y.push(...C));
|
|
1014
1007
|
}
|
|
1015
1008
|
try {
|
|
1016
|
-
if (await Promise.all(a), s && (y.length > 0 ||
|
|
1009
|
+
if (await Promise.all(a), s && (y.length > 0 || g.length > 0)) {
|
|
1017
1010
|
const T = y.map((r) => ({
|
|
1018
1011
|
id: r.linkId,
|
|
1019
1012
|
projectName: r.projectName,
|
|
@@ -1021,7 +1014,7 @@ const oa = ({
|
|
|
1021
1014
|
direction: r.direction,
|
|
1022
1015
|
target: { entityId: r.targetEntityId, entityType: r.targetEntityType },
|
|
1023
1016
|
source: { entityId: r.sourceEntityId, entityType: r.sourceEntityType }
|
|
1024
|
-
})), b =
|
|
1017
|
+
})), b = g.map((r) => ({
|
|
1025
1018
|
targetEntityId: r.target.entityId,
|
|
1026
1019
|
linkId: r.id,
|
|
1027
1020
|
sourceEntityId: r.source.entityId,
|
|
@@ -1032,11 +1025,11 @@ const oa = ({
|
|
|
1032
1025
|
projectName: r.projectName
|
|
1033
1026
|
})), P = () => {
|
|
1034
1027
|
const r = [];
|
|
1035
|
-
T.length && r.push(Zt(T,
|
|
1028
|
+
T.length && r.push(Zt(T, m)), b.length && r.push(en(b, h)), r.length && Promise.all(r).catch(() => {
|
|
1036
1029
|
});
|
|
1037
1030
|
}, I = () => {
|
|
1038
1031
|
const r = [];
|
|
1039
|
-
|
|
1032
|
+
g.length && r.push(Zt(g, m)), y.length && r.push(en(y, h)), r.length && Promise.all(r).catch(() => {
|
|
1040
1033
|
});
|
|
1041
1034
|
};
|
|
1042
1035
|
s.pushHistory([P], [I]);
|
|
@@ -1045,7 +1038,7 @@ const oa = ({
|
|
|
1045
1038
|
throw T;
|
|
1046
1039
|
}
|
|
1047
1040
|
},
|
|
1048
|
-
[o, n,
|
|
1041
|
+
[o, n, m, h, s]
|
|
1049
1042
|
) };
|
|
1050
1043
|
}, Ir = /* @__PURE__ */ new Set([
|
|
1051
1044
|
"version",
|
|
@@ -1063,7 +1056,7 @@ const oa = ({
|
|
|
1063
1056
|
columnReadOnly: o,
|
|
1064
1057
|
visibleColumns: s
|
|
1065
1058
|
}) => {
|
|
1066
|
-
const { selectedCells:
|
|
1059
|
+
const { selectedCells: m, gridMap: h, focusedCellId: w } = Ye(), { updateEntities: i, history: d } = ut(), { pasteTableLinks: a } = hr(), { getEntityById: y, attribFields: g, tableData: T } = Ke(), b = j(() => {
|
|
1067
1060
|
const c = /* @__PURE__ */ new Map(), u = (E) => {
|
|
1068
1061
|
for (const k of E)
|
|
1069
1062
|
c.set(k.id, k), k.subRows?.length && u(k.subRows);
|
|
@@ -1077,8 +1070,8 @@ const oa = ({
|
|
|
1077
1070
|
c.forEach((_) => {
|
|
1078
1071
|
const A = he(_);
|
|
1079
1072
|
if (!A) return;
|
|
1080
|
-
const { rowId:
|
|
1081
|
-
J === ge || !R.includes(J) || (S.has(
|
|
1073
|
+
const { rowId: V, colId: J } = A;
|
|
1074
|
+
J === ge || !R.includes(J) || (S.has(V) || S.set(V, /* @__PURE__ */ new Set()), S.get(V)?.add(J));
|
|
1082
1075
|
}), k && c.filter(
|
|
1083
1076
|
(A) => he(A)?.rowId && he(A)?.colId === ge
|
|
1084
1077
|
).map((A) => he(A)?.rowId).forEach((A) => {
|
|
@@ -1087,21 +1080,21 @@ const oa = ({
|
|
|
1087
1080
|
});
|
|
1088
1081
|
});
|
|
1089
1082
|
const f = Array.from(S.keys()).sort((_, A) => {
|
|
1090
|
-
const
|
|
1091
|
-
return
|
|
1083
|
+
const V = h.rowIdToIndex.get(_) ?? 1 / 0, J = h.rowIdToIndex.get(A) ?? 1 / 0;
|
|
1084
|
+
return V - J;
|
|
1092
1085
|
});
|
|
1093
1086
|
let L = "";
|
|
1094
1087
|
const F = f[0];
|
|
1095
1088
|
if (!F) return "";
|
|
1096
1089
|
const O = Array.from(S.get(F) || []).sort((_, A) => {
|
|
1097
|
-
const
|
|
1098
|
-
return
|
|
1090
|
+
const V = h.colIdToIndex.get(_) ?? 1 / 0, J = h.colIdToIndex.get(A) ?? 1 / 0;
|
|
1091
|
+
return V - J;
|
|
1099
1092
|
});
|
|
1100
1093
|
if (E && O.length > 0) {
|
|
1101
1094
|
const _ = [];
|
|
1102
1095
|
for (const A of O) {
|
|
1103
|
-
const
|
|
1104
|
-
_.push(`${
|
|
1096
|
+
const V = A;
|
|
1097
|
+
_.push(`${V.replace(/"/g, '""')}`);
|
|
1105
1098
|
}
|
|
1106
1099
|
L += _.join(" ") + `
|
|
1107
1100
|
`;
|
|
@@ -1112,14 +1105,14 @@ const oa = ({
|
|
|
1112
1105
|
console.warn(`Entity not found for rowId: ${_}`);
|
|
1113
1106
|
continue;
|
|
1114
1107
|
}
|
|
1115
|
-
const
|
|
1108
|
+
const V = b.get(_), ee = Array.from(S.get(_) || []).sort((oe, me) => {
|
|
1116
1109
|
const Ee = h.colIdToIndex.get(oe) ?? 1 / 0, Se = h.colIdToIndex.get(me) ?? 1 / 0;
|
|
1117
1110
|
return Ee - Se;
|
|
1118
1111
|
}).filter((oe) => oe !== ge), le = [];
|
|
1119
1112
|
for (const oe of ee) {
|
|
1120
1113
|
let me = "";
|
|
1121
1114
|
if (oe.startsWith("link_"))
|
|
1122
|
-
me =
|
|
1115
|
+
me = Ds(A.links, oe);
|
|
1123
1116
|
else if (oe === "subtasks") {
|
|
1124
1117
|
const Ie = $t(A, oe) || [];
|
|
1125
1118
|
me = lr(Ie, A.id, A.name);
|
|
@@ -1128,21 +1121,26 @@ const oa = ({
|
|
|
1128
1121
|
me = gr(Ie);
|
|
1129
1122
|
} else {
|
|
1130
1123
|
const Ie = br[oe] || oe;
|
|
1131
|
-
let U = oe === "task_entity" ?
|
|
1132
|
-
if (oe === "folder_entity"
|
|
1133
|
-
const M =
|
|
1134
|
-
|
|
1124
|
+
let U = oe === "task_entity" ? V?.parents?.task?.label || V?.parents?.task?.name || A.task?.label || A.task?.name : $t(A, Ie);
|
|
1125
|
+
if (oe === "folder_entity") {
|
|
1126
|
+
const M = V && Ls(V);
|
|
1127
|
+
if (M)
|
|
1128
|
+
U = M;
|
|
1129
|
+
else if (typeof U != "string") {
|
|
1130
|
+
const D = U || A.product?.folder, Y = "parents" in A ? A.parents : void 0;
|
|
1131
|
+
U = D?.label || D?.name || Y?.[Y.length - 1] || "";
|
|
1132
|
+
}
|
|
1135
1133
|
}
|
|
1136
|
-
if (
|
|
1137
|
-
const M = $t(
|
|
1134
|
+
if (V && (Ir.has(oe) || U === void 0 || U === null || U === "" || typeof U == "object")) {
|
|
1135
|
+
const M = $t(V, Ie);
|
|
1138
1136
|
M != null && M !== "" && (U = M);
|
|
1139
1137
|
}
|
|
1140
1138
|
if (!U) {
|
|
1141
|
-
const M =
|
|
1139
|
+
const M = g.find((D) => D.name === oe.replace("attrib_", ""));
|
|
1142
1140
|
M && M.data.type === "boolean" ? U = !1 : M && M.data.type?.includes("list_of") && (U = []);
|
|
1143
1141
|
}
|
|
1144
|
-
if (me = U != null ? String(U) : "", oe === "name" && (me = (
|
|
1145
|
-
const M =
|
|
1142
|
+
if (me = U != null ? String(U) : "", oe === "name" && (me = (V?.primary.entityType === "version" ? V.primary.label || V.primary.name : void 0) || e.get(A.entityId || A.id)?.name || V?.label || V?.primary?.name || A.label || A.name || ""), oe === "subType") {
|
|
1143
|
+
const M = V?.subType ?? A.subType;
|
|
1146
1144
|
typeof M == "string" && M ? me = M : ("folderType" in A && (me = A.folderType || ""), "taskType" in A && (me = A.taskType || ""));
|
|
1147
1145
|
}
|
|
1148
1146
|
}
|
|
@@ -1159,7 +1157,7 @@ const oa = ({
|
|
|
1159
1157
|
}
|
|
1160
1158
|
},
|
|
1161
1159
|
[
|
|
1162
|
-
|
|
1160
|
+
m,
|
|
1163
1161
|
w,
|
|
1164
1162
|
h,
|
|
1165
1163
|
e,
|
|
@@ -1174,7 +1172,7 @@ const oa = ({
|
|
|
1174
1172
|
return u.length === 0 ? !1 : u.every((E) => E.values.every((k) => k.split(",").every((R) => Yn(R))));
|
|
1175
1173
|
}, p = q(
|
|
1176
1174
|
async (c, u) => {
|
|
1177
|
-
if (c = c || Array.from(
|
|
1175
|
+
if (c = c || Array.from(m), !c.length) return;
|
|
1178
1176
|
const E = await r(c, { fullRow: u });
|
|
1179
1177
|
if (E) {
|
|
1180
1178
|
if (!navigator.clipboard) {
|
|
@@ -1192,10 +1190,10 @@ const oa = ({
|
|
|
1192
1190
|
}
|
|
1193
1191
|
}
|
|
1194
1192
|
},
|
|
1195
|
-
[
|
|
1193
|
+
[m, e, h]
|
|
1196
1194
|
), v = q(
|
|
1197
1195
|
async (c, u, E) => {
|
|
1198
|
-
if (c = c || Array.from(
|
|
1196
|
+
if (c = c || Array.from(m), !!c.length)
|
|
1199
1197
|
try {
|
|
1200
1198
|
const k = await r(c, { headers: !0, fullRow: E });
|
|
1201
1199
|
if (!k) return;
|
|
@@ -1207,7 +1205,7 @@ const oa = ({
|
|
|
1207
1205
|
console.error("Failed to copy to clipboard:", k);
|
|
1208
1206
|
}
|
|
1209
1207
|
},
|
|
1210
|
-
[
|
|
1208
|
+
[m, e, h, r]
|
|
1211
1209
|
), x = async () => {
|
|
1212
1210
|
if (!navigator.clipboard) {
|
|
1213
1211
|
$e("Clipboard API not supported in this browser.");
|
|
@@ -1236,13 +1234,13 @@ const oa = ({
|
|
|
1236
1234
|
if (!f.length) return;
|
|
1237
1235
|
const L = f.length === 1 && f[0].values.length === 1, F = s.map((U) => U.id).filter((U) => U !== ge), O = (U, M, D) => {
|
|
1238
1236
|
const Y = {};
|
|
1239
|
-
return D && D.length > 0 ? D.forEach((
|
|
1237
|
+
return D && D.length > 0 ? D.forEach((z, G) => {
|
|
1240
1238
|
const K = M.find(
|
|
1241
|
-
(Z) => Z ===
|
|
1239
|
+
(Z) => Z === z || Z.replace("attrib_", "") === z || Z === `attrib_${z}` || Z.toLowerCase() === z.toLowerCase()
|
|
1242
1240
|
);
|
|
1243
1241
|
K && G < U.values.length && (Y[K] = U.values[G]);
|
|
1244
|
-
}) : M.forEach((
|
|
1245
|
-
G < U.values.length && (Y[
|
|
1242
|
+
}) : M.forEach((z, G) => {
|
|
1243
|
+
G < U.values.length && (Y[z] = U.values[G]);
|
|
1246
1244
|
}), Y;
|
|
1247
1245
|
}, _ = f[0]?.colIds || void 0, A = /* @__PURE__ */ new Map();
|
|
1248
1246
|
Array.from(c).forEach((U) => {
|
|
@@ -1251,17 +1249,17 @@ const oa = ({
|
|
|
1251
1249
|
const { rowId: D, colId: Y } = M;
|
|
1252
1250
|
Y === ge || !F.includes(Y) || (A.has(D) || A.set(D, /* @__PURE__ */ new Set()), A.get(D)?.add(Y));
|
|
1253
1251
|
});
|
|
1254
|
-
const
|
|
1252
|
+
const V = Array.from(A.keys()).sort((U, M) => {
|
|
1255
1253
|
const D = h.rowIdToIndex.get(U) ?? 1 / 0, Y = h.rowIdToIndex.get(M) ?? 1 / 0;
|
|
1256
1254
|
return D - Y;
|
|
1257
|
-
}), J =
|
|
1255
|
+
}), J = V[0], ee = Array.from(A.get(J) || []).sort((U, M) => {
|
|
1258
1256
|
const D = h.colIdToIndex.get(U) ?? 1 / 0, Y = h.colIdToIndex.get(M) ?? 1 / 0;
|
|
1259
1257
|
return D - Y;
|
|
1260
1258
|
});
|
|
1261
|
-
for (let U = 0; U <
|
|
1262
|
-
const M =
|
|
1259
|
+
for (let U = 0; U < V.length; U++) {
|
|
1260
|
+
const M = V[U], D = dt(M, e)?.entityType, Y = D === "folder", z = D === "product" || D === "version", G = U % f.length, K = f[G], Z = L ? { [ee[0]]: f[0].values[0] } : O(K, ee, _);
|
|
1263
1261
|
for (const te of ee) {
|
|
1264
|
-
if (te === "subType" &&
|
|
1262
|
+
if (te === "subType" && z) continue;
|
|
1265
1263
|
const ue = Z[te] || "";
|
|
1266
1264
|
if (!ar({
|
|
1267
1265
|
colId: te,
|
|
@@ -1273,7 +1271,7 @@ const oa = ({
|
|
|
1273
1271
|
rowIndex: U,
|
|
1274
1272
|
colIndex: ee.indexOf(te),
|
|
1275
1273
|
isSingleCellValue: L,
|
|
1276
|
-
attribFields:
|
|
1274
|
+
attribFields: g
|
|
1277
1275
|
})) return;
|
|
1278
1276
|
}
|
|
1279
1277
|
}
|
|
@@ -1300,8 +1298,8 @@ const oa = ({
|
|
|
1300
1298
|
});
|
|
1301
1299
|
}), K = G.length <= 1;
|
|
1302
1300
|
}
|
|
1303
|
-
for (let Z = 0; Z <
|
|
1304
|
-
const te =
|
|
1301
|
+
for (let Z = 0; Z < V.length; Z++) {
|
|
1302
|
+
const te = V[Z], ue = dt(te, e)?.entityType;
|
|
1305
1303
|
if (ue !== "task") continue;
|
|
1306
1304
|
const xe = y(te), pe = xe?.entityId || te, ve = `${te}-${ue}`;
|
|
1307
1305
|
le.has(ve) || le.set(ve, {
|
|
@@ -1367,38 +1365,38 @@ const oa = ({
|
|
|
1367
1365
|
}
|
|
1368
1366
|
continue;
|
|
1369
1367
|
}
|
|
1370
|
-
let D = !1, Y = !1,
|
|
1371
|
-
if (
|
|
1372
|
-
const G =
|
|
1368
|
+
let D = !1, Y = !1, z = "string";
|
|
1369
|
+
if (V.length > 0) {
|
|
1370
|
+
const G = V[0];
|
|
1373
1371
|
if (y(G))
|
|
1374
1372
|
if (D = M.startsWith("attrib_"), Y = M.startsWith("link_"), M === "status" || M === "subType")
|
|
1375
|
-
|
|
1373
|
+
z = "string", D = !1;
|
|
1376
1374
|
else if (M === "tags" || M === "assignees")
|
|
1377
|
-
|
|
1375
|
+
z = "array";
|
|
1378
1376
|
else if (D) {
|
|
1379
|
-
const Z = M.replace("attrib_", ""), te =
|
|
1377
|
+
const Z = M.replace("attrib_", ""), te = g.find((ue) => ue.name === Z);
|
|
1380
1378
|
if (te)
|
|
1381
1379
|
switch (te.data.type) {
|
|
1382
1380
|
case "boolean":
|
|
1383
|
-
|
|
1381
|
+
z = "boolean";
|
|
1384
1382
|
break;
|
|
1385
1383
|
case "float":
|
|
1386
1384
|
case "integer":
|
|
1387
|
-
|
|
1385
|
+
z = "number";
|
|
1388
1386
|
break;
|
|
1389
1387
|
case "list_of_strings":
|
|
1390
1388
|
case "list_of_any":
|
|
1391
1389
|
case "list_of_integers":
|
|
1392
1390
|
case "list_of_submodels":
|
|
1393
|
-
|
|
1391
|
+
z = "array";
|
|
1394
1392
|
break;
|
|
1395
1393
|
default:
|
|
1396
|
-
|
|
1394
|
+
z = "string";
|
|
1397
1395
|
}
|
|
1398
|
-
} else Y && (
|
|
1396
|
+
} else Y && (z = "array");
|
|
1399
1397
|
}
|
|
1400
|
-
for (let G = 0; G <
|
|
1401
|
-
const K =
|
|
1398
|
+
for (let G = 0; G < V.length; G++) {
|
|
1399
|
+
const K = V[G], Z = dt(K, e)?.entityType, te = Z === "folder";
|
|
1402
1400
|
let ue;
|
|
1403
1401
|
if (L)
|
|
1404
1402
|
ue = f[0].values[0];
|
|
@@ -1423,7 +1421,7 @@ const oa = ({
|
|
|
1423
1421
|
let xe = M.split("_").pop() || M;
|
|
1424
1422
|
if (M === "subType" && (Z === "product" || Z === "version" || (xe = te ? "folderType" : "taskType", D = !1, !ue)))
|
|
1425
1423
|
continue;
|
|
1426
|
-
const pe = rr(ue,
|
|
1424
|
+
const pe = rr(ue, z), ke = y(K)?.entityId || K, we = `${K}-${Z}`;
|
|
1427
1425
|
!le.has(we) && Z && le.set(we, {
|
|
1428
1426
|
rowId: K,
|
|
1429
1427
|
id: ke,
|
|
@@ -1459,15 +1457,15 @@ const oa = ({
|
|
|
1459
1457
|
isAttrib: !0
|
|
1460
1458
|
});
|
|
1461
1459
|
}), Object.entries(U.links).forEach(([M, D]) => {
|
|
1462
|
-
const [Y,
|
|
1460
|
+
const [Y, z] = M.split("_"), G = Y.split("|");
|
|
1463
1461
|
if (G.length >= 3) {
|
|
1464
|
-
const K = G[0], Z = G[1], te = G[2], ue = `${K}|${Z}|${te}`, xe =
|
|
1462
|
+
const K = G[0], Z = G[1], te = G[2], ue = `${K}|${Z}|${te}`, xe = z === "out" ? te : Z, pe = `${U.id}-${ue}-${z}`;
|
|
1465
1463
|
me.set(pe, {
|
|
1466
1464
|
rowId: U.rowId,
|
|
1467
1465
|
sourceEntityId: U.id,
|
|
1468
1466
|
sourceEntityType: U.type,
|
|
1469
1467
|
linkType: ue,
|
|
1470
|
-
direction:
|
|
1468
|
+
direction: z,
|
|
1471
1469
|
targetEntityType: xe,
|
|
1472
1470
|
operation: E,
|
|
1473
1471
|
targetEntityIds: Array.isArray(D) ? D : []
|
|
@@ -1486,8 +1484,8 @@ const oa = ({
|
|
|
1486
1484
|
const Ie = [];
|
|
1487
1485
|
if (oe.length > 0 && Ie.push(i(oe)), Ee.length > 0 && Ie.push(a(Ee)), Se.length > 0) {
|
|
1488
1486
|
d && Se.forEach(({ taskId: M, subtasks: D, previousSubtasks: Y }) => {
|
|
1489
|
-
const
|
|
1490
|
-
I({ projectName: P, taskId: M, subtasks:
|
|
1487
|
+
const z = Y || [], G = D || [], K = () => {
|
|
1488
|
+
I({ projectName: P, taskId: M, subtasks: z }).unwrap().catch(() => {
|
|
1491
1489
|
});
|
|
1492
1490
|
}, Z = () => {
|
|
1493
1491
|
I({ projectName: P, taskId: M, subtasks: G }).unwrap().catch(() => {
|
|
@@ -1508,7 +1506,7 @@ const oa = ({
|
|
|
1508
1506
|
}
|
|
1509
1507
|
},
|
|
1510
1508
|
[
|
|
1511
|
-
|
|
1509
|
+
m,
|
|
1512
1510
|
h,
|
|
1513
1511
|
e,
|
|
1514
1512
|
i,
|
|
@@ -1516,7 +1514,7 @@ const oa = ({
|
|
|
1516
1514
|
n,
|
|
1517
1515
|
y,
|
|
1518
1516
|
s,
|
|
1519
|
-
|
|
1517
|
+
g,
|
|
1520
1518
|
P,
|
|
1521
1519
|
I,
|
|
1522
1520
|
d
|
|
@@ -1528,7 +1526,7 @@ const oa = ({
|
|
|
1528
1526
|
const E = document.activeElement, k = E?.closest("table") !== null || E?.closest(".table-container") !== null || E?.tagName === "TD" || E?.tagName === "TH", R = E?.tagName === "INPUT" || E?.tagName === "TEXTAREA" || E?.isContentEditable;
|
|
1529
1527
|
if ((window.getSelection()?.toString().length ?? !1) && !k || R && !k)
|
|
1530
1528
|
return;
|
|
1531
|
-
|
|
1529
|
+
m.size > 0 && await p();
|
|
1532
1530
|
}
|
|
1533
1531
|
if ((u.ctrlKey || u.metaKey) && u.key === "v") {
|
|
1534
1532
|
const E = document.activeElement;
|
|
@@ -1537,7 +1535,7 @@ const oa = ({
|
|
|
1537
1535
|
u.preventDefault();
|
|
1538
1536
|
else
|
|
1539
1537
|
return;
|
|
1540
|
-
$(Array.from(
|
|
1538
|
+
$(Array.from(m), {
|
|
1541
1539
|
method: u.shiftKey ? "merge" : "replace"
|
|
1542
1540
|
// Use shift key to determine paste method
|
|
1543
1541
|
});
|
|
@@ -1563,10 +1561,10 @@ const oa = ({
|
|
|
1563
1561
|
defaultColumnVisibility: o,
|
|
1564
1562
|
columnIdAliases: s
|
|
1565
1563
|
}) => {
|
|
1566
|
-
const
|
|
1567
|
-
|
|
1568
|
-
}, l = () =>
|
|
1569
|
-
const B =
|
|
1564
|
+
const m = Xe.useRef([]), h = Xe.useRef(null), w = Xe.useRef(null), i = Xe.useRef(null), d = Xe.useRef(void 0), a = Xe.useRef(null), [y, g] = Ve(null), [T, b] = Ve(null), [P, I] = Ve(null), r = (N) => {
|
|
1565
|
+
m.current = Array.from(new Set(N));
|
|
1566
|
+
}, l = () => m.current, p = (N) => {
|
|
1567
|
+
const B = m.current, ce = /* @__PURE__ */ new Set([Be, ge]);
|
|
1570
1568
|
if (B.length > 0) {
|
|
1571
1569
|
const ne = { ...N.columnVisibility };
|
|
1572
1570
|
B.forEach((Fe) => {
|
|
@@ -1593,7 +1591,7 @@ const oa = ({
|
|
|
1593
1591
|
columnSummaryFormats: L = {}
|
|
1594
1592
|
} = v || {};
|
|
1595
1593
|
d.current !== R && d.current !== void 0 && (T !== null && b(null), w.current && (clearTimeout(w.current), w.current = null)), d.current = R;
|
|
1596
|
-
const F = T ?? R, O = [...u], A = [...P ?? [...x]],
|
|
1594
|
+
const F = T ?? R, O = [...u], A = [...P ?? [...x]], V = { ...$ }, J = ["thumbnail", "name", "subType", "status", "tags"];
|
|
1597
1595
|
J.forEach((N, B) => {
|
|
1598
1596
|
if (!A.includes(N)) {
|
|
1599
1597
|
const ce = J[B - 1], ne = J[B + 1];
|
|
@@ -1603,16 +1601,16 @@ const oa = ({
|
|
|
1603
1601
|
const ie = A.indexOf(ce);
|
|
1604
1602
|
A.splice(ie + 1, 0, N);
|
|
1605
1603
|
}
|
|
1606
|
-
ne &&
|
|
1604
|
+
ne && V?.left && V?.left.includes(ne) && (V.left = [N, ...V?.left || []]);
|
|
1607
1605
|
}
|
|
1608
1606
|
});
|
|
1609
1607
|
const ee = [...A];
|
|
1610
1608
|
if (E && E.id !== "folder") {
|
|
1611
|
-
if (!
|
|
1612
|
-
|
|
1609
|
+
if (!V.left?.includes("name"))
|
|
1610
|
+
V.left = ["name", ...V?.left || []];
|
|
1613
1611
|
else {
|
|
1614
|
-
const N =
|
|
1615
|
-
|
|
1612
|
+
const N = V.left.filter((B) => B !== "name");
|
|
1613
|
+
V.left = ["name", ...N];
|
|
1616
1614
|
}
|
|
1617
1615
|
if (A.includes("name")) {
|
|
1618
1616
|
const N = A.indexOf("name");
|
|
@@ -1639,14 +1637,14 @@ const oa = ({
|
|
|
1639
1637
|
columnPinning: N
|
|
1640
1638
|
});
|
|
1641
1639
|
}, Se = y || c, Ie = (N) => {
|
|
1642
|
-
|
|
1640
|
+
g(N), h.current && clearTimeout(h.current), h.current = setTimeout(() => {
|
|
1643
1641
|
p({
|
|
1644
1642
|
...v,
|
|
1645
1643
|
columnSizing: N
|
|
1646
|
-
}),
|
|
1644
|
+
}), g(null);
|
|
1647
1645
|
}, 500);
|
|
1648
1646
|
}, U = (N) => {
|
|
1649
|
-
const B = { ...
|
|
1647
|
+
const B = { ...V }, ne = (B.left || []).filter(
|
|
1650
1648
|
(ie) => St(N, ie, o)
|
|
1651
1649
|
);
|
|
1652
1650
|
return {
|
|
@@ -1654,7 +1652,7 @@ const oa = ({
|
|
|
1654
1652
|
left: ne
|
|
1655
1653
|
};
|
|
1656
1654
|
}, M = (N) => {
|
|
1657
|
-
const B = { ...
|
|
1655
|
+
const B = { ...V }, ce = B.left || [], ne = N.filter((ie) => ce.includes(ie));
|
|
1658
1656
|
return {
|
|
1659
1657
|
...B,
|
|
1660
1658
|
left: ne
|
|
@@ -1669,7 +1667,7 @@ const oa = ({
|
|
|
1669
1667
|
columnVisibility: N,
|
|
1670
1668
|
columnPinning: B
|
|
1671
1669
|
});
|
|
1672
|
-
},
|
|
1670
|
+
}, z = (N) => {
|
|
1673
1671
|
const B = N.filter(
|
|
1674
1672
|
(ne) => ne !== Be && ne !== ge
|
|
1675
1673
|
), ce = M(B);
|
|
@@ -1727,7 +1725,7 @@ const oa = ({
|
|
|
1727
1725
|
a.current = ce / ne;
|
|
1728
1726
|
}
|
|
1729
1727
|
const B = a.current * N;
|
|
1730
|
-
b(N),
|
|
1728
|
+
b(N), g({
|
|
1731
1729
|
...y || c,
|
|
1732
1730
|
thumbnail: B
|
|
1733
1731
|
});
|
|
@@ -1736,7 +1734,7 @@ const oa = ({
|
|
|
1736
1734
|
), ke = Xe.useCallback(
|
|
1737
1735
|
(N) => {
|
|
1738
1736
|
const ie = (c.thumbnail || 63) / (R || 34) * N;
|
|
1739
|
-
b(N),
|
|
1737
|
+
b(N), g({
|
|
1740
1738
|
...y || c,
|
|
1741
1739
|
thumbnail: ie
|
|
1742
1740
|
}), w.current && clearTimeout(w.current), w.current = setTimeout(() => {
|
|
@@ -1747,7 +1745,7 @@ const oa = ({
|
|
|
1747
1745
|
...c,
|
|
1748
1746
|
thumbnail: ie
|
|
1749
1747
|
}
|
|
1750
|
-
}), b(null),
|
|
1748
|
+
}), b(null), g(null), a.current = null;
|
|
1751
1749
|
}, 300);
|
|
1752
1750
|
},
|
|
1753
1751
|
[
|
|
@@ -1764,8 +1762,8 @@ const oa = ({
|
|
|
1764
1762
|
B[ne] !== ie && (ce[ne] = B[ne]);
|
|
1765
1763
|
}), !wt(ce, le) && oe(ce);
|
|
1766
1764
|
}, Te = (N) => {
|
|
1767
|
-
const B = Ct(N,
|
|
1768
|
-
wt(B,
|
|
1765
|
+
const B = Ct(N, V);
|
|
1766
|
+
wt(B, V) || Ee(B);
|
|
1769
1767
|
}, Re = (N) => {
|
|
1770
1768
|
const B = Ct(N, A);
|
|
1771
1769
|
wt(B, A) || me(B);
|
|
@@ -1790,14 +1788,14 @@ const oa = ({
|
|
|
1790
1788
|
updateColumnVisibility: Y,
|
|
1791
1789
|
columnVisibilityOnChange: we,
|
|
1792
1790
|
// column pinning
|
|
1793
|
-
columnPinning:
|
|
1791
|
+
columnPinning: V,
|
|
1794
1792
|
setColumnPinning: Ee,
|
|
1795
1793
|
updateColumnPinning: G,
|
|
1796
1794
|
columnPinningOnChange: Te,
|
|
1797
1795
|
// column order
|
|
1798
1796
|
columnOrder: A,
|
|
1799
1797
|
setColumnOrder: me,
|
|
1800
|
-
updateColumnOrder:
|
|
1798
|
+
updateColumnOrder: z,
|
|
1801
1799
|
columnOrderOnChange: Re,
|
|
1802
1800
|
// column sizing
|
|
1803
1801
|
columnSizing: Se,
|
|
@@ -1832,8 +1830,8 @@ const oa = ({
|
|
|
1832
1830
|
}
|
|
1833
1831
|
);
|
|
1834
1832
|
}, ia = ({ children: t }) => {
|
|
1835
|
-
const [e, n] = Ve(null), o = q((
|
|
1836
|
-
n(
|
|
1833
|
+
const [e, n] = Ve(null), o = q((m) => {
|
|
1834
|
+
n(m);
|
|
1837
1835
|
}, []), s = q(() => {
|
|
1838
1836
|
n(null);
|
|
1839
1837
|
}, []);
|
|
@@ -1852,24 +1850,24 @@ const oa = ({
|
|
|
1852
1850
|
const {
|
|
1853
1851
|
attributes: e,
|
|
1854
1852
|
isLoading: { siteInfo: n }
|
|
1855
|
-
} = bo(), { attrib_read: o, attrib_write: s } = t || {}, { enabled:
|
|
1853
|
+
} = bo(), { attrib_read: o, attrib_write: s } = t || {}, { enabled: m, attributes: h } = o || {}, {
|
|
1856
1854
|
enabled: w,
|
|
1857
1855
|
attributes: i,
|
|
1858
1856
|
fields: d
|
|
1859
1857
|
} = s || {}, a = w ? d ?? [] : void 0;
|
|
1860
|
-
return { attribFields: e.filter((
|
|
1861
|
-
...
|
|
1862
|
-
readOnly: w ? !i?.includes(
|
|
1858
|
+
return { attribFields: e.filter((g) => !m || h?.includes(g.name)).map((g) => ({
|
|
1859
|
+
...g,
|
|
1860
|
+
readOnly: w ? !i?.includes(g.name) : !1
|
|
1863
1861
|
})), writableFields: a, isLoading: n };
|
|
1864
1862
|
}, aa = ({ children: t, projectName: e }) => {
|
|
1865
1863
|
const { isLoading: n, isSuccess: o } = Qe(), { data: s } = fo(
|
|
1866
1864
|
{ projectName: e },
|
|
1867
1865
|
{ skip: !e }
|
|
1868
|
-
), { attrib_write:
|
|
1866
|
+
), { attrib_write: m } = s || {}, {
|
|
1869
1867
|
attribFields: h,
|
|
1870
1868
|
writableFields: w,
|
|
1871
1869
|
isLoading: i
|
|
1872
|
-
} = Cr({ projectPermissions: s }), { data: d = [] } = po({ projectName: e }, { skip: !e }), a = d, y = j(() =>
|
|
1870
|
+
} = Cr({ projectPermissions: s }), { data: d = [] } = po({ projectName: e }, { skip: !e }), a = d, y = j(() => m ? m.enabled ? !!m.fields?.includes("name") : !0 : !1, [m]), g = j(() => m ? m.enabled ? !!m.fields?.includes("label") : !0 : !1, [m]), T = o && !n && !i, b = j(
|
|
1873
1871
|
() => ({
|
|
1874
1872
|
isInitialized: T,
|
|
1875
1873
|
isLoading: n || i,
|
|
@@ -1877,7 +1875,7 @@ const oa = ({
|
|
|
1877
1875
|
attribFields: h,
|
|
1878
1876
|
writableFields: w,
|
|
1879
1877
|
canWriteNamePermission: y,
|
|
1880
|
-
canWriteLabelPermission:
|
|
1878
|
+
canWriteLabelPermission: g
|
|
1881
1879
|
}),
|
|
1882
1880
|
[
|
|
1883
1881
|
T,
|
|
@@ -1887,7 +1885,7 @@ const oa = ({
|
|
|
1887
1885
|
h,
|
|
1888
1886
|
w,
|
|
1889
1887
|
y,
|
|
1890
|
-
|
|
1888
|
+
g
|
|
1891
1889
|
]
|
|
1892
1890
|
);
|
|
1893
1891
|
return /* @__PURE__ */ W(Ms.Provider, { value: b, children: t });
|
|
@@ -1905,7 +1903,7 @@ const oa = ({
|
|
|
1905
1903
|
children: t
|
|
1906
1904
|
}
|
|
1907
1905
|
), ca = ({ children: t }) => {
|
|
1908
|
-
const { selectedCells: e, gridMap: n, setSelectedCells: o, setFocusedCellId: s, setAnchorCell:
|
|
1906
|
+
const { selectedCells: e, gridMap: n, setSelectedCells: o, setFocusedCellId: s, setAnchorCell: m } = Ye();
|
|
1909
1907
|
let h;
|
|
1910
1908
|
try {
|
|
1911
1909
|
h = Wn().clearSelectedEntity;
|
|
@@ -1933,7 +1931,7 @@ const oa = ({
|
|
|
1933
1931
|
r.add(_e(l, ge));
|
|
1934
1932
|
}), o(r), I.length > 0) {
|
|
1935
1933
|
const l = _e(I[0], ge);
|
|
1936
|
-
s(l),
|
|
1934
|
+
s(l), m(he(l));
|
|
1937
1935
|
}
|
|
1938
1936
|
}, [n]), y = q(() => {
|
|
1939
1937
|
o((I) => {
|
|
@@ -1942,7 +1940,7 @@ const oa = ({
|
|
|
1942
1940
|
he(l)?.colId === ge && r.delete(l);
|
|
1943
1941
|
}), r;
|
|
1944
1942
|
});
|
|
1945
|
-
}, [o]),
|
|
1943
|
+
}, [o]), g = q(
|
|
1946
1944
|
(I) => d.includes(I),
|
|
1947
1945
|
[d]
|
|
1948
1946
|
), T = q(() => {
|
|
@@ -1952,7 +1950,7 @@ const oa = ({
|
|
|
1952
1950
|
selectedRows: d,
|
|
1953
1951
|
selectAllRows: a,
|
|
1954
1952
|
clearRowsSelection: y,
|
|
1955
|
-
isRowSelected:
|
|
1953
|
+
isRowSelected: g,
|
|
1956
1954
|
areAllRowsSelected: T,
|
|
1957
1955
|
areSomeRowsSelected: b
|
|
1958
1956
|
}), [d, a, T, b, y]);
|
|
@@ -1973,11 +1971,11 @@ const oa = ({
|
|
|
1973
1971
|
}, Tr = (t) => {
|
|
1974
1972
|
const { pushHistory: e, removeHistoryEntries: n } = t || {}, { projectName: o } = Qe(), {
|
|
1975
1973
|
getEntityById: s,
|
|
1976
|
-
getInheritedDependents:
|
|
1974
|
+
getInheritedDependents: m,
|
|
1977
1975
|
findInheritedValueFromAncestors: h,
|
|
1978
1976
|
findNonInheritedValues: w
|
|
1979
1977
|
} = Ke(), { updateEntities: i } = zs(), d = q(
|
|
1980
|
-
async (y = [],
|
|
1978
|
+
async (y = [], g = !0) => {
|
|
1981
1979
|
if (!y.length || !o)
|
|
1982
1980
|
return;
|
|
1983
1981
|
let T = y.filter((x) => !x.isLink);
|
|
@@ -1986,7 +1984,7 @@ const oa = ({
|
|
|
1986
1984
|
`Cannot change folder type for ${P} folder${P > 1 ? "s" : ""} with published versions`
|
|
1987
1985
|
), T = b, !T.length)
|
|
1988
1986
|
return;
|
|
1989
|
-
if (e &&
|
|
1987
|
+
if (e && g) {
|
|
1990
1988
|
const x = T.map(
|
|
1991
1989
|
({ rowId: C, id: c, type: u, field: E, isAttrib: k, meta: R, entityData: S }) => {
|
|
1992
1990
|
const f = s(c) || S;
|
|
@@ -2067,7 +2065,7 @@ const oa = ({
|
|
|
2067
2065
|
entityId: x.entityId,
|
|
2068
2066
|
entityType: x.entityType,
|
|
2069
2067
|
attrib: x.data && "attrib" in x.data ? x.data?.attrib : {}
|
|
2070
|
-
})), v =
|
|
2068
|
+
})), v = m(l).map((x) => ({
|
|
2071
2069
|
entityId: x.entityId,
|
|
2072
2070
|
entityType: x.entityType,
|
|
2073
2071
|
data: {
|
|
@@ -2093,7 +2091,7 @@ const oa = ({
|
|
|
2093
2091
|
r.length === 1 ? Ut(void 0, C.entityType, u) : "Failed to update entities"
|
|
2094
2092
|
);
|
|
2095
2093
|
}
|
|
2096
|
-
e &&
|
|
2094
|
+
e && g && n && n(1);
|
|
2097
2095
|
}
|
|
2098
2096
|
},
|
|
2099
2097
|
[
|
|
@@ -2101,15 +2099,15 @@ const oa = ({
|
|
|
2101
2099
|
i,
|
|
2102
2100
|
//
|
|
2103
2101
|
s,
|
|
2104
|
-
|
|
2102
|
+
m,
|
|
2105
2103
|
e,
|
|
2106
2104
|
n
|
|
2107
2105
|
]
|
|
2108
2106
|
), a = q(
|
|
2109
|
-
async (y,
|
|
2107
|
+
async (y, g = !0) => {
|
|
2110
2108
|
if (!y.length || !o)
|
|
2111
2109
|
return;
|
|
2112
|
-
if (
|
|
2110
|
+
if (g && e) {
|
|
2113
2111
|
const r = [];
|
|
2114
2112
|
for (const p of y) {
|
|
2115
2113
|
const v = s(p.entityId);
|
|
@@ -2197,7 +2195,7 @@ const oa = ({
|
|
|
2197
2195
|
}
|
|
2198
2196
|
};
|
|
2199
2197
|
I.push(x);
|
|
2200
|
-
const C =
|
|
2198
|
+
const C = m([
|
|
2201
2199
|
{ entityId: r.entityId, entityType: l, attrib: v }
|
|
2202
2200
|
]).map((c) => ({
|
|
2203
2201
|
entityId: c.entityId,
|
|
@@ -2248,13 +2246,13 @@ const oa = ({
|
|
|
2248
2246
|
b.length === 1 ? Ut(void 0, p.entityType, x) : "Failed to update entities"
|
|
2249
2247
|
);
|
|
2250
2248
|
}
|
|
2251
|
-
|
|
2249
|
+
g && e && n && n(1);
|
|
2252
2250
|
}
|
|
2253
2251
|
},
|
|
2254
2252
|
[
|
|
2255
2253
|
o,
|
|
2256
2254
|
i,
|
|
2257
|
-
|
|
2255
|
+
m,
|
|
2258
2256
|
h,
|
|
2259
2257
|
e,
|
|
2260
2258
|
n
|
|
@@ -2269,11 +2267,11 @@ const oa = ({
|
|
|
2269
2267
|
Le.error("No entities selected");
|
|
2270
2268
|
return;
|
|
2271
2269
|
}
|
|
2272
|
-
const
|
|
2270
|
+
const m = /* @__PURE__ */ new Set(), h = [];
|
|
2273
2271
|
for (const w of s) {
|
|
2274
2272
|
const i = n(w);
|
|
2275
|
-
if (!i ||
|
|
2276
|
-
|
|
2273
|
+
if (!i || m.has(i.id)) continue;
|
|
2274
|
+
m.add(i.id);
|
|
2277
2275
|
const d = i.entityType || ("folderId" in i ? "task" : "folder");
|
|
2278
2276
|
h.push({
|
|
2279
2277
|
id: i.id,
|
|
@@ -2302,21 +2300,21 @@ const oa = ({
|
|
|
2302
2300
|
contextMenuItems: o
|
|
2303
2301
|
}) => {
|
|
2304
2302
|
const { projectName: s } = Qe(), {
|
|
2305
|
-
showHierarchy:
|
|
2303
|
+
showHierarchy: m,
|
|
2306
2304
|
getEntityById: h,
|
|
2307
2305
|
toggleExpandAll: w,
|
|
2308
2306
|
toggleExpands: i,
|
|
2309
2307
|
expanded: d,
|
|
2310
2308
|
contextMenuItems: a = [],
|
|
2311
2309
|
powerpack: y,
|
|
2312
|
-
onOpenPlayer:
|
|
2310
|
+
onOpenPlayer: g
|
|
2313
2311
|
} = Ke(), T = j(
|
|
2314
2312
|
() => [...a, ...o || []],
|
|
2315
2313
|
[a, o]
|
|
2316
2314
|
), b = Ho(), P = Object.values(b || {}).some(Boolean), { canWriteLabelPermission: I, canWriteNamePermission: r } = un(), { copyToClipboard: l, exportCSV: p, pasteFromClipboard: v } = Bs(), { selectedCells: x, clearSelection: $, selectCell: C, focusCell: c } = Ye(), { inheritFromParent: u, history: E, setEditingCellId: k } = ut(), R = Sr({}), [S] = Wo([], y), f = (M) => M.reduce((D, Y) => {
|
|
2317
|
-
const { rowId:
|
|
2318
|
-
if (!
|
|
2319
|
-
const K = h(
|
|
2315
|
+
const { rowId: z, colId: G } = he(Y) || {};
|
|
2316
|
+
if (!z || !G || !G.startsWith("attrib_")) return D;
|
|
2317
|
+
const K = h(z);
|
|
2320
2318
|
if (!K) return D;
|
|
2321
2319
|
const Z = K.entityId || K.id, te = G.replace("attrib_", ""), xe = t.find((pe) => pe.name === te)?.data.inherit;
|
|
2322
2320
|
if (K.ownAttrib?.includes(te) && xe) {
|
|
@@ -2332,19 +2330,19 @@ const oa = ({
|
|
|
2332
2330
|
});
|
|
2333
2331
|
}
|
|
2334
2332
|
return D;
|
|
2335
|
-
}, []), L = (M, D, Y,
|
|
2333
|
+
}, []), L = (M, D, Y, z) => [
|
|
2336
2334
|
{
|
|
2337
2335
|
label: "Copy",
|
|
2338
2336
|
icon: "content_copy",
|
|
2339
2337
|
shortcut: Vt("c", [zt.Ctrl]),
|
|
2340
|
-
command: () => l(
|
|
2338
|
+
command: () => l(z.selectedCells),
|
|
2341
2339
|
hidden: D.isGroup || D.columnId === "thumbnail"
|
|
2342
2340
|
},
|
|
2343
2341
|
{
|
|
2344
|
-
label: `Copy row${
|
|
2342
|
+
label: `Copy row${z.selectedFullRows.length > 1 ? "s" : ""}`,
|
|
2345
2343
|
icon: "content_copy",
|
|
2346
|
-
command: () => l(
|
|
2347
|
-
hidden: D.columnId !== "name" || !
|
|
2344
|
+
command: () => l(z.selectedFullRows, !0),
|
|
2345
|
+
hidden: D.columnId !== "name" || !z.selectedFullRows.some(
|
|
2348
2346
|
(G) => he(G)?.rowId === he(D.cellId)?.rowId
|
|
2349
2347
|
)
|
|
2350
2348
|
},
|
|
@@ -2352,11 +2350,11 @@ const oa = ({
|
|
|
2352
2350
|
label: "Paste",
|
|
2353
2351
|
icon: "content_paste",
|
|
2354
2352
|
shortcut: Vt("v", [zt.Ctrl]),
|
|
2355
|
-
command: () => v(
|
|
2353
|
+
command: () => v(z.selectedCells),
|
|
2356
2354
|
hidden: D.columnId === "name" || D.columnId === "thumbnail" || D.isGroup,
|
|
2357
2355
|
disabled: D.attribField?.readOnly
|
|
2358
2356
|
}
|
|
2359
|
-
], F = (M, D, Y,
|
|
2357
|
+
], F = (M, D, Y, z) => ({
|
|
2360
2358
|
label: "Show details",
|
|
2361
2359
|
icon: "dock_to_left",
|
|
2362
2360
|
shortcut: "Double click",
|
|
@@ -2364,49 +2362,49 @@ const oa = ({
|
|
|
2364
2362
|
const G = _e(D.entityId, ge);
|
|
2365
2363
|
C(G, !1, !1);
|
|
2366
2364
|
},
|
|
2367
|
-
hidden: D.columnId !== "name" ||
|
|
2368
|
-
}), O = (M, D, Y,
|
|
2365
|
+
hidden: D.columnId !== "name" || z.selectedRows.length > 1 || D.isGroup || Wt(D.entityType)
|
|
2366
|
+
}), O = (M, D, Y, z) => ({
|
|
2369
2367
|
label: "Open in viewer",
|
|
2370
2368
|
icon: "play_circle",
|
|
2371
2369
|
shortcut: "Spacebar",
|
|
2372
2370
|
command: () => {
|
|
2373
|
-
if (
|
|
2371
|
+
if (g) {
|
|
2374
2372
|
const G = h(D.entityId);
|
|
2375
2373
|
if (G) {
|
|
2376
2374
|
const K = mn(G);
|
|
2377
|
-
|
|
2375
|
+
g(K, { quickView: !0 });
|
|
2378
2376
|
}
|
|
2379
2377
|
}
|
|
2380
2378
|
},
|
|
2381
2379
|
hidden: D.columnId !== "thumbnail" && D.columnId !== "name" || D.isGroup || D.entityType === "unknown"
|
|
2382
|
-
}), _ = (M, D, Y,
|
|
2380
|
+
}), _ = (M, D, Y, z) => [
|
|
2383
2381
|
{
|
|
2384
2382
|
label: "Expand children",
|
|
2385
2383
|
icon: "expand_all",
|
|
2386
2384
|
shortcut: Vt("click", [zt.Alt]),
|
|
2387
|
-
command: () => w(
|
|
2385
|
+
command: () => w(z.selectedRows, !0),
|
|
2388
2386
|
hidden: D.columnId !== "name" || D.entityType !== "folder"
|
|
2389
2387
|
},
|
|
2390
2388
|
{
|
|
2391
2389
|
label: "Collapse children",
|
|
2392
2390
|
icon: "collapse_all",
|
|
2393
2391
|
shortcut: Vt("click", [zt.Alt]),
|
|
2394
|
-
command: () => w(
|
|
2392
|
+
command: () => w(z.selectedRows, !1),
|
|
2395
2393
|
hidden: D.columnId !== "name" || D.entityType !== "folder"
|
|
2396
2394
|
},
|
|
2397
2395
|
{
|
|
2398
2396
|
label: "Expand",
|
|
2399
2397
|
icon: "expand_all",
|
|
2400
|
-
command: () => i(
|
|
2398
|
+
command: () => i(z.selectedRows, !0),
|
|
2401
2399
|
hidden: D.columnId !== "name" || !D.isGroup || d[D.entityId]
|
|
2402
2400
|
},
|
|
2403
2401
|
{
|
|
2404
2402
|
label: "Collapse",
|
|
2405
2403
|
icon: "collapse_all",
|
|
2406
|
-
command: () => i(
|
|
2404
|
+
command: () => i(z.selectedRows, !1),
|
|
2407
2405
|
hidden: D.columnId !== "name" || !D.isGroup || !d[D.entityId]
|
|
2408
2406
|
}
|
|
2409
|
-
], A = (M, D, Y,
|
|
2407
|
+
], A = (M, D, Y, z) => ({
|
|
2410
2408
|
label: "Delete",
|
|
2411
2409
|
icon: "delete",
|
|
2412
2410
|
danger: !0,
|
|
@@ -2416,14 +2414,14 @@ const oa = ({
|
|
|
2416
2414
|
command: () => {
|
|
2417
2415
|
const G = [
|
|
2418
2416
|
...new Set(
|
|
2419
|
-
|
|
2417
|
+
z.selectedCells.map((K) => he(K)?.rowId).filter((K) => !!K)
|
|
2420
2418
|
)
|
|
2421
2419
|
];
|
|
2422
|
-
R(G.length ? G :
|
|
2420
|
+
R(G.length ? G : z.selectedRows);
|
|
2423
2421
|
},
|
|
2424
2422
|
hidden: D.columnId !== "name" || D.isGroup
|
|
2425
|
-
}),
|
|
2426
|
-
const G = f(
|
|
2423
|
+
}), V = (M, D, Y, z) => {
|
|
2424
|
+
const G = f(z.selectedCells), K = G.length > 0 && m && !(z.selectedRows.length > 1 && z.selectedColumns.length > 1);
|
|
2427
2425
|
return {
|
|
2428
2426
|
label: "Inherit from parent",
|
|
2429
2427
|
icon: "disabled_by_default",
|
|
@@ -2436,14 +2434,14 @@ const oa = ({
|
|
|
2436
2434
|
command: () => p(Array.from(x), s),
|
|
2437
2435
|
hidden: D.isGroup
|
|
2438
2436
|
}), ee = (M, D) => {
|
|
2439
|
-
const
|
|
2437
|
+
const z = (D.length ? D : [M.entityId]).flatMap((G) => {
|
|
2440
2438
|
const K = h(G);
|
|
2441
2439
|
return K ? K.entityType === "folder" || !("folderId" in K) ? [K.id] : K.folderId ? [K.folderId] : [] : [];
|
|
2442
2440
|
});
|
|
2443
|
-
return
|
|
2441
|
+
return z.length ? z : null;
|
|
2444
2442
|
}, le = (M, D, Y) => {
|
|
2445
|
-
const
|
|
2446
|
-
n?.(M,
|
|
2443
|
+
const z = ee(D, Y);
|
|
2444
|
+
n?.(M, z ? { parentFolderIds: z } : void 0);
|
|
2447
2445
|
}, Se = {
|
|
2448
2446
|
"copy-paste": L,
|
|
2449
2447
|
"show-details": F,
|
|
@@ -2460,14 +2458,14 @@ const oa = ({
|
|
|
2460
2458
|
}),
|
|
2461
2459
|
"expand-collapse": _,
|
|
2462
2460
|
delete: A,
|
|
2463
|
-
inherit:
|
|
2461
|
+
inherit: V,
|
|
2464
2462
|
export: J,
|
|
2465
|
-
"create-folder": (M, D, Y,
|
|
2463
|
+
"create-folder": (M, D, Y, z) => [
|
|
2466
2464
|
{
|
|
2467
2465
|
label: ct.folder.createLabel,
|
|
2468
2466
|
icon: ct.folder.icon,
|
|
2469
2467
|
command: () => {
|
|
2470
|
-
|
|
2468
|
+
m ? le("folder", D, z.selectedRows) : n?.("folder");
|
|
2471
2469
|
},
|
|
2472
2470
|
hidden: D.columnId !== "name" || !n
|
|
2473
2471
|
},
|
|
@@ -2480,12 +2478,12 @@ const oa = ({
|
|
|
2480
2478
|
hidden: D.columnId !== "name" || !n
|
|
2481
2479
|
}
|
|
2482
2480
|
],
|
|
2483
|
-
"create-task": (M, D, Y,
|
|
2484
|
-
const G = !!ee(D,
|
|
2481
|
+
"create-task": (M, D, Y, z) => {
|
|
2482
|
+
const G = !!ee(D, z.selectedRows) || P;
|
|
2485
2483
|
return {
|
|
2486
2484
|
label: ct.task.createLabel,
|
|
2487
2485
|
icon: ct.task.icon,
|
|
2488
|
-
command: () => le("task", D,
|
|
2486
|
+
command: () => le("task", D, z.selectedRows),
|
|
2489
2487
|
hidden: D.columnId !== "name" || !n,
|
|
2490
2488
|
disabled: !G
|
|
2491
2489
|
};
|
|
@@ -2494,12 +2492,12 @@ const oa = ({
|
|
|
2494
2492
|
}, Ie = (M) => {
|
|
2495
2493
|
const { rowId: D, colId: Y } = he(M) || {};
|
|
2496
2494
|
if (!D || !Y) return;
|
|
2497
|
-
const
|
|
2495
|
+
const z = h(D), G = t.find((te) => te.name === Y?.replace("attrib_", "")), K = e.find((te) => te.id === Y), Z = z ? "parentId" in z ? z.parentId : "folderId" in z ? z.folderId : void 0 : void 0;
|
|
2498
2496
|
return {
|
|
2499
2497
|
cellId: M,
|
|
2500
2498
|
columnId: Y,
|
|
2501
|
-
entityId:
|
|
2502
|
-
entityType:
|
|
2499
|
+
entityId: z?.entityId || z?.id || D,
|
|
2500
|
+
entityType: z?.entityType,
|
|
2503
2501
|
parentId: Z,
|
|
2504
2502
|
attribField: G,
|
|
2505
2503
|
isGroup: D.startsWith(an),
|
|
@@ -2507,13 +2505,13 @@ const oa = ({
|
|
|
2507
2505
|
id: Y,
|
|
2508
2506
|
label: K?.label || ""
|
|
2509
2507
|
},
|
|
2510
|
-
data:
|
|
2508
|
+
data: z
|
|
2511
2509
|
};
|
|
2512
2510
|
};
|
|
2513
2511
|
return { handleTableBodyContextMenu: (M) => {
|
|
2514
|
-
const
|
|
2515
|
-
if (!
|
|
2516
|
-
const G = Ie(
|
|
2512
|
+
const z = M.target.closest("td")?.firstElementChild?.id;
|
|
2513
|
+
if (!z) return;
|
|
2514
|
+
const G = Ie(z);
|
|
2517
2515
|
if (!G) return;
|
|
2518
2516
|
let K = Array.from(x);
|
|
2519
2517
|
const te = K.filter(
|
|
@@ -2521,7 +2519,7 @@ const oa = ({
|
|
|
2521
2519
|
).some(
|
|
2522
2520
|
(H) => he(H)?.rowId === G.entityId
|
|
2523
2521
|
);
|
|
2524
|
-
(!K.includes(
|
|
2522
|
+
(!K.includes(z) && !te || !K.length) && (K = [z], C(z, !1, !1), c(z));
|
|
2525
2523
|
const ue = K.filter(
|
|
2526
2524
|
(H) => he(H)?.colId !== ge
|
|
2527
2525
|
), xe = K.flatMap((H) => Ie(H) || []), pe = [
|
|
@@ -2570,22 +2568,22 @@ const oa = ({
|
|
|
2570
2568
|
expandedParentIds: n,
|
|
2571
2569
|
selectedFolders: o,
|
|
2572
2570
|
excludeSelectedFolders: s,
|
|
2573
|
-
getFolderById:
|
|
2571
|
+
getFolderById: m,
|
|
2574
2572
|
showHierarchy: h
|
|
2575
2573
|
} = t, w = e, i = /* @__PURE__ */ new Map(), d = (a) => {
|
|
2576
2574
|
if (i.has(a)) return i.get(a);
|
|
2577
|
-
const y =
|
|
2575
|
+
const y = m(a);
|
|
2578
2576
|
if (!y)
|
|
2579
2577
|
return i.set(a, !1), !1;
|
|
2580
|
-
const
|
|
2581
|
-
if (s ? o.includes(
|
|
2578
|
+
const g = y.parentId;
|
|
2579
|
+
if (s ? o.includes(g) : o.includes(a))
|
|
2582
2580
|
return i.set(a, !0), !0;
|
|
2583
|
-
if (!
|
|
2581
|
+
if (!g) {
|
|
2584
2582
|
const b = o.length === 0;
|
|
2585
2583
|
return i.set(a, b), b;
|
|
2586
2584
|
}
|
|
2587
2585
|
if (h) {
|
|
2588
|
-
const b = w[
|
|
2586
|
+
const b = w[g] === !0 && d(g);
|
|
2589
2587
|
return i.set(a, b), b;
|
|
2590
2588
|
} else
|
|
2591
2589
|
return !0;
|
|
@@ -2599,21 +2597,21 @@ const oa = ({
|
|
|
2599
2597
|
dataType: s
|
|
2600
2598
|
}) => {
|
|
2601
2599
|
if (!t.length) return [];
|
|
2602
|
-
const
|
|
2600
|
+
const m = !!s?.startsWith("list_of_"), h = e.conditions || [], w = t.map((a) => {
|
|
2603
2601
|
const y = {
|
|
2604
2602
|
key: n.id,
|
|
2605
2603
|
value: [a.value],
|
|
2606
|
-
operator:
|
|
2607
|
-
},
|
|
2604
|
+
operator: m ? "includesany" : "in"
|
|
2605
|
+
}, g = o[a.value] || 1;
|
|
2608
2606
|
return {
|
|
2609
2607
|
value: a.value,
|
|
2610
|
-
count: Mn(t.length) *
|
|
2608
|
+
count: Mn(t.length) * g,
|
|
2611
2609
|
filter: JSON.stringify({ ...e, conditions: [...h, y] })
|
|
2612
2610
|
};
|
|
2613
2611
|
}), i = {
|
|
2614
2612
|
key: n.id,
|
|
2615
2613
|
value: t.map((a) => a.value),
|
|
2616
|
-
operator:
|
|
2614
|
+
operator: m ? "excludesany" : "notin"
|
|
2617
2615
|
}, d = {
|
|
2618
2616
|
value: xn,
|
|
2619
2617
|
count: Mn() * (o[xn] || 1),
|
|
@@ -2628,14 +2626,14 @@ const oa = ({
|
|
|
2628
2626
|
taskIds: o,
|
|
2629
2627
|
// specific task IDs from entity list slicer
|
|
2630
2628
|
taskFilters: s,
|
|
2631
|
-
folderFilters:
|
|
2629
|
+
folderFilters: m,
|
|
2632
2630
|
sorting: h,
|
|
2633
2631
|
groupBy: w,
|
|
2634
2632
|
taskGroups: i = [],
|
|
2635
2633
|
taskGroupsCount: d,
|
|
2636
2634
|
expanded: a,
|
|
2637
2635
|
showHierarchy: y,
|
|
2638
|
-
isFlatFolderView:
|
|
2636
|
+
isFlatFolderView: g = !1,
|
|
2639
2637
|
attribFields: T,
|
|
2640
2638
|
modules: b,
|
|
2641
2639
|
skipLinks: P,
|
|
@@ -2677,16 +2675,16 @@ const oa = ({
|
|
|
2677
2675
|
[]
|
|
2678
2676
|
);
|
|
2679
2677
|
Ue(() => (A(p), () => A.cancel()), [p, A]);
|
|
2680
|
-
const
|
|
2681
|
-
if (!y ||
|
|
2678
|
+
const V = j(() => {
|
|
2679
|
+
if (!y || g)
|
|
2682
2680
|
return F;
|
|
2683
2681
|
const X = new Set(O);
|
|
2684
2682
|
return F.filter((ye) => X.has(ye));
|
|
2685
|
-
}, [F, y,
|
|
2683
|
+
}, [F, y, g, O]), J = {
|
|
2686
2684
|
projectName: t,
|
|
2687
|
-
parentIds:
|
|
2685
|
+
parentIds: V,
|
|
2688
2686
|
filter: s.filterString,
|
|
2689
|
-
folderFilter:
|
|
2687
|
+
folderFilter: m.filterString,
|
|
2690
2688
|
search: s.search,
|
|
2691
2689
|
showComments: I
|
|
2692
2690
|
}, {
|
|
@@ -2695,12 +2693,12 @@ const oa = ({
|
|
|
2695
2693
|
error: oe,
|
|
2696
2694
|
isUninitialized: me
|
|
2697
2695
|
} = go(J, {
|
|
2698
|
-
skip: r || !
|
|
2699
|
-
}), Ee = !s.filterString && !
|
|
2696
|
+
skip: r || !V.length || !y && !g
|
|
2697
|
+
}), Ee = !s.filterString && !m.filterString && !s.search && !m.search || !E.length || !y && !g, Se = {
|
|
2700
2698
|
projectName: t,
|
|
2701
2699
|
folderSearchRequest: {
|
|
2702
2700
|
taskFilter: s.filter?.conditions?.length ? s.filter : void 0,
|
|
2703
|
-
folderFilter:
|
|
2701
|
+
folderFilter: m.filter?.conditions?.length ? m.filter : void 0,
|
|
2704
2702
|
search: s.search
|
|
2705
2703
|
}
|
|
2706
2704
|
}, {
|
|
@@ -2711,7 +2709,7 @@ const oa = ({
|
|
|
2711
2709
|
error: Y
|
|
2712
2710
|
} = mo(Se, {
|
|
2713
2711
|
skip: r || Ee
|
|
2714
|
-
}),
|
|
2712
|
+
}), z = j(() => {
|
|
2715
2713
|
const X = /* @__PURE__ */ new Set(), ye = /* @__PURE__ */ new Set();
|
|
2716
2714
|
E.forEach((se) => {
|
|
2717
2715
|
if (ye.add(se.id), !se.parentId) {
|
|
@@ -2734,7 +2732,7 @@ const oa = ({
|
|
|
2734
2732
|
n
|
|
2735
2733
|
]), G = {
|
|
2736
2734
|
projectName: t,
|
|
2737
|
-
entityIds: Array.from(
|
|
2735
|
+
entityIds: Array.from(z),
|
|
2738
2736
|
entityType: "folder"
|
|
2739
2737
|
}, {
|
|
2740
2738
|
data: K = [],
|
|
@@ -2758,7 +2756,7 @@ const oa = ({
|
|
|
2758
2756
|
const De = fe.get(de);
|
|
2759
2757
|
De && De.parentId && (se.add(De.parentId), ae(De.parentId));
|
|
2760
2758
|
};
|
|
2761
|
-
if (!
|
|
2759
|
+
if (!g) {
|
|
2762
2760
|
const de = [...se];
|
|
2763
2761
|
for (const De of de)
|
|
2764
2762
|
ae(De);
|
|
@@ -2774,7 +2772,7 @@ const oa = ({
|
|
|
2774
2772
|
const De = ae.path, it = se.includes(De);
|
|
2775
2773
|
(se.some(
|
|
2776
2774
|
(Qt) => De.startsWith(Qt + "/")
|
|
2777
|
-
) || it && (!n ||
|
|
2775
|
+
) || it && (!n || g)) && fe.set(de, ye(ae));
|
|
2778
2776
|
}), fe;
|
|
2779
2777
|
}
|
|
2780
2778
|
return X;
|
|
@@ -2785,7 +2783,7 @@ const oa = ({
|
|
|
2785
2783
|
e,
|
|
2786
2784
|
n,
|
|
2787
2785
|
K,
|
|
2788
|
-
|
|
2786
|
+
g
|
|
2789
2787
|
]), xe = j(() => le ? er({
|
|
2790
2788
|
expandedFoldersTasks: ee,
|
|
2791
2789
|
expandedParentIds: L,
|
|
@@ -2810,7 +2808,7 @@ const oa = ({
|
|
|
2810
2808
|
}, N = {
|
|
2811
2809
|
projectName: t,
|
|
2812
2810
|
filter: s.filterString,
|
|
2813
|
-
folderFilter:
|
|
2811
|
+
folderFilter: m.filterString,
|
|
2814
2812
|
search: s.search,
|
|
2815
2813
|
folderIds: Ce(),
|
|
2816
2814
|
taskIds: o?.length ? o : void 0,
|
|
@@ -2830,7 +2828,7 @@ const oa = ({
|
|
|
2830
2828
|
// Skip flat task list for flat folder view (tasks loaded on folder expand).
|
|
2831
2829
|
// In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.
|
|
2832
2830
|
// Always run it when entity list provides specific task IDs.
|
|
2833
|
-
skip: r || (y && !H ||
|
|
2831
|
+
skip: r || (y && !H || g) && !o?.length,
|
|
2834
2832
|
initialPageParam: {
|
|
2835
2833
|
cursor: "",
|
|
2836
2834
|
desc: we
|
|
@@ -2857,7 +2855,7 @@ const oa = ({
|
|
|
2857
2855
|
sortBy: ke,
|
|
2858
2856
|
desc: we,
|
|
2859
2857
|
search: s.search,
|
|
2860
|
-
folderFilter:
|
|
2858
|
+
folderFilter: m.filterString,
|
|
2861
2859
|
folderIds: Te,
|
|
2862
2860
|
groupCount: d,
|
|
2863
2861
|
showComments: I
|
|
@@ -2867,11 +2865,11 @@ const oa = ({
|
|
|
2867
2865
|
error: st
|
|
2868
2866
|
} = ho(Rt, {
|
|
2869
2867
|
skip: r || !w || !ft.length || u
|
|
2870
|
-
}), ot = j(() => o?.length ? Me :
|
|
2868
|
+
}), ot = j(() => o?.length ? Me : g ? ee : y ? H ? [...ee, ...Me] : ee : w ? Pt : Me, [
|
|
2871
2869
|
o,
|
|
2872
2870
|
y,
|
|
2873
2871
|
H,
|
|
2874
|
-
|
|
2872
|
+
g,
|
|
2875
2873
|
w,
|
|
2876
2874
|
Me,
|
|
2877
2875
|
ee,
|
|
@@ -2890,7 +2888,7 @@ const oa = ({
|
|
|
2890
2888
|
const X = /* @__PURE__ */ new Set();
|
|
2891
2889
|
if (te && !P) {
|
|
2892
2890
|
const ye = new Set(K.map((se) => se.id));
|
|
2893
|
-
for (const se of
|
|
2891
|
+
for (const se of z)
|
|
2894
2892
|
ye.has(se) || X.add(se);
|
|
2895
2893
|
}
|
|
2896
2894
|
if (gt && !P) {
|
|
@@ -2904,7 +2902,7 @@ const oa = ({
|
|
|
2904
2902
|
gt,
|
|
2905
2903
|
K,
|
|
2906
2904
|
We,
|
|
2907
|
-
|
|
2905
|
+
z,
|
|
2908
2906
|
Je,
|
|
2909
2907
|
P
|
|
2910
2908
|
]), Lt = (X) => {
|
|
@@ -3003,8 +3001,8 @@ const oa = ({
|
|
|
3003
3001
|
config: { searchKey: o } = {}
|
|
3004
3002
|
}) => {
|
|
3005
3003
|
let s = t;
|
|
3006
|
-
const
|
|
3007
|
-
for (const a of
|
|
3004
|
+
const m = [e, ...n || []];
|
|
3005
|
+
for (const a of m) {
|
|
3008
3006
|
if (!a?.values?.length) continue;
|
|
3009
3007
|
const y = Ko([a]);
|
|
3010
3008
|
y.conditions?.length && (s = {
|
|
@@ -3014,8 +3012,8 @@ const oa = ({
|
|
|
3014
3012
|
}
|
|
3015
3013
|
let h = t, w = "";
|
|
3016
3014
|
if (s?.conditions?.length) {
|
|
3017
|
-
const a = [], y = s.conditions.filter((
|
|
3018
|
-
const T =
|
|
3015
|
+
const a = [], y = s.conditions.filter((g) => {
|
|
3016
|
+
const T = g;
|
|
3019
3017
|
if (T.key === lo) {
|
|
3020
3018
|
const b = T.value;
|
|
3021
3019
|
return b != null && String(b).trim() !== "" && a.push(String(b)), !1;
|
|
@@ -3038,7 +3036,7 @@ const oa = ({
|
|
|
3038
3036
|
});
|
|
3039
3037
|
w = a.join(", "), s = y.length ? { ...s, conditions: y } : { ...s, conditions: [] };
|
|
3040
3038
|
}
|
|
3041
|
-
const i = s?.conditions?.length ?
|
|
3039
|
+
const i = s?.conditions?.length ? os(qo(s)) : s;
|
|
3042
3040
|
return {
|
|
3043
3041
|
filterString: i?.conditions?.length ? JSON.stringify(i) : "",
|
|
3044
3042
|
filter: i,
|
|
@@ -3056,30 +3054,30 @@ const oa = ({
|
|
|
3056
3054
|
}), e.forEach((o) => {
|
|
3057
3055
|
n.set(o.id, o);
|
|
3058
3056
|
}), n;
|
|
3059
|
-
}, [t, e]),
|
|
3057
|
+
}, [t, e]), ns = "0".repeat(32), pa = (t, e, n) => {
|
|
3060
3058
|
if (!n || !t.length) return t;
|
|
3061
3059
|
const o = t.filter((s) => {
|
|
3062
|
-
const
|
|
3063
|
-
return !
|
|
3060
|
+
const m = e[s];
|
|
3061
|
+
return !m || n.has(m);
|
|
3064
3062
|
});
|
|
3065
|
-
return o.length ? o : [
|
|
3063
|
+
return o.length ? o : [ns];
|
|
3066
3064
|
}, Lr = (t, e, n) => {
|
|
3067
|
-
const o = t.find((a) => a.sliceType === "hierarchy"), s = t.find((a) => a.sliceType === "entityList"),
|
|
3065
|
+
const o = t.find((a) => a.sliceType === "hierarchy"), s = t.find((a) => a.sliceType === "entityList"), m = Object.entries(o?.rowSelection || {}).filter(([, a]) => a).map(([a]) => a);
|
|
3068
3066
|
if (!(!!s && Object.entries(s.rowSelection).some(([a, y]) => y && !a.startsWith("folder-"))))
|
|
3069
|
-
return { selectedFolders:
|
|
3070
|
-
const w = e?.length ? e : [], i =
|
|
3067
|
+
return { selectedFolders: m, folderScope: null, listPanelSelected: !1 };
|
|
3068
|
+
const w = e?.length ? e : [], i = m.length && n ? new Set(n(m, !0)) : null;
|
|
3071
3069
|
let d = w;
|
|
3072
3070
|
if (i) {
|
|
3073
3071
|
const a = n && w.length ? new Set(n(w, !0)) : new Set(w);
|
|
3074
3072
|
d = [
|
|
3075
3073
|
.../* @__PURE__ */ new Set([
|
|
3076
3074
|
...w.filter((y) => i.has(y)),
|
|
3077
|
-
...
|
|
3075
|
+
...m.filter((y) => a.has(y))
|
|
3078
3076
|
])
|
|
3079
3077
|
];
|
|
3080
3078
|
}
|
|
3081
3079
|
return {
|
|
3082
|
-
selectedFolders: d.length ? d : [
|
|
3080
|
+
selectedFolders: d.length ? d : [ns],
|
|
3083
3081
|
folderScope: i,
|
|
3084
3082
|
listPanelSelected: !0
|
|
3085
3083
|
};
|
|
@@ -3100,15 +3098,15 @@ const oa = ({
|
|
|
3100
3098
|
[t, e]
|
|
3101
3099
|
), ya = ({ expanded: t, setExpanded: e }) => {
|
|
3102
3100
|
const n = q(
|
|
3103
|
-
(
|
|
3104
|
-
e(Ct(
|
|
3101
|
+
(m) => {
|
|
3102
|
+
e(Ct(m, t));
|
|
3105
3103
|
},
|
|
3106
3104
|
[t, e]
|
|
3107
|
-
), o = Object.entries(t).filter(([,
|
|
3108
|
-
(
|
|
3105
|
+
), o = Object.entries(t).filter(([, m]) => m).map(([m]) => m), s = q(
|
|
3106
|
+
(m) => {
|
|
3109
3107
|
typeof t != "boolean" && e({
|
|
3110
3108
|
...t,
|
|
3111
|
-
[
|
|
3109
|
+
[m]: !t[m]
|
|
3112
3110
|
});
|
|
3113
3111
|
},
|
|
3114
3112
|
[t, e]
|
|
@@ -3124,11 +3122,11 @@ const oa = ({
|
|
|
3124
3122
|
focusedCellId: n,
|
|
3125
3123
|
setFocusedCellId: o
|
|
3126
3124
|
}) => {
|
|
3127
|
-
const { getEntityById: s, isLoading:
|
|
3125
|
+
const { getEntityById: s, isLoading: m } = Ke(), h = je(!0);
|
|
3128
3126
|
Ue(() => (h.current = !0, () => {
|
|
3129
3127
|
h.current = !1;
|
|
3130
3128
|
}), []), Ue(() => {
|
|
3131
|
-
if (
|
|
3129
|
+
if (m) return;
|
|
3132
3130
|
if (h.current) {
|
|
3133
3131
|
const i = setTimeout(() => {
|
|
3134
3132
|
h.current = !1;
|
|
@@ -3144,11 +3142,11 @@ const oa = ({
|
|
|
3144
3142
|
i.delete(d);
|
|
3145
3143
|
e(i), w.has(n || "") && o(null);
|
|
3146
3144
|
}
|
|
3147
|
-
}, [s, t, n, e, o,
|
|
3145
|
+
}, [s, t, n, e, o, m]);
|
|
3148
3146
|
}, _r = (t) => {
|
|
3149
|
-
const { updateGroupBy: e } = nt(), { attribFields: n, scopes: o } = Ke(), s = t.startsWith("attrib_"),
|
|
3150
|
-
() => s ? n.find((y) => y.name ===
|
|
3151
|
-
[n, s,
|
|
3147
|
+
const { updateGroupBy: e } = nt(), { attribFields: n, scopes: o } = Ke(), s = t.startsWith("attrib_"), m = s ? t.replace("attrib_", "") : void 0, h = j(
|
|
3148
|
+
() => s ? n.find((y) => y.name === m) : void 0,
|
|
3149
|
+
[n, s, m]
|
|
3152
3150
|
), w = j(() => {
|
|
3153
3151
|
if (t.startsWith("attrib_")) return "attrib." + t.replace("attrib_", "");
|
|
3154
3152
|
if (t === "subType") {
|
|
@@ -3158,7 +3156,7 @@ const oa = ({
|
|
|
3158
3156
|
return "productType";
|
|
3159
3157
|
}
|
|
3160
3158
|
if (["status", "assignees", "tags", "taskType"].includes(t)) return t;
|
|
3161
|
-
}, [t]), i = j(() => w ? s ? !!h && Po(h, "task") : !0 : !1, [h, s, w]), d = j(() => s ? h?.data.title || h?.name ||
|
|
3159
|
+
}, [t]), i = j(() => w ? s ? !!h && Po(h, "task") : !0 : !1, [h, s, w]), d = j(() => s ? h?.data.title || h?.name || m || "Attribute" : t === "status" ? "Status" : t === "subType" ? "Type" : t === "assignees" ? "Assignees" : t === "tags" ? "Tags" : "Column", [h, m, t, s]), a = q(() => {
|
|
3162
3160
|
w && e({ id: w, desc: !1 });
|
|
3163
3161
|
}, [w, e]);
|
|
3164
3162
|
return {
|
|
@@ -3168,12 +3166,12 @@ const oa = ({
|
|
|
3168
3166
|
groupBySelectedColumn: a
|
|
3169
3167
|
};
|
|
3170
3168
|
}, ha = ({ children: t }) => {
|
|
3171
|
-
const [e, n] = Ve(/* @__PURE__ */ new Set()), [o, s] = Ve(null), [
|
|
3169
|
+
const [e, n] = Ve(/* @__PURE__ */ new Set()), [o, s] = Ve(null), [m, h] = Ve(!1), [w, i] = Ve(null), [d, a] = Ve({
|
|
3172
3170
|
rowIdToIndex: /* @__PURE__ */ new Map(),
|
|
3173
3171
|
colIdToIndex: /* @__PURE__ */ new Map(),
|
|
3174
3172
|
indexToRowId: /* @__PURE__ */ new Map(),
|
|
3175
3173
|
indexToColId: /* @__PURE__ */ new Map()
|
|
3176
|
-
}), y = (f) => JSON.stringify(Array.from(f.entries())),
|
|
3174
|
+
}), y = (f) => JSON.stringify(Array.from(f.entries())), g = j(
|
|
3177
3175
|
() => d,
|
|
3178
3176
|
[
|
|
3179
3177
|
y(d.rowIdToIndex),
|
|
@@ -3195,10 +3193,10 @@ const oa = ({
|
|
|
3195
3193
|
});
|
|
3196
3194
|
const P = je(!1), I = q((f, L) => {
|
|
3197
3195
|
const F = /* @__PURE__ */ new Map(), O = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map();
|
|
3198
|
-
f.forEach((
|
|
3199
|
-
F.set(
|
|
3200
|
-
}), L.forEach((
|
|
3201
|
-
O.set(
|
|
3196
|
+
f.forEach((V, J) => {
|
|
3197
|
+
F.set(V, J), _.set(J, V);
|
|
3198
|
+
}), L.forEach((V, J) => {
|
|
3199
|
+
O.set(V, J), A.set(J, V);
|
|
3202
3200
|
}), a({ rowIdToIndex: F, colIdToIndex: O, indexToRowId: _, indexToColId: A });
|
|
3203
3201
|
}, []), r = q((f, L) => {
|
|
3204
3202
|
n((F) => {
|
|
@@ -3214,18 +3212,18 @@ const oa = ({
|
|
|
3214
3212
|
}, []), l = q(
|
|
3215
3213
|
(f, L, F) => {
|
|
3216
3214
|
F || r(/* @__PURE__ */ new Set(), f);
|
|
3217
|
-
const O =
|
|
3215
|
+
const O = g.rowIdToIndex.get(f.rowId) ?? 0, _ = g.colIdToIndex.get(f.colId) ?? 0, A = g.rowIdToIndex.get(L.rowId) ?? 0, V = g.colIdToIndex.get(L.colId) ?? 0, J = Math.min(O, A), ee = Math.max(O, A), le = Math.min(_, V), oe = Math.max(_, V), me = new Set(F ? e : []);
|
|
3218
3216
|
for (let Ee = J; Ee <= ee; Ee++) {
|
|
3219
|
-
const Se =
|
|
3217
|
+
const Se = g.indexToRowId.get(Ee);
|
|
3220
3218
|
if (Se)
|
|
3221
3219
|
for (let Ie = le; Ie <= oe; Ie++) {
|
|
3222
|
-
const U =
|
|
3220
|
+
const U = g.indexToColId.get(Ie);
|
|
3223
3221
|
U && me.add(_e(Se, U));
|
|
3224
3222
|
}
|
|
3225
3223
|
}
|
|
3226
3224
|
return me;
|
|
3227
3225
|
},
|
|
3228
|
-
[
|
|
3226
|
+
[g, e, r]
|
|
3229
3227
|
), p = q(
|
|
3230
3228
|
(f, L) => {
|
|
3231
3229
|
const F = he(f);
|
|
@@ -3237,7 +3235,7 @@ const oa = ({
|
|
|
3237
3235
|
[e, o, r]
|
|
3238
3236
|
), v = q(
|
|
3239
3237
|
(f, L) => {
|
|
3240
|
-
if (!
|
|
3238
|
+
if (!m || !w) return;
|
|
3241
3239
|
const F = he(f);
|
|
3242
3240
|
if (F)
|
|
3243
3241
|
if (L)
|
|
@@ -3255,7 +3253,7 @@ const oa = ({
|
|
|
3255
3253
|
r(O, F);
|
|
3256
3254
|
}
|
|
3257
3255
|
},
|
|
3258
|
-
[
|
|
3256
|
+
[m, w, l, r]
|
|
3259
3257
|
), x = q(() => {
|
|
3260
3258
|
h(!1);
|
|
3261
3259
|
}, []), $ = q(
|
|
@@ -3280,21 +3278,21 @@ const oa = ({
|
|
|
3280
3278
|
if (!u(f)) return [];
|
|
3281
3279
|
const L = he(f);
|
|
3282
3280
|
if (!L) return [];
|
|
3283
|
-
const F =
|
|
3281
|
+
const F = g.rowIdToIndex.get(L.rowId), O = g.colIdToIndex.get(L.colId);
|
|
3284
3282
|
if (F === void 0 || O === void 0) return [];
|
|
3285
|
-
const _ =
|
|
3283
|
+
const _ = g.indexToRowId.get(F - 1), A = g.indexToColId.get(O + 1), V = g.indexToRowId.get(F + 1), J = g.indexToColId.get(O - 1);
|
|
3286
3284
|
let ee = bt.None;
|
|
3287
|
-
return (!_ || !e.has(_e(_, L.colId))) && (ee |= bt.Top), (!A || !e.has(_e(L.rowId, A))) && (ee |= bt.Right), (!
|
|
3285
|
+
return (!_ || !e.has(_e(_, L.colId))) && (ee |= bt.Top), (!A || !e.has(_e(L.rowId, A))) && (ee |= bt.Right), (!V || !e.has(_e(V, L.colId))) && (ee |= bt.Bottom), (!J || !e.has(_e(L.rowId, J))) && (ee |= bt.Left), Gs(ee);
|
|
3288
3286
|
},
|
|
3289
|
-
[e,
|
|
3287
|
+
[e, g, u]
|
|
3290
3288
|
), S = j(
|
|
3291
3289
|
() => ({
|
|
3292
3290
|
selectedCells: e,
|
|
3293
3291
|
selectedRows: b,
|
|
3294
3292
|
focusedCellId: o,
|
|
3295
|
-
selectionInProgress:
|
|
3293
|
+
selectionInProgress: m,
|
|
3296
3294
|
anchorCell: w,
|
|
3297
|
-
gridMap:
|
|
3295
|
+
gridMap: g,
|
|
3298
3296
|
setSelectedCells: n,
|
|
3299
3297
|
setFocusedCellId: s,
|
|
3300
3298
|
setAnchorCell: i,
|
|
@@ -3314,9 +3312,9 @@ const oa = ({
|
|
|
3314
3312
|
e,
|
|
3315
3313
|
b,
|
|
3316
3314
|
o,
|
|
3317
|
-
g,
|
|
3318
|
-
w,
|
|
3319
3315
|
m,
|
|
3316
|
+
w,
|
|
3317
|
+
g,
|
|
3320
3318
|
n,
|
|
3321
3319
|
s,
|
|
3322
3320
|
i,
|
|
@@ -3378,16 +3376,16 @@ const oa = ({
|
|
|
3378
3376
|
[t.entityType + "Id"]: t.entityId
|
|
3379
3377
|
};
|
|
3380
3378
|
return t.entityType === "version" && "product" in t && t.product?.id && (e.productId = t.product?.id, "folder" in t.product && t.product?.folder?.id && (e.folderId = t.product?.folder.id)), e;
|
|
3381
|
-
}, jt = "__", zr = (t) => `${jt}${t}`, Ra = (t, e) => `${t}${zr(e)}`,
|
|
3379
|
+
}, jt = "__", zr = (t) => `${jt}${t}`, Ra = (t, e) => `${t}${zr(e)}`, ss = (t) => {
|
|
3382
3380
|
const e = t.lastIndexOf(jt);
|
|
3383
3381
|
if (e === -1)
|
|
3384
3382
|
return null;
|
|
3385
3383
|
const n = t.slice(0, e), o = t.slice(e + jt.length);
|
|
3386
3384
|
return { entityId: n, type: o };
|
|
3387
|
-
}, Pa = (t) => t.includes(jt) &&
|
|
3385
|
+
}, Pa = (t) => t.includes(jt) && ss(t) !== null, Aa = (t, e) => ss(t)?.type === e, Br = (t) => "key" in t, os = (t) => ({
|
|
3388
3386
|
...t,
|
|
3389
3387
|
conditions: t.conditions?.map((e) => {
|
|
3390
|
-
if (!Br(e)) return
|
|
3388
|
+
if (!Br(e)) return os(e);
|
|
3391
3389
|
if ((e.operator === "isnull" || e.operator === "notnull") && e.value == null) {
|
|
3392
3390
|
const { value: n, ...o } = e;
|
|
3393
3391
|
return o;
|
|
@@ -3395,39 +3393,39 @@ const oa = ({
|
|
|
3395
3393
|
return e;
|
|
3396
3394
|
})
|
|
3397
3395
|
}), Ur = (t = 50) => {
|
|
3398
|
-
const [e, n] = Ve([]), [o, s] = Ve([]),
|
|
3399
|
-
(y,
|
|
3396
|
+
const [e, n] = Ve([]), [o, s] = Ve([]), m = q(
|
|
3397
|
+
(y, g) => {
|
|
3400
3398
|
y.length && (n((T) => {
|
|
3401
|
-
const b = [...T, { undo: y, redo:
|
|
3399
|
+
const b = [...T, { undo: y, redo: g, timestamp: Date.now() }];
|
|
3402
3400
|
return b.length > t ? b.slice(b.length - t) : b;
|
|
3403
3401
|
}), s([]));
|
|
3404
3402
|
},
|
|
3405
3403
|
[t]
|
|
3406
3404
|
), h = (y) => y.reduce(
|
|
3407
|
-
(
|
|
3405
|
+
(g, T) => (typeof T == "function" ? g[2].push(T) : T.wasInherited ? g[1].push({
|
|
3408
3406
|
entityId: T.id,
|
|
3409
3407
|
entityType: T.type,
|
|
3410
3408
|
folderId: T.folderId,
|
|
3411
3409
|
attribs: [T.field],
|
|
3412
3410
|
ownAttrib: T.ownAttrib,
|
|
3413
3411
|
rowId: T.rowId
|
|
3414
|
-
}) :
|
|
3412
|
+
}) : g[0].push(T), g),
|
|
3415
3413
|
[[], [], []]
|
|
3416
3414
|
), w = q(() => {
|
|
3417
3415
|
if (e.length === 0) return null;
|
|
3418
|
-
const y = [...e],
|
|
3419
|
-
return n(y),
|
|
3416
|
+
const y = [...e], g = y.pop();
|
|
3417
|
+
return n(y), g.redo && s((T) => [...T, g]), h(g.undo);
|
|
3420
3418
|
}, [e]), i = q(() => {
|
|
3421
3419
|
if (o.length === 0) return null;
|
|
3422
|
-
const y = [...o],
|
|
3423
|
-
return s(y), n((T) => [...T,
|
|
3420
|
+
const y = [...o], g = y.pop();
|
|
3421
|
+
return s(y), n((T) => [...T, g]), g.redo ? h(g.redo) : null;
|
|
3424
3422
|
}, [o]), d = q((y) => {
|
|
3425
|
-
n((
|
|
3423
|
+
n((g) => g.slice(0, Math.max(0, g.length - y))), s((g) => g.slice(0, Math.max(0, g.length - y)));
|
|
3426
3424
|
}, []), a = q(() => {
|
|
3427
3425
|
n([]), s([]);
|
|
3428
3426
|
}, []);
|
|
3429
3427
|
return {
|
|
3430
|
-
pushHistory:
|
|
3428
|
+
pushHistory: m,
|
|
3431
3429
|
undo: w,
|
|
3432
3430
|
redo: i,
|
|
3433
3431
|
canUndo: e.length > 0,
|
|
@@ -3438,10 +3436,10 @@ const oa = ({
|
|
|
3438
3436
|
}, Gr = (t = [], e) => {
|
|
3439
3437
|
for (const { isAttrib: n, value: o, field: s } of t) {
|
|
3440
3438
|
if (!n) continue;
|
|
3441
|
-
const
|
|
3442
|
-
if (!
|
|
3439
|
+
const m = e.find((p) => p.name === s);
|
|
3440
|
+
if (!m) continue;
|
|
3443
3441
|
let h = o;
|
|
3444
|
-
const { type: w } =
|
|
3442
|
+
const { type: w } = m.data;
|
|
3445
3443
|
if (w === "integer" || w === "float") {
|
|
3446
3444
|
if (typeof o == "string") {
|
|
3447
3445
|
if (o.trim() === "" || isNaN(Number(o)))
|
|
@@ -3459,11 +3457,11 @@ const oa = ({
|
|
|
3459
3457
|
"maxLength",
|
|
3460
3458
|
"minItems",
|
|
3461
3459
|
"maxItems"
|
|
3462
|
-
], d = Object.entries(
|
|
3460
|
+
], d = Object.entries(m.data).reduce((p, [v, x]) => (i.includes(v) && (p[v] = x), p), {}), { ge: a, gt: y, le: g, lt: T, minLength: b, maxLength: P, minItems: I, maxItems: r } = d, l = m.data.regex;
|
|
3463
3461
|
if (typeof h == "number") {
|
|
3464
3462
|
if (a != null && h < a) throw new Error(`“${s}” must be ≥ ${a}`);
|
|
3465
3463
|
if (y != null && h <= y) throw new Error(`“${s}” must be > ${y}`);
|
|
3466
|
-
if (
|
|
3464
|
+
if (g != null && h > g) throw new Error(`“${s}” must be ≤ ${g}`);
|
|
3467
3465
|
if (T != null && h >= T) throw new Error(`“${s}” must be < ${T}`);
|
|
3468
3466
|
} else if (typeof h == "string") {
|
|
3469
3467
|
if (b != null && h.length < b)
|
|
@@ -3480,7 +3478,7 @@ const oa = ({
|
|
|
3480
3478
|
}
|
|
3481
3479
|
}
|
|
3482
3480
|
}, Da = ({ children: t }) => {
|
|
3483
|
-
const [e, n] = Ve(null), o = je(null), s = q(() => o.current, []),
|
|
3481
|
+
const [e, n] = Ve(null), o = je(null), s = q(() => o.current, []), m = q((k) => {
|
|
3484
3482
|
o.current = k;
|
|
3485
3483
|
}, []), h = q((k) => {
|
|
3486
3484
|
o.current = null, n(k);
|
|
@@ -3488,7 +3486,7 @@ const oa = ({
|
|
|
3488
3486
|
pushHistory: d,
|
|
3489
3487
|
undo: a,
|
|
3490
3488
|
redo: y,
|
|
3491
|
-
canUndo:
|
|
3489
|
+
canUndo: g,
|
|
3492
3490
|
canRedo: T,
|
|
3493
3491
|
removeHistoryEntries: b
|
|
3494
3492
|
} = i, { selectedCells: P } = Ye(), { updateEntities: I, inheritFromParent: r } = Tr({
|
|
@@ -3556,7 +3554,7 @@ const oa = ({
|
|
|
3556
3554
|
}
|
|
3557
3555
|
const _ = p(O);
|
|
3558
3556
|
if (!_) return;
|
|
3559
|
-
const A = F.replace("attrib_", ""),
|
|
3557
|
+
const A = F.replace("attrib_", ""), V = F.startsWith("attrib_");
|
|
3560
3558
|
if (!A) {
|
|
3561
3559
|
console.warn(`Invalid column ID: ${F}`);
|
|
3562
3560
|
continue;
|
|
@@ -3569,7 +3567,7 @@ const oa = ({
|
|
|
3569
3567
|
continue;
|
|
3570
3568
|
}
|
|
3571
3569
|
let J = null;
|
|
3572
|
-
if (
|
|
3570
|
+
if (V) {
|
|
3573
3571
|
const le = l.find((oe) => oe.name === A);
|
|
3574
3572
|
if (!le) {
|
|
3575
3573
|
console.warn(`Attribute field not found: ${A}`);
|
|
@@ -3601,7 +3599,7 @@ const oa = ({
|
|
|
3601
3599
|
rowId: O,
|
|
3602
3600
|
field: A,
|
|
3603
3601
|
value: J,
|
|
3604
|
-
isAttrib:
|
|
3602
|
+
isAttrib: V,
|
|
3605
3603
|
type: _.entityType
|
|
3606
3604
|
};
|
|
3607
3605
|
R.push(ee);
|
|
@@ -3651,7 +3649,7 @@ const oa = ({
|
|
|
3651
3649
|
redo: c,
|
|
3652
3650
|
history: i,
|
|
3653
3651
|
getEditingDraft: s,
|
|
3654
|
-
setEditingDraft:
|
|
3652
|
+
setEditingDraft: m
|
|
3655
3653
|
}),
|
|
3656
3654
|
[
|
|
3657
3655
|
e,
|
|
@@ -3662,7 +3660,7 @@ const oa = ({
|
|
|
3662
3660
|
c,
|
|
3663
3661
|
i,
|
|
3664
3662
|
s,
|
|
3665
|
-
|
|
3663
|
+
m
|
|
3666
3664
|
]
|
|
3667
3665
|
);
|
|
3668
3666
|
return Ue(() => {
|
|
@@ -3672,21 +3670,21 @@ const oa = ({
|
|
|
3672
3670
|
const F = typeof navigator < "u" && // @ts-expect-error
|
|
3673
3671
|
(navigator.userAgentData && // @ts-expect-error
|
|
3674
3672
|
navigator.userAgentData.platform.toUpperCase().includes("MAC") || navigator.userAgent.toUpperCase().includes("MAC")) ? R.metaKey : R.ctrlKey;
|
|
3675
|
-
if (F && R.key === "z" && (R.preventDefault(),
|
|
3673
|
+
if (F && R.key === "z" && (R.preventDefault(), g && C()), (F && R.key === "y" || F && R.shiftKey && R.key === "z" || F && R.key === "Z") && (R.preventDefault(), T && c()), R.key === "Backspace" && !(R.ctrlKey || R.metaKey) || R.key === "Delete") {
|
|
3676
3674
|
if (!P.size) return;
|
|
3677
3675
|
R.preventDefault();
|
|
3678
3676
|
const O = Array.from(P).map(
|
|
3679
|
-
(
|
|
3680
|
-
), _ = (
|
|
3677
|
+
(V) => document.getElementById(V)
|
|
3678
|
+
), _ = (V) => V?.classList.contains("editable"), A = O.filter(_);
|
|
3681
3679
|
if (A.length === 0) {
|
|
3682
3680
|
Le.warn("No editable cells selected to clear");
|
|
3683
3681
|
return;
|
|
3684
3682
|
}
|
|
3685
|
-
u(A.map((
|
|
3683
|
+
u(A.map((V) => V?.id).filter(Boolean));
|
|
3686
3684
|
}
|
|
3687
3685
|
};
|
|
3688
3686
|
return document.addEventListener("keydown", k), () => document.removeEventListener("keydown", k);
|
|
3689
|
-
}, [
|
|
3687
|
+
}, [g, T, C, c, P, u]), /* @__PURE__ */ W(Hs.Provider, { value: E, children: t });
|
|
3690
3688
|
}, Wr = ({
|
|
3691
3689
|
attributes: t,
|
|
3692
3690
|
listeners: e
|
|
@@ -3718,11 +3716,11 @@ const oa = ({
|
|
|
3718
3716
|
canPin: n,
|
|
3719
3717
|
canSort: o,
|
|
3720
3718
|
isResizing: s,
|
|
3721
|
-
className:
|
|
3719
|
+
className: m,
|
|
3722
3720
|
menuId: h,
|
|
3723
3721
|
isOpen: w
|
|
3724
3722
|
}) => {
|
|
3725
|
-
const { column: i } = t, d = String(i.id), { toggleMenuOpen: a } = Xn(), { updateGroupBy: y, groupBy:
|
|
3723
|
+
const { column: i } = t, d = String(i.id), { toggleMenuOpen: a } = Xn(), { updateGroupBy: y, groupBy: g, sorting: T } = nt(), { canGroupThisColumn: b, groupLabel: P, groupBySelectedColumn: I, targetGroupById: r } = _r(d);
|
|
3726
3724
|
if (s)
|
|
3727
3725
|
return null;
|
|
3728
3726
|
const l = (c = !0) => {
|
|
@@ -3772,7 +3770,7 @@ const oa = ({
|
|
|
3772
3770
|
id: "divider",
|
|
3773
3771
|
type: "divider"
|
|
3774
3772
|
}), b && d !== "name" && d !== "thumbnail") {
|
|
3775
|
-
const c =
|
|
3773
|
+
const c = g?.id === r;
|
|
3776
3774
|
C.push({
|
|
3777
3775
|
id: "group-by",
|
|
3778
3776
|
label: c ? "Ungroup" : `Group by ${P}`,
|
|
@@ -3792,14 +3790,14 @@ const oa = ({
|
|
|
3792
3790
|
}), C.length === 0 ? null : /* @__PURE__ */ W(
|
|
3793
3791
|
Do,
|
|
3794
3792
|
{
|
|
3795
|
-
className:
|
|
3793
|
+
className: m,
|
|
3796
3794
|
menuItems: C,
|
|
3797
3795
|
menuId: h || `column-menu-${t.id}`
|
|
3798
3796
|
}
|
|
3799
3797
|
);
|
|
3800
3798
|
}, $n = 60, Gt = 150, Vn = 50, zn = [Be, ge], La = ({ children: t }) => {
|
|
3801
3799
|
const { columnOrder: e, updateColumnOrder: n, columnPinning: o, columnSizing: s } = nt(), {
|
|
3802
|
-
restrictToSection:
|
|
3800
|
+
restrictToSection: m,
|
|
3803
3801
|
setDragPinnedState: h,
|
|
3804
3802
|
clearDragPinnedState: w,
|
|
3805
3803
|
activePinnedState: i,
|
|
@@ -3817,7 +3815,7 @@ const oa = ({
|
|
|
3817
3815
|
nn(Oo, { activationConstraint: { distance: 5 } }),
|
|
3818
3816
|
nn(_o, { activationConstraint: { delay: 100, tolerance: 5 } }),
|
|
3819
3817
|
nn(Fo, {})
|
|
3820
|
-
),
|
|
3818
|
+
), g = j(() => [m], [m]), T = o.left || [], b = q(() => {
|
|
3821
3819
|
const u = a.current.container;
|
|
3822
3820
|
if (!u) return 0;
|
|
3823
3821
|
const E = u.querySelector("th.last-pinned-left");
|
|
@@ -3887,7 +3885,7 @@ const oa = ({
|
|
|
3887
3885
|
{
|
|
3888
3886
|
sensors: y,
|
|
3889
3887
|
collisionDetection: I,
|
|
3890
|
-
modifiers:
|
|
3888
|
+
modifiers: g,
|
|
3891
3889
|
onDragStart: (u) => {
|
|
3892
3890
|
if (u.active.data.current?.type !== "column") return;
|
|
3893
3891
|
const E = document.querySelector("[data-column-dnd-container]"), k = E?.getBoundingClientRect(), R = T.includes(u.active.id);
|
|
@@ -3925,12 +3923,12 @@ const oa = ({
|
|
|
3925
3923
|
}, jr = (t, e) => {
|
|
3926
3924
|
const n = t.getFlatHeaders(), o = t.getState().columnSizingInfo;
|
|
3927
3925
|
return j(() => {
|
|
3928
|
-
const
|
|
3926
|
+
const m = {};
|
|
3929
3927
|
for (let h = 0; h < n.length; h++) {
|
|
3930
3928
|
const w = n[h];
|
|
3931
|
-
|
|
3929
|
+
m[`--header-${w.id}-size`] = w.getSize(), m[`--col-${w.column.id}-size`] = w.column.getSize();
|
|
3932
3930
|
}
|
|
3933
|
-
return
|
|
3931
|
+
return m;
|
|
3934
3932
|
}, [o, e, n]);
|
|
3935
3933
|
}, Kr = ({
|
|
3936
3934
|
visibleColumns: t,
|
|
@@ -3939,7 +3937,7 @@ const oa = ({
|
|
|
3939
3937
|
columnSizing: o,
|
|
3940
3938
|
columnOrder: s
|
|
3941
3939
|
}) => {
|
|
3942
|
-
const
|
|
3940
|
+
const m = j(() => t.filter((b) => b.getIsPinned() === "left").map((b) => b.getIndex()), [t, n]), [h, w] = Ve(null);
|
|
3943
3941
|
Mo({
|
|
3944
3942
|
onDragStart(b) {
|
|
3945
3943
|
if (b.active.data?.current?.type === "column") {
|
|
@@ -3955,8 +3953,8 @@ const oa = ({
|
|
|
3955
3953
|
}
|
|
3956
3954
|
});
|
|
3957
3955
|
const i = [];
|
|
3958
|
-
if (
|
|
3959
|
-
const b = Math.max(...
|
|
3956
|
+
if (m.length > 0) {
|
|
3957
|
+
const b = Math.max(...m);
|
|
3960
3958
|
for (let P = 0; P <= b; P++)
|
|
3961
3959
|
i.push(P);
|
|
3962
3960
|
}
|
|
@@ -3987,11 +3985,11 @@ const oa = ({
|
|
|
3987
3985
|
}, 1e3),
|
|
3988
3986
|
[d]
|
|
3989
3987
|
);
|
|
3990
|
-
|
|
3988
|
+
bs(() => {
|
|
3991
3989
|
a();
|
|
3992
3990
|
}, [a, o, s]);
|
|
3993
3991
|
const y = d.getVirtualItems();
|
|
3994
|
-
let
|
|
3992
|
+
let g, T;
|
|
3995
3993
|
if (d && y.length) {
|
|
3996
3994
|
const b = d.getTotalSize(), P = y.findIndex(
|
|
3997
3995
|
(r) => !i.includes(r.index)
|
|
@@ -4001,20 +3999,20 @@ const oa = ({
|
|
|
4001
3999
|
const x = t[v];
|
|
4002
4000
|
return p + x.getSize();
|
|
4003
4001
|
}, 0);
|
|
4004
|
-
|
|
4002
|
+
g = Math.max(0, r - l);
|
|
4005
4003
|
} else
|
|
4006
|
-
|
|
4004
|
+
g = 0;
|
|
4007
4005
|
const I = y[y.length - 1]?.end ?? 0;
|
|
4008
4006
|
T = Math.max(0, b - I);
|
|
4009
4007
|
}
|
|
4010
4008
|
return {
|
|
4011
4009
|
columnVirtualizer: d,
|
|
4012
|
-
virtualPaddingLeft:
|
|
4010
|
+
virtualPaddingLeft: g,
|
|
4013
4011
|
virtualPaddingRight: T
|
|
4014
4012
|
};
|
|
4015
4013
|
};
|
|
4016
4014
|
function qr() {
|
|
4017
|
-
const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: o } = Ke(), { canWriteLabelPermission: s, canWriteNamePermission:
|
|
4015
|
+
const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: o } = Ke(), { canWriteLabelPermission: s, canWriteNamePermission: m } = un(), h = s || m, { focusedCellId: w, gridMap: i, selectCell: d, focusCell: a, clearSelection: y, setFocusedCellId: g } = Ye(), { setEditingCellId: T, editingCellId: b } = ut(), { setSelectedEntity: P } = Wn(), I = q(
|
|
4018
4016
|
(l) => {
|
|
4019
4017
|
a(l), console.log(l), requestAnimationFrame(() => document.getElementById(l)?.closest("td")?.focus());
|
|
4020
4018
|
},
|
|
@@ -4089,7 +4087,7 @@ function qr() {
|
|
|
4089
4087
|
break;
|
|
4090
4088
|
}
|
|
4091
4089
|
case "Escape": {
|
|
4092
|
-
l.preventDefault(), y(), T(null),
|
|
4090
|
+
l.preventDefault(), y(), T(null), g(null);
|
|
4093
4091
|
break;
|
|
4094
4092
|
}
|
|
4095
4093
|
case "Tab": {
|
|
@@ -4185,14 +4183,14 @@ const Qr = 24, Xr = () => {
|
|
|
4185
4183
|
onScrollBottom: o,
|
|
4186
4184
|
// when the user scrolls to the bottom of the table, this callback is called
|
|
4187
4185
|
onOpenNew: s,
|
|
4188
|
-
readOnly:
|
|
4186
|
+
readOnly: m,
|
|
4189
4187
|
excludedColumns: h,
|
|
4190
4188
|
excludedSorting: w,
|
|
4191
4189
|
extraColumns: i,
|
|
4192
4190
|
includeLinks: d,
|
|
4193
4191
|
includeParents: a,
|
|
4194
4192
|
parentColumns: y,
|
|
4195
|
-
isLoading:
|
|
4193
|
+
isLoading: g,
|
|
4196
4194
|
isExpandable: T,
|
|
4197
4195
|
enableSorting: b = !0,
|
|
4198
4196
|
clientSorting: P = !1,
|
|
@@ -4221,7 +4219,7 @@ const Qr = 24, Xr = () => {
|
|
|
4221
4219
|
const {
|
|
4222
4220
|
columnVisibility: _,
|
|
4223
4221
|
columnPinning: A,
|
|
4224
|
-
columnOrder:
|
|
4222
|
+
columnOrder: V,
|
|
4225
4223
|
columnSizing: J,
|
|
4226
4224
|
setAllColumns: ee,
|
|
4227
4225
|
sorting: le,
|
|
@@ -4234,7 +4232,7 @@ const Qr = 24, Xr = () => {
|
|
|
4234
4232
|
groupBy: M,
|
|
4235
4233
|
columnSummaries: D,
|
|
4236
4234
|
updateColumnSummary: Y,
|
|
4237
|
-
columnSummaryScopes:
|
|
4235
|
+
columnSummaryScopes: z,
|
|
4238
4236
|
updateColumnSummaryScope: G,
|
|
4239
4237
|
columnSummaryFormats: K,
|
|
4240
4238
|
updateColumnSummaryFormat: Z
|
|
@@ -4269,7 +4267,7 @@ const Qr = 24, Xr = () => {
|
|
|
4269
4267
|
}, [ve, _, Se, st]), We = jo(ve, {
|
|
4270
4268
|
projectName: ue,
|
|
4271
4269
|
request: At
|
|
4272
|
-
}), Ze =
|
|
4270
|
+
}), Ze = g || Te, {
|
|
4273
4271
|
statuses: gt = [],
|
|
4274
4272
|
folderTypes: Dt = [],
|
|
4275
4273
|
taskTypes: Lt = [],
|
|
@@ -4292,8 +4290,8 @@ const Qr = 24, Xr = () => {
|
|
|
4292
4290
|
);
|
|
4293
4291
|
return { loadingAttrib: re, loadingRows: Oe };
|
|
4294
4292
|
}, []), se = !N || Ze, { readOnlyColumns: fe, readOnlyAttribs: ae } = j(
|
|
4295
|
-
() => sr(ve, Je,
|
|
4296
|
-
[ve, Je,
|
|
4293
|
+
() => sr(ve, Je, m),
|
|
4294
|
+
[ve, Je, m]
|
|
4297
4295
|
), { selectedCells: de } = Ye(), { updateEntities: De } = ut(), it = q(
|
|
4298
4296
|
async (Q, re) => {
|
|
4299
4297
|
const { selection: Oe = [] } = re || {}, be = [];
|
|
@@ -4301,8 +4299,8 @@ const Qr = 24, Xr = () => {
|
|
|
4301
4299
|
be.push({ ...Q, id: Q.id || Q.rowId });
|
|
4302
4300
|
else {
|
|
4303
4301
|
const { field: Pe, value: He, isAttrib: Xt } = Q;
|
|
4304
|
-
for (const
|
|
4305
|
-
const { colId: Yt, rowId: Mt } = he(
|
|
4302
|
+
for (const Is of de) {
|
|
4303
|
+
const { colId: Yt, rowId: Mt } = he(Is) || {};
|
|
4306
4304
|
if (Yt === ge) continue;
|
|
4307
4305
|
const Jt = Me(Mt || "");
|
|
4308
4306
|
if (!Jt) {
|
|
@@ -4386,13 +4384,13 @@ const Qr = 24, Xr = () => {
|
|
|
4386
4384
|
const Q = at.map((re) => re.id).filter(Boolean);
|
|
4387
4385
|
ee(Q);
|
|
4388
4386
|
}, [at, ee]);
|
|
4389
|
-
const
|
|
4387
|
+
const is = j(() => {
|
|
4390
4388
|
const Q = { ..._ };
|
|
4391
4389
|
return at.forEach((re) => {
|
|
4392
4390
|
const Oe = re.visible;
|
|
4393
4391
|
re.id && Q[re.id] === void 0 && (Oe !== void 0 ? Q[re.id] = Oe : Q[re.id] = St({}, re.id, Se));
|
|
4394
4392
|
}), Io(Q, at.map((re) => re.id).filter(Boolean));
|
|
4395
|
-
}, [_, Se, at]), Ne =
|
|
4393
|
+
}, [_, Se, at]), Ne = ws({
|
|
4396
4394
|
data: se ? ye : pe,
|
|
4397
4395
|
columns: at,
|
|
4398
4396
|
defaultColumn: {
|
|
@@ -4406,15 +4404,15 @@ const Qr = 24, Xr = () => {
|
|
|
4406
4404
|
//disable sub row selection
|
|
4407
4405
|
getSubRows: (Q) => Q.subRows,
|
|
4408
4406
|
getRowCanExpand: () => !!T || ie || Ae || ft,
|
|
4409
|
-
getCoreRowModel:
|
|
4410
|
-
getFilteredRowModel:
|
|
4411
|
-
getExpandedRowModel:
|
|
4407
|
+
getCoreRowModel: Es(),
|
|
4408
|
+
getFilteredRowModel: vs(),
|
|
4409
|
+
getExpandedRowModel: Ss(),
|
|
4412
4410
|
filterFromLeafRows: !0,
|
|
4413
4411
|
// EXPANDABLE
|
|
4414
4412
|
onExpandedChange: ce,
|
|
4415
4413
|
// SORTING
|
|
4416
4414
|
enableSorting: b,
|
|
4417
|
-
getSortedRowModel:
|
|
4415
|
+
getSortedRowModel: Ts(),
|
|
4418
4416
|
sortDescFirst: !1,
|
|
4419
4417
|
maxMultiSortColCount: gn,
|
|
4420
4418
|
manualSorting: !P,
|
|
@@ -4425,7 +4423,7 @@ const Qr = 24, Xr = () => {
|
|
|
4425
4423
|
onColumnVisibilityChange: Ie,
|
|
4426
4424
|
onColumnOrderChange: U,
|
|
4427
4425
|
// @ts-ignore
|
|
4428
|
-
filterFns:
|
|
4426
|
+
filterFns: Cs,
|
|
4429
4427
|
state: {
|
|
4430
4428
|
expanded: B,
|
|
4431
4429
|
sorting: le,
|
|
@@ -4441,8 +4439,8 @@ const Qr = 24, Xr = () => {
|
|
|
4441
4439
|
};
|
|
4442
4440
|
})(),
|
|
4443
4441
|
columnSizing: J,
|
|
4444
|
-
columnVisibility:
|
|
4445
|
-
columnOrder:
|
|
4442
|
+
columnVisibility: is,
|
|
4443
|
+
columnOrder: V
|
|
4446
4444
|
},
|
|
4447
4445
|
meta: {
|
|
4448
4446
|
projectName: ue,
|
|
@@ -4472,7 +4470,7 @@ const Qr = 24, Xr = () => {
|
|
|
4472
4470
|
tableContainerRef: rt,
|
|
4473
4471
|
columnPinning: A,
|
|
4474
4472
|
columnSizing: J,
|
|
4475
|
-
columnOrder:
|
|
4473
|
+
columnOrder: V
|
|
4476
4474
|
}), yn = je({}), hn = yt.getVirtualItems();
|
|
4477
4475
|
Ue(() => {
|
|
4478
4476
|
if (!S || !f?.length) return;
|
|
@@ -4483,13 +4481,13 @@ const Qr = 24, Xr = () => {
|
|
|
4483
4481
|
yn.current[Pe.id] !== He && (re[Pe.id] = He, Oe = !0, yn.current[Pe.id] = He);
|
|
4484
4482
|
}), Oe && S(re);
|
|
4485
4483
|
}, [hn, S, f, Nt, Ne]);
|
|
4486
|
-
const In = jr(Ne, J), { powerLicense: bn } = To(), [
|
|
4484
|
+
const In = jr(Ne, J), { powerLicense: bn } = To(), [as, { isLoaded: wn, isLoading: Cn }] = Go({
|
|
4487
4485
|
addon: "powerpack",
|
|
4488
4486
|
remote: "views",
|
|
4489
4487
|
module: "SummaryCellContent",
|
|
4490
4488
|
fallback: Yr,
|
|
4491
4489
|
skip: !v || !bn
|
|
4492
|
-
}),
|
|
4490
|
+
}), ls = v && bn && (wn || Cn) && !!lt.length, cs = Cn || !wn, ds = j(() => {
|
|
4493
4491
|
const Q = /* @__PURE__ */ new Set(), re = /* @__PURE__ */ new Set();
|
|
4494
4492
|
for (const Oe of de) {
|
|
4495
4493
|
const { rowId: be, colId: Pe } = he(Oe) || {};
|
|
@@ -4498,9 +4496,9 @@ const Qr = 24, Xr = () => {
|
|
|
4498
4496
|
He && (Pe === ge ? re.add(He) : Q.add(He));
|
|
4499
4497
|
}
|
|
4500
4498
|
return Q.size || re.size;
|
|
4501
|
-
}, [de, Me]), { getRowHeight:
|
|
4499
|
+
}, [de, Me]), { getRowHeight: us, defaultRowHeight: Tn } = Xr(), fs = j(() => We.reduce((Q, re) => (re.data?.enum?.length && (Q[re.name] = re.data?.enum), Q), {}), [We]), ps = j(() => pe.map((Q) => Q.id), [pe]), gs = j(() => V.filter(
|
|
4502
4500
|
(Q) => Q !== Be && Q !== ge
|
|
4503
|
-
), [
|
|
4501
|
+
), [V]), ms = j(() => !l || !I ? null : pe.find((Q) => Q.id === l), [l, pe, I]), ys = q(
|
|
4504
4502
|
(Q) => {
|
|
4505
4503
|
if (n?.(Q), o) {
|
|
4506
4504
|
const re = Q.currentTarget;
|
|
@@ -4519,7 +4517,7 @@ const Qr = 24, Xr = () => {
|
|
|
4519
4517
|
wr,
|
|
4520
4518
|
{
|
|
4521
4519
|
entitiesMap: ke,
|
|
4522
|
-
columnEnums: { ...tt, ...
|
|
4520
|
+
columnEnums: { ...tt, ...fs },
|
|
4523
4521
|
columnReadOnly: ae,
|
|
4524
4522
|
visibleColumns: Nt,
|
|
4525
4523
|
children: /* @__PURE__ */ Ge(qs, { ...O, children: [
|
|
@@ -4528,7 +4526,7 @@ const Qr = 24, Xr = () => {
|
|
|
4528
4526
|
{
|
|
4529
4527
|
ref: rt,
|
|
4530
4528
|
style: { height: "100%", padding: 0 },
|
|
4531
|
-
onScroll:
|
|
4529
|
+
onScroll: ys,
|
|
4532
4530
|
...F?.container,
|
|
4533
4531
|
"data-column-dnd-container": !0,
|
|
4534
4532
|
className: qe(
|
|
@@ -4564,7 +4562,7 @@ const Qr = 24, Xr = () => {
|
|
|
4564
4562
|
isLoading: Ze,
|
|
4565
4563
|
readOnlyColumns: fe,
|
|
4566
4564
|
sortableRows: I,
|
|
4567
|
-
columnOrderIds:
|
|
4565
|
+
columnOrderIds: gs,
|
|
4568
4566
|
...F?.head
|
|
4569
4567
|
}
|
|
4570
4568
|
),
|
|
@@ -4579,32 +4577,32 @@ const Qr = 24, Xr = () => {
|
|
|
4579
4577
|
showHierarchy: ie,
|
|
4580
4578
|
attribs: We,
|
|
4581
4579
|
onOpenNew: s,
|
|
4582
|
-
rowOrderIds:
|
|
4580
|
+
rowOrderIds: ps,
|
|
4583
4581
|
sortableRows: I,
|
|
4584
4582
|
error: Re,
|
|
4585
4583
|
isFilterError: Rt,
|
|
4586
4584
|
filterErrorMessage: Pt,
|
|
4587
4585
|
isLoading: Ze,
|
|
4588
4586
|
isGrouping: ft,
|
|
4589
|
-
getRowHeight:
|
|
4587
|
+
getRowHeight: us,
|
|
4590
4588
|
defaultRowHeight: Tn,
|
|
4591
4589
|
onResetView: vt,
|
|
4592
4590
|
contextMenuItems: R,
|
|
4593
4591
|
onVisibleRowsChange: L
|
|
4594
4592
|
}
|
|
4595
4593
|
),
|
|
4596
|
-
|
|
4594
|
+
ls && !Re && /* @__PURE__ */ W(
|
|
4597
4595
|
ao,
|
|
4598
4596
|
{
|
|
4599
4597
|
columnVirtualizer: yt,
|
|
4600
4598
|
table: Ne,
|
|
4601
4599
|
virtualPaddingLeft: ht,
|
|
4602
4600
|
virtualPaddingRight: It,
|
|
4603
|
-
isLoading:
|
|
4601
|
+
isLoading: cs,
|
|
4604
4602
|
statsLoading: !!C,
|
|
4605
4603
|
error: c,
|
|
4606
4604
|
renderCellContent: (Q) => /* @__PURE__ */ W(
|
|
4607
|
-
|
|
4605
|
+
as,
|
|
4608
4606
|
{
|
|
4609
4607
|
columnId: Q,
|
|
4610
4608
|
attribs: We,
|
|
@@ -4614,12 +4612,12 @@ const Qr = 24, Xr = () => {
|
|
|
4614
4612
|
onCalcChange: (re) => Y(Q, re),
|
|
4615
4613
|
format: K[Q],
|
|
4616
4614
|
onFormatChange: (re) => Z(Q, re),
|
|
4617
|
-
scope:
|
|
4615
|
+
scope: z[Q],
|
|
4618
4616
|
onScopeChange: (re) => G(Q, re),
|
|
4619
4617
|
mainCountLabels: u,
|
|
4620
4618
|
fieldOptions: tt,
|
|
4621
4619
|
parentScopeApplicable: ot,
|
|
4622
|
-
selectedCount:
|
|
4620
|
+
selectedCount: ds,
|
|
4623
4621
|
mainBreakdownFields: E
|
|
4624
4622
|
}
|
|
4625
4623
|
)
|
|
@@ -4633,8 +4631,8 @@ const Qr = 24, Xr = () => {
|
|
|
4633
4631
|
H && /* @__PURE__ */ W(Xs, { children: /* @__PURE__ */ W(Bo, { variant: "warning", message: H, action: Ce }) })
|
|
4634
4632
|
] })
|
|
4635
4633
|
}
|
|
4636
|
-
),
|
|
4637
|
-
/* @__PURE__ */ W(Jn, { dropAnimation: null, children:
|
|
4634
|
+
), hs = I && l && Ht(
|
|
4635
|
+
/* @__PURE__ */ W(Jn, { dropAnimation: null, children: ms ? (() => {
|
|
4638
4636
|
const Q = Ne.getRowModel().rows.find((Oe) => Oe.id === l);
|
|
4639
4637
|
if (!Q) return null;
|
|
4640
4638
|
const re = Ne.getTotalSize();
|
|
@@ -4672,7 +4670,7 @@ const Qr = 24, Xr = () => {
|
|
|
4672
4670
|
},
|
|
4673
4671
|
`overlay-drag-${be.id}`
|
|
4674
4672
|
) : /* @__PURE__ */ W(
|
|
4675
|
-
|
|
4673
|
+
rs,
|
|
4676
4674
|
{
|
|
4677
4675
|
cell: be,
|
|
4678
4676
|
cellId: `overlay-${_e(Q.id, be.column.id)}`,
|
|
@@ -4691,7 +4689,7 @@ const Qr = 24, Xr = () => {
|
|
|
4691
4689
|
);
|
|
4692
4690
|
return I ? /* @__PURE__ */ Ge(vn, { children: [
|
|
4693
4691
|
Sn,
|
|
4694
|
-
|
|
4692
|
+
hs,
|
|
4695
4693
|
/* @__PURE__ */ W(Bn, { table: Ne }),
|
|
4696
4694
|
/* @__PURE__ */ W(Ln, {})
|
|
4697
4695
|
] }) : /* @__PURE__ */ Ge(vn, { children: [
|
|
@@ -4700,7 +4698,7 @@ const Qr = 24, Xr = () => {
|
|
|
4700
4698
|
/* @__PURE__ */ W(Ln, {})
|
|
4701
4699
|
] });
|
|
4702
4700
|
}, Bn = ({ table: t }) => {
|
|
4703
|
-
const { active: e } = $o(), o = e?.data?.current?.type === "column" ? e?.id : null, s = j(() => o && t.getHeaderGroups()[0]?.headers.find((
|
|
4701
|
+
const { active: e } = $o(), o = e?.data?.current?.type === "column" ? e?.id : null, s = j(() => o && t.getHeaderGroups()[0]?.headers.find((m) => m.id === o) || null, [o, t]);
|
|
4704
4702
|
return !o || !s ? null : Ht(
|
|
4705
4703
|
/* @__PURE__ */ W(Jn, { dropAnimation: null, children: /* @__PURE__ */ W(
|
|
4706
4704
|
jn,
|
|
@@ -4727,7 +4725,7 @@ const Qr = 24, Xr = () => {
|
|
|
4727
4725
|
virtualPaddingLeft: n,
|
|
4728
4726
|
virtualPaddingRight: o,
|
|
4729
4727
|
isLoading: s,
|
|
4730
|
-
readOnlyColumns:
|
|
4728
|
+
readOnlyColumns: m,
|
|
4731
4729
|
sortableRows: h,
|
|
4732
4730
|
columnOrderIds: w,
|
|
4733
4731
|
...i
|
|
@@ -4739,7 +4737,7 @@ const Qr = 24, Xr = () => {
|
|
|
4739
4737
|
virtualPaddingLeft: n,
|
|
4740
4738
|
virtualPaddingRight: o,
|
|
4741
4739
|
isLoading: s,
|
|
4742
|
-
readOnlyColumns:
|
|
4740
|
+
readOnlyColumns: m,
|
|
4743
4741
|
sortableRows: h,
|
|
4744
4742
|
columnOrderIds: w
|
|
4745
4743
|
},
|
|
@@ -4750,7 +4748,7 @@ const Qr = 24, Xr = () => {
|
|
|
4750
4748
|
virtualPaddingLeft: n,
|
|
4751
4749
|
virtualPaddingRight: o,
|
|
4752
4750
|
isLoading: s,
|
|
4753
|
-
readOnlyColumns:
|
|
4751
|
+
readOnlyColumns: m,
|
|
4754
4752
|
sortableRows: h,
|
|
4755
4753
|
columnOrderIds: w
|
|
4756
4754
|
}) => {
|
|
@@ -4767,7 +4765,7 @@ const Qr = 24, Xr = () => {
|
|
|
4767
4765
|
{
|
|
4768
4766
|
header: a,
|
|
4769
4767
|
isLoading: s,
|
|
4770
|
-
isReadOnly:
|
|
4768
|
+
isReadOnly: m?.includes(a.id),
|
|
4771
4769
|
canSort: a.column.getCanSort(),
|
|
4772
4770
|
canFilter: a.column.getCanFilter(),
|
|
4773
4771
|
canHide: a.column.getCanHide(),
|
|
@@ -4790,13 +4788,13 @@ const Qr = 24, Xr = () => {
|
|
|
4790
4788
|
canFilter: n,
|
|
4791
4789
|
canHide: o,
|
|
4792
4790
|
canSort: s,
|
|
4793
|
-
canPin:
|
|
4791
|
+
canPin: m,
|
|
4794
4792
|
canResize: h,
|
|
4795
4793
|
isReadOnly: w,
|
|
4796
4794
|
sortableRows: i,
|
|
4797
4795
|
isDraggable: d = !0
|
|
4798
4796
|
}) => {
|
|
4799
|
-
const { column: a } = t, y = a.getIsSorted(),
|
|
4797
|
+
const { column: a } = t, y = a.getIsSorted(), g = `column-header-menu-${a.id}`, { menuOpen: T } = Xn(), b = T === g, { columnPinning: P, sorting: I, updateSorting: r } = nt(), l = (S) => {
|
|
4800
4798
|
const f = I?.find((F) => F.id === a.id);
|
|
4801
4799
|
if (S.shiftKey && I?.length) {
|
|
4802
4800
|
const F = f ? f.desc ? I.filter((O) => O.id !== a.id) : I.map((O) => O.id === a.id ? { ...O, desc: !0 } : O) : [...I, { id: a.id, desc: !1 }];
|
|
@@ -4844,16 +4842,16 @@ const Qr = 24, Xr = () => {
|
|
|
4844
4842
|
dn(a.columnDef.header, t.getContext()),
|
|
4845
4843
|
w && /* @__PURE__ */ W(pn, { icon: "lock", "data-tooltip": "You only have permission to read this column." }),
|
|
4846
4844
|
/* @__PURE__ */ Ge(oo, { className: "actions", $isOpen: b, ...R, children: [
|
|
4847
|
-
(o ||
|
|
4845
|
+
(o || m || s) && /* @__PURE__ */ W(
|
|
4848
4846
|
Hr,
|
|
4849
4847
|
{
|
|
4850
4848
|
className: "header-menu",
|
|
4851
4849
|
header: t,
|
|
4852
4850
|
canHide: o,
|
|
4853
|
-
canPin:
|
|
4851
|
+
canPin: m,
|
|
4854
4852
|
canSort: s,
|
|
4855
4853
|
isResizing: a.getIsResizing(),
|
|
4856
|
-
menuId:
|
|
4854
|
+
menuId: g,
|
|
4857
4855
|
isOpen: b
|
|
4858
4856
|
}
|
|
4859
4857
|
),
|
|
@@ -4906,14 +4904,14 @@ const Qr = 24, Xr = () => {
|
|
|
4906
4904
|
tableContainerRef: n,
|
|
4907
4905
|
showHierarchy: o,
|
|
4908
4906
|
virtualPaddingLeft: s,
|
|
4909
|
-
virtualPaddingRight:
|
|
4907
|
+
virtualPaddingRight: m,
|
|
4910
4908
|
attribs: h,
|
|
4911
4909
|
onOpenNew: w,
|
|
4912
4910
|
rowOrderIds: i,
|
|
4913
4911
|
sortableRows: d,
|
|
4914
4912
|
error: a,
|
|
4915
4913
|
isFilterError: y,
|
|
4916
|
-
filterErrorMessage:
|
|
4914
|
+
filterErrorMessage: g,
|
|
4917
4915
|
isLoading: T,
|
|
4918
4916
|
isGrouping: b,
|
|
4919
4917
|
getRowHeight: P,
|
|
@@ -4981,7 +4979,7 @@ const Qr = 24, Xr = () => {
|
|
|
4981
4979
|
visibleCells: F.getVisibleCells(),
|
|
4982
4980
|
virtualColumns: t.getVirtualItems(),
|
|
4983
4981
|
paddingLeft: s,
|
|
4984
|
-
paddingRight:
|
|
4982
|
+
paddingRight: m,
|
|
4985
4983
|
rowRef: k,
|
|
4986
4984
|
dataIndex: L.index,
|
|
4987
4985
|
offsetTop: L.start,
|
|
@@ -4996,7 +4994,7 @@ const Qr = 24, Xr = () => {
|
|
|
4996
4994
|
}
|
|
4997
4995
|
);
|
|
4998
4996
|
return a ? n.current && Ht(
|
|
4999
|
-
/* @__PURE__ */ W(kn, { children: y ? /* @__PURE__ */ Ge(sn, { message:
|
|
4997
|
+
/* @__PURE__ */ W(kn, { children: y ? /* @__PURE__ */ Ge(sn, { message: g, icon: "filter_alt_off", children: [
|
|
5000
4998
|
r && /* @__PURE__ */ W(
|
|
5001
4999
|
tn,
|
|
5002
5000
|
{
|
|
@@ -5027,7 +5025,7 @@ const Qr = 24, Xr = () => {
|
|
|
5027
5025
|
visibleCells: n,
|
|
5028
5026
|
virtualColumns: o,
|
|
5029
5027
|
paddingLeft: s,
|
|
5030
|
-
paddingRight:
|
|
5028
|
+
paddingRight: m,
|
|
5031
5029
|
rowRef: h,
|
|
5032
5030
|
dataIndex: w,
|
|
5033
5031
|
offsetTop: i,
|
|
@@ -5035,11 +5033,11 @@ const Qr = 24, Xr = () => {
|
|
|
5035
5033
|
isGrouping: a = !1,
|
|
5036
5034
|
rowHeight: y
|
|
5037
5035
|
}) => {
|
|
5038
|
-
const
|
|
5036
|
+
const g = d ? es({ id: t.id }) : null, T = je(null), b = q(
|
|
5039
5037
|
(I) => {
|
|
5040
|
-
T.current = I,
|
|
5038
|
+
T.current = I, g && g.setNodeRef(I), g && g.isDragging || h(I);
|
|
5041
5039
|
},
|
|
5042
|
-
[
|
|
5040
|
+
[g, h]
|
|
5043
5041
|
), P = {
|
|
5044
5042
|
position: "absolute",
|
|
5045
5043
|
// Use absolute positioning for virtualized items
|
|
@@ -5051,14 +5049,14 @@ const Qr = 24, Xr = () => {
|
|
|
5051
5049
|
// Span full width
|
|
5052
5050
|
height: y,
|
|
5053
5051
|
// Use dynamic row height
|
|
5054
|
-
zIndex:
|
|
5052
|
+
zIndex: g && g.isDragging ? 0 : 1,
|
|
5055
5053
|
// Ensure dragged item is above others
|
|
5056
5054
|
display: "flex",
|
|
5057
5055
|
// Styled.TR is display:flex
|
|
5058
|
-
transform:
|
|
5056
|
+
transform: g && g.transform ? ts.Transform.toString(g.transform) : void 0,
|
|
5059
5057
|
// Apply dnd-kit's transform for drag effect
|
|
5060
|
-
transition:
|
|
5061
|
-
visibility:
|
|
5058
|
+
transition: g && g.transition ? g.transition : void 0,
|
|
5059
|
+
visibility: g && g.isDragging ? "hidden" : "visible"
|
|
5062
5060
|
// Hide the row being dragged
|
|
5063
5061
|
};
|
|
5064
5062
|
return /* @__PURE__ */ Ge(
|
|
@@ -5102,14 +5100,14 @@ const Qr = 24, Xr = () => {
|
|
|
5102
5100
|
children: /* @__PURE__ */ W(
|
|
5103
5101
|
Wr,
|
|
5104
5102
|
{
|
|
5105
|
-
attributes:
|
|
5106
|
-
listeners:
|
|
5103
|
+
attributes: g?.attributes,
|
|
5104
|
+
listeners: g?.listeners
|
|
5107
5105
|
}
|
|
5108
5106
|
)
|
|
5109
5107
|
},
|
|
5110
5108
|
r.id
|
|
5111
5109
|
) : /* @__PURE__ */ W(
|
|
5112
|
-
|
|
5110
|
+
rs,
|
|
5113
5111
|
{
|
|
5114
5112
|
cell: r,
|
|
5115
5113
|
cellId: l,
|
|
@@ -5121,27 +5119,27 @@ const Qr = 24, Xr = () => {
|
|
|
5121
5119
|
r.id
|
|
5122
5120
|
);
|
|
5123
5121
|
}),
|
|
5124
|
-
|
|
5122
|
+
m ? (
|
|
5125
5123
|
//fake empty column to the right for virtualization scroll padding
|
|
5126
|
-
/* @__PURE__ */ W("td", { style: { display: "flex", width:
|
|
5124
|
+
/* @__PURE__ */ W("td", { style: { display: "flex", width: m } })
|
|
5127
5125
|
) : null
|
|
5128
5126
|
]
|
|
5129
5127
|
}
|
|
5130
5128
|
);
|
|
5131
|
-
},
|
|
5129
|
+
}, rs = ({
|
|
5132
5130
|
cell: t,
|
|
5133
5131
|
rowId: e,
|
|
5134
5132
|
cellId: n,
|
|
5135
5133
|
className: o,
|
|
5136
5134
|
showHierarchy: s,
|
|
5137
|
-
sortableRows:
|
|
5135
|
+
sortableRows: m,
|
|
5138
5136
|
rowHeight: h,
|
|
5139
5137
|
...w
|
|
5140
5138
|
}) => {
|
|
5141
5139
|
const { getEntityById: i, onOpenPlayer: d } = Ke(), {
|
|
5142
5140
|
isCellSelected: a,
|
|
5143
5141
|
isCellFocused: y,
|
|
5144
|
-
startSelection:
|
|
5142
|
+
startSelection: g,
|
|
5145
5143
|
extendSelection: T,
|
|
5146
5144
|
endSelection: b,
|
|
5147
5145
|
selectCell: P,
|
|
@@ -5219,16 +5217,16 @@ const Qr = 24, Xr = () => {
|
|
|
5219
5217
|
);
|
|
5220
5218
|
if (J) {
|
|
5221
5219
|
J.blur(), setTimeout(() => {
|
|
5222
|
-
|
|
5220
|
+
V();
|
|
5223
5221
|
}, 0);
|
|
5224
5222
|
return;
|
|
5225
5223
|
}
|
|
5226
5224
|
u(null);
|
|
5227
5225
|
}
|
|
5228
|
-
|
|
5229
|
-
function
|
|
5226
|
+
V();
|
|
5227
|
+
function V() {
|
|
5230
5228
|
const J = O.metaKey || O.ctrlKey || f;
|
|
5231
|
-
O.shiftKey ? P(n, J, !0) :
|
|
5229
|
+
O.shiftKey ? P(n, J, !0) : g(n, J), O.preventDefault();
|
|
5232
5230
|
}
|
|
5233
5231
|
},
|
|
5234
5232
|
onMouseOver: (O) => {
|
|
@@ -5296,10 +5294,10 @@ export {
|
|
|
5296
5294
|
nl as MarkdownWidget,
|
|
5297
5295
|
sl as MetaWidget,
|
|
5298
5296
|
ol as NEXT_PAGE_ID,
|
|
5299
|
-
|
|
5297
|
+
ns as NO_MATCH_FOLDER_ID,
|
|
5300
5298
|
Ms as ProjectDataContext,
|
|
5301
5299
|
aa as ProjectDataProvider,
|
|
5302
|
-
|
|
5300
|
+
As as ProjectTableContext,
|
|
5303
5301
|
oa as ProjectTableProvider,
|
|
5304
5302
|
$s as ProjectTableQueriesContext,
|
|
5305
5303
|
la as ProjectTableQueriesProvider,
|
|
@@ -5327,13 +5325,13 @@ export {
|
|
|
5327
5325
|
Kl as WRAP_MIN_CELL_HEIGHT,
|
|
5328
5326
|
ql as WRAP_MIN_ROW_HEIGHT,
|
|
5329
5327
|
Yl as allowedGroupByFields,
|
|
5330
|
-
|
|
5328
|
+
Rs as buildFolderTableRow,
|
|
5331
5329
|
yl as buildGroupId,
|
|
5332
5330
|
hl as buildProductTableRow,
|
|
5333
5331
|
Dr as buildQueryFilters,
|
|
5334
5332
|
Ea as buildRowScope,
|
|
5335
5333
|
Ca as buildSummaryFormat,
|
|
5336
|
-
|
|
5334
|
+
ks as buildTaskTableRow,
|
|
5337
5335
|
Il as buildVersionTableRow,
|
|
5338
5336
|
or as builtInFieldMappings,
|
|
5339
5337
|
St as checkColumnVisibility,
|
|
@@ -5362,12 +5360,11 @@ export {
|
|
|
5362
5360
|
qt as getCommonPinningStyles,
|
|
5363
5361
|
Vr as getEntitiesLabelFromScopes,
|
|
5364
5362
|
dt as getEntityDataById,
|
|
5365
|
-
ns as getEntityPath,
|
|
5366
5363
|
mn as getEntityViewierIds,
|
|
5367
5364
|
$r as getFilterErrorMessage,
|
|
5368
5365
|
Er as getFolderIdsToQueryFromExpanded,
|
|
5369
5366
|
Tl as getLinkColumnId,
|
|
5370
|
-
|
|
5367
|
+
Ds as getLinkEntityIdsByColumnId,
|
|
5371
5368
|
Sl as getLinkKey,
|
|
5372
5369
|
vl as getLinkLabel,
|
|
5373
5370
|
Ys as getNameColumnLabel,
|
|
@@ -5401,13 +5398,13 @@ export {
|
|
|
5401
5398
|
he as parseCellId,
|
|
5402
5399
|
Fn as parseClipboardText,
|
|
5403
5400
|
Nl as parseGroupId,
|
|
5404
|
-
|
|
5401
|
+
ss as parseMetaRowId,
|
|
5405
5402
|
Gn as parseRowId,
|
|
5406
5403
|
Ml as parseScopedColumnId,
|
|
5407
5404
|
rr as processFieldValue,
|
|
5408
5405
|
sc as queryFilterToClientFilter,
|
|
5409
5406
|
cc as resolveRelativeValue,
|
|
5410
|
-
|
|
5407
|
+
os as sanitizeQueryFilter,
|
|
5411
5408
|
dr as sanitizeSubtaskName,
|
|
5412
5409
|
Sa as scopeHasGroups,
|
|
5413
5410
|
va as scopeHasRows,
|
|
@@ -5428,7 +5425,7 @@ export {
|
|
|
5428
5425
|
fa as useEntitiesMap,
|
|
5429
5426
|
ya as useExpandedState,
|
|
5430
5427
|
da as useFetchOverviewData,
|
|
5431
|
-
|
|
5428
|
+
xs as useGetEntityTypeData,
|
|
5432
5429
|
Jl as useGetGroupedFields,
|
|
5433
5430
|
ec as useGroupCounts,
|
|
5434
5431
|
Vl as useOptionalCellEditing,
|