@ynput/ayon-frontend-shared 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.es.js +39 -39
- package/dist/ListTable.es.js +738 -651
- package/dist/NewEntity.es.js +2 -2
- package/dist/ProjectTreeTable.es.js +827 -827
- package/dist/Slicer.es.js +10 -10
- package/dist/Views.es.js +36 -34
- package/dist/chunks/ColumnDropIndicator.es.js +27 -21
- package/dist/chunks/EntityPickerDialog.es.js +19 -19
- package/dist/chunks/Feed.es.js +77 -77
- package/dist/chunks/FilmstripEntityCard.es.js +1 -1
- package/dist/chunks/MetaWidget.es.js +444 -439
- package/dist/chunks/ReviewablesSelector.es.js +1 -1
- package/dist/chunks/Slicer.es.js +32 -32
- package/dist/chunks/TableExportContextInstance.es.js +408 -469
- package/dist/chunks/Watchers.es.js +1 -1
- package/dist/chunks/getUris.es.js +1069 -1057
- package/dist/chunks/useLocalStorage.es.js +78 -0
- package/dist/components.es.js +50 -50
- package/dist/context.es.js +348 -337
- package/dist/hooks.es.js +218 -187
- package/dist/types/Actions.d.ts +17 -16
- package/dist/types/ContextMenu.d.ts +17 -16
- package/dist/types/DetailsPanel.d.ts +17 -16
- package/dist/types/EntityPickerDialog.d.ts +17 -16
- package/dist/types/Feed.d.ts +17 -16
- package/dist/types/ListTable.d.ts +27 -17
- package/dist/types/NewEntity.d.ts +17 -16
- package/dist/types/ProjectTreeTable.d.ts +18 -16
- package/dist/types/ProjectsTable.d.ts +17 -16
- package/dist/types/RepresentationsList.d.ts +17 -16
- package/dist/types/SimpleTable.d.ts +17 -16
- package/dist/types/Slicer.d.ts +17 -16
- package/dist/types/Views.d.ts +18 -17
- package/dist/types/api.d.ts +18 -17
- package/dist/types/components.d.ts +18 -17
- package/dist/types/context.d.ts +26 -17
- package/dist/types/hooks.d.ts +20 -17
- package/dist/types/index.d.ts +17 -16
- package/dist/types/util.d.ts +17 -16
- package/package.json +1 -1
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import rt, { useCallback as X, useSyncExternalStore as to, useMemo as H, useId as no, useEffect as Ve, useState as
|
|
1
|
+
import { jsx as j, jsxs as Ue, Fragment as yn } from "react/jsx-runtime";
|
|
2
|
+
import rt, { useCallback as X, useSyncExternalStore as to, useMemo as H, useId as no, useEffect as Ve, useState as je, useRef as He, useLayoutEffect as so, createElement as oo } from "react";
|
|
3
3
|
import { useVirtualizer as ms } from "@tanstack/react-virtual";
|
|
4
|
-
import { functionalUpdate as Ot, useReactTable as ro, filterFns as io, getSortedRowModel as ao, getExpandedRowModel as lo, getFilteredRowModel as co, getCoreRowModel as uo, flexRender as
|
|
4
|
+
import { functionalUpdate as Ot, useReactTable as ro, filterFns as io, getSortedRowModel as ao, getExpandedRowModel as lo, getFilteredRowModel as co, getCoreRowModel as uo, flexRender as Tn } from "@tanstack/react-table";
|
|
5
5
|
import Ze from "clsx";
|
|
6
|
-
import { v as gs, w as fo, x as po, y as Hn, z as mo, F as Tt, a as
|
|
7
|
-
import { B as dc, aA as uc, aB as fc, aC as pc, aD as mc, aE as gc, aF as yc, D as hc, aG as bc, aH as Ic, aI as wc, aJ as Cc, aK as Tc, aL as Sc, aM as vc, E as Ec, aN as xc, aO as kc, aP as Rc, aQ as Ac, aR as Pc, aS as Dc, M as Lc, aT as Oc, aU as _c, aV as Nc, aW as Mc, aX as Fc, aY as $c, aZ as Vc, a_ as zc, a$ as Bc, b0 as Uc, b1 as Gc, t as
|
|
8
|
-
import { c as Xo, T as Yo, g as
|
|
9
|
-
import { SEARCH_FILTER_ID as Jo, Icon as Mt, applyMixedChange as Zo, Button as
|
|
6
|
+
import { v as gs, w as fo, x as po, y as Hn, z as mo, F as Tt, a as ct, G as go, H as ys, I as yo, b as qe, J as dt, K as ln, N as cn, O as tt, p as ue, Q as ho, R as Wt, V as bo, W as Io, X as wo, Y as Co, Z as To, P as So, _ as vo, $ as hs, a0 as Fe, a1 as Eo, a2 as xo, g as Sn, a3 as ko, a4 as St, a5 as Zt, U as Kn, a6 as Ro, a7 as hn, a8 as Lt, a9 as Ao, aa as Po, C as Do, ab as Lo, ac as vn, ad as Oo, ae as _o, af as No, ag as Mo, ah as Fo, ai as bs, aj as En, ak as $o, al as Vo, am as zo, an as Bo, ao as qn, ap as Uo, aq as Is, ar as Go, as as ws, j as Qn, at as jo, au as Wo, av as Cs, aw as Ho, ax as Ko, ay as qo, az as Qo } from "./chunks/MetaWidget.es.js";
|
|
7
|
+
import { B as dc, aA as uc, aB as fc, aC as pc, aD as mc, aE as gc, aF as yc, D as hc, aG as bc, aH as Ic, aI as wc, aJ as Cc, aK as Tc, aL as Sc, aM as vc, E as Ec, aN as xc, aO as kc, aP as Rc, aQ as Ac, aR as Pc, aS as Dc, M as Lc, aT as Oc, aU as _c, aV as Nc, aW as Mc, aX as Fc, aY as $c, aZ as Vc, a_ as zc, a$ as Bc, b0 as Uc, b1 as Gc, t as jc, T as Wc, b2 as Hc, b3 as Kc, b4 as qc, b5 as Qc, b6 as Xc, b7 as Yc, b8 as Jc, b9 as Zc, ba as ed, bb as td, bc as nd, bd as sd, be as od, bf as rd, bg as id, bh as ad, bi as ld, bj as cd, bk as dd, bl as ud, bm as fd, bn as pd, bo as md, bp as gd, bq as yd, br as hd, bs as bd, bt as Id, bu as wd, bv as Cd, i as Td, bw as Sd, h as vd, bx as Ed } from "./chunks/MetaWidget.es.js";
|
|
8
|
+
import { c as Xo, T as Yo, g as nn, d as sn, H as Xn } from "./chunks/addonColumnTags.es.js";
|
|
9
|
+
import { SEARCH_FILTER_ID as Jo, Icon as Mt, applyMixedChange as Zo, Button as dn } from "@ynput/ayon-react-components";
|
|
10
10
|
import "@module-federation/enhanced/runtime";
|
|
11
11
|
import { menuItemsAt as er, usePiece as tr, reportContributionError as nr, onTableColumnRefresh as sr } from "@ynput/ayon-addon/host";
|
|
12
12
|
import { toast as Oe } from "react-toastify";
|
|
13
13
|
import { aH as Yn, bs as Ts } from "./chunks/searchTerms.es.js";
|
|
14
|
-
import { aZ as or, aK as rr, dB as Ss, dK as
|
|
14
|
+
import { aZ as or, aK as rr, dB as Ss, dK as Yt, c2 as ir, cA as ar, c3 as lr, ch as cr, bC as Jn, ct as dr, bR as ur, ar as fr, dM as pr, cY as mr } from "./chunks/getUris.es.js";
|
|
15
15
|
import { dN as kd, dL as Rd } from "./chunks/getUris.es.js";
|
|
16
16
|
import "primereact/confirmdialog";
|
|
17
17
|
import { isEqual as Ct, debounce as gr, throttle as yr } from "lodash";
|
|
18
18
|
import "uuid";
|
|
19
|
-
import { v as vs, g as
|
|
19
|
+
import { v as vs, g as bn, R as pe, D as We, e as hr, M as xn } from "./chunks/realtimeUpdatesUtils.es.js";
|
|
20
20
|
import { C as Pd, L as Dd, l as Ld, W as Od, m as _d } from "./chunks/realtimeUpdatesUtils.es.js";
|
|
21
21
|
import "axios";
|
|
22
|
-
import {
|
|
22
|
+
import { o as Ge, c as br, ab as Ir, aj as wr, n as Cr, u as Es, b as Tr, a6 as Sr } from "./chunks/TableExportContextInstance.es.js";
|
|
23
23
|
import "semver";
|
|
24
24
|
import "./chunks/ContextMenuContextInstance.es.js";
|
|
25
|
-
import { createPortal as
|
|
25
|
+
import { createPortal as en } from "react-dom";
|
|
26
26
|
import "react-router-dom";
|
|
27
27
|
import { a9 as vr, T as Er } from "./chunks/FilmstripEntityCard.es.js";
|
|
28
28
|
import "lexical";
|
|
@@ -36,21 +36,21 @@ import "@lexical/selection";
|
|
|
36
36
|
import "@lexical/utils";
|
|
37
37
|
import "@lexical/react/LexicalBlockWithAlignableContents";
|
|
38
38
|
import "@lexical/react/LexicalDecoratorBlockNode";
|
|
39
|
-
import { addonColumnId as xr, ADDON_COLUMN_PREFIX as kr, useContributions as xs, prefetchPiece as
|
|
39
|
+
import { addonColumnId as xr, ADDON_COLUMN_PREFIX as kr, useContributions as xs, prefetchPiece as In, runContribution as Rr, ContributionView as Ar } from "@ynput/ayon-addon";
|
|
40
40
|
import { i as Pr, u as Dr, T as Zn } from "./chunks/ColumnDropIndicator.es.js";
|
|
41
41
|
import { a as Md, b as Fd, c as $d } from "./chunks/ColumnDropIndicator.es.js";
|
|
42
42
|
import "react-redux";
|
|
43
43
|
import { C as Lr } from "./chunks/ColumnHeaderMenuUI.es.js";
|
|
44
|
-
import { useSensors as Or, useSensor as
|
|
44
|
+
import { useSensors as Or, useSensor as un, MouseSensor as _r, TouchSensor as Nr, KeyboardSensor as Mr, closestCenter as es, DndContext as Fr, useDndMonitor as $r, DragOverlay as ks, useDndContext as Vr } from "@dnd-kit/core";
|
|
45
45
|
import { arrayMove as ts, SortableContext as Rs, verticalListSortingStrategy as zr, horizontalListSortingStrategy as Br, useSortable as As } from "@dnd-kit/sortable";
|
|
46
46
|
import { l as Ur } from "./chunks/sortLists.es.js";
|
|
47
|
-
import { E as
|
|
47
|
+
import { E as fn } from "./chunks/EmptyPlaceholder.es.js";
|
|
48
48
|
import "./chunks/EmptyPlaceholderFlex.styled.es.js";
|
|
49
49
|
import { I as Gr } from "./chunks/InfoMessage.es.js";
|
|
50
|
-
import { F as
|
|
51
|
-
import { u as
|
|
50
|
+
import { F as jr } from "./chunks/FilterErrorActions.es.js";
|
|
51
|
+
import { u as Wr } from "./chunks/useLoadModule.es.js";
|
|
52
52
|
import { u as Hr } from "./chunks/useCreateContextMenu.es.js";
|
|
53
|
-
import { a as
|
|
53
|
+
import { a as Ht, K as Kt } from "./chunks/platform.es.js";
|
|
54
54
|
import { u as Kr } from "./chunks/useHierarchySelection.es.js";
|
|
55
55
|
import { n as wt } from "./chunks/entityDefinitions.es.js";
|
|
56
56
|
import { CSS as Ps } from "@dnd-kit/utilities";
|
|
@@ -58,15 +58,15 @@ import { u as qr } from "./chunks/useAttributeEnums.es.js";
|
|
|
58
58
|
import { a as zd } from "./chunks/useAttributeEnums.es.js";
|
|
59
59
|
import { g as Qr, A as Xr } from "./chunks/SimpleTable.es.js";
|
|
60
60
|
import { a as Yr } from "./chunks/queryFilterToClientFilter.es.js";
|
|
61
|
-
import { c as Ud, q as Gd, t as
|
|
61
|
+
import { c as Ud, q as Gd, t as jd, b as Wd } from "./chunks/queryFilterToClientFilter.es.js";
|
|
62
62
|
import { e as Jr } from "./chunks/expandRelativeDates.es.js";
|
|
63
63
|
import { c as Kd, i as qd, r as Qd } from "./chunks/expandRelativeDates.es.js";
|
|
64
64
|
import { r as Zr, a as ei } from "./chunks/refreshActiveAndPurgeOthers.es.js";
|
|
65
65
|
import { u as ti } from "./chunks/useGroupedPagination.es.js";
|
|
66
66
|
import { g as ni } from "./chunks/getGroupByDataType.es.js";
|
|
67
|
-
const
|
|
68
|
-
const n = t.target, s = n instanceof Element ? n.closest(`[${
|
|
69
|
-
return !!s && s.getAttribute(
|
|
67
|
+
const wn = "data-project-table-id", kn = (t, e) => {
|
|
68
|
+
const n = t.target, s = n instanceof Element ? n.closest(`[${wn}]`) : null;
|
|
69
|
+
return !!s && s.getAttribute(wn) !== e;
|
|
70
70
|
}, _t = (t = 50, e = {}, n = "table") => new Array(t).fill(0).map((s, o) => ({
|
|
71
71
|
id: `loading-${n}-${o}`,
|
|
72
72
|
primary: {
|
|
@@ -95,12 +95,12 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
95
95
|
), l = new Set(s), g = /* @__PURE__ */ new Set();
|
|
96
96
|
for (const a of o)
|
|
97
97
|
l.has(a) || g.add(a);
|
|
98
|
-
const
|
|
98
|
+
const m = {};
|
|
99
99
|
for (const a of g) {
|
|
100
100
|
const c = n.get(a);
|
|
101
|
-
c && (
|
|
101
|
+
c && (m[a] = c.taskNames?.length || 0);
|
|
102
102
|
}
|
|
103
|
-
return
|
|
103
|
+
return m;
|
|
104
104
|
}, ri = ({
|
|
105
105
|
users: t,
|
|
106
106
|
statuses: e,
|
|
@@ -110,13 +110,13 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
110
110
|
tags: l,
|
|
111
111
|
scopes: g
|
|
112
112
|
}) => {
|
|
113
|
-
const
|
|
113
|
+
const m = (a) => e.filter(
|
|
114
114
|
(c) => !c.scope || a.some((i) => c.scope?.includes(i))
|
|
115
|
-
).map(({ name: c, color: i, icon:
|
|
115
|
+
).map(({ name: c, color: i, icon: p, scope: u }) => ({
|
|
116
116
|
value: c,
|
|
117
117
|
label: c,
|
|
118
118
|
color: i,
|
|
119
|
-
icon:
|
|
119
|
+
icon: p,
|
|
120
120
|
scope: u
|
|
121
121
|
}));
|
|
122
122
|
return {
|
|
@@ -127,9 +127,9 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
127
127
|
icon: `/api/users/${a}/avatar`,
|
|
128
128
|
hidden: i
|
|
129
129
|
})).sort((a, c) => Ur.compare(a.label, c.label)),
|
|
130
|
-
status:
|
|
131
|
-
folderStatus:
|
|
132
|
-
taskStatus:
|
|
130
|
+
status: m(g),
|
|
131
|
+
folderStatus: m(["folder"]),
|
|
132
|
+
taskStatus: m(["task"]),
|
|
133
133
|
tag: l.map(({ name: a, color: c }) => ({ value: a, label: a, color: c })),
|
|
134
134
|
folderType: n.map(({ name: a, icon: c, color: i }) => ({
|
|
135
135
|
value: a,
|
|
@@ -160,11 +160,11 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
160
160
|
}, ai = (t, e, n = []) => {
|
|
161
161
|
let s = t.filter((c) => c.readOnly).map((c) => c.name), o;
|
|
162
162
|
const l = [];
|
|
163
|
-
let g = !1,
|
|
163
|
+
let g = !1, m = !1;
|
|
164
164
|
if (e) {
|
|
165
|
-
const c = new Set(e), i = (
|
|
166
|
-
Object.entries(ii).forEach(([
|
|
167
|
-
i(u) || (l.push(
|
|
165
|
+
const c = new Set(e), i = (p) => p.some((u) => c.has(u));
|
|
166
|
+
Object.entries(ii).forEach(([p, u]) => {
|
|
167
|
+
i(u) || (l.push(p), p === "folderType" && (g = !0), p === "taskType" && (m = !0));
|
|
168
168
|
});
|
|
169
169
|
}
|
|
170
170
|
if (n?.includes("attrib") ? (s = t.filter((c) => c.builtin || c.readOnly).map((c) => c.name), o = /* @__PURE__ */ new Set([
|
|
@@ -184,9 +184,9 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
184
184
|
]), n && n.forEach((c) => {
|
|
185
185
|
if (c.startsWith("attrib_")) {
|
|
186
186
|
const i = c.replace("attrib_", "");
|
|
187
|
-
t.find((
|
|
187
|
+
t.find((p) => p.name === i) && !s.includes(i) && s.push(i);
|
|
188
188
|
}
|
|
189
|
-
})), g &&
|
|
189
|
+
})), g && m && (o.add("subType"), s.includes("subType") || s.push("subType")), l.length)
|
|
190
190
|
for (const c of l)
|
|
191
191
|
s.includes(c) || s.push(c);
|
|
192
192
|
s.push(...gs);
|
|
@@ -233,7 +233,7 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
233
233
|
parsedData: o,
|
|
234
234
|
columnEnums: l,
|
|
235
235
|
columnReadOnly: g,
|
|
236
|
-
rowIndex:
|
|
236
|
+
rowIndex: m,
|
|
237
237
|
colIndex: a,
|
|
238
238
|
isSingleCellValue: c,
|
|
239
239
|
attribFields: i = []
|
|
@@ -274,7 +274,7 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
274
274
|
if (c)
|
|
275
275
|
o[0].values[0] = w;
|
|
276
276
|
else {
|
|
277
|
-
const N =
|
|
277
|
+
const N = m % o.length, P = a % o[N].values.length;
|
|
278
278
|
o[N].values[P] = w;
|
|
279
279
|
}
|
|
280
280
|
return !0;
|
|
@@ -323,16 +323,16 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
323
323
|
if (c)
|
|
324
324
|
o[0].values[0] = N;
|
|
325
325
|
else {
|
|
326
|
-
const P =
|
|
326
|
+
const P = m % o.length, I = a % o[P].values.length;
|
|
327
327
|
o[P].values[I] = N;
|
|
328
328
|
}
|
|
329
329
|
return !0;
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
|
-
let
|
|
334
|
-
if (
|
|
335
|
-
const u = l[
|
|
333
|
+
let p = e === "subType" ? n ? "folderType" : "taskType" : e;
|
|
334
|
+
if (p = li[p] || p, !(p in l)) return !0;
|
|
335
|
+
const u = l[p];
|
|
336
336
|
if (!Array.isArray(u) || u.length === 0) return !0;
|
|
337
337
|
const y = s.split(",").map((r) => r.trim()), { validValues: S, hasInvalidValues: C } = y.reduce(
|
|
338
338
|
(r, b) => {
|
|
@@ -347,13 +347,13 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
347
347
|
{ validValues: [], hasInvalidValues: !1 }
|
|
348
348
|
);
|
|
349
349
|
if (C)
|
|
350
|
-
return Be(`Invalid ${
|
|
350
|
+
return Be(`Invalid ${p === "folderType" || p === "taskType" ? `${n ? "folder" : "task"} type` : p} value: "${s}". Paste operation cancelled.`), !1;
|
|
351
351
|
const v = S.join(", ");
|
|
352
352
|
if (v !== s)
|
|
353
353
|
if (c)
|
|
354
354
|
o[0].values[0] = v;
|
|
355
355
|
else {
|
|
356
|
-
const r =
|
|
356
|
+
const r = m % o.length, b = a % o[r].values.length;
|
|
357
357
|
o[r].values[b] = v;
|
|
358
358
|
}
|
|
359
359
|
return !0;
|
|
@@ -376,19 +376,19 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
376
376
|
t.endDate || "",
|
|
377
377
|
(t.assignees || []).join(", "),
|
|
378
378
|
t.isDone ? "Done" : "Todo"
|
|
379
|
-
].join(" "),
|
|
379
|
+
].join(" "), pn = (t) => {
|
|
380
380
|
const e = t.trim().split(`
|
|
381
381
|
`);
|
|
382
382
|
if (e.length === 0) return [];
|
|
383
383
|
const n = e[0].toLowerCase();
|
|
384
384
|
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((g) => {
|
|
385
|
-
const
|
|
386
|
-
if (
|
|
387
|
-
let a, c, i,
|
|
388
|
-
|
|
385
|
+
const m = g.split(" ");
|
|
386
|
+
if (m.length < 6) return null;
|
|
387
|
+
let a, c, i, p, u, y, S, C;
|
|
388
|
+
m.length >= 8 ? ([a, c, i, p, u, y, S, C] = m, a = a || void 0, c = c || void 0) : [i, p, u, y, S, C] = m.slice(0, 6);
|
|
389
389
|
const v = S ? S.split(",").map((d) => d.trim()).filter(Boolean) : [], r = C?.toLowerCase().trim() === "done", b = {
|
|
390
390
|
label: i || "",
|
|
391
|
-
name:
|
|
391
|
+
name: p || "",
|
|
392
392
|
assignees: v,
|
|
393
393
|
isDone: r
|
|
394
394
|
};
|
|
@@ -415,12 +415,12 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
415
415
|
}, mi = (t) => {
|
|
416
416
|
let e = t.replace(/[^a-zA-Z0-9_\.\-]/g, "_");
|
|
417
417
|
return e.length > 0 && !/^[a-zA-Z0-9_]/.test(e) && (e = "s_" + e), e.length > 0 && !/[a-zA-Z0-9_]$/.test(e) && (e = e + "_"), e || (e = "subtask"), e;
|
|
418
|
-
},
|
|
418
|
+
}, qt = (t) => String(t).padStart(2, "0"), gi = (t) => {
|
|
419
419
|
if (!t) return "";
|
|
420
420
|
const e = new Date(t);
|
|
421
|
-
return isNaN(e.getTime()) ? "" : `${
|
|
421
|
+
return isNaN(e.getTime()) ? "" : `${qt(e.getDate())}/${qt(e.getMonth() + 1)}/${e.getFullYear()} ${qt(
|
|
422
422
|
e.getHours()
|
|
423
|
-
)}:${
|
|
423
|
+
)}:${qt(e.getMinutes())}`;
|
|
424
424
|
}, yi = (t) => t.replace(/ /gi, " ").replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/'/gi, "'").replace(/&/gi, "&"), hi = (t) => {
|
|
425
425
|
if (!t) return "";
|
|
426
426
|
let e = t;
|
|
@@ -431,9 +431,9 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
431
431
|
}, bi = (t = []) => t.map(
|
|
432
432
|
(e) => [hi(e.body), e.author, gi(e.createdAt)].filter(Boolean).join(" - ")
|
|
433
433
|
).join(`
|
|
434
|
-
`), ss = (t) => t.startsWith(kr), os = (t) => xr(t.addon.name, t.id), Ls = (t, e) => !t.pages?.length || t.pages.includes(e), Ii = "stale", vt = /* @__PURE__ */ new Map(),
|
|
434
|
+
`), ss = (t) => t.startsWith(kr), os = (t) => xr(t.addon.name, t.id), Ls = (t, e) => !t.pages?.length || t.pages.includes(e), Ii = "stale", vt = /* @__PURE__ */ new Map(), Jt = /* @__PURE__ */ new Map(), Os = (t, e) => `${t}/${e}`, _s = (t, e) => {
|
|
435
435
|
for (const n of e)
|
|
436
|
-
|
|
436
|
+
Jt.get(Os(t, n))?.forEach((s) => s());
|
|
437
437
|
}, Nt = (t, e) => vt.get(t)?.get(e), rs = (t, e) => {
|
|
438
438
|
const n = vt.get(t) || /* @__PURE__ */ new Map();
|
|
439
439
|
vt.set(t, n), Object.entries(e).forEach(([s, o]) => n.set(s, o)), _s(t, Object.keys(e));
|
|
@@ -446,9 +446,9 @@ const Cn = "data-project-table-id", Rn = (t, e) => {
|
|
|
446
446
|
}, Ti = (t, e) => {
|
|
447
447
|
const n = X(
|
|
448
448
|
(s) => {
|
|
449
|
-
const o = Os(t, e), l =
|
|
450
|
-
return
|
|
451
|
-
l.delete(s), l.size ||
|
|
449
|
+
const o = Os(t, e), l = Jt.get(o) || /* @__PURE__ */ new Set();
|
|
450
|
+
return Jt.set(o, l.add(s)), () => {
|
|
451
|
+
l.delete(s), l.size || Jt.delete(o);
|
|
452
452
|
};
|
|
453
453
|
},
|
|
454
454
|
[t, e]
|
|
@@ -466,12 +466,12 @@ function vi({
|
|
|
466
466
|
expanded: o,
|
|
467
467
|
showHierarchy: l,
|
|
468
468
|
isFlatFolderView: g = !1,
|
|
469
|
-
showEmptyFolders:
|
|
469
|
+
showEmptyFolders: m = !1,
|
|
470
470
|
loadingTasks: a = {},
|
|
471
471
|
isLoadingMore: c = !1,
|
|
472
472
|
selectedFolders: i = []
|
|
473
473
|
}) {
|
|
474
|
-
const
|
|
474
|
+
const p = Ge(), u = fo({ projectInfo: p }), y = H(() => JSON.stringify(o), [o]), S = H(() => new Set(
|
|
475
475
|
Object.entries(o).filter(([b, d]) => d).map(([b]) => b)
|
|
476
476
|
), [y]), { childToParentMap: C, parentToChildrenMap: v } = H(() => {
|
|
477
477
|
const b = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map();
|
|
@@ -502,10 +502,10 @@ function vi({
|
|
|
502
502
|
return H(() => {
|
|
503
503
|
const b = (P, I) => {
|
|
504
504
|
const h = u("task", P.taskType), E = po(P, t.get(I || P.folderId));
|
|
505
|
-
return E.primary.icon = h?.icon || null, E.primary.color = h?.color || null, E.primary.links = Hn(P.links, "task",
|
|
505
|
+
return E.primary.icon = h?.icon || null, E.primary.color = h?.color || null, E.primary.links = Hn(P.links, "task", p.anatomy), E.subRows = [], E;
|
|
506
506
|
}, d = (P) => {
|
|
507
507
|
const I = u("folder", P.folderType), h = mo(P);
|
|
508
|
-
return h.primary.icon = I?.icon || null, h.primary.color = I?.color || null, h.primary.links = Hn(P.links, "folder",
|
|
508
|
+
return h.primary.icon = I?.icon || null, h.primary.color = I?.color || null, h.primary.links = Hn(P.links, "folder", p.anatomy), h.subRows = [], h;
|
|
509
509
|
}, f = () => {
|
|
510
510
|
const P = [];
|
|
511
511
|
for (const I of i) {
|
|
@@ -523,7 +523,7 @@ function vi({
|
|
|
523
523
|
for (const I of t.values()) {
|
|
524
524
|
if (!I?.id) continue;
|
|
525
525
|
const h = I.hasTasks ?? s.has(I.id);
|
|
526
|
-
if (!
|
|
526
|
+
if (!m && !h) continue;
|
|
527
527
|
const E = d(I);
|
|
528
528
|
if (E.childOnlyMatch = I.childOnlyMatch || !1, S.has(I.id)) {
|
|
529
529
|
const D = (s.get(I.id) || []).flatMap((z) => e.get(z) || []);
|
|
@@ -600,7 +600,7 @@ function vi({
|
|
|
600
600
|
S,
|
|
601
601
|
l,
|
|
602
602
|
g,
|
|
603
|
-
|
|
603
|
+
m,
|
|
604
604
|
a,
|
|
605
605
|
c,
|
|
606
606
|
i
|
|
@@ -623,7 +623,7 @@ function Ei({
|
|
|
623
623
|
C && (y.has(C) || y.set(C, []), y.get(C).push(S.id));
|
|
624
624
|
}
|
|
625
625
|
return y;
|
|
626
|
-
}, [e]),
|
|
626
|
+
}, [e]), m = X(
|
|
627
627
|
(y) => {
|
|
628
628
|
const S = [], C = [y], v = /* @__PURE__ */ new Set();
|
|
629
629
|
for (; C.length > 0; ) {
|
|
@@ -686,7 +686,7 @@ function Ei({
|
|
|
686
686
|
return C;
|
|
687
687
|
},
|
|
688
688
|
[s]
|
|
689
|
-
),
|
|
689
|
+
), p = X(
|
|
690
690
|
(y) => {
|
|
691
691
|
if (!y.length) return [];
|
|
692
692
|
const S = [], C = /* @__PURE__ */ new Map();
|
|
@@ -694,7 +694,7 @@ function Ei({
|
|
|
694
694
|
if (v.entityType !== "folder") continue;
|
|
695
695
|
const r = Object.entries(v.attrib);
|
|
696
696
|
if (!r.length) continue;
|
|
697
|
-
const d =
|
|
697
|
+
const d = m(v.entityId).filter(
|
|
698
698
|
(f) => !y.find((w) => w.entityId === f.id)
|
|
699
699
|
);
|
|
700
700
|
if (d.length)
|
|
@@ -729,7 +729,7 @@ function Ei({
|
|
|
729
729
|
}
|
|
730
730
|
return S;
|
|
731
731
|
},
|
|
732
|
-
[
|
|
732
|
+
[m, t, c, a]
|
|
733
733
|
), u = X(
|
|
734
734
|
(y, S, C) => {
|
|
735
735
|
const v = s(y);
|
|
@@ -748,8 +748,8 @@ function Ei({
|
|
|
748
748
|
);
|
|
749
749
|
return {
|
|
750
750
|
folderChildrenMap: g,
|
|
751
|
-
getChildrenEntities:
|
|
752
|
-
getInheritedDependents:
|
|
751
|
+
getChildrenEntities: m,
|
|
752
|
+
getInheritedDependents: p,
|
|
753
753
|
findInheritedValueFromAncestors: u,
|
|
754
754
|
findNonInheritedValues: i,
|
|
755
755
|
getAncestorsOf: a
|
|
@@ -763,11 +763,11 @@ const Pl = ({
|
|
|
763
763
|
entitiesMap: o,
|
|
764
764
|
tasksByFolderMap: l,
|
|
765
765
|
selectedFolders: g,
|
|
766
|
-
expanded:
|
|
766
|
+
expanded: m,
|
|
767
767
|
showHierarchy: a,
|
|
768
768
|
loadingTasks: c,
|
|
769
769
|
isLoadingMore: i,
|
|
770
|
-
isLoading:
|
|
770
|
+
isLoading: p,
|
|
771
771
|
error: u,
|
|
772
772
|
softError: y,
|
|
773
773
|
softErrorAction: S,
|
|
@@ -791,7 +791,7 @@ const Pl = ({
|
|
|
791
791
|
powerpack: T,
|
|
792
792
|
modules: R,
|
|
793
793
|
loadingLinksEntityIds: $,
|
|
794
|
-
groupByConfig:
|
|
794
|
+
groupByConfig: B,
|
|
795
795
|
hierarchyOptions: K,
|
|
796
796
|
hierarchyActive: G,
|
|
797
797
|
isFlatFolderView: _,
|
|
@@ -803,7 +803,7 @@ const Pl = ({
|
|
|
803
803
|
onResetView: ve,
|
|
804
804
|
hiddenListIds: he,
|
|
805
805
|
readOnly: te,
|
|
806
|
-
useParams:
|
|
806
|
+
useParams: ge,
|
|
807
807
|
useNavigate: Ee,
|
|
808
808
|
useLocation: Q,
|
|
809
809
|
useSearchParams: J,
|
|
@@ -813,24 +813,24 @@ const Pl = ({
|
|
|
813
813
|
const { attrib: O } = Ge(), {
|
|
814
814
|
groupBy: Z,
|
|
815
815
|
groupByConfig: { showEmpty: F = !0 } = {}
|
|
816
|
-
} =
|
|
816
|
+
} = ct(), ne = vi({
|
|
817
817
|
foldersMap: e,
|
|
818
818
|
tasksMap: s,
|
|
819
819
|
rows: n,
|
|
820
820
|
tasksByFolderMap: l,
|
|
821
|
-
expanded:
|
|
821
|
+
expanded: m,
|
|
822
822
|
showHierarchy: a,
|
|
823
823
|
isFlatFolderView: _,
|
|
824
824
|
showEmptyFolders: F,
|
|
825
825
|
loadingTasks: c,
|
|
826
826
|
isLoadingMore: i,
|
|
827
827
|
selectedFolders: g
|
|
828
|
-
}),
|
|
828
|
+
}), W = _ ? void 0 : w || Z, se = go({
|
|
829
829
|
entities: o,
|
|
830
|
-
entityType:
|
|
830
|
+
entityType: B?.entityType || "unknown",
|
|
831
831
|
groups: d,
|
|
832
832
|
attribFields: r,
|
|
833
|
-
showEmpty: F,
|
|
833
|
+
showEmpty: F && !B?.hideEmpty,
|
|
834
834
|
groupRowFunc: f,
|
|
835
835
|
groupCounts: N,
|
|
836
836
|
groupCountsComplete: P
|
|
@@ -838,9 +838,9 @@ const Pl = ({
|
|
|
838
838
|
() => r.filter((we) => we.scope?.some((Pe) => b.includes(Pe))),
|
|
839
839
|
[r, b]
|
|
840
840
|
), Ae = H(
|
|
841
|
-
() => !!
|
|
842
|
-
[
|
|
843
|
-
), Se =
|
|
841
|
+
() => !!W && se(W),
|
|
842
|
+
[W, se]
|
|
843
|
+
), Se = W && !_ && Ae ? Ae : ne, be = X(
|
|
844
844
|
(we, Pe = "entityId") => {
|
|
845
845
|
if (typeof we != "string") {
|
|
846
846
|
console.warn("getEntityById called with non-string id:", we);
|
|
@@ -870,7 +870,7 @@ const Pl = ({
|
|
|
870
870
|
), {
|
|
871
871
|
getInheritedDependents: $e,
|
|
872
872
|
getChildrenEntities: x,
|
|
873
|
-
findInheritedValueFromAncestors:
|
|
873
|
+
findInheritedValueFromAncestors: U,
|
|
874
874
|
findNonInheritedValues: le,
|
|
875
875
|
getAncestorsOf: ie
|
|
876
876
|
} = Ei({
|
|
@@ -882,27 +882,27 @@ const Pl = ({
|
|
|
882
882
|
attribFields: r
|
|
883
883
|
}), Le = X(
|
|
884
884
|
(we, Pe) => {
|
|
885
|
-
const Re = typeof
|
|
885
|
+
const Re = typeof m == "object" ? m : {}, _e = { ...Re };
|
|
886
886
|
we.forEach((Ne) => {
|
|
887
|
-
const Qe = x(Ne).map((Xe) => Xe.id),
|
|
888
|
-
(Pe !== void 0 ? !Pe :
|
|
887
|
+
const Qe = x(Ne).map((Xe) => Xe.id), ut = Re[Ne] || !1;
|
|
888
|
+
(Pe !== void 0 ? !Pe : ut) ? (_e[Ne] = !1, Qe.forEach((Xe) => {
|
|
889
889
|
_e[Xe] = !1;
|
|
890
890
|
})) : (_e[Ne] = !0, Qe.forEach((Xe) => {
|
|
891
891
|
_e[Xe] = !0;
|
|
892
892
|
}));
|
|
893
893
|
}), A(_e);
|
|
894
894
|
},
|
|
895
|
-
[
|
|
895
|
+
[m, x, A]
|
|
896
896
|
), Ke = X(
|
|
897
897
|
(we, Pe) => {
|
|
898
|
-
const Re = typeof
|
|
898
|
+
const Re = typeof m == "object" ? m : {}, _e = { ...Re };
|
|
899
899
|
we.forEach((Ne) => {
|
|
900
900
|
Pe !== void 0 ? _e[Ne] = Pe : _e[Ne] = !Re[Ne];
|
|
901
901
|
}), A(_e);
|
|
902
902
|
},
|
|
903
|
-
[
|
|
903
|
+
[m, A]
|
|
904
904
|
);
|
|
905
|
-
return /* @__PURE__ */
|
|
905
|
+
return /* @__PURE__ */ j(
|
|
906
906
|
yo.Provider,
|
|
907
907
|
{
|
|
908
908
|
value: {
|
|
@@ -910,7 +910,7 @@ const Pl = ({
|
|
|
910
910
|
tableData: Se,
|
|
911
911
|
// forwarded on
|
|
912
912
|
isInitialized: C,
|
|
913
|
-
isLoading:
|
|
913
|
+
isLoading: p,
|
|
914
914
|
error: u,
|
|
915
915
|
softError: y,
|
|
916
916
|
softErrorAction: S,
|
|
@@ -935,7 +935,7 @@ const Pl = ({
|
|
|
935
935
|
// flat folder view
|
|
936
936
|
isFlatFolderView: _,
|
|
937
937
|
// expanded state
|
|
938
|
-
expanded:
|
|
938
|
+
expanded: m,
|
|
939
939
|
setExpanded: A,
|
|
940
940
|
toggleExpanded: E,
|
|
941
941
|
updateExpanded: k,
|
|
@@ -947,7 +947,7 @@ const Pl = ({
|
|
|
947
947
|
tableId: ke,
|
|
948
948
|
// folder relationships
|
|
949
949
|
getInheritedDependents: $e,
|
|
950
|
-
findInheritedValueFromAncestors:
|
|
950
|
+
findInheritedValueFromAncestors: U,
|
|
951
951
|
findNonInheritedValues: le,
|
|
952
952
|
getAncestorsOf: ie,
|
|
953
953
|
// context menu
|
|
@@ -964,7 +964,7 @@ const Pl = ({
|
|
|
964
964
|
onResetView: ve,
|
|
965
965
|
hiddenListIds: he,
|
|
966
966
|
// router hooks
|
|
967
|
-
useParams:
|
|
967
|
+
useParams: ge,
|
|
968
968
|
useNavigate: Ee,
|
|
969
969
|
useLocation: Q,
|
|
970
970
|
useSearchParams: J,
|
|
@@ -975,7 +975,7 @@ const Pl = ({
|
|
|
975
975
|
}
|
|
976
976
|
);
|
|
977
977
|
}, xi = (t) => {
|
|
978
|
-
const { projectName: e } = Ge(), { getEntityById: n } = qe(), s = e, { history: o } =
|
|
978
|
+
const { projectName: e } = Ge(), { getEntityById: n } = qe(), s = e, { history: o } = dt(), [l] = or(), [g] = rr();
|
|
979
979
|
return { pasteTableLinks: X(
|
|
980
980
|
async (a) => {
|
|
981
981
|
if (!s || !a.length) return;
|
|
@@ -984,7 +984,7 @@ const Pl = ({
|
|
|
984
984
|
const S = `${y.sourceEntityId}-${y.linkType}-${y.direction}`;
|
|
985
985
|
c.has(S) || c.set(S, []), c.get(S).push(y);
|
|
986
986
|
}
|
|
987
|
-
const i = [],
|
|
987
|
+
const i = [], p = [], u = [];
|
|
988
988
|
for (const [, y] of c) {
|
|
989
989
|
const { sourceEntityId: S } = y[0], C = /* @__PURE__ */ new Set();
|
|
990
990
|
if (y.forEach((v) => v.targetEntityIds.forEach((r) => C.add(r))), C.has(S)) {
|
|
@@ -1025,7 +1025,7 @@ const Pl = ({
|
|
|
1025
1025
|
projectName: s
|
|
1026
1026
|
});
|
|
1027
1027
|
for (const k of N) {
|
|
1028
|
-
const D =
|
|
1028
|
+
const D = bn();
|
|
1029
1029
|
P.push({
|
|
1030
1030
|
targetEntityId: k,
|
|
1031
1031
|
linkId: D,
|
|
@@ -1044,7 +1044,7 @@ const Pl = ({
|
|
|
1044
1044
|
}), console.log(k);
|
|
1045
1045
|
for (const D of N)
|
|
1046
1046
|
if (!k.has(D)) {
|
|
1047
|
-
const z =
|
|
1047
|
+
const z = bn();
|
|
1048
1048
|
P.push({
|
|
1049
1049
|
targetEntityId: D,
|
|
1050
1050
|
linkId: z,
|
|
@@ -1057,11 +1057,11 @@ const Pl = ({
|
|
|
1057
1057
|
});
|
|
1058
1058
|
}
|
|
1059
1059
|
}
|
|
1060
|
-
I.length > 0 && (i.push(
|
|
1060
|
+
I.length > 0 && (i.push(ln(I, l)), u.push(...I)), P.length > 0 && (i.push(cn(P, g)), p.push(...P));
|
|
1061
1061
|
}
|
|
1062
1062
|
try {
|
|
1063
|
-
if (await Promise.all(i), o && (
|
|
1064
|
-
const y =
|
|
1063
|
+
if (await Promise.all(i), o && (p.length > 0 || u.length > 0)) {
|
|
1064
|
+
const y = p.map((r) => ({
|
|
1065
1065
|
id: r.linkId,
|
|
1066
1066
|
projectName: r.projectName,
|
|
1067
1067
|
linkType: r.linkType,
|
|
@@ -1079,11 +1079,11 @@ const Pl = ({
|
|
|
1079
1079
|
projectName: r.projectName
|
|
1080
1080
|
})), C = () => {
|
|
1081
1081
|
const r = [];
|
|
1082
|
-
y.length && r.push(
|
|
1082
|
+
y.length && r.push(ln(y, l)), S.length && r.push(cn(S, g)), r.length && Promise.all(r).catch(() => {
|
|
1083
1083
|
});
|
|
1084
1084
|
}, v = () => {
|
|
1085
1085
|
const r = [];
|
|
1086
|
-
u.length && r.push(
|
|
1086
|
+
u.length && r.push(ln(u, l)), p.length && r.push(cn(p, g)), r.length && Promise.all(r).catch(() => {
|
|
1087
1087
|
});
|
|
1088
1088
|
};
|
|
1089
1089
|
o.pushHistory([C], [v]);
|
|
@@ -1120,7 +1120,7 @@ const Pl = ({
|
|
|
1120
1120
|
columnReadOnly: s,
|
|
1121
1121
|
visibleColumns: o
|
|
1122
1122
|
}) => {
|
|
1123
|
-
const { selectedCells: l, gridMap: g, focusedCellId:
|
|
1123
|
+
const { selectedCells: l, gridMap: g, focusedCellId: m } = tt(), { updateEntities: a, history: c } = dt(), { pasteTableLinks: i } = xi(), { getEntityById: p, attribFields: u, tableData: y, isRowReadOnly: S, tableId: C } = qe(), v = H(() => {
|
|
1124
1124
|
const E = /* @__PURE__ */ new Map(), k = (D) => {
|
|
1125
1125
|
for (const z of D)
|
|
1126
1126
|
E.set(z.id, z), z.subRows?.length && k(z.subRows);
|
|
@@ -1147,7 +1147,7 @@ const Pl = ({
|
|
|
1147
1147
|
const q = g.rowIdToIndex.get(_) ?? 1 / 0, re = g.rowIdToIndex.get(L) ?? 1 / 0;
|
|
1148
1148
|
return q - re;
|
|
1149
1149
|
});
|
|
1150
|
-
let
|
|
1150
|
+
let B = "";
|
|
1151
1151
|
const K = $[0];
|
|
1152
1152
|
if (!K) return "";
|
|
1153
1153
|
const G = Array.from(R.get(K) || []).sort((_, L) => {
|
|
@@ -1158,34 +1158,34 @@ const Pl = ({
|
|
|
1158
1158
|
const _ = [];
|
|
1159
1159
|
for (const L of G)
|
|
1160
1160
|
_.push(M(L));
|
|
1161
|
-
|
|
1161
|
+
B += _.join(A) + `
|
|
1162
1162
|
`;
|
|
1163
1163
|
}
|
|
1164
1164
|
for (const _ of $) {
|
|
1165
|
-
const L =
|
|
1165
|
+
const L = p(_);
|
|
1166
1166
|
if (!L) {
|
|
1167
1167
|
console.warn(`Entity not found for rowId: ${_}`);
|
|
1168
1168
|
continue;
|
|
1169
1169
|
}
|
|
1170
|
-
const q = v.get(_), ve = Array.from(R.get(_) || []).sort((te,
|
|
1171
|
-
const Ee = g.colIdToIndex.get(te) ?? 1 / 0, Q = g.colIdToIndex.get(
|
|
1170
|
+
const q = v.get(_), ve = Array.from(R.get(_) || []).sort((te, ge) => {
|
|
1171
|
+
const Ee = g.colIdToIndex.get(te) ?? 1 / 0, Q = g.colIdToIndex.get(ge) ?? 1 / 0;
|
|
1172
1172
|
return Ee - Q;
|
|
1173
1173
|
}).filter((te) => te !== pe), he = [];
|
|
1174
1174
|
for (const te of ve) {
|
|
1175
|
-
let
|
|
1175
|
+
let ge = "";
|
|
1176
1176
|
if (ss(te))
|
|
1177
|
-
|
|
1177
|
+
ge = Si(te, L.entityId || L.id);
|
|
1178
1178
|
else if (te.startsWith("link_"))
|
|
1179
|
-
|
|
1179
|
+
ge = ho(L.links, te);
|
|
1180
1180
|
else if (te === "subtasks") {
|
|
1181
|
-
const Q =
|
|
1182
|
-
|
|
1181
|
+
const Q = Wt(L, te) || [];
|
|
1182
|
+
ge = fi(Q, L.id, L.name);
|
|
1183
1183
|
} else if (te === "comments") {
|
|
1184
|
-
const Q =
|
|
1185
|
-
|
|
1184
|
+
const Q = Wt(L, "latestComments") || [];
|
|
1185
|
+
ge = bi(Q);
|
|
1186
1186
|
} else {
|
|
1187
1187
|
const Q = Di[te] || te;
|
|
1188
|
-
let J = te === "task_entity" ? q?.parents?.task?.label || q?.parents?.task?.name || L.task?.label || L.task?.name :
|
|
1188
|
+
let J = te === "task_entity" ? q?.parents?.task?.label || q?.parents?.task?.name || L.task?.label || L.task?.name : Wt(L, Q);
|
|
1189
1189
|
if (te === "folder_entity") {
|
|
1190
1190
|
const V = q && bo(q);
|
|
1191
1191
|
if (V)
|
|
@@ -1196,35 +1196,35 @@ const Pl = ({
|
|
|
1196
1196
|
}
|
|
1197
1197
|
}
|
|
1198
1198
|
if (q && (Pi.has(te) || J === void 0 || J === null || J === "" || typeof J == "object")) {
|
|
1199
|
-
const V =
|
|
1199
|
+
const V = Wt(q, Q);
|
|
1200
1200
|
V != null && V !== "" && (J = V);
|
|
1201
1201
|
}
|
|
1202
1202
|
if (!J) {
|
|
1203
1203
|
const V = u.find((O) => O.name === te.replace("attrib_", ""));
|
|
1204
1204
|
V && V.data.type === "boolean" ? J = !1 : V && V.data.type?.includes("list_of") && (J = []);
|
|
1205
1205
|
}
|
|
1206
|
-
if (
|
|
1206
|
+
if (ge = J != null ? String(J) : "", te === "name" && (ge = (q?.primary.entityType === "version" ? q.primary.label || q.primary.name : void 0) || e.get(L.entityId || L.id)?.name || q?.label || q?.primary?.name || L.label || L.name || ""), te === "subType") {
|
|
1207
1207
|
const V = q?.subType ?? L.subType;
|
|
1208
|
-
typeof V == "string" && V ?
|
|
1208
|
+
typeof V == "string" && V ? ge = V : ("folderType" in L && (ge = L.folderType || ""), "taskType" in L && (ge = L.taskType || ""));
|
|
1209
1209
|
}
|
|
1210
1210
|
}
|
|
1211
1211
|
const Ee = te === "subtasks" && A === " ";
|
|
1212
|
-
he.push(Ee ?
|
|
1212
|
+
he.push(Ee ? ge.replace(/"/g, '""') : M(ge));
|
|
1213
1213
|
}
|
|
1214
|
-
|
|
1214
|
+
B += he.join(A) + `
|
|
1215
1215
|
`;
|
|
1216
1216
|
}
|
|
1217
|
-
return
|
|
1217
|
+
return B;
|
|
1218
1218
|
} catch (T) {
|
|
1219
1219
|
console.error("Failed to copy to clipboard:", T);
|
|
1220
1220
|
}
|
|
1221
1221
|
},
|
|
1222
1222
|
[
|
|
1223
1223
|
l,
|
|
1224
|
-
|
|
1224
|
+
m,
|
|
1225
1225
|
g,
|
|
1226
1226
|
e,
|
|
1227
|
-
|
|
1227
|
+
p,
|
|
1228
1228
|
o,
|
|
1229
1229
|
v
|
|
1230
1230
|
]
|
|
@@ -1294,11 +1294,11 @@ const Pl = ({
|
|
|
1294
1294
|
pi(z) && (A = !0);
|
|
1295
1295
|
const T = ns(z);
|
|
1296
1296
|
if (!T.length) return;
|
|
1297
|
-
const R = T.length === 1 && T[0].values.length === 1, $ = o.map((Q) => Q.id).filter((Q) => Q !== pe),
|
|
1297
|
+
const R = T.length === 1 && T[0].values.length === 1, $ = o.map((Q) => Q.id).filter((Q) => Q !== pe), B = (Q, J, V) => {
|
|
1298
1298
|
const O = {};
|
|
1299
1299
|
return V && V.length > 0 ? V.forEach((Z, F) => {
|
|
1300
1300
|
const ne = J.find(
|
|
1301
|
-
(
|
|
1301
|
+
(W) => W === Z || W.replace("attrib_", "") === Z || W === `attrib_${Z}` || W.toLowerCase() === Z.toLowerCase()
|
|
1302
1302
|
);
|
|
1303
1303
|
ne && F < Q.values.length && (O[ne] = Q.values[F]);
|
|
1304
1304
|
}) : J.forEach((Z, F) => {
|
|
@@ -1322,10 +1322,10 @@ const Pl = ({
|
|
|
1322
1322
|
return V - O;
|
|
1323
1323
|
});
|
|
1324
1324
|
for (let Q = 0; Q < _.length; Q++) {
|
|
1325
|
-
const J = _[Q], V = Tt(J, e)?.entityType, O = V === "folder", Z = V === "product" || V === "version", F = Q % T.length, ne = T[F],
|
|
1325
|
+
const J = _[Q], V = Tt(J, e)?.entityType, O = V === "folder", Z = V === "product" || V === "version", F = Q % T.length, ne = T[F], W = R ? { [q[0]]: T[0].values[0] } : B(ne, q, K);
|
|
1326
1326
|
for (const se of q) {
|
|
1327
1327
|
if (se === "subType" && Z) continue;
|
|
1328
|
-
const de =
|
|
1328
|
+
const de = W[se] || "";
|
|
1329
1329
|
if (!ui({
|
|
1330
1330
|
colId: se,
|
|
1331
1331
|
isFolder: O,
|
|
@@ -1347,10 +1347,10 @@ const Pl = ({
|
|
|
1347
1347
|
if (J === "subtasks") {
|
|
1348
1348
|
let F = [], ne = !1;
|
|
1349
1349
|
if (A) {
|
|
1350
|
-
const
|
|
1351
|
-
`), se =
|
|
1350
|
+
const W = M.trim().split(`
|
|
1351
|
+
`), se = W[0].toLowerCase(), Ae = se.includes("label") && se.includes("name") && se.includes("start date") && se.includes("end date") && se.includes("assignees") && se.includes("status") ? W.slice(1) : W, Se = /* @__PURE__ */ new Map(), be = [];
|
|
1352
1352
|
Ae.forEach((Te) => {
|
|
1353
|
-
const ke =
|
|
1353
|
+
const ke = pn(Te);
|
|
1354
1354
|
if (ke.length === 0) return;
|
|
1355
1355
|
const Ie = ke[0], $e = `${Ie.taskId || ""}|${Ie.taskName || ""}`;
|
|
1356
1356
|
Se.has($e) || (Se.set($e, []), be.push($e)), Se.get($e).push(Ie);
|
|
@@ -1363,10 +1363,10 @@ const Pl = ({
|
|
|
1363
1363
|
});
|
|
1364
1364
|
}), ne = F.length <= 1;
|
|
1365
1365
|
}
|
|
1366
|
-
for (let
|
|
1367
|
-
const se = _[
|
|
1366
|
+
for (let W = 0; W < _.length; W++) {
|
|
1367
|
+
const se = _[W], de = Tt(se, e)?.entityType;
|
|
1368
1368
|
if (de !== "task") continue;
|
|
1369
|
-
const Ae =
|
|
1369
|
+
const Ae = p(se), Se = Ae?.entityId || se, be = `${se}-${de}`;
|
|
1370
1370
|
re.has(be) || re.set(be, {
|
|
1371
1371
|
rowId: se,
|
|
1372
1372
|
id: Se,
|
|
@@ -1382,20 +1382,20 @@ const Pl = ({
|
|
|
1382
1382
|
if (ne && F.length > 0)
|
|
1383
1383
|
Ie = F[0].subtasks;
|
|
1384
1384
|
else if (F.length > 0) {
|
|
1385
|
-
const x =
|
|
1385
|
+
const x = W % F.length;
|
|
1386
1386
|
Ie = F[x].subtasks;
|
|
1387
1387
|
}
|
|
1388
1388
|
} else if (R) {
|
|
1389
1389
|
const x = T[0].values[0];
|
|
1390
|
-
Ie =
|
|
1390
|
+
Ie = pn(x);
|
|
1391
1391
|
} else {
|
|
1392
|
-
const x =
|
|
1393
|
-
Ie =
|
|
1392
|
+
const x = W % T.length, U = T[x], le = Q % U.values.length, ie = U.values[le];
|
|
1393
|
+
Ie = pn(ie);
|
|
1394
1394
|
}
|
|
1395
1395
|
if (!Ie || Ie.length === 0) continue;
|
|
1396
|
-
const $e = Ie.map((x,
|
|
1397
|
-
id:
|
|
1398
|
-
name: mi(x.name || x.label || `Subtask ${
|
|
1396
|
+
const $e = Ie.map((x, U) => ({
|
|
1397
|
+
id: bn(),
|
|
1398
|
+
name: mi(x.name || x.label || `Subtask ${U + 1}`),
|
|
1399
1399
|
label: x.label || "",
|
|
1400
1400
|
assignees: x.assignees || [],
|
|
1401
1401
|
description: x.label || "",
|
|
@@ -1404,7 +1404,7 @@ const Pl = ({
|
|
|
1404
1404
|
isDone: x.isDone || !1
|
|
1405
1405
|
}));
|
|
1406
1406
|
if (D === "merge") {
|
|
1407
|
-
const x = [...ke],
|
|
1407
|
+
const x = [...ke], U = new Set(
|
|
1408
1408
|
ke.map((le) => {
|
|
1409
1409
|
const ie = (le.label || "").toLowerCase(), Le = (le.name || "").toLowerCase();
|
|
1410
1410
|
return `${ie}|${Le}`;
|
|
@@ -1412,17 +1412,17 @@ const Pl = ({
|
|
|
1412
1412
|
);
|
|
1413
1413
|
for (const le of $e) {
|
|
1414
1414
|
const ie = (le.label || "").toLowerCase(), Le = (le.name || "").toLowerCase(), Ke = `${ie}|${Le}`;
|
|
1415
|
-
|
|
1415
|
+
U.has(Ke) || x.push(le);
|
|
1416
1416
|
}
|
|
1417
1417
|
Te.subtasks = x;
|
|
1418
1418
|
} else {
|
|
1419
|
-
const x = $e.map((
|
|
1419
|
+
const x = $e.map((U) => {
|
|
1420
1420
|
const le = ke.find(
|
|
1421
|
-
(ie) => (ie.label || "").toLowerCase() === (
|
|
1421
|
+
(ie) => (ie.label || "").toLowerCase() === (U.label || "").toLowerCase() && (ie.name || "").toLowerCase() === (U.name || "").toLowerCase()
|
|
1422
1422
|
);
|
|
1423
1423
|
return {
|
|
1424
|
-
...
|
|
1425
|
-
id: le?.id ||
|
|
1424
|
+
...U,
|
|
1425
|
+
id: le?.id || U.id
|
|
1426
1426
|
};
|
|
1427
1427
|
});
|
|
1428
1428
|
Te.subtasks = x;
|
|
@@ -1433,13 +1433,13 @@ const Pl = ({
|
|
|
1433
1433
|
let V = !1, O = !1, Z = "string";
|
|
1434
1434
|
if (_.length > 0) {
|
|
1435
1435
|
const F = _[0];
|
|
1436
|
-
if (
|
|
1436
|
+
if (p(F))
|
|
1437
1437
|
if (V = J.startsWith("attrib_"), O = J.startsWith("link_"), J === "status" || J === "subType")
|
|
1438
1438
|
Z = "string", V = !1;
|
|
1439
1439
|
else if (J === "tags" || J === "assignees")
|
|
1440
1440
|
Z = "array";
|
|
1441
1441
|
else if (V) {
|
|
1442
|
-
const
|
|
1442
|
+
const W = J.replace("attrib_", ""), se = u.find((de) => de.name === W);
|
|
1443
1443
|
if (se)
|
|
1444
1444
|
switch (se.data.type) {
|
|
1445
1445
|
case "boolean":
|
|
@@ -1461,44 +1461,44 @@ const Pl = ({
|
|
|
1461
1461
|
} else O && (Z = "array");
|
|
1462
1462
|
}
|
|
1463
1463
|
for (let F = 0; F < _.length; F++) {
|
|
1464
|
-
const ne = _[F],
|
|
1464
|
+
const ne = _[F], W = Tt(ne, e)?.entityType, se = W === "folder";
|
|
1465
1465
|
let de;
|
|
1466
1466
|
if (R)
|
|
1467
1467
|
de = T[0].values[0];
|
|
1468
1468
|
else {
|
|
1469
1469
|
const $e = F % T.length, x = T[$e];
|
|
1470
1470
|
if (x.values.length > q.length) {
|
|
1471
|
-
const
|
|
1471
|
+
const U = g.colIdToIndex.get(q[0]) ?? 0, le = Array.from(g.colIdToIndex.keys()).filter((we) => we !== pe).sort((we, Pe) => {
|
|
1472
1472
|
const Re = g.colIdToIndex.get(we) ?? 1 / 0, _e = g.colIdToIndex.get(Pe) ?? 1 / 0;
|
|
1473
1473
|
return Re - _e;
|
|
1474
1474
|
}), ie = le.findIndex(
|
|
1475
|
-
(we) => g.colIdToIndex.get(we) ===
|
|
1475
|
+
(we) => g.colIdToIndex.get(we) === U
|
|
1476
1476
|
), Ke = le.slice(
|
|
1477
1477
|
ie,
|
|
1478
1478
|
ie + x.values.length
|
|
1479
1479
|
).indexOf(J);
|
|
1480
1480
|
de = x.values[Ke] || x.values[Ke % x.values.length];
|
|
1481
1481
|
} else {
|
|
1482
|
-
const
|
|
1483
|
-
de = x.values[
|
|
1482
|
+
const U = Q % x.values.length;
|
|
1483
|
+
de = x.values[U];
|
|
1484
1484
|
}
|
|
1485
1485
|
}
|
|
1486
1486
|
let Ae = J.split("_").pop() || J;
|
|
1487
|
-
if (J === "subType" && (
|
|
1487
|
+
if (J === "subType" && (W === "product" || W === "version" || (Ae = se ? "folderType" : "taskType", V = !1, !de)))
|
|
1488
1488
|
continue;
|
|
1489
|
-
const Se = ci(de, Z), Te =
|
|
1490
|
-
!re.has(ke) &&
|
|
1489
|
+
const Se = ci(de, Z), Te = p(ne)?.entityId || ne, ke = `${ne}-${W}`;
|
|
1490
|
+
!re.has(ke) && W && re.set(ke, {
|
|
1491
1491
|
rowId: ne,
|
|
1492
1492
|
id: Te,
|
|
1493
|
-
type:
|
|
1493
|
+
type: W,
|
|
1494
1494
|
fields: {},
|
|
1495
1495
|
attrib: {},
|
|
1496
1496
|
links: {}
|
|
1497
1497
|
});
|
|
1498
1498
|
const Ie = re.get(ke);
|
|
1499
1499
|
if (O) {
|
|
1500
|
-
const [$e, x,
|
|
1501
|
-
Ie.links[`${x}|${
|
|
1500
|
+
const [$e, x, U, le, ie] = J.split("_");
|
|
1501
|
+
Ie.links[`${x}|${U}|${le}_${ie}`] = Se;
|
|
1502
1502
|
} else V ? Ie.attrib[Ae] = Se : Ie.fields[Ae] = Se;
|
|
1503
1503
|
}
|
|
1504
1504
|
}
|
|
@@ -1524,7 +1524,7 @@ const Pl = ({
|
|
|
1524
1524
|
}), Object.entries(Q.links).forEach(([J, V]) => {
|
|
1525
1525
|
const [O, Z] = J.split("_"), F = O.split("|");
|
|
1526
1526
|
if (F.length >= 3) {
|
|
1527
|
-
const ne = F[0],
|
|
1527
|
+
const ne = F[0], W = F[1], se = F[2], de = `${ne}|${W}|${se}`, Ae = Z === "out" ? se : W, Se = `${Q.id}-${de}-${Z}`;
|
|
1528
1528
|
he.set(Se, {
|
|
1529
1529
|
rowId: Q.rowId,
|
|
1530
1530
|
sourceEntityId: Q.id,
|
|
@@ -1538,27 +1538,27 @@ const Pl = ({
|
|
|
1538
1538
|
}
|
|
1539
1539
|
});
|
|
1540
1540
|
});
|
|
1541
|
-
const te = Array.from(he.values()),
|
|
1541
|
+
const te = Array.from(he.values()), ge = [];
|
|
1542
1542
|
re.forEach((Q) => {
|
|
1543
|
-
Q.subtasks &&
|
|
1543
|
+
Q.subtasks && ge.push({
|
|
1544
1544
|
taskId: Q.id,
|
|
1545
1545
|
subtasks: Q.subtasks,
|
|
1546
1546
|
previousSubtasks: Q.previousSubtasks
|
|
1547
1547
|
});
|
|
1548
1548
|
});
|
|
1549
1549
|
const Ee = [];
|
|
1550
|
-
if (ve.length > 0 && Ee.push(a(ve)), te.length > 0 && Ee.push(i(te)),
|
|
1551
|
-
c &&
|
|
1550
|
+
if (ve.length > 0 && Ee.push(a(ve)), te.length > 0 && Ee.push(i(te)), ge.length > 0) {
|
|
1551
|
+
c && ge.forEach(({ taskId: J, subtasks: V, previousSubtasks: O }) => {
|
|
1552
1552
|
const Z = O || [], F = V || [], ne = () => {
|
|
1553
1553
|
b({ projectName: r, taskId: J, subtasks: Z }).unwrap().catch(() => {
|
|
1554
1554
|
});
|
|
1555
|
-
},
|
|
1555
|
+
}, W = () => {
|
|
1556
1556
|
b({ projectName: r, taskId: J, subtasks: F }).unwrap().catch(() => {
|
|
1557
1557
|
});
|
|
1558
1558
|
};
|
|
1559
|
-
c.pushHistory([ne], [
|
|
1559
|
+
c.pushHistory([ne], [W]);
|
|
1560
1560
|
});
|
|
1561
|
-
const Q =
|
|
1561
|
+
const Q = ge.map(
|
|
1562
1562
|
({ taskId: J, subtasks: V }) => b({ projectName: r, taskId: J, subtasks: V }).unwrap()
|
|
1563
1563
|
);
|
|
1564
1564
|
Ee.push(...Q);
|
|
@@ -1577,7 +1577,7 @@ const Pl = ({
|
|
|
1577
1577
|
a,
|
|
1578
1578
|
i,
|
|
1579
1579
|
n,
|
|
1580
|
-
|
|
1580
|
+
p,
|
|
1581
1581
|
S,
|
|
1582
1582
|
o,
|
|
1583
1583
|
u,
|
|
@@ -1588,7 +1588,7 @@ const Pl = ({
|
|
|
1588
1588
|
);
|
|
1589
1589
|
Ve(() => {
|
|
1590
1590
|
const E = async (k) => {
|
|
1591
|
-
if (!
|
|
1591
|
+
if (!kn(k, C)) {
|
|
1592
1592
|
if ((k.ctrlKey || k.metaKey) && k.key === "c") {
|
|
1593
1593
|
const D = document.activeElement, z = D?.closest("table") !== null || D?.closest(".table-container") !== null || D?.tagName === "TD" || D?.tagName === "TH", A = D?.tagName === "INPUT" || D?.tagName === "TEXTAREA" || D?.isContentEditable;
|
|
1594
1594
|
if ((window.getSelection()?.toString().length ?? !1) && !z || A && !z)
|
|
@@ -1621,7 +1621,7 @@ const Pl = ({
|
|
|
1621
1621
|
}),
|
|
1622
1622
|
[w, I]
|
|
1623
1623
|
);
|
|
1624
|
-
return /* @__PURE__ */
|
|
1624
|
+
return /* @__PURE__ */ j(Io.Provider, { value: h, children: t });
|
|
1625
1625
|
}, Dl = ({
|
|
1626
1626
|
children: t,
|
|
1627
1627
|
config: e,
|
|
@@ -1629,22 +1629,22 @@ const Pl = ({
|
|
|
1629
1629
|
defaultColumnVisibility: s,
|
|
1630
1630
|
columnIdAliases: o
|
|
1631
1631
|
}) => {
|
|
1632
|
-
const l = rt.useRef([]), g = rt.useRef(null),
|
|
1632
|
+
const l = rt.useRef([]), g = rt.useRef(null), m = rt.useRef(null), a = rt.useRef(null), c = rt.useRef(void 0), i = rt.useRef(null), [p, u] = je(null), [y, S] = je(null), [C, v] = je(null), r = (x) => {
|
|
1633
1633
|
l.current = Array.from(new Set(x));
|
|
1634
1634
|
}, b = () => l.current, d = (x) => {
|
|
1635
|
-
const
|
|
1636
|
-
if (
|
|
1635
|
+
const U = l.current, le = /* @__PURE__ */ new Set([We, pe]);
|
|
1636
|
+
if (U.length > 0) {
|
|
1637
1637
|
const ie = { ...x.columnVisibility };
|
|
1638
|
-
|
|
1639
|
-
!le.has(we) && ie[we] === void 0 && (ie[we] =
|
|
1638
|
+
U.forEach((we) => {
|
|
1639
|
+
!le.has(we) && ie[we] === void 0 && (ie[we] = Yt({}, we, s));
|
|
1640
1640
|
}), le.forEach((we) => delete ie[we]);
|
|
1641
1641
|
const Ke = (x.columnOrder?.length ? x.columnOrder : _).filter((we) => !le.has(we));
|
|
1642
1642
|
n(
|
|
1643
1643
|
{ ...x, columnVisibility: ie, columnOrder: Ke },
|
|
1644
|
-
|
|
1644
|
+
U
|
|
1645
1645
|
);
|
|
1646
1646
|
} else
|
|
1647
|
-
n(x,
|
|
1647
|
+
n(x, U);
|
|
1648
1648
|
}, f = wo(e, o), {
|
|
1649
1649
|
columnOrder: w = [],
|
|
1650
1650
|
columnPinning: N = {},
|
|
@@ -1658,35 +1658,35 @@ const Pl = ({
|
|
|
1658
1658
|
columnSummaryScopes: A = {},
|
|
1659
1659
|
columnSummaryFormats: M = {}
|
|
1660
1660
|
} = f || {};
|
|
1661
|
-
c.current !== D && c.current !== void 0 && (y !== null && S(null),
|
|
1662
|
-
const T = y ?? D, R = [...h],
|
|
1663
|
-
G.forEach((x,
|
|
1664
|
-
if (!
|
|
1665
|
-
const le = G[
|
|
1666
|
-
if (!le || !
|
|
1667
|
-
|
|
1661
|
+
c.current !== D && c.current !== void 0 && (y !== null && S(null), m.current && (clearTimeout(m.current), m.current = null)), c.current = D;
|
|
1662
|
+
const T = y ?? D, R = [...h], B = [...C ?? [...w]], K = { ...N }, G = ["thumbnail", "name", "subType", "status", "tags"];
|
|
1663
|
+
G.forEach((x, U) => {
|
|
1664
|
+
if (!B.includes(x)) {
|
|
1665
|
+
const le = G[U - 1], ie = G[U + 1];
|
|
1666
|
+
if (!le || !B.includes(le))
|
|
1667
|
+
B.unshift(x);
|
|
1668
1668
|
else {
|
|
1669
|
-
const Le =
|
|
1670
|
-
|
|
1669
|
+
const Le = B.indexOf(le);
|
|
1670
|
+
B.splice(Le + 1, 0, x);
|
|
1671
1671
|
}
|
|
1672
1672
|
ie && K?.left && K?.left.includes(ie) && (K.left = [x, ...K?.left || []]);
|
|
1673
1673
|
}
|
|
1674
1674
|
});
|
|
1675
|
-
const _ = [...
|
|
1675
|
+
const _ = [...B];
|
|
1676
1676
|
if (E && E.id !== "folder") {
|
|
1677
1677
|
if (!K.left?.includes("name"))
|
|
1678
1678
|
K.left = ["name", ...K?.left || []];
|
|
1679
1679
|
else {
|
|
1680
|
-
const x = K.left.filter((
|
|
1680
|
+
const x = K.left.filter((U) => U !== "name");
|
|
1681
1681
|
K.left = ["name", ...x];
|
|
1682
1682
|
}
|
|
1683
|
-
if (
|
|
1684
|
-
const x =
|
|
1685
|
-
|
|
1683
|
+
if (B.includes("name")) {
|
|
1684
|
+
const x = B.indexOf("name");
|
|
1685
|
+
B.splice(x, 1);
|
|
1686
1686
|
}
|
|
1687
|
-
|
|
1687
|
+
B.unshift("name");
|
|
1688
1688
|
}
|
|
1689
|
-
|
|
1689
|
+
B.unshift(We, pe);
|
|
1690
1690
|
const L = { ...P };
|
|
1691
1691
|
E && !L.name && (L.name = !0);
|
|
1692
1692
|
const q = (x) => {
|
|
@@ -1704,53 +1704,53 @@ const Pl = ({
|
|
|
1704
1704
|
...f,
|
|
1705
1705
|
columnPinning: x
|
|
1706
1706
|
});
|
|
1707
|
-
}, he =
|
|
1707
|
+
}, he = p || I, te = (x) => {
|
|
1708
1708
|
u(x), g.current && clearTimeout(g.current), g.current = setTimeout(() => {
|
|
1709
1709
|
d({
|
|
1710
1710
|
...f,
|
|
1711
1711
|
columnSizing: x
|
|
1712
1712
|
}), u(null);
|
|
1713
1713
|
}, 500);
|
|
1714
|
-
},
|
|
1715
|
-
const
|
|
1716
|
-
(Le) =>
|
|
1714
|
+
}, ge = (x) => {
|
|
1715
|
+
const U = { ...K }, ie = (U.left || []).filter(
|
|
1716
|
+
(Le) => Yt(x, Le, s)
|
|
1717
1717
|
);
|
|
1718
1718
|
return {
|
|
1719
|
-
...
|
|
1719
|
+
...U,
|
|
1720
1720
|
left: ie
|
|
1721
1721
|
};
|
|
1722
1722
|
}, Ee = (x) => {
|
|
1723
|
-
const
|
|
1723
|
+
const U = { ...K }, le = U.left || [], ie = x.filter((Le) => le.includes(Le));
|
|
1724
1724
|
return {
|
|
1725
|
-
...
|
|
1725
|
+
...U,
|
|
1726
1726
|
left: ie
|
|
1727
1727
|
};
|
|
1728
|
-
}, Q = (x) => [...
|
|
1729
|
-
const ie = x.left?.includes(
|
|
1728
|
+
}, Q = (x) => [...B].sort((U, le) => {
|
|
1729
|
+
const ie = x.left?.includes(U) ? 1 : 0;
|
|
1730
1730
|
return (x.left?.includes(le) ? 1 : 0) - ie;
|
|
1731
1731
|
}), J = (x) => {
|
|
1732
|
-
const
|
|
1732
|
+
const U = ge(x);
|
|
1733
1733
|
d({
|
|
1734
1734
|
...f,
|
|
1735
1735
|
columnVisibility: x,
|
|
1736
|
-
columnPinning:
|
|
1736
|
+
columnPinning: U
|
|
1737
1737
|
});
|
|
1738
1738
|
}, V = (x) => {
|
|
1739
|
-
const
|
|
1740
|
-
(ie) => ie !==
|
|
1741
|
-
), le = Ee(
|
|
1742
|
-
v(
|
|
1739
|
+
const U = x.filter(
|
|
1740
|
+
(ie) => ie !== We && ie !== pe
|
|
1741
|
+
), le = Ee(U);
|
|
1742
|
+
v(U), a.current && clearTimeout(a.current), a.current = setTimeout(() => {
|
|
1743
1743
|
d({
|
|
1744
1744
|
...f,
|
|
1745
|
-
columnOrder:
|
|
1745
|
+
columnOrder: U,
|
|
1746
1746
|
columnPinning: le
|
|
1747
1747
|
}), v(null);
|
|
1748
1748
|
}, 300);
|
|
1749
1749
|
}, O = (x) => {
|
|
1750
|
-
const
|
|
1750
|
+
const U = Q(x);
|
|
1751
1751
|
d({
|
|
1752
1752
|
...f,
|
|
1753
|
-
columnOrder:
|
|
1753
|
+
columnOrder: U,
|
|
1754
1754
|
columnPinning: x
|
|
1755
1755
|
});
|
|
1756
1756
|
}, Z = (x) => {
|
|
@@ -1758,20 +1758,20 @@ const Pl = ({
|
|
|
1758
1758
|
...f,
|
|
1759
1759
|
sorting: x
|
|
1760
1760
|
});
|
|
1761
|
-
}, F = (x,
|
|
1761
|
+
}, F = (x, U) => {
|
|
1762
1762
|
d({
|
|
1763
1763
|
...f,
|
|
1764
|
-
columnSummaries: { ...z, [x]:
|
|
1764
|
+
columnSummaries: { ...z, [x]: U }
|
|
1765
1765
|
});
|
|
1766
|
-
}, ne = (x,
|
|
1766
|
+
}, ne = (x, U) => {
|
|
1767
1767
|
d({
|
|
1768
1768
|
...f,
|
|
1769
|
-
columnSummaryScopes: { ...A, [x]:
|
|
1769
|
+
columnSummaryScopes: { ...A, [x]: U }
|
|
1770
1770
|
});
|
|
1771
|
-
},
|
|
1771
|
+
}, W = (x, U) => {
|
|
1772
1772
|
d({
|
|
1773
1773
|
...f,
|
|
1774
|
-
columnSummaryFormats: { ...M, [x]:
|
|
1774
|
+
columnSummaryFormats: { ...M, [x]: U }
|
|
1775
1775
|
});
|
|
1776
1776
|
}, se = (x) => {
|
|
1777
1777
|
d({
|
|
@@ -1792,10 +1792,10 @@ const Pl = ({
|
|
|
1792
1792
|
const le = I.thumbnail || 63, ie = D || 34;
|
|
1793
1793
|
i.current = le / ie;
|
|
1794
1794
|
}
|
|
1795
|
-
const
|
|
1795
|
+
const U = i.current * x;
|
|
1796
1796
|
S(x), u({
|
|
1797
|
-
...
|
|
1798
|
-
thumbnail:
|
|
1797
|
+
...p || I,
|
|
1798
|
+
thumbnail: U
|
|
1799
1799
|
});
|
|
1800
1800
|
},
|
|
1801
1801
|
[I, D]
|
|
@@ -1803,9 +1803,9 @@ const Pl = ({
|
|
|
1803
1803
|
(x) => {
|
|
1804
1804
|
const Le = (I.thumbnail || 63) / (D || 34) * x;
|
|
1805
1805
|
S(x), u({
|
|
1806
|
-
...
|
|
1806
|
+
...p || I,
|
|
1807
1807
|
thumbnail: Le
|
|
1808
|
-
}),
|
|
1808
|
+
}), m.current && clearTimeout(m.current), m.current = setTimeout(() => {
|
|
1809
1809
|
d({
|
|
1810
1810
|
...f,
|
|
1811
1811
|
rowHeight: x,
|
|
@@ -1821,28 +1821,28 @@ const Pl = ({
|
|
|
1821
1821
|
d,
|
|
1822
1822
|
I,
|
|
1823
1823
|
D,
|
|
1824
|
-
|
|
1824
|
+
p
|
|
1825
1825
|
]
|
|
1826
1826
|
), be = (x) => {
|
|
1827
|
-
const
|
|
1828
|
-
Object.keys(
|
|
1829
|
-
const Le =
|
|
1830
|
-
|
|
1827
|
+
const U = typeof x == "function" ? x(L) : x, le = {};
|
|
1828
|
+
Object.keys(U).forEach((ie) => {
|
|
1829
|
+
const Le = Yt({}, ie, s);
|
|
1830
|
+
U[ie] !== Le && (le[ie] = U[ie]);
|
|
1831
1831
|
}), !Ct(le, L) && q(le);
|
|
1832
1832
|
}, Te = (x) => {
|
|
1833
|
-
const
|
|
1834
|
-
Ct(
|
|
1833
|
+
const U = Ot(x, K);
|
|
1834
|
+
Ct(U, K) || ve(U);
|
|
1835
1835
|
}, ke = (x) => {
|
|
1836
|
-
const
|
|
1837
|
-
Ct(
|
|
1836
|
+
const U = Ot(x, B);
|
|
1837
|
+
Ct(U, B) || re(U);
|
|
1838
1838
|
}, Ie = (x) => {
|
|
1839
|
-
const
|
|
1840
|
-
Ct(
|
|
1839
|
+
const U = Ot(x, he);
|
|
1840
|
+
Ct(U, he) || te(U);
|
|
1841
1841
|
}, $e = (x) => {
|
|
1842
|
-
const
|
|
1843
|
-
Ct(
|
|
1842
|
+
const U = Ot(x, R);
|
|
1843
|
+
Ct(U, R) || Z(U);
|
|
1844
1844
|
};
|
|
1845
|
-
return /* @__PURE__ */
|
|
1845
|
+
return /* @__PURE__ */ j(
|
|
1846
1846
|
Co.Provider,
|
|
1847
1847
|
{
|
|
1848
1848
|
value: {
|
|
@@ -1861,7 +1861,7 @@ const Pl = ({
|
|
|
1861
1861
|
updateColumnPinning: O,
|
|
1862
1862
|
columnPinningOnChange: Te,
|
|
1863
1863
|
// column order
|
|
1864
|
-
columnOrder:
|
|
1864
|
+
columnOrder: B,
|
|
1865
1865
|
setColumnOrder: re,
|
|
1866
1866
|
updateColumnOrder: V,
|
|
1867
1867
|
columnOrderOnChange: ke,
|
|
@@ -1877,7 +1877,7 @@ const Pl = ({
|
|
|
1877
1877
|
updateColumnSummaryScope: ne,
|
|
1878
1878
|
// column summary display format
|
|
1879
1879
|
columnSummaryFormats: M,
|
|
1880
|
-
updateColumnSummaryFormat:
|
|
1880
|
+
updateColumnSummaryFormat: W,
|
|
1881
1881
|
// sorting
|
|
1882
1882
|
sorting: R,
|
|
1883
1883
|
updateSorting: Z,
|
|
@@ -1898,12 +1898,12 @@ const Pl = ({
|
|
|
1898
1898
|
}
|
|
1899
1899
|
);
|
|
1900
1900
|
}, Ll = ({ children: t }) => {
|
|
1901
|
-
const [e, n] =
|
|
1901
|
+
const [e, n] = je(null), s = X((l) => {
|
|
1902
1902
|
n(l);
|
|
1903
1903
|
}, []), o = X(() => {
|
|
1904
1904
|
n(null);
|
|
1905
1905
|
}, []);
|
|
1906
|
-
return /* @__PURE__ */
|
|
1906
|
+
return /* @__PURE__ */ j(
|
|
1907
1907
|
To.Provider,
|
|
1908
1908
|
{
|
|
1909
1909
|
value: {
|
|
@@ -1919,13 +1919,13 @@ const Pl = ({
|
|
|
1919
1919
|
attributes: e,
|
|
1920
1920
|
isLoading: { siteInfo: n }
|
|
1921
1921
|
} = br(), { attrib_read: s, attrib_write: o } = t || {}, { enabled: l, attributes: g } = s || {}, {
|
|
1922
|
-
enabled:
|
|
1922
|
+
enabled: m,
|
|
1923
1923
|
attributes: a,
|
|
1924
1924
|
fields: c
|
|
1925
|
-
} = o || {}, i =
|
|
1925
|
+
} = o || {}, i = m ? c ?? [] : void 0;
|
|
1926
1926
|
return { attribFields: e.filter((u) => !l || g?.includes(u.name)).map((u) => ({
|
|
1927
1927
|
...u,
|
|
1928
|
-
readOnly:
|
|
1928
|
+
readOnly: m ? !a?.includes(u.name) : !1
|
|
1929
1929
|
})), writableFields: i, isLoading: n };
|
|
1930
1930
|
}, Ol = ({ children: t, projectName: e }) => {
|
|
1931
1931
|
const { isLoading: n, isSuccess: s } = Ge(), { data: o } = ir(
|
|
@@ -1933,16 +1933,16 @@ const Pl = ({
|
|
|
1933
1933
|
{ skip: !e }
|
|
1934
1934
|
), { attrib_write: l } = o || {}, {
|
|
1935
1935
|
attribFields: g,
|
|
1936
|
-
writableFields:
|
|
1936
|
+
writableFields: m,
|
|
1937
1937
|
isLoading: a
|
|
1938
|
-
} = Oi({ projectPermissions: o }), { data: c = [] } = ar({ projectName: e }, { skip: !e }), i = c,
|
|
1938
|
+
} = Oi({ projectPermissions: o }), { data: c = [] } = ar({ projectName: e }, { skip: !e }), i = c, p = H(() => l ? l.enabled ? !!l.fields?.includes("name") : !0 : !1, [l]), u = H(() => l ? l.enabled ? !!l.fields?.includes("label") : !0 : !1, [l]), y = s && !n && !a, S = H(
|
|
1939
1939
|
() => ({
|
|
1940
1940
|
isInitialized: y,
|
|
1941
1941
|
isLoading: n || a,
|
|
1942
1942
|
users: i,
|
|
1943
1943
|
attribFields: g,
|
|
1944
|
-
writableFields:
|
|
1945
|
-
canWriteNamePermission:
|
|
1944
|
+
writableFields: m,
|
|
1945
|
+
canWriteNamePermission: p,
|
|
1946
1946
|
canWriteLabelPermission: u
|
|
1947
1947
|
}),
|
|
1948
1948
|
[
|
|
@@ -1951,17 +1951,17 @@ const Pl = ({
|
|
|
1951
1951
|
a,
|
|
1952
1952
|
i,
|
|
1953
1953
|
g,
|
|
1954
|
-
p,
|
|
1955
1954
|
m,
|
|
1955
|
+
p,
|
|
1956
1956
|
u
|
|
1957
1957
|
]
|
|
1958
1958
|
);
|
|
1959
|
-
return /* @__PURE__ */
|
|
1959
|
+
return /* @__PURE__ */ j(So.Provider, { value: S, children: t });
|
|
1960
1960
|
}, _l = ({
|
|
1961
1961
|
children: t,
|
|
1962
1962
|
updateEntities: e,
|
|
1963
1963
|
getFoldersTasks: n
|
|
1964
|
-
}) => /* @__PURE__ */
|
|
1964
|
+
}) => /* @__PURE__ */ j(
|
|
1965
1965
|
vo.Provider,
|
|
1966
1966
|
{
|
|
1967
1967
|
value: {
|
|
@@ -1978,7 +1978,7 @@ const Pl = ({
|
|
|
1978
1978
|
} catch {
|
|
1979
1979
|
g = void 0;
|
|
1980
1980
|
}
|
|
1981
|
-
const
|
|
1981
|
+
const m = He([]), a = H(
|
|
1982
1982
|
() => Array.from(e).filter(
|
|
1983
1983
|
(v) => ue(v)?.colId === pe && ue(v)?.rowId
|
|
1984
1984
|
).map((v) => ue(v)?.rowId).filter(
|
|
@@ -1987,8 +1987,8 @@ const Pl = ({
|
|
|
1987
1987
|
),
|
|
1988
1988
|
[e, n]
|
|
1989
1989
|
), c = H(() => {
|
|
1990
|
-
const v = [...a].sort(), r = [...
|
|
1991
|
-
return v.length !== r.length || v.some((d, f) => d !== r[f]) ? (
|
|
1990
|
+
const v = [...a].sort(), r = [...m.current].sort();
|
|
1991
|
+
return v.length !== r.length || v.some((d, f) => d !== r[f]) ? (m.current = a, a) : m.current;
|
|
1992
1992
|
}, [a]);
|
|
1993
1993
|
Ve(() => {
|
|
1994
1994
|
c.length > 0 && g && g();
|
|
@@ -2001,7 +2001,7 @@ const Pl = ({
|
|
|
2001
2001
|
const b = Fe(v[0], pe);
|
|
2002
2002
|
o(b), l(ue(b));
|
|
2003
2003
|
}
|
|
2004
|
-
}, [n]),
|
|
2004
|
+
}, [n]), p = X(() => {
|
|
2005
2005
|
s((v) => {
|
|
2006
2006
|
const r = new Set(v);
|
|
2007
2007
|
return Array.from(r).forEach((b) => {
|
|
@@ -2017,13 +2017,13 @@ const Pl = ({
|
|
|
2017
2017
|
}, [n, c]), S = X(() => c.length > 0 && !y(), [c, y]), C = H(() => ({
|
|
2018
2018
|
selectedRows: c,
|
|
2019
2019
|
selectAllRows: i,
|
|
2020
|
-
clearRowsSelection:
|
|
2020
|
+
clearRowsSelection: p,
|
|
2021
2021
|
isRowSelected: u,
|
|
2022
2022
|
areAllRowsSelected: y,
|
|
2023
2023
|
areSomeRowsSelected: S
|
|
2024
|
-
}), [c, i, y, S,
|
|
2025
|
-
return /* @__PURE__ */
|
|
2026
|
-
},
|
|
2024
|
+
}), [c, i, y, S, p]);
|
|
2025
|
+
return /* @__PURE__ */ j(Eo.Provider, { value: C, children: t });
|
|
2026
|
+
}, Qt = (t, e, n) => {
|
|
2027
2027
|
switch (t) {
|
|
2028
2028
|
case "unique-violation":
|
|
2029
2029
|
return `${e} with the name "${n}" already exists`;
|
|
@@ -2041,12 +2041,12 @@ const Pl = ({
|
|
|
2041
2041
|
getEntityById: o,
|
|
2042
2042
|
getInheritedDependents: l,
|
|
2043
2043
|
findInheritedValueFromAncestors: g,
|
|
2044
|
-
findNonInheritedValues:
|
|
2044
|
+
findNonInheritedValues: m
|
|
2045
2045
|
} = qe(), { updateEntities: a } = xo(), c = X(
|
|
2046
|
-
async (
|
|
2047
|
-
if (!
|
|
2046
|
+
async (p = [], u = !0) => {
|
|
2047
|
+
if (!p.length || !s)
|
|
2048
2048
|
return;
|
|
2049
|
-
let y =
|
|
2049
|
+
let y = p.filter((w) => !w.isLink);
|
|
2050
2050
|
const S = y.filter((w) => !(w.field === "folderType" && w.type === "folder" && (o(w.id) || w.entityData)?.hasVersions)), C = y.length - S.length;
|
|
2051
2051
|
if (C > 0 && Oe.error(
|
|
2052
2052
|
`Cannot change folder type for ${C} folder${C > 1 ? "s" : ""} with published versions`
|
|
@@ -2114,10 +2114,10 @@ const Pl = ({
|
|
|
2114
2114
|
);
|
|
2115
2115
|
if (R !== -1) {
|
|
2116
2116
|
const $ = r[R];
|
|
2117
|
-
let
|
|
2118
|
-
$.data?.attrib && T.attrib && (
|
|
2117
|
+
let B = { ...$.data, ...T };
|
|
2118
|
+
$.data?.attrib && T.attrib && (B = { ...B, attrib: { ...$.data.attrib, ...T.attrib } }), r[R] = {
|
|
2119
2119
|
...$,
|
|
2120
|
-
data:
|
|
2120
|
+
data: B
|
|
2121
2121
|
};
|
|
2122
2122
|
} else
|
|
2123
2123
|
r.push({
|
|
@@ -2150,13 +2150,13 @@ const Pl = ({
|
|
|
2150
2150
|
const N = Yn(w);
|
|
2151
2151
|
if (r.length === 1 && N.length > 0)
|
|
2152
2152
|
N.forEach((P) => {
|
|
2153
|
-
const I = r[0], h = o(I.entityId), E = h?.label || h?.name || I.entityId || "", k =
|
|
2153
|
+
const I = r[0], h = o(I.entityId), E = h?.label || h?.name || I.entityId || "", k = Qt(P, I.entityType, E);
|
|
2154
2154
|
Oe.error(k);
|
|
2155
2155
|
});
|
|
2156
2156
|
else {
|
|
2157
2157
|
const P = r[0], I = P && o(P.entityId), h = I?.label || I?.name || P?.entityId || "";
|
|
2158
2158
|
Oe.error(
|
|
2159
|
-
r.length === 1 ?
|
|
2159
|
+
r.length === 1 ? Qt(void 0, P.entityType, h) : "Failed to update entities"
|
|
2160
2160
|
);
|
|
2161
2161
|
}
|
|
2162
2162
|
e && u && n && n(1);
|
|
@@ -2172,12 +2172,12 @@ const Pl = ({
|
|
|
2172
2172
|
n
|
|
2173
2173
|
]
|
|
2174
2174
|
), i = X(
|
|
2175
|
-
async (
|
|
2176
|
-
if (!
|
|
2175
|
+
async (p, u = !0) => {
|
|
2176
|
+
if (!p.length || !s)
|
|
2177
2177
|
return;
|
|
2178
2178
|
if (u && e) {
|
|
2179
2179
|
const r = [];
|
|
2180
|
-
for (const d of
|
|
2180
|
+
for (const d of p) {
|
|
2181
2181
|
const f = o(d.entityId);
|
|
2182
2182
|
for (const w of d.attribs)
|
|
2183
2183
|
f?.attrib && w in f.attrib && r.push({
|
|
@@ -2194,7 +2194,7 @@ const Pl = ({
|
|
|
2194
2194
|
meta: f.meta
|
|
2195
2195
|
});
|
|
2196
2196
|
}
|
|
2197
|
-
const b =
|
|
2197
|
+
const b = p.flatMap(
|
|
2198
2198
|
(d) => d.attribs.map((f) => ({
|
|
2199
2199
|
rowId: d.rowId,
|
|
2200
2200
|
id: d.entityId,
|
|
@@ -2212,7 +2212,7 @@ const Pl = ({
|
|
|
2212
2212
|
r.length > 0 && e(r, b);
|
|
2213
2213
|
}
|
|
2214
2214
|
const y = ["task", "folder"], S = [], C = [];
|
|
2215
|
-
for (const r of
|
|
2215
|
+
for (const r of p) {
|
|
2216
2216
|
let b = r.entityType;
|
|
2217
2217
|
if (!y.includes(b))
|
|
2218
2218
|
continue;
|
|
@@ -2232,9 +2232,9 @@ const Pl = ({
|
|
|
2232
2232
|
});
|
|
2233
2233
|
const w = (() => {
|
|
2234
2234
|
const h = r.folderId, E = [];
|
|
2235
|
-
let k = h, D =
|
|
2235
|
+
let k = h, D = p.find((A) => A.entityId === k);
|
|
2236
2236
|
for (; D; )
|
|
2237
|
-
E.push(D), k = D.folderId, D =
|
|
2237
|
+
E.push(D), k = D.folderId, D = p.find((A) => A.entityId === k);
|
|
2238
2238
|
return E.length > 0 ? E[E.length - 1] : null;
|
|
2239
2239
|
})(), N = w?.attribs || [], P = r.attribs.filter(
|
|
2240
2240
|
(h) => N.includes(h)
|
|
@@ -2254,7 +2254,7 @@ const Pl = ({
|
|
|
2254
2254
|
for (const r of C) {
|
|
2255
2255
|
const b = r.entityType, d = [...r.ownAttrib || []].filter(
|
|
2256
2256
|
(I) => !r.attribs.includes(I)
|
|
2257
|
-
), f =
|
|
2257
|
+
), f = m(r.folderId, r.attribs), w = {
|
|
2258
2258
|
entityId: r.entityId,
|
|
2259
2259
|
entityType: b,
|
|
2260
2260
|
data: {
|
|
@@ -2305,13 +2305,13 @@ const Pl = ({
|
|
|
2305
2305
|
const b = Yn(r);
|
|
2306
2306
|
if (S.length === 1 && b.length > 0)
|
|
2307
2307
|
b.forEach((d) => {
|
|
2308
|
-
const f = S[0], w = o(f.entityId), N = w?.label || w?.name || f.entityId || "", P =
|
|
2308
|
+
const f = S[0], w = o(f.entityId), N = w?.label || w?.name || f.entityId || "", P = Qt(d, f.entityType, N);
|
|
2309
2309
|
Oe.error(P);
|
|
2310
2310
|
});
|
|
2311
2311
|
else {
|
|
2312
2312
|
const d = S[0], f = d && o(d.entityId), w = f?.label || f?.name || d?.entityId || "";
|
|
2313
2313
|
Oe.error(
|
|
2314
|
-
S.length === 1 ?
|
|
2314
|
+
S.length === 1 ? Qt(void 0, d.entityType, w) : "Failed to update entities"
|
|
2315
2315
|
);
|
|
2316
2316
|
}
|
|
2317
2317
|
u && e && n && n(1);
|
|
@@ -2336,8 +2336,8 @@ const Pl = ({
|
|
|
2336
2336
|
return;
|
|
2337
2337
|
}
|
|
2338
2338
|
const l = /* @__PURE__ */ new Set(), g = [];
|
|
2339
|
-
for (const
|
|
2340
|
-
const a = n(
|
|
2339
|
+
for (const m of o) {
|
|
2340
|
+
const a = n(m);
|
|
2341
2341
|
if (!a || l.has(a.id)) continue;
|
|
2342
2342
|
l.add(a.id);
|
|
2343
2343
|
const c = a.entityType || ("folderId" in a ? "task" : "folder");
|
|
@@ -2370,32 +2370,32 @@ const Pl = ({
|
|
|
2370
2370
|
const { projectName: o } = Ge(), {
|
|
2371
2371
|
showHierarchy: l,
|
|
2372
2372
|
getEntityById: g,
|
|
2373
|
-
toggleExpandAll:
|
|
2373
|
+
toggleExpandAll: m,
|
|
2374
2374
|
toggleExpands: a,
|
|
2375
2375
|
expanded: c,
|
|
2376
2376
|
contextMenuItems: i = [],
|
|
2377
|
-
powerpack:
|
|
2377
|
+
powerpack: p,
|
|
2378
2378
|
onOpenPlayer: u,
|
|
2379
2379
|
isRowReadOnly: y
|
|
2380
2380
|
} = qe(), S = H(
|
|
2381
2381
|
() => [...i, ...s || []],
|
|
2382
2382
|
[i, s]
|
|
2383
|
-
), C = Kr(), v = Object.values(C || {}).some(Boolean), { canWriteLabelPermission: r, canWriteNamePermission: b } =
|
|
2383
|
+
), C = Kr(), v = Object.values(C || {}).some(Boolean), { canWriteLabelPermission: r, canWriteNamePermission: b } = Sn(), { copyToClipboard: d, exportCSV: f, pasteFromClipboard: w } = ko(), { selectedCells: N, setSelectedCells: P, clearSelection: I, selectCell: h, focusCell: E } = tt(), { inheritFromParent: k, history: D, setEditingCellId: z } = dt(), A = Ni({}), [M] = Hr([], p), T = (V) => V.reduce((O, Z) => {
|
|
2384
2384
|
const { rowId: F, colId: ne } = ue(Z) || {};
|
|
2385
2385
|
if (!F || !ne || !ne.startsWith("attrib_")) return O;
|
|
2386
|
-
const
|
|
2387
|
-
if (!
|
|
2388
|
-
const se =
|
|
2389
|
-
if (
|
|
2386
|
+
const W = g(F);
|
|
2387
|
+
if (!W) return O;
|
|
2388
|
+
const se = W.entityId || W.id, de = ne.replace("attrib_", ""), Se = t.find((be) => be.name === de)?.data.inherit;
|
|
2389
|
+
if (W.ownAttrib?.includes(de) && Se) {
|
|
2390
2390
|
const be = O.findIndex((Te) => Te.entityId === se);
|
|
2391
2391
|
be >= 0 ? O[be].attribs.includes(de) || O[be].attribs.push(de) : O.push({
|
|
2392
2392
|
rowId: se,
|
|
2393
2393
|
entityId: se,
|
|
2394
|
-
entityType: "folderId" in
|
|
2394
|
+
entityType: "folderId" in W ? "task" : "folder",
|
|
2395
2395
|
attribs: [de],
|
|
2396
|
-
ownAttrib:
|
|
2396
|
+
ownAttrib: W.ownAttrib || [],
|
|
2397
2397
|
// @ts-ignore
|
|
2398
|
-
folderId:
|
|
2398
|
+
folderId: W.parentId ?? W.folderId
|
|
2399
2399
|
});
|
|
2400
2400
|
}
|
|
2401
2401
|
return O;
|
|
@@ -2403,7 +2403,7 @@ const Pl = ({
|
|
|
2403
2403
|
{
|
|
2404
2404
|
label: "Copy",
|
|
2405
2405
|
icon: "content_copy",
|
|
2406
|
-
shortcut:
|
|
2406
|
+
shortcut: Ht("c", [Kt.Ctrl]),
|
|
2407
2407
|
command: () => d(F.selectedCells),
|
|
2408
2408
|
hidden: O.isGroup || O.columnId === "thumbnail"
|
|
2409
2409
|
},
|
|
@@ -2418,7 +2418,7 @@ const Pl = ({
|
|
|
2418
2418
|
{
|
|
2419
2419
|
label: "Paste",
|
|
2420
2420
|
icon: "content_paste",
|
|
2421
|
-
shortcut:
|
|
2421
|
+
shortcut: Ht("v", [Kt.Ctrl]),
|
|
2422
2422
|
command: () => w(F.selectedCells),
|
|
2423
2423
|
hidden: O.columnId === "name" || O.columnId === "thumbnail" || O.isGroup || y(ue(O.cellId)?.rowId ?? ""),
|
|
2424
2424
|
disabled: O.attribField?.readOnly
|
|
@@ -2431,8 +2431,8 @@ const Pl = ({
|
|
|
2431
2431
|
const ne = Fe(O.entityId, pe);
|
|
2432
2432
|
h(ne, !1, !1);
|
|
2433
2433
|
},
|
|
2434
|
-
hidden: O.columnId !== "name" || F.selectedRows.length > 1 || O.isGroup ||
|
|
2435
|
-
}),
|
|
2434
|
+
hidden: O.columnId !== "name" || F.selectedRows.length > 1 || O.isGroup || Zt(O.entityType)
|
|
2435
|
+
}), B = (V, O) => ({
|
|
2436
2436
|
label: "Open in viewer",
|
|
2437
2437
|
icon: "play_circle",
|
|
2438
2438
|
shortcut: "Spacebar",
|
|
@@ -2440,7 +2440,7 @@ const Pl = ({
|
|
|
2440
2440
|
if (u) {
|
|
2441
2441
|
const Z = g(O.entityId);
|
|
2442
2442
|
if (Z) {
|
|
2443
|
-
const F =
|
|
2443
|
+
const F = Rn(Z);
|
|
2444
2444
|
u(F, { quickView: !0 });
|
|
2445
2445
|
}
|
|
2446
2446
|
}
|
|
@@ -2450,15 +2450,15 @@ const Pl = ({
|
|
|
2450
2450
|
{
|
|
2451
2451
|
label: "Expand children",
|
|
2452
2452
|
icon: "expand_all",
|
|
2453
|
-
shortcut:
|
|
2454
|
-
command: () =>
|
|
2453
|
+
shortcut: Ht("click", [Kt.Alt]),
|
|
2454
|
+
command: () => m(F.selectedRows, !0),
|
|
2455
2455
|
hidden: O.columnId !== "name" || O.entityType !== "folder"
|
|
2456
2456
|
},
|
|
2457
2457
|
{
|
|
2458
2458
|
label: "Collapse children",
|
|
2459
2459
|
icon: "collapse_all",
|
|
2460
|
-
shortcut:
|
|
2461
|
-
command: () =>
|
|
2460
|
+
shortcut: Ht("click", [Kt.Alt]),
|
|
2461
|
+
command: () => m(F.selectedRows, !1),
|
|
2462
2462
|
hidden: O.columnId !== "name" || O.entityType !== "folder"
|
|
2463
2463
|
},
|
|
2464
2464
|
{
|
|
@@ -2483,19 +2483,19 @@ const Pl = ({
|
|
|
2483
2483
|
command: () => {
|
|
2484
2484
|
const ne = [
|
|
2485
2485
|
...new Set(
|
|
2486
|
-
F.selectedCells.map((
|
|
2486
|
+
F.selectedCells.map((W) => ue(W)?.rowId).filter((W) => !!W)
|
|
2487
2487
|
)
|
|
2488
2488
|
];
|
|
2489
2489
|
A(ne.length ? ne : F.selectedRows);
|
|
2490
2490
|
},
|
|
2491
2491
|
hidden: O.columnId !== "name" || O.isGroup
|
|
2492
2492
|
}), _ = (V, O, Z, F) => {
|
|
2493
|
-
const ne = T(F.selectedCells),
|
|
2493
|
+
const ne = T(F.selectedCells), W = ne.length > 0 && l && !(F.selectedRows.length > 1 && F.selectedColumns.length > 1);
|
|
2494
2494
|
return {
|
|
2495
2495
|
label: "Inherit from parent",
|
|
2496
2496
|
icon: "disabled_by_default",
|
|
2497
2497
|
command: () => k(ne),
|
|
2498
|
-
hidden: !
|
|
2498
|
+
hidden: !W
|
|
2499
2499
|
};
|
|
2500
2500
|
}, L = wr(), q = (V, O, Z, F) => L?.isAvailable && L.source ? {
|
|
2501
2501
|
label: "Export",
|
|
@@ -2507,15 +2507,15 @@ const Pl = ({
|
|
|
2507
2507
|
} : {
|
|
2508
2508
|
label: "Export selection",
|
|
2509
2509
|
icon: "download",
|
|
2510
|
-
items: ki.map(({ value: ne, label:
|
|
2511
|
-
label: `${
|
|
2510
|
+
items: ki.map(({ value: ne, label: W }) => ({
|
|
2511
|
+
label: `${W} separated (${ne === " " ? ".tsv" : ".csv"})`,
|
|
2512
2512
|
command: () => f(F.scopedCells, o, ne)
|
|
2513
2513
|
})),
|
|
2514
2514
|
hidden: O.isGroup
|
|
2515
2515
|
}, re = (V, O) => {
|
|
2516
2516
|
const F = (O.length ? O : [V.entityId]).flatMap((ne) => {
|
|
2517
|
-
const
|
|
2518
|
-
return
|
|
2517
|
+
const W = g(ne);
|
|
2518
|
+
return W ? W.entityType === "folder" || !("folderId" in W) ? [W.id] : W.folderId ? [W.folderId] : [] : [];
|
|
2519
2519
|
});
|
|
2520
2520
|
return F.length ? F : null;
|
|
2521
2521
|
}, ve = (V, O, Z) => {
|
|
@@ -2567,11 +2567,11 @@ const Pl = ({
|
|
|
2567
2567
|
disabled: !ne
|
|
2568
2568
|
};
|
|
2569
2569
|
},
|
|
2570
|
-
"open-viewer":
|
|
2570
|
+
"open-viewer": B
|
|
2571
2571
|
}, Q = (V) => {
|
|
2572
2572
|
const { rowId: O, colId: Z } = ue(V) || {};
|
|
2573
2573
|
if (!O || !Z) return;
|
|
2574
|
-
const F = g(O), ne = t.find((de) => de.name === Z?.replace("attrib_", "")),
|
|
2574
|
+
const F = g(O), ne = t.find((de) => de.name === Z?.replace("attrib_", "")), W = e.find((de) => de.id === Z), se = F ? "parentId" in F ? F.parentId : "folderId" in F ? F.folderId : void 0 : void 0;
|
|
2575
2575
|
return {
|
|
2576
2576
|
cellId: V,
|
|
2577
2577
|
columnId: Z,
|
|
@@ -2582,7 +2582,7 @@ const Pl = ({
|
|
|
2582
2582
|
isGroup: O.startsWith(St),
|
|
2583
2583
|
column: {
|
|
2584
2584
|
id: Z,
|
|
2585
|
-
label:
|
|
2585
|
+
label: W?.label || ""
|
|
2586
2586
|
},
|
|
2587
2587
|
data: F
|
|
2588
2588
|
};
|
|
@@ -2592,9 +2592,9 @@ const Pl = ({
|
|
|
2592
2592
|
if (!F) return;
|
|
2593
2593
|
const ne = Q(F);
|
|
2594
2594
|
if (!ne) return;
|
|
2595
|
-
const
|
|
2595
|
+
const W = ue(F)?.colId === pe;
|
|
2596
2596
|
let se = Array.from(N);
|
|
2597
|
-
|
|
2597
|
+
W || (se = se.filter(
|
|
2598
2598
|
(x) => ue(x)?.colId !== pe
|
|
2599
2599
|
)), se.includes(F) || (se = [F], h(F, !1, !1), E(F));
|
|
2600
2600
|
const de = se.filter(
|
|
@@ -2602,8 +2602,8 @@ const Pl = ({
|
|
|
2602
2602
|
), Ae = se.flatMap((x) => Q(x) || []), Se = [
|
|
2603
2603
|
...new Map(Ae.map((x) => [x.entityId, x])).values()
|
|
2604
2604
|
], be = [], Te = [], ke = [], Ie = [];
|
|
2605
|
-
for (const { entityId: x, columnId:
|
|
2606
|
-
x && !be.includes(x) && be.push(x),
|
|
2605
|
+
for (const { entityId: x, columnId: U } of Se)
|
|
2606
|
+
x && !be.includes(x) && be.push(x), U && !Te.includes(U) && Te.push(U), U === pe && !ke.includes(x) && ke.push(x), x.startsWith(St) && Ie.push(x);
|
|
2607
2607
|
const $e = S.flatMap(
|
|
2608
2608
|
(x) => typeof x == "function" ? x(
|
|
2609
2609
|
V,
|
|
@@ -2649,12 +2649,12 @@ const Pl = ({
|
|
|
2649
2649
|
excludeSelectedFolders: o,
|
|
2650
2650
|
getFolderById: l,
|
|
2651
2651
|
showHierarchy: g
|
|
2652
|
-
} = t,
|
|
2652
|
+
} = t, m = e, a = /* @__PURE__ */ new Map(), c = (i) => {
|
|
2653
2653
|
if (a.has(i)) return a.get(i);
|
|
2654
|
-
const
|
|
2655
|
-
if (!
|
|
2654
|
+
const p = l(i);
|
|
2655
|
+
if (!p)
|
|
2656
2656
|
return a.set(i, !1), !1;
|
|
2657
|
-
const u =
|
|
2657
|
+
const u = p.parentId;
|
|
2658
2658
|
if (o ? s.includes(u) : s.includes(i))
|
|
2659
2659
|
return a.set(i, !0), !0;
|
|
2660
2660
|
if (!u) {
|
|
@@ -2662,7 +2662,7 @@ const Pl = ({
|
|
|
2662
2662
|
return a.set(i, S), S;
|
|
2663
2663
|
}
|
|
2664
2664
|
if (g) {
|
|
2665
|
-
const S =
|
|
2665
|
+
const S = m[u] === !0 && c(u);
|
|
2666
2666
|
return a.set(i, S), S;
|
|
2667
2667
|
} else
|
|
2668
2668
|
return !0;
|
|
@@ -2673,30 +2673,31 @@ const Pl = ({
|
|
|
2673
2673
|
filters: e = { conditions: [] },
|
|
2674
2674
|
groupBy: n,
|
|
2675
2675
|
groupPageCounts: s,
|
|
2676
|
-
dataType: o
|
|
2676
|
+
dataType: o,
|
|
2677
|
+
conditionKey: l = n.id
|
|
2677
2678
|
}) => {
|
|
2678
2679
|
if (!t.length) return [];
|
|
2679
|
-
const
|
|
2680
|
-
const
|
|
2681
|
-
key:
|
|
2682
|
-
value: [
|
|
2683
|
-
operator:
|
|
2684
|
-
},
|
|
2680
|
+
const g = !!o?.startsWith("list_of_"), m = e.conditions || [], a = t.map((p) => {
|
|
2681
|
+
const u = {
|
|
2682
|
+
key: l,
|
|
2683
|
+
value: [p.value],
|
|
2684
|
+
operator: g ? "includesany" : "in"
|
|
2685
|
+
}, y = s[p.value] || 1;
|
|
2685
2686
|
return {
|
|
2686
|
-
value:
|
|
2687
|
-
count: as(t.length) *
|
|
2688
|
-
filter: JSON.stringify({ ...e, conditions: [...
|
|
2687
|
+
value: p.value,
|
|
2688
|
+
count: as(t.length) * y,
|
|
2689
|
+
filter: JSON.stringify({ ...e, conditions: [...m, u] })
|
|
2689
2690
|
};
|
|
2690
|
-
}),
|
|
2691
|
-
key:
|
|
2692
|
-
value: t.map((
|
|
2693
|
-
operator:
|
|
2694
|
-
},
|
|
2691
|
+
}), c = {
|
|
2692
|
+
key: l,
|
|
2693
|
+
value: t.map((p) => p.value),
|
|
2694
|
+
operator: g ? "excludesany" : "notin"
|
|
2695
|
+
}, i = {
|
|
2695
2696
|
value: Kn,
|
|
2696
2697
|
count: as() * (s[Kn] || 1),
|
|
2697
|
-
filter: JSON.stringify({ ...e, conditions: [...
|
|
2698
|
+
filter: JSON.stringify({ ...e, conditions: [...m, c] })
|
|
2698
2699
|
};
|
|
2699
|
-
return [...
|
|
2700
|
+
return [...a, i];
|
|
2700
2701
|
}, Ui = 300, Gi = (t, e) => hr(
|
|
2701
2702
|
t.map((n) => ({
|
|
2702
2703
|
key: Ro(n.id, e, "task")?.replace("_", "."),
|
|
@@ -2712,11 +2713,11 @@ const Pl = ({
|
|
|
2712
2713
|
taskFilters: o,
|
|
2713
2714
|
folderFilters: l,
|
|
2714
2715
|
sorting: g,
|
|
2715
|
-
groupBy:
|
|
2716
|
+
groupBy: m,
|
|
2716
2717
|
taskGroups: a = [],
|
|
2717
2718
|
taskGroupsCount: c,
|
|
2718
2719
|
expanded: i,
|
|
2719
|
-
showHierarchy:
|
|
2720
|
+
showHierarchy: p,
|
|
2720
2721
|
isFlatFolderView: u = !1,
|
|
2721
2722
|
attribFields: y,
|
|
2722
2723
|
modules: S,
|
|
@@ -2737,14 +2738,14 @@ const Pl = ({
|
|
|
2737
2738
|
isUninitialized: D,
|
|
2738
2739
|
getFolderById: z,
|
|
2739
2740
|
getFolderIdsWithoutChildren: A
|
|
2740
|
-
} = Cr(), M = Object.entries(i).filter(([, ee]) => ee).filter(([ee]) => !
|
|
2741
|
+
} = Cr(), M = Object.entries(i).filter(([, ee]) => ee).filter(([ee]) => !hn(ee)).map(([ee]) => ee), T = H(
|
|
2741
2742
|
() => Fi({
|
|
2742
2743
|
expanded: i,
|
|
2743
2744
|
expandedParentIds: M,
|
|
2744
2745
|
selectedFolders: e,
|
|
2745
2746
|
excludeSelectedFolders: n,
|
|
2746
2747
|
getFolderById: z,
|
|
2747
|
-
showHierarchy:
|
|
2748
|
+
showHierarchy: p
|
|
2748
2749
|
}),
|
|
2749
2750
|
[
|
|
2750
2751
|
i,
|
|
@@ -2752,19 +2753,19 @@ const Pl = ({
|
|
|
2752
2753
|
e,
|
|
2753
2754
|
n,
|
|
2754
2755
|
z,
|
|
2755
|
-
|
|
2756
|
+
p
|
|
2756
2757
|
]
|
|
2757
|
-
), [R, $] =
|
|
2758
|
+
), [R, $] = je(d), B = H(
|
|
2758
2759
|
() => gr((ee) => $(ee), Ui),
|
|
2759
2760
|
[]
|
|
2760
2761
|
);
|
|
2761
|
-
Ve(() => (
|
|
2762
|
+
Ve(() => (B(d), () => B.cancel()), [d, B]);
|
|
2762
2763
|
const K = H(() => {
|
|
2763
|
-
if (!
|
|
2764
|
+
if (!p || u)
|
|
2764
2765
|
return T;
|
|
2765
2766
|
const ee = new Set(R);
|
|
2766
|
-
return T.filter((
|
|
2767
|
-
}, [T,
|
|
2767
|
+
return T.filter((me) => ee.has(me));
|
|
2768
|
+
}, [T, p, u, R]), G = {
|
|
2768
2769
|
projectName: t,
|
|
2769
2770
|
parentIds: K,
|
|
2770
2771
|
filter: o.filterString,
|
|
@@ -2777,8 +2778,8 @@ const Pl = ({
|
|
|
2777
2778
|
error: q,
|
|
2778
2779
|
isUninitialized: re
|
|
2779
2780
|
} = lr(G, {
|
|
2780
|
-
skip: r || !K.length || !
|
|
2781
|
-
}), ve = !o.filterString && !l.filterString && !o.search && !l.search || !E.length || !
|
|
2781
|
+
skip: r || !K.length || !p && !u
|
|
2782
|
+
}), ve = !o.filterString && !l.filterString && !o.search && !l.search || !E.length || !p && !u, he = {
|
|
2782
2783
|
projectName: t,
|
|
2783
2784
|
folderSearchRequest: {
|
|
2784
2785
|
taskFilter: o.filter?.conditions?.length ? o.filter : void 0,
|
|
@@ -2787,24 +2788,24 @@ const Pl = ({
|
|
|
2787
2788
|
}
|
|
2788
2789
|
}, {
|
|
2789
2790
|
data: te,
|
|
2790
|
-
isUninitialized:
|
|
2791
|
+
isUninitialized: ge,
|
|
2791
2792
|
isLoading: Ee,
|
|
2792
2793
|
isUninitialized: Q,
|
|
2793
2794
|
error: J
|
|
2794
2795
|
} = cr(he, {
|
|
2795
2796
|
skip: r || ve
|
|
2796
2797
|
}), V = H(() => {
|
|
2797
|
-
const ee = /* @__PURE__ */ new Set(),
|
|
2798
|
+
const ee = /* @__PURE__ */ new Set(), me = /* @__PURE__ */ new Set();
|
|
2798
2799
|
E.forEach((oe) => {
|
|
2799
|
-
if (
|
|
2800
|
+
if (me.add(oe.id), !oe.parentId) {
|
|
2800
2801
|
ee.add(oe.id);
|
|
2801
2802
|
return;
|
|
2802
2803
|
}
|
|
2803
|
-
const
|
|
2804
|
-
(i[
|
|
2804
|
+
const fe = oe.parentId, ce = n ? e.includes(fe) : e.includes(oe.id);
|
|
2805
|
+
(i[fe] === !0 || ce) && ee.add(oe.id);
|
|
2805
2806
|
});
|
|
2806
2807
|
for (const oe of R)
|
|
2807
|
-
|
|
2808
|
+
me.has(oe) && ee.add(oe);
|
|
2808
2809
|
return ee;
|
|
2809
2810
|
}, [
|
|
2810
2811
|
R,
|
|
@@ -2822,22 +2823,22 @@ const Pl = ({
|
|
|
2822
2823
|
data: Z = [],
|
|
2823
2824
|
isUninitialized: F,
|
|
2824
2825
|
isFetching: ne
|
|
2825
|
-
} = Jn(O, { skip: r || C }),
|
|
2826
|
-
const ee = /* @__PURE__ */ new Map(),
|
|
2826
|
+
} = Jn(O, { skip: r || C }), W = H(() => {
|
|
2827
|
+
const ee = /* @__PURE__ */ new Map(), me = (oe) => ({
|
|
2827
2828
|
...oe,
|
|
2828
2829
|
entityId: oe.id,
|
|
2829
2830
|
entityType: "folder",
|
|
2830
2831
|
links: Z?.find((ce) => ce.id === oe.id)?.links || []
|
|
2831
2832
|
});
|
|
2832
|
-
if (!
|
|
2833
|
+
if (!ge && te && E.length) {
|
|
2833
2834
|
const oe = /* @__PURE__ */ new Set();
|
|
2834
2835
|
for (const ye of te)
|
|
2835
2836
|
oe.add(ye);
|
|
2836
|
-
const
|
|
2837
|
+
const fe = /* @__PURE__ */ new Map();
|
|
2837
2838
|
for (const ye of E)
|
|
2838
|
-
|
|
2839
|
+
fe.set(ye.id, ye);
|
|
2839
2840
|
const ce = (ye) => {
|
|
2840
|
-
const Me =
|
|
2841
|
+
const Me = fe.get(ye);
|
|
2841
2842
|
Me && Me.parentId && (oe.add(Me.parentId), ce(Me.parentId));
|
|
2842
2843
|
};
|
|
2843
2844
|
if (!u) {
|
|
@@ -2846,24 +2847,24 @@ const Pl = ({
|
|
|
2846
2847
|
ce(Me);
|
|
2847
2848
|
}
|
|
2848
2849
|
for (const ye of E)
|
|
2849
|
-
oe.has(ye.id) && ee.set(ye.id,
|
|
2850
|
+
oe.has(ye.id) && ee.set(ye.id, me(ye));
|
|
2850
2851
|
} else
|
|
2851
2852
|
for (const oe of E)
|
|
2852
|
-
ee.set(oe.id,
|
|
2853
|
+
ee.set(oe.id, me(oe));
|
|
2853
2854
|
if (e.length) {
|
|
2854
|
-
const oe = e.map((ce) => E.find((ye) => ye.id === ce)?.path).filter(Boolean),
|
|
2855
|
+
const oe = e.map((ce) => E.find((ye) => ye.id === ce)?.path).filter(Boolean), fe = /* @__PURE__ */ new Map();
|
|
2855
2856
|
return ee.forEach((ce, ye) => {
|
|
2856
|
-
const Me = ce.path,
|
|
2857
|
+
const Me = ce.path, gt = oe.includes(Me);
|
|
2857
2858
|
(oe.some(
|
|
2858
2859
|
(st) => Me.startsWith(st + "/")
|
|
2859
|
-
) ||
|
|
2860
|
-
}),
|
|
2860
|
+
) || gt && (!n || u)) && fe.set(ye, me(ce));
|
|
2861
|
+
}), fe;
|
|
2861
2862
|
}
|
|
2862
2863
|
return ee;
|
|
2863
2864
|
}, [
|
|
2864
2865
|
E,
|
|
2865
2866
|
te,
|
|
2866
|
-
|
|
2867
|
+
ge,
|
|
2867
2868
|
e,
|
|
2868
2869
|
n,
|
|
2869
2870
|
Z,
|
|
@@ -2871,17 +2872,17 @@ const Pl = ({
|
|
|
2871
2872
|
]), se = H(() => L ? oi({
|
|
2872
2873
|
expandedFoldersTasks: _,
|
|
2873
2874
|
expandedParentIds: M,
|
|
2874
|
-
foldersMap:
|
|
2875
|
-
}) : {}, [L, _, M,
|
|
2875
|
+
foldersMap: W
|
|
2876
|
+
}) : {}, [L, _, M, W]), [de, Ae] = je("");
|
|
2876
2877
|
Ve(() => {
|
|
2877
2878
|
de && Ae("");
|
|
2878
2879
|
}, [g, de]);
|
|
2879
|
-
const { sortBy: Se, desc: be } = Gi(g,
|
|
2880
|
-
/* @__PURE__ */ new Set([...
|
|
2880
|
+
const { sortBy: Se, desc: be } = Gi(g, p), Te = e.length ? Array.from(
|
|
2881
|
+
/* @__PURE__ */ new Set([...W.keys(), ...n ? e : []])
|
|
2881
2882
|
) : void 0, ke = H(
|
|
2882
2883
|
() => A(e),
|
|
2883
2884
|
[e, A]
|
|
2884
|
-
), Ie =
|
|
2885
|
+
), Ie = p && n, $e = () => {
|
|
2885
2886
|
if (!s?.length)
|
|
2886
2887
|
return ke?.length ? ke : void 0;
|
|
2887
2888
|
}, x = {
|
|
@@ -2896,7 +2897,7 @@ const Pl = ({
|
|
|
2896
2897
|
showComments: v,
|
|
2897
2898
|
includeFolderChildren: !Ie
|
|
2898
2899
|
}, {
|
|
2899
|
-
data:
|
|
2900
|
+
data: U,
|
|
2900
2901
|
isLoading: le,
|
|
2901
2902
|
error: ie,
|
|
2902
2903
|
fetchNextPage: Le,
|
|
@@ -2907,27 +2908,27 @@ const Pl = ({
|
|
|
2907
2908
|
// Skip flat task list for flat folder view (tasks loaded on folder expand).
|
|
2908
2909
|
// In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.
|
|
2909
2910
|
// Always run it when entity list provides specific task IDs.
|
|
2910
|
-
skip: r || (
|
|
2911
|
+
skip: r || (p && !Ie || u) && !s?.length,
|
|
2911
2912
|
initialPageParam: {
|
|
2912
2913
|
cursor: "",
|
|
2913
2914
|
desc: be
|
|
2914
2915
|
}
|
|
2915
|
-
}), Re = H(() =>
|
|
2916
|
+
}), Re = H(() => U?.pages ? U.pages.flatMap((ee) => ee.tasks || []) : [], [U?.pages]), { pageCounts: _e, incrementPageCount: Ne } = ti({
|
|
2916
2917
|
groups: a
|
|
2917
|
-
}), Qe = ni(
|
|
2918
|
+
}), Qe = ni(m, y), ut = H(() => Object.entries(i).filter(([, ee]) => ee).filter(([ee]) => hn(ee)).map(([ee]) => ee.slice(St.length)), [i]), Xe = H(() => m ? Bi({
|
|
2918
2919
|
groups: a,
|
|
2919
2920
|
// @ts-expect-error: filter is the same
|
|
2920
2921
|
filters: o.filter,
|
|
2921
|
-
groupBy:
|
|
2922
|
+
groupBy: m,
|
|
2922
2923
|
groupPageCounts: _e,
|
|
2923
2924
|
dataType: Qe
|
|
2924
|
-
}).filter((
|
|
2925
|
-
|
|
2925
|
+
}).filter((me) => ut.includes(me.value)) : [], [
|
|
2926
|
+
m,
|
|
2926
2927
|
a,
|
|
2927
2928
|
_e,
|
|
2928
2929
|
Qe,
|
|
2929
2930
|
o.filter,
|
|
2930
|
-
|
|
2931
|
+
ut
|
|
2931
2932
|
]), Ft = {
|
|
2932
2933
|
projectName: t,
|
|
2933
2934
|
groups: Xe,
|
|
@@ -2940,40 +2941,40 @@ const Pl = ({
|
|
|
2940
2941
|
showComments: v
|
|
2941
2942
|
}, {
|
|
2942
2943
|
data: { tasks: $t = [] } = {},
|
|
2943
|
-
isUninitialized:
|
|
2944
|
+
isUninitialized: on,
|
|
2944
2945
|
error: Vt
|
|
2945
2946
|
} = ur(Ft, {
|
|
2946
|
-
skip: r || !
|
|
2947
|
-
}),
|
|
2947
|
+
skip: r || !m || !Xe.length || h
|
|
2948
|
+
}), ft = H(() => s?.length ? Re : u ? _ : p ? Ie ? [..._, ...Re] : _ : m ? $t : Re, [
|
|
2948
2949
|
s,
|
|
2949
|
-
|
|
2950
|
+
p,
|
|
2950
2951
|
Ie,
|
|
2951
2952
|
u,
|
|
2952
|
-
|
|
2953
|
+
m,
|
|
2953
2954
|
Re,
|
|
2954
2955
|
_,
|
|
2955
2956
|
$t
|
|
2956
|
-
]),
|
|
2957
|
+
]), pt = H(() => new Set(ft.map((ee) => ee.id)), [ft]), mt = {
|
|
2957
2958
|
projectName: t,
|
|
2958
|
-
entityIds: Array.from(
|
|
2959
|
+
entityIds: Array.from(pt),
|
|
2959
2960
|
entityType: "task"
|
|
2960
2961
|
}, {
|
|
2961
2962
|
data: et = [],
|
|
2962
|
-
isUninitialized:
|
|
2963
|
+
isUninitialized: rn,
|
|
2963
2964
|
isFetching: Et
|
|
2964
|
-
} = Jn(
|
|
2965
|
-
skip: r ||
|
|
2966
|
-
}),
|
|
2965
|
+
} = Jn(mt, {
|
|
2966
|
+
skip: r || pt.size === 0 || C
|
|
2967
|
+
}), an = H(() => {
|
|
2967
2968
|
const ee = /* @__PURE__ */ new Set();
|
|
2968
2969
|
if (ne && !C) {
|
|
2969
|
-
const
|
|
2970
|
+
const me = new Set(Z.map((oe) => oe.id));
|
|
2970
2971
|
for (const oe of V)
|
|
2971
|
-
|
|
2972
|
+
me.has(oe) || ee.add(oe);
|
|
2972
2973
|
}
|
|
2973
2974
|
if (Et && !C) {
|
|
2974
|
-
const
|
|
2975
|
-
for (const oe of
|
|
2976
|
-
|
|
2975
|
+
const me = new Set(et.map((oe) => oe.id));
|
|
2976
|
+
for (const oe of pt)
|
|
2977
|
+
me.has(oe) || ee.add(oe);
|
|
2977
2978
|
}
|
|
2978
2979
|
return ee;
|
|
2979
2980
|
}, [
|
|
@@ -2982,62 +2983,61 @@ const Pl = ({
|
|
|
2982
2983
|
Z,
|
|
2983
2984
|
et,
|
|
2984
2985
|
V,
|
|
2985
|
-
|
|
2986
|
+
pt,
|
|
2986
2987
|
C
|
|
2987
2988
|
]), nt = (ee) => {
|
|
2988
|
-
|
|
2989
|
+
m ? ee && Ne(ee) : Ke && Le();
|
|
2989
2990
|
}, { tasksMap: it, tasksByFolderMap: at } = H(() => {
|
|
2990
|
-
const ee = /* @__PURE__ */ new Map(),
|
|
2991
|
-
...
|
|
2992
|
-
entityId:
|
|
2991
|
+
const ee = /* @__PURE__ */ new Map(), me = /* @__PURE__ */ new Map(), oe = (fe) => ({
|
|
2992
|
+
...fe,
|
|
2993
|
+
entityId: fe.id,
|
|
2993
2994
|
entityType: "task",
|
|
2994
|
-
links: et?.find((ce) => ce.id ===
|
|
2995
|
+
links: et?.find((ce) => ce.id === fe.id)?.links || []
|
|
2995
2996
|
});
|
|
2996
|
-
for (const
|
|
2997
|
-
const ce =
|
|
2997
|
+
for (const fe of ft) {
|
|
2998
|
+
const ce = fe.id;
|
|
2998
2999
|
if (ee.has(ce)) {
|
|
2999
|
-
const
|
|
3000
|
+
const ye = ee.get(ce), Me = oe(fe), gt = {
|
|
3001
|
+
...ye,
|
|
3000
3002
|
...Me,
|
|
3001
|
-
...
|
|
3002
|
-
groups: [...Me.groups || [], ...lt.groups || []]
|
|
3003
|
+
groups: [...ye.groups || [], ...Me.groups || []]
|
|
3003
3004
|
};
|
|
3004
|
-
ee.set(ce,
|
|
3005
|
-
} else
|
|
3006
|
-
ee.set(ce, oe(ge));
|
|
3007
|
-
if (fe.has(ye)) {
|
|
3008
|
-
const Me = fe.get(ye);
|
|
3009
|
-
Me.includes(ce) || Me.push(ce);
|
|
3005
|
+
ee.set(ce, gt);
|
|
3010
3006
|
} else
|
|
3011
|
-
|
|
3007
|
+
ee.set(ce, oe(fe));
|
|
3008
|
+
}
|
|
3009
|
+
for (const [fe, ce] of ee) {
|
|
3010
|
+
const ye = ce.folderId, Me = me.get(ye);
|
|
3011
|
+
Me ? Me.push(fe) : me.set(ye, [fe]);
|
|
3012
3012
|
}
|
|
3013
|
-
return { tasksMap: ee, tasksByFolderMap:
|
|
3014
|
-
}, [
|
|
3015
|
-
if (!s?.length || !at.size) return
|
|
3013
|
+
return { tasksMap: ee, tasksByFolderMap: me };
|
|
3014
|
+
}, [ft, et]), zt = H(() => {
|
|
3015
|
+
if (!s?.length || !at.size) return W;
|
|
3016
3016
|
const ee = /* @__PURE__ */ new Set();
|
|
3017
|
-
for (const
|
|
3018
|
-
ee.add(
|
|
3019
|
-
const
|
|
3020
|
-
const ce =
|
|
3017
|
+
for (const fe of at.keys())
|
|
3018
|
+
ee.add(fe);
|
|
3019
|
+
const me = (fe) => {
|
|
3020
|
+
const ce = W.get(fe);
|
|
3021
3021
|
if (ce && ce.parentId) {
|
|
3022
3022
|
const ye = ce.parentId;
|
|
3023
|
-
ee.has(ye) || (ee.add(ye),
|
|
3023
|
+
ee.has(ye) || (ee.add(ye), me(ye));
|
|
3024
3024
|
}
|
|
3025
3025
|
};
|
|
3026
|
-
for (const
|
|
3027
|
-
fe
|
|
3026
|
+
for (const fe of ee)
|
|
3027
|
+
me(fe);
|
|
3028
3028
|
const oe = /* @__PURE__ */ new Map();
|
|
3029
|
-
for (const [
|
|
3030
|
-
ee.has(
|
|
3029
|
+
for (const [fe, ce] of W)
|
|
3030
|
+
ee.has(fe) && oe.set(fe, ce);
|
|
3031
3031
|
return oe;
|
|
3032
|
-
}, [
|
|
3033
|
-
const
|
|
3034
|
-
(
|
|
3032
|
+
}, [W, at, s]), Bt = async (ee = []) => {
|
|
3033
|
+
const me = ee.length === 0, oe = ee.some((ye) => ye.topic.startsWith("entity.folder.")), fe = ee.some((ye) => ye.topic.startsWith("entity.task.")), ce = [];
|
|
3034
|
+
(me || oe) && !D && ce.push({
|
|
3035
3035
|
endpointName: "getFolderList",
|
|
3036
3036
|
args: { projectName: t, attrib: !0 }
|
|
3037
|
-
}), (
|
|
3037
|
+
}), (me || oe || fe) && !Q && ce.push({ endpointName: "getSearchFolders", args: he }), (me || fe) && !re && ce.push({
|
|
3038
3038
|
endpointName: "getOverviewTasksByFolders",
|
|
3039
3039
|
args: G
|
|
3040
|
-
}), (
|
|
3040
|
+
}), (me || fe) && !Pe && ce.push({ endpointName: "getTasksListInfinite", args: x }), (me || fe) && !on && ce.push({ endpointName: "getGroupedTasksList", args: Ft }), (me || oe) && !N && f && ce.push({ endpointName: "GetFolderColumnStats", args: f }), (me || fe) && !P && w && ce.push({ endpointName: "GetTaskColumnStats", args: w }), (me || oe) && !F && ce.push({ endpointName: "getEntityLinks", args: O }), (me || fe) && !rn && ce.push({ endpointName: "getEntityLinks", args: mt }), await Promise.all([
|
|
3041
3041
|
...ce.map(
|
|
3042
3042
|
({ endpointName: ye, args: Me }) => I(
|
|
3043
3043
|
Zr(ye, Me, {
|
|
@@ -3046,7 +3046,7 @@ const Pl = ({
|
|
|
3046
3046
|
).unwrap()
|
|
3047
3047
|
),
|
|
3048
3048
|
// the Lists and Review sessions columns
|
|
3049
|
-
|
|
3049
|
+
me && I(fr(t))
|
|
3050
3050
|
]), ce.map(
|
|
3051
3051
|
({ endpointName: ye, args: Me }) => I(ei(ye, Me))
|
|
3052
3052
|
);
|
|
@@ -3071,11 +3071,11 @@ const Pl = ({
|
|
|
3071
3071
|
// these all show a full loading state
|
|
3072
3072
|
isLoadingMore: we,
|
|
3073
3073
|
loadingTasks: se,
|
|
3074
|
-
loadingLinksEntityIds:
|
|
3074
|
+
loadingLinksEntityIds: an,
|
|
3075
3075
|
fetchNextPage: nt,
|
|
3076
3076
|
onSyncData: Bt
|
|
3077
3077
|
};
|
|
3078
|
-
},
|
|
3078
|
+
}, ji = ({
|
|
3079
3079
|
queryFilters: t,
|
|
3080
3080
|
sliceFilter: e,
|
|
3081
3081
|
sliceFilters: n,
|
|
@@ -3085,15 +3085,15 @@ const Pl = ({
|
|
|
3085
3085
|
const l = [e, ...n || []];
|
|
3086
3086
|
for (const i of l) {
|
|
3087
3087
|
if (!i?.values?.length) continue;
|
|
3088
|
-
const
|
|
3089
|
-
|
|
3090
|
-
conditions: [...o?.conditions || [], ...
|
|
3088
|
+
const p = Yr([i]);
|
|
3089
|
+
p.conditions?.length && (o = {
|
|
3090
|
+
conditions: [...o?.conditions || [], ...p.conditions],
|
|
3091
3091
|
operator: "and"
|
|
3092
3092
|
});
|
|
3093
3093
|
}
|
|
3094
|
-
let g = t,
|
|
3094
|
+
let g = t, m = "";
|
|
3095
3095
|
if (o?.conditions?.length) {
|
|
3096
|
-
const i = [],
|
|
3096
|
+
const i = [], p = o.conditions.filter((u) => {
|
|
3097
3097
|
const y = u;
|
|
3098
3098
|
if (y.key === Jo) {
|
|
3099
3099
|
const S = y.value;
|
|
@@ -3115,19 +3115,19 @@ const Pl = ({
|
|
|
3115
3115
|
}
|
|
3116
3116
|
return !0;
|
|
3117
3117
|
});
|
|
3118
|
-
|
|
3118
|
+
m = i.join(", "), o = p.length ? { ...o, conditions: p } : { ...o, conditions: [] };
|
|
3119
3119
|
}
|
|
3120
3120
|
const a = o?.conditions?.length ? Ms(Jr(o)) : o;
|
|
3121
3121
|
return {
|
|
3122
3122
|
filterString: a?.conditions?.length ? JSON.stringify(a) : "",
|
|
3123
3123
|
filter: a,
|
|
3124
|
-
search:
|
|
3124
|
+
search: m,
|
|
3125
3125
|
combinedFilters: a,
|
|
3126
3126
|
displayFilters: g
|
|
3127
3127
|
};
|
|
3128
3128
|
}, Fl = (t) => {
|
|
3129
3129
|
const { queryFilters: e, sliceFilter: n, sliceFilters: s } = t;
|
|
3130
|
-
return H(() =>
|
|
3130
|
+
return H(() => ji(t), [e, n, s]);
|
|
3131
3131
|
}, $l = ({ foldersMap: t, tasksMap: e }) => H(() => {
|
|
3132
3132
|
const n = /* @__PURE__ */ new Map();
|
|
3133
3133
|
return t.forEach((s) => {
|
|
@@ -3135,29 +3135,29 @@ const Pl = ({
|
|
|
3135
3135
|
}), e.forEach((s) => {
|
|
3136
3136
|
n.set(s.id, s);
|
|
3137
3137
|
}), n;
|
|
3138
|
-
}, [t, e]),
|
|
3138
|
+
}, [t, e]), Cn = "0".repeat(32), Vl = (t, e, n) => {
|
|
3139
3139
|
if (!n || !t.length) return t;
|
|
3140
3140
|
const s = t.filter((o) => {
|
|
3141
3141
|
const l = e[o];
|
|
3142
3142
|
return !l || n.has(l);
|
|
3143
3143
|
});
|
|
3144
|
-
return s.length ? s : [
|
|
3144
|
+
return s.length ? s : [Cn];
|
|
3145
3145
|
}, ls = (t, e, n) => {
|
|
3146
3146
|
const s = new Set(n && t.length ? n(t, !0) : t), o = new Set(n && e.length ? n(e, !0) : e);
|
|
3147
3147
|
return [.../* @__PURE__ */ new Set([...t.filter((l) => o.has(l)), ...e.filter((l) => s.has(l))])];
|
|
3148
|
-
},
|
|
3149
|
-
const o = t.find((y) => y.sliceType === "hierarchy"), l = t.find((y) => y.sliceType === "entityList"), g = Object.entries(o?.rowSelection || {}).filter(([, y]) => y).map(([y]) => y),
|
|
3148
|
+
}, Wi = (t, e, n, s) => {
|
|
3149
|
+
const o = t.find((y) => y.sliceType === "hierarchy"), l = t.find((y) => y.sliceType === "entityList"), g = Object.entries(o?.rowSelection || {}).filter(([, y]) => y).map(([y]) => y), m = !!s, a = s ? g.length ? ls(g, s, n) : s : g;
|
|
3150
3150
|
if (!(!!l && Object.entries(l.rowSelection).some(([y, S]) => S && !y.startsWith("folder-"))))
|
|
3151
3151
|
return {
|
|
3152
3152
|
// a search with no matches (or none under the selection) shows no rows, not all rows
|
|
3153
|
-
selectedFolders:
|
|
3153
|
+
selectedFolders: m && !a.length ? [Cn] : a,
|
|
3154
3154
|
folderScope: null,
|
|
3155
3155
|
listPanelSelected: !1
|
|
3156
3156
|
};
|
|
3157
|
-
const i = e?.length ? e : [],
|
|
3157
|
+
const i = e?.length ? e : [], p = (a.length || m) && n ? new Set(n(a, !0)) : null, u = p ? ls(i, a, n) : i;
|
|
3158
3158
|
return {
|
|
3159
|
-
selectedFolders: u.length ? u : [
|
|
3160
|
-
folderScope:
|
|
3159
|
+
selectedFolders: u.length ? u : [Cn],
|
|
3160
|
+
folderScope: p,
|
|
3161
3161
|
listPanelSelected: !0
|
|
3162
3162
|
};
|
|
3163
3163
|
}, zl = ({
|
|
@@ -3166,7 +3166,7 @@ const Pl = ({
|
|
|
3166
3166
|
getChildFolderIds: n,
|
|
3167
3167
|
searchFolderIds: s
|
|
3168
3168
|
}) => H(
|
|
3169
|
-
() =>
|
|
3169
|
+
() => Wi(t, e, n, s),
|
|
3170
3170
|
[t, e, n, s]
|
|
3171
3171
|
), Bl = ({
|
|
3172
3172
|
attribFields: t,
|
|
@@ -3213,21 +3213,21 @@ const Pl = ({
|
|
|
3213
3213
|
}, 2e3);
|
|
3214
3214
|
return () => clearTimeout(a);
|
|
3215
3215
|
}
|
|
3216
|
-
const
|
|
3216
|
+
const m = /* @__PURE__ */ new Set();
|
|
3217
3217
|
for (const a of t)
|
|
3218
|
-
o(ue(a || "")?.rowId || "") ||
|
|
3219
|
-
if (
|
|
3218
|
+
o(ue(a || "")?.rowId || "") || m.add(a);
|
|
3219
|
+
if (m.size > 0) {
|
|
3220
3220
|
const a = new Set(t);
|
|
3221
|
-
for (const c of
|
|
3221
|
+
for (const c of m)
|
|
3222
3222
|
a.delete(c);
|
|
3223
|
-
e(a),
|
|
3223
|
+
e(a), m.has(n || "") && s(null);
|
|
3224
3224
|
}
|
|
3225
3225
|
}, [o, t, n, e, s, l]);
|
|
3226
3226
|
}, Ki = (t) => {
|
|
3227
|
-
const { updateGroupBy: e } =
|
|
3228
|
-
() => o ? n.find((
|
|
3227
|
+
const { updateGroupBy: e } = ct(), { attribFields: n, scopes: s } = qe(), o = t.startsWith("attrib_"), l = o ? t.replace("attrib_", "") : void 0, g = H(
|
|
3228
|
+
() => o ? n.find((p) => p.name === l) : void 0,
|
|
3229
3229
|
[n, o, l]
|
|
3230
|
-
),
|
|
3230
|
+
), m = H(() => {
|
|
3231
3231
|
if (t.startsWith("attrib_")) return "attrib." + t.replace("attrib_", "");
|
|
3232
3232
|
if (t === "subType") {
|
|
3233
3233
|
if (s.includes("task"))
|
|
@@ -3236,11 +3236,11 @@ const Pl = ({
|
|
|
3236
3236
|
return "productType";
|
|
3237
3237
|
}
|
|
3238
3238
|
if (["status", "assignees", "tags", "taskType"].includes(t)) return t;
|
|
3239
|
-
}, [t]), a = H(() =>
|
|
3240
|
-
|
|
3241
|
-
}, [
|
|
3239
|
+
}, [t]), a = H(() => m ? o ? !!g && Pr(g, "task") : !0 : !1, [g, o, m]), c = H(() => o ? g?.data.title || g?.name || l || "Attribute" : t === "status" ? "Status" : t === "subType" ? "Type" : t === "assignees" ? "Assignees" : t === "tags" ? "Tags" : "Column", [g, l, t, o]), i = X(() => {
|
|
3240
|
+
m && e({ id: m, desc: !1 });
|
|
3241
|
+
}, [m, e]);
|
|
3242
3242
|
return {
|
|
3243
|
-
targetGroupById:
|
|
3243
|
+
targetGroupById: m,
|
|
3244
3244
|
canGroupThisColumn: a,
|
|
3245
3245
|
groupLabel: c,
|
|
3246
3246
|
groupBySelectedColumn: i
|
|
@@ -3248,13 +3248,13 @@ const Pl = ({
|
|
|
3248
3248
|
}, Gl = (t, e = "bottom") => {
|
|
3249
3249
|
const { contributions: n } = xs("entityMenuItem"), { projectName: s } = Ge();
|
|
3250
3250
|
return X(
|
|
3251
|
-
(o, l, g,
|
|
3251
|
+
(o, l, g, m) => {
|
|
3252
3252
|
const a = er(n, e).filter(
|
|
3253
3253
|
(C) => Ls(C, t)
|
|
3254
3254
|
);
|
|
3255
3255
|
if (!a.length) return;
|
|
3256
|
-
const c = new Set(
|
|
3257
|
-
for (const C of
|
|
3256
|
+
const c = new Set(m.selectedCells), i = g.filter((C) => c.has(C.cellId)), p = i.length ? i : g.length ? g : [l], u = /* @__PURE__ */ new Map();
|
|
3257
|
+
for (const C of p) {
|
|
3258
3258
|
const { entityId: v, entityType: r, isGroup: b, data: d } = C;
|
|
3259
3259
|
if (b || !v || !r || r === "unknown") continue;
|
|
3260
3260
|
const f = d;
|
|
@@ -3271,7 +3271,7 @@ const Pl = ({
|
|
|
3271
3271
|
const S = { projectName: s, page: t, entities: y };
|
|
3272
3272
|
return a.filter(
|
|
3273
3273
|
(C) => (C.selection !== "single" || y.length === 1) && (!C.entityTypes?.length || y.every((v) => C.entityTypes.includes(v.entityType)))
|
|
3274
|
-
).map((C) => (
|
|
3274
|
+
).map((C) => (In(C.run), {
|
|
3275
3275
|
id: C.key,
|
|
3276
3276
|
label: C.label,
|
|
3277
3277
|
icon: C.icon,
|
|
@@ -3280,19 +3280,19 @@ const Pl = ({
|
|
|
3280
3280
|
},
|
|
3281
3281
|
[n, s, t]
|
|
3282
3282
|
);
|
|
3283
|
-
},
|
|
3284
|
-
const [e, n] =
|
|
3283
|
+
}, jl = ({ children: t }) => {
|
|
3284
|
+
const [e, n] = je(/* @__PURE__ */ new Set()), [s, o] = je(null), [l, g] = je(!1), [m, a] = je(null), [c, i] = je({
|
|
3285
3285
|
rowIdToIndex: /* @__PURE__ */ new Map(),
|
|
3286
3286
|
colIdToIndex: /* @__PURE__ */ new Map(),
|
|
3287
3287
|
indexToRowId: /* @__PURE__ */ new Map(),
|
|
3288
3288
|
indexToColId: /* @__PURE__ */ new Map()
|
|
3289
|
-
}),
|
|
3289
|
+
}), p = (A) => JSON.stringify(Array.from(A.entries())), u = H(
|
|
3290
3290
|
() => c,
|
|
3291
3291
|
[
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3292
|
+
p(c.rowIdToIndex),
|
|
3293
|
+
p(c.colIdToIndex),
|
|
3294
|
+
p(c.indexToRowId),
|
|
3295
|
+
p(c.indexToColId)
|
|
3296
3296
|
]
|
|
3297
3297
|
), y = He(!1), S = H(
|
|
3298
3298
|
() => Array.from(e).filter(
|
|
@@ -3307,18 +3307,18 @@ const Pl = ({
|
|
|
3307
3307
|
setFocusedCellId: o
|
|
3308
3308
|
});
|
|
3309
3309
|
const C = He(!1), v = X((A, M) => {
|
|
3310
|
-
const T = /* @__PURE__ */ new Map(), R = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map(),
|
|
3310
|
+
const T = /* @__PURE__ */ new Map(), R = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map(), B = /* @__PURE__ */ new Map();
|
|
3311
3311
|
A.forEach((K, G) => {
|
|
3312
3312
|
T.set(K, G), $.set(G, K);
|
|
3313
3313
|
}), M.forEach((K, G) => {
|
|
3314
|
-
R.set(K, G),
|
|
3315
|
-
}), i({ rowIdToIndex: T, colIdToIndex: R, indexToRowId: $, indexToColId:
|
|
3314
|
+
R.set(K, G), B.set(G, K);
|
|
3315
|
+
}), i({ rowIdToIndex: T, colIdToIndex: R, indexToRowId: $, indexToColId: B });
|
|
3316
3316
|
}, []), r = X((A, M) => {
|
|
3317
3317
|
n((T) => {
|
|
3318
3318
|
let R = new Set(A);
|
|
3319
|
-
if (M.colId !== pe && M.colId !==
|
|
3319
|
+
if (M.colId !== pe && M.colId !== We) {
|
|
3320
3320
|
const $ = Array.from(T).filter(
|
|
3321
|
-
(
|
|
3321
|
+
(B) => ue(B)?.colId === pe
|
|
3322
3322
|
);
|
|
3323
3323
|
$.length && (R = /* @__PURE__ */ new Set([...R, ...$]));
|
|
3324
3324
|
}
|
|
@@ -3327,13 +3327,13 @@ const Pl = ({
|
|
|
3327
3327
|
}, []), b = X(
|
|
3328
3328
|
(A, M, T) => {
|
|
3329
3329
|
T || r(/* @__PURE__ */ new Set(), A);
|
|
3330
|
-
const R = u.rowIdToIndex.get(A.rowId) ?? 0, $ = u.colIdToIndex.get(A.colId) ?? 0,
|
|
3330
|
+
const R = u.rowIdToIndex.get(A.rowId) ?? 0, $ = u.colIdToIndex.get(A.colId) ?? 0, B = u.rowIdToIndex.get(M.rowId) ?? 0, K = u.colIdToIndex.get(M.colId) ?? 0, G = Math.min(R, B), _ = Math.max(R, B), L = Math.min($, K), q = Math.max($, K), re = new Set(T ? e : []);
|
|
3331
3331
|
for (let ve = G; ve <= _; ve++) {
|
|
3332
3332
|
const he = u.indexToRowId.get(ve);
|
|
3333
3333
|
if (he)
|
|
3334
3334
|
for (let te = L; te <= q; te++) {
|
|
3335
|
-
const
|
|
3336
|
-
|
|
3335
|
+
const ge = u.indexToColId.get(te);
|
|
3336
|
+
ge && re.add(Fe(he, ge));
|
|
3337
3337
|
}
|
|
3338
3338
|
}
|
|
3339
3339
|
return re;
|
|
@@ -3350,7 +3350,7 @@ const Pl = ({
|
|
|
3350
3350
|
[e, s, r]
|
|
3351
3351
|
), f = X(
|
|
3352
3352
|
(A, M) => {
|
|
3353
|
-
if (!l || !
|
|
3353
|
+
if (!l || !m) return;
|
|
3354
3354
|
const T = ue(A);
|
|
3355
3355
|
if (T)
|
|
3356
3356
|
if (M)
|
|
@@ -3361,29 +3361,29 @@ const Pl = ({
|
|
|
3361
3361
|
else {
|
|
3362
3362
|
if (C.current) return;
|
|
3363
3363
|
const R = b(
|
|
3364
|
-
|
|
3364
|
+
m,
|
|
3365
3365
|
T,
|
|
3366
3366
|
C.current
|
|
3367
3367
|
);
|
|
3368
3368
|
r(R, T);
|
|
3369
3369
|
}
|
|
3370
3370
|
},
|
|
3371
|
-
[l,
|
|
3371
|
+
[l, m, b, r]
|
|
3372
3372
|
), w = X(() => {
|
|
3373
3373
|
g(!1);
|
|
3374
3374
|
}, []), N = X(
|
|
3375
3375
|
(A, M, T) => {
|
|
3376
3376
|
const R = ue(A);
|
|
3377
3377
|
if (R)
|
|
3378
|
-
if (T &&
|
|
3379
|
-
const $ = b(
|
|
3378
|
+
if (T && m) {
|
|
3379
|
+
const $ = b(m, R, M);
|
|
3380
3380
|
r($, R);
|
|
3381
3381
|
} else M ? n(($) => {
|
|
3382
|
-
const
|
|
3383
|
-
return
|
|
3382
|
+
const B = new Set($);
|
|
3383
|
+
return B.has(A) ? B.delete(A) : B.add(A), B;
|
|
3384
3384
|
}) : (r(/* @__PURE__ */ new Set([A]), R), a(R));
|
|
3385
3385
|
},
|
|
3386
|
-
[
|
|
3386
|
+
[m, b, r]
|
|
3387
3387
|
), P = X((A) => {
|
|
3388
3388
|
o(A);
|
|
3389
3389
|
}, []), I = X(() => {
|
|
@@ -3395,9 +3395,9 @@ const Pl = ({
|
|
|
3395
3395
|
if (!M) return [];
|
|
3396
3396
|
const T = u.rowIdToIndex.get(M.rowId), R = u.colIdToIndex.get(M.colId);
|
|
3397
3397
|
if (T === void 0 || R === void 0) return [];
|
|
3398
|
-
const $ = u.indexToRowId.get(T - 1),
|
|
3398
|
+
const $ = u.indexToRowId.get(T - 1), B = u.indexToColId.get(R + 1), K = u.indexToRowId.get(T + 1), G = u.indexToColId.get(R - 1);
|
|
3399
3399
|
let _ = Lt.None;
|
|
3400
|
-
return (!$ || !e.has(Fe($, M.colId))) && (_ |= Lt.Top), (!
|
|
3400
|
+
return (!$ || !e.has(Fe($, M.colId))) && (_ |= Lt.Top), (!B || !e.has(Fe(M.rowId, B))) && (_ |= Lt.Right), (!K || !e.has(Fe(K, M.colId))) && (_ |= Lt.Bottom), (!G || !e.has(Fe(M.rowId, G))) && (_ |= Lt.Left), Ao(_);
|
|
3401
3401
|
},
|
|
3402
3402
|
[e, u, h]
|
|
3403
3403
|
), z = H(
|
|
@@ -3406,7 +3406,7 @@ const Pl = ({
|
|
|
3406
3406
|
selectedRows: S,
|
|
3407
3407
|
focusedCellId: s,
|
|
3408
3408
|
selectionInProgress: l,
|
|
3409
|
-
anchorCell:
|
|
3409
|
+
anchorCell: m,
|
|
3410
3410
|
gridMap: u,
|
|
3411
3411
|
setSelectedCells: n,
|
|
3412
3412
|
setFocusedCellId: o,
|
|
@@ -3428,7 +3428,7 @@ const Pl = ({
|
|
|
3428
3428
|
S,
|
|
3429
3429
|
s,
|
|
3430
3430
|
l,
|
|
3431
|
-
|
|
3431
|
+
m,
|
|
3432
3432
|
u,
|
|
3433
3433
|
n,
|
|
3434
3434
|
o,
|
|
@@ -3446,8 +3446,8 @@ const Pl = ({
|
|
|
3446
3446
|
D
|
|
3447
3447
|
]
|
|
3448
3448
|
);
|
|
3449
|
-
return /* @__PURE__ */
|
|
3450
|
-
},
|
|
3449
|
+
return /* @__PURE__ */ j(Po.Provider, { value: z, children: t });
|
|
3450
|
+
}, Wl = "count", Hl = (t) => t === "count" || t === "both", Kl = (t) => t === "percent" || t === "both", ql = (t, e) => t && e ? "both" : t ? "count" : e ? "percent" : "none", Ql = "all", Xl = (t) => t === "all" || t === "primary", Yl = (t) => t === "all" || t === "secondary", Jl = (t, e) => t && e ? "all" : t ? "primary" : e ? "secondary" : "none", Zl = {
|
|
3451
3451
|
primary: "folders",
|
|
3452
3452
|
secondary: "tasks"
|
|
3453
3453
|
}, qi = [
|
|
@@ -3465,7 +3465,7 @@ const Pl = ({
|
|
|
3465
3465
|
if (!t) return !1;
|
|
3466
3466
|
const n = Ts(t).toLowerCase();
|
|
3467
3467
|
return qi.some((s) => n.includes(s)) ? !0 : Qi(e);
|
|
3468
|
-
}, Yi = (t = "Items") => `${t} were unable to load due to a corrupt filter.`, Ji = (t = []) => t.includes("product") ? "Products" : t.includes("version") ? "Versions" : t.includes("task") ? "Tasks" : t.includes("folder") ? "Folders" : "Items", ec = (t, e, n) => `${t}-${e}-${n}`,
|
|
3468
|
+
}, Yi = (t = "Items") => `${t} were unable to load due to a corrupt filter.`, Ji = (t = []) => t.includes("product") ? "Products" : t.includes("version") ? "Versions" : t.includes("task") ? "Tasks" : t.includes("folder") ? "Folders" : "Items", ec = (t, e, n) => `${t}-${e}-${n}`, mn = (t) => {
|
|
3469
3469
|
switch (t) {
|
|
3470
3470
|
case "boolean":
|
|
3471
3471
|
return !1;
|
|
@@ -3486,18 +3486,18 @@ const Pl = ({
|
|
|
3486
3486
|
default:
|
|
3487
3487
|
return null;
|
|
3488
3488
|
}
|
|
3489
|
-
},
|
|
3489
|
+
}, Rn = (t) => {
|
|
3490
3490
|
const e = {
|
|
3491
3491
|
[t.entityType + "Id"]: t.entityId
|
|
3492
3492
|
};
|
|
3493
3493
|
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;
|
|
3494
|
-
},
|
|
3495
|
-
const e = t.lastIndexOf(
|
|
3494
|
+
}, tn = "__", Zi = (t) => `${tn}${t}`, tc = (t, e) => `${t}${Zi(e)}`, Ns = (t) => {
|
|
3495
|
+
const e = t.lastIndexOf(tn);
|
|
3496
3496
|
if (e === -1)
|
|
3497
3497
|
return null;
|
|
3498
|
-
const n = t.slice(0, e), s = t.slice(e +
|
|
3498
|
+
const n = t.slice(0, e), s = t.slice(e + tn.length);
|
|
3499
3499
|
return { entityId: n, type: s };
|
|
3500
|
-
}, nc = (t) => t.includes(
|
|
3500
|
+
}, nc = (t) => t.includes(tn) && Ns(t) !== null, sc = (t, e) => Ns(t)?.type === e, ea = (t) => "key" in t, Ms = (t) => ({
|
|
3501
3501
|
...t,
|
|
3502
3502
|
conditions: t.conditions?.map((e) => {
|
|
3503
3503
|
if (!ea(e)) return Ms(e);
|
|
@@ -3508,15 +3508,15 @@ const Pl = ({
|
|
|
3508
3508
|
return e;
|
|
3509
3509
|
})
|
|
3510
3510
|
}), ta = (t = 50) => {
|
|
3511
|
-
const [e, n] =
|
|
3512
|
-
(
|
|
3513
|
-
|
|
3514
|
-
const S = [...y, { undo:
|
|
3511
|
+
const [e, n] = je([]), [s, o] = je([]), l = X(
|
|
3512
|
+
(p, u) => {
|
|
3513
|
+
p.length && (n((y) => {
|
|
3514
|
+
const S = [...y, { undo: p, redo: u, timestamp: Date.now() }];
|
|
3515
3515
|
return S.length > t ? S.slice(S.length - t) : S;
|
|
3516
3516
|
}), o([]));
|
|
3517
3517
|
},
|
|
3518
3518
|
[t]
|
|
3519
|
-
), g = (
|
|
3519
|
+
), g = (p) => p.reduce(
|
|
3520
3520
|
(u, y) => (typeof y == "function" ? u[2].push(y) : y.wasInherited ? u[1].push({
|
|
3521
3521
|
entityId: y.id,
|
|
3522
3522
|
entityType: y.type,
|
|
@@ -3526,22 +3526,22 @@ const Pl = ({
|
|
|
3526
3526
|
rowId: y.rowId
|
|
3527
3527
|
}) : u[0].push(y), u),
|
|
3528
3528
|
[[], [], []]
|
|
3529
|
-
),
|
|
3529
|
+
), m = X(() => {
|
|
3530
3530
|
if (e.length === 0) return null;
|
|
3531
|
-
const
|
|
3532
|
-
return n(
|
|
3531
|
+
const p = [...e], u = p.pop();
|
|
3532
|
+
return n(p), u.redo && o((y) => [...y, u]), g(u.undo);
|
|
3533
3533
|
}, [e]), a = X(() => {
|
|
3534
3534
|
if (s.length === 0) return null;
|
|
3535
|
-
const
|
|
3536
|
-
return o(
|
|
3537
|
-
}, [s]), c = X((
|
|
3538
|
-
n((u) => u.slice(0, Math.max(0, u.length -
|
|
3535
|
+
const p = [...s], u = p.pop();
|
|
3536
|
+
return o(p), n((y) => [...y, u]), u.redo ? g(u.redo) : null;
|
|
3537
|
+
}, [s]), c = X((p) => {
|
|
3538
|
+
n((u) => u.slice(0, Math.max(0, u.length - p))), o((u) => u.slice(0, Math.max(0, u.length - p)));
|
|
3539
3539
|
}, []), i = X(() => {
|
|
3540
3540
|
n([]), o([]);
|
|
3541
3541
|
}, []);
|
|
3542
3542
|
return {
|
|
3543
3543
|
pushHistory: l,
|
|
3544
|
-
undo:
|
|
3544
|
+
undo: m,
|
|
3545
3545
|
redo: a,
|
|
3546
3546
|
canUndo: e.length > 0,
|
|
3547
3547
|
canRedo: s.length > 0,
|
|
@@ -3556,12 +3556,12 @@ const Pl = ({
|
|
|
3556
3556
|
const l = e.find((d) => d.name === o);
|
|
3557
3557
|
if (!l) continue;
|
|
3558
3558
|
let g = s;
|
|
3559
|
-
const { type:
|
|
3560
|
-
if (
|
|
3559
|
+
const { type: m } = l.data;
|
|
3560
|
+
if (m === "integer" || m === "float") {
|
|
3561
3561
|
if (typeof s == "string") {
|
|
3562
3562
|
if (s.trim() === "" || isNaN(Number(s)))
|
|
3563
3563
|
throw new Error(`“${o}” must be a valid number`);
|
|
3564
|
-
g =
|
|
3564
|
+
g = m === "integer" ? parseInt(s, 10) : parseFloat(s);
|
|
3565
3565
|
} else if (typeof s != "number")
|
|
3566
3566
|
throw new Error(`“${o}” must be a valid number`);
|
|
3567
3567
|
}
|
|
@@ -3574,10 +3574,10 @@ const Pl = ({
|
|
|
3574
3574
|
"maxLength",
|
|
3575
3575
|
"minItems",
|
|
3576
3576
|
"maxItems"
|
|
3577
|
-
], c = Object.entries(l.data).reduce((d, [f, w]) => (a.includes(f) && (d[f] = w), d), {}), { ge: i, gt:
|
|
3577
|
+
], c = Object.entries(l.data).reduce((d, [f, w]) => (a.includes(f) && (d[f] = w), d), {}), { ge: i, gt: p, le: u, lt: y, minLength: S, maxLength: C, minItems: v, maxItems: r } = c, b = l.data.regex;
|
|
3578
3578
|
if (typeof g == "number") {
|
|
3579
3579
|
if (i != null && g < i) throw new Error(`“${o}” must be ≥ ${i}`);
|
|
3580
|
-
if (
|
|
3580
|
+
if (p != null && g <= p) throw new Error(`“${o}” must be > ${p}`);
|
|
3581
3581
|
if (u != null && g > u) throw new Error(`“${o}” must be ≤ ${u}`);
|
|
3582
3582
|
if (y != null && g >= y) throw new Error(`“${o}” must be < ${y}`);
|
|
3583
3583
|
} else if (typeof g == "string") {
|
|
@@ -3595,14 +3595,14 @@ const Pl = ({
|
|
|
3595
3595
|
}
|
|
3596
3596
|
}
|
|
3597
3597
|
}, oc = ({ children: t }) => {
|
|
3598
|
-
const [e, n] =
|
|
3598
|
+
const [e, n] = je(null), s = He(null), o = X(() => s.current, []), l = X((M) => {
|
|
3599
3599
|
s.current = M;
|
|
3600
3600
|
}, []), g = X((M) => {
|
|
3601
3601
|
s.current = null, n(M);
|
|
3602
|
-
}, []),
|
|
3602
|
+
}, []), m = X((M) => M === e, [e]), a = ta(), {
|
|
3603
3603
|
pushHistory: c,
|
|
3604
3604
|
undo: i,
|
|
3605
|
-
redo:
|
|
3605
|
+
redo: p,
|
|
3606
3606
|
canUndo: u,
|
|
3607
3607
|
canRedo: y,
|
|
3608
3608
|
removeHistoryEntries: S
|
|
@@ -3655,7 +3655,7 @@ const Pl = ({
|
|
|
3655
3655
|
}
|
|
3656
3656
|
});
|
|
3657
3657
|
}, D = async () => {
|
|
3658
|
-
const [M, T, R] =
|
|
3658
|
+
const [M, T, R] = p() || [];
|
|
3659
3659
|
if (M && M.length > 0)
|
|
3660
3660
|
try {
|
|
3661
3661
|
await h(M, !1);
|
|
@@ -3678,10 +3678,10 @@ const Pl = ({
|
|
|
3678
3678
|
}, z = X(
|
|
3679
3679
|
async (M) => {
|
|
3680
3680
|
const T = [], R = [], $ = [];
|
|
3681
|
-
for (const
|
|
3682
|
-
const { colId: K, rowId: G } = ue(
|
|
3681
|
+
for (const B of M) {
|
|
3682
|
+
const { colId: K, rowId: G } = ue(B) || {};
|
|
3683
3683
|
if (!K || !G) {
|
|
3684
|
-
console.warn(`Invalid cellId: ${
|
|
3684
|
+
console.warn(`Invalid cellId: ${B}`);
|
|
3685
3685
|
continue;
|
|
3686
3686
|
}
|
|
3687
3687
|
if (f(G)) continue;
|
|
@@ -3707,7 +3707,7 @@ const Pl = ({
|
|
|
3707
3707
|
continue;
|
|
3708
3708
|
}
|
|
3709
3709
|
if (he.data.inherit) {
|
|
3710
|
-
const te = R.find((
|
|
3710
|
+
const te = R.find((ge) => ge.entityId === _.entityId);
|
|
3711
3711
|
te ? te.attribs.push(L) : R.push({
|
|
3712
3712
|
entityId: _.entityId,
|
|
3713
3713
|
attribs: [L],
|
|
@@ -3718,11 +3718,11 @@ const Pl = ({
|
|
|
3718
3718
|
});
|
|
3719
3719
|
continue;
|
|
3720
3720
|
} else
|
|
3721
|
-
re = he.data.default ||
|
|
3721
|
+
re = he.data.default || mn(he.data.type);
|
|
3722
3722
|
} else if (L === "assignees")
|
|
3723
|
-
re =
|
|
3723
|
+
re = mn("list_of_strings");
|
|
3724
3724
|
else if (L === "tags")
|
|
3725
|
-
re =
|
|
3725
|
+
re = mn("list_of_strings");
|
|
3726
3726
|
else {
|
|
3727
3727
|
console.warn(`Field not editable: ${L}`);
|
|
3728
3728
|
continue;
|
|
@@ -3761,10 +3761,10 @@ const Pl = ({
|
|
|
3761
3761
|
});
|
|
3762
3762
|
}]);
|
|
3763
3763
|
});
|
|
3764
|
-
const
|
|
3764
|
+
const B = $.map(
|
|
3765
3765
|
({ taskId: K }) => P({ projectName: N, taskId: K, subtasks: [] }).unwrap()
|
|
3766
3766
|
);
|
|
3767
|
-
await Promise.all(
|
|
3767
|
+
await Promise.all(B);
|
|
3768
3768
|
} catch {
|
|
3769
3769
|
Oe.error("Failed to clear subtasks");
|
|
3770
3770
|
}
|
|
@@ -3784,7 +3784,7 @@ const Pl = ({
|
|
|
3784
3784
|
() => ({
|
|
3785
3785
|
editingCellId: e,
|
|
3786
3786
|
setEditingCellId: g,
|
|
3787
|
-
isEditing:
|
|
3787
|
+
isEditing: m,
|
|
3788
3788
|
updateEntities: h,
|
|
3789
3789
|
inheritFromParent: E,
|
|
3790
3790
|
undo: k,
|
|
@@ -3795,7 +3795,7 @@ const Pl = ({
|
|
|
3795
3795
|
}),
|
|
3796
3796
|
[
|
|
3797
3797
|
e,
|
|
3798
|
-
|
|
3798
|
+
m,
|
|
3799
3799
|
h,
|
|
3800
3800
|
E,
|
|
3801
3801
|
k,
|
|
@@ -3807,7 +3807,7 @@ const Pl = ({
|
|
|
3807
3807
|
);
|
|
3808
3808
|
return Ve(() => {
|
|
3809
3809
|
const M = (T) => {
|
|
3810
|
-
if (
|
|
3810
|
+
if (kn(T, w)) return;
|
|
3811
3811
|
const R = T.target;
|
|
3812
3812
|
if (R.tagName === "INPUT" || R.tagName === "TEXTAREA" || R.isContentEditable || R.getAttribute("role") === "textbox" || R.tagName === "LI" || !(R?.closest("table") !== null || R === document.body)) return;
|
|
3813
3813
|
const K = typeof navigator < "u" && // @ts-expect-error
|
|
@@ -3827,11 +3827,11 @@ const Pl = ({
|
|
|
3827
3827
|
}
|
|
3828
3828
|
};
|
|
3829
3829
|
return document.addEventListener("keydown", M), () => document.removeEventListener("keydown", M);
|
|
3830
|
-
}, [u, y, k, D, C, z, w]), /* @__PURE__ */
|
|
3830
|
+
}, [u, y, k, D, C, z, w]), /* @__PURE__ */ j(Do.Provider, { value: A, children: t });
|
|
3831
3831
|
}, sa = ({
|
|
3832
3832
|
attributes: t,
|
|
3833
3833
|
listeners: e
|
|
3834
|
-
}) => /* @__PURE__ */
|
|
3834
|
+
}) => /* @__PURE__ */ j(
|
|
3835
3835
|
"button",
|
|
3836
3836
|
{
|
|
3837
3837
|
...t,
|
|
@@ -3851,7 +3851,7 @@ const Pl = ({
|
|
|
3851
3851
|
// Ensure button fills the cell space if needed
|
|
3852
3852
|
height: "100%"
|
|
3853
3853
|
},
|
|
3854
|
-
children: /* @__PURE__ */
|
|
3854
|
+
children: /* @__PURE__ */ j(Mt, { icon: "drag_handle" })
|
|
3855
3855
|
}
|
|
3856
3856
|
), oa = ({
|
|
3857
3857
|
header: t,
|
|
@@ -3861,14 +3861,14 @@ const Pl = ({
|
|
|
3861
3861
|
isResizing: o,
|
|
3862
3862
|
className: l,
|
|
3863
3863
|
menuId: g,
|
|
3864
|
-
isOpen:
|
|
3864
|
+
isOpen: m,
|
|
3865
3865
|
extraMenuItems: a
|
|
3866
3866
|
}) => {
|
|
3867
|
-
const { column: c } = t, i = String(c.id), { toggleMenuOpen:
|
|
3867
|
+
const { column: c } = t, i = String(c.id), { toggleMenuOpen: p } = Es(), { updateGroupBy: u, groupBy: y, sorting: S } = ct(), { canGroupThisColumn: C, groupLabel: v, groupBySelectedColumn: r, targetGroupById: b } = Ki(i);
|
|
3868
3868
|
if (o)
|
|
3869
3869
|
return null;
|
|
3870
3870
|
const d = (h = !0) => {
|
|
3871
|
-
|
|
3871
|
+
p(h && g || !1);
|
|
3872
3872
|
}, f = c.getIsPinned(), w = c.getIsVisible(), N = c.getIsSorted(), P = !!N && S.length > 1, I = [];
|
|
3873
3873
|
if (n) {
|
|
3874
3874
|
const h = f === "left";
|
|
@@ -3903,7 +3903,7 @@ const Pl = ({
|
|
|
3903
3903
|
onClick: () => {
|
|
3904
3904
|
c.toggleSorting(!0, P), d(!1);
|
|
3905
3905
|
}
|
|
3906
|
-
}), !N && S.length > 0 && S.length <
|
|
3906
|
+
}), !N && S.length > 0 && S.length < xn && I.push({
|
|
3907
3907
|
id: "sort-add",
|
|
3908
3908
|
label: "Add to sort",
|
|
3909
3909
|
icon: "add",
|
|
@@ -3941,7 +3941,7 @@ const Pl = ({
|
|
|
3941
3941
|
} : void 0
|
|
3942
3942
|
});
|
|
3943
3943
|
}
|
|
3944
|
-
return I.length === 0 ? null : /* @__PURE__ */
|
|
3944
|
+
return I.length === 0 ? null : /* @__PURE__ */ j(
|
|
3945
3945
|
Lr,
|
|
3946
3946
|
{
|
|
3947
3947
|
className: l,
|
|
@@ -3949,11 +3949,11 @@ const Pl = ({
|
|
|
3949
3949
|
menuId: g || `column-menu-${t.id}`
|
|
3950
3950
|
}
|
|
3951
3951
|
);
|
|
3952
|
-
}, cs = 60,
|
|
3953
|
-
const { columnOrder: e, updateColumnOrder: n, columnPinning: s, columnSizing: o } =
|
|
3952
|
+
}, cs = 60, Xt = 150, ds = 50, us = [We, pe], rc = ({ children: t }) => {
|
|
3953
|
+
const { columnOrder: e, updateColumnOrder: n, columnPinning: s, columnSizing: o } = ct(), {
|
|
3954
3954
|
restrictToSection: l,
|
|
3955
3955
|
setDragPinnedState: g,
|
|
3956
|
-
clearDragPinnedState:
|
|
3956
|
+
clearDragPinnedState: m,
|
|
3957
3957
|
activePinnedState: a,
|
|
3958
3958
|
setCachedBoundary: c
|
|
3959
3959
|
} = Dr({ columnPinning: s, columnSizing: o }), i = He({
|
|
@@ -3965,10 +3965,10 @@ const Pl = ({
|
|
|
3965
3965
|
isScrolling: !1,
|
|
3966
3966
|
isColumnDrag: !1,
|
|
3967
3967
|
isPinnedDrag: null
|
|
3968
|
-
}),
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3968
|
+
}), p = Or(
|
|
3969
|
+
un(_r, { activationConstraint: { distance: 5 } }),
|
|
3970
|
+
un(Nr, { activationConstraint: { delay: 100, tolerance: 5 } }),
|
|
3971
|
+
un(Mr, {})
|
|
3972
3972
|
), u = H(() => [l], [l]), y = s.left || [], S = X(() => {
|
|
3973
3973
|
const h = i.current.container;
|
|
3974
3974
|
if (!h) return 0;
|
|
@@ -4003,11 +4003,11 @@ const Pl = ({
|
|
|
4003
4003
|
const E = h.boundaryX + 20;
|
|
4004
4004
|
let k = 0;
|
|
4005
4005
|
if (h.isPinnedDrag === !1 && h.cursorX <= E) {
|
|
4006
|
-
const D = Math.min((E - h.cursorX) /
|
|
4006
|
+
const D = Math.min((E - h.cursorX) / Xt, 1);
|
|
4007
4007
|
k = -cs * (0.3 + D * 0.7);
|
|
4008
|
-
} else if (h.cursorX >= h.containerRight -
|
|
4008
|
+
} else if (h.cursorX >= h.containerRight - Xt) {
|
|
4009
4009
|
const D = Math.min(
|
|
4010
|
-
(h.cursorX - (h.containerRight -
|
|
4010
|
+
(h.cursorX - (h.containerRight - Xt)) / Xt,
|
|
4011
4011
|
1
|
|
4012
4012
|
);
|
|
4013
4013
|
k = cs * (0.3 + D * 0.7);
|
|
@@ -4034,10 +4034,10 @@ const Pl = ({
|
|
|
4034
4034
|
isPinnedDrag: null
|
|
4035
4035
|
};
|
|
4036
4036
|
};
|
|
4037
|
-
return /* @__PURE__ */
|
|
4037
|
+
return /* @__PURE__ */ j(
|
|
4038
4038
|
Fr,
|
|
4039
4039
|
{
|
|
4040
|
-
sensors:
|
|
4040
|
+
sensors: p,
|
|
4041
4041
|
collisionDetection: v,
|
|
4042
4042
|
modifiers: u,
|
|
4043
4043
|
onDragStart: (h) => {
|
|
@@ -4046,7 +4046,7 @@ const Pl = ({
|
|
|
4046
4046
|
i.current.container = E, i.current.containerRight = k?.right ?? 0, i.current.boundaryX = S(), i.current.isColumnDrag = !0, i.current.isPinnedDrag = D, g(h.active.id), c(i.current.boundaryX), window.addEventListener("mousemove", f), b();
|
|
4047
4047
|
},
|
|
4048
4048
|
onDragEnd: (h) => {
|
|
4049
|
-
|
|
4049
|
+
m();
|
|
4050
4050
|
const { active: E, over: k } = h;
|
|
4051
4051
|
if (!E || !i.current.isColumnDrag) {
|
|
4052
4052
|
w();
|
|
@@ -4069,7 +4069,7 @@ const Pl = ({
|
|
|
4069
4069
|
A !== -1 && M !== -1 && n(ts(e, A, M)), w();
|
|
4070
4070
|
},
|
|
4071
4071
|
onDragCancel: () => {
|
|
4072
|
-
|
|
4072
|
+
m(), w();
|
|
4073
4073
|
},
|
|
4074
4074
|
children: t
|
|
4075
4075
|
}
|
|
@@ -4079,8 +4079,8 @@ const Pl = ({
|
|
|
4079
4079
|
return H(() => {
|
|
4080
4080
|
const l = {};
|
|
4081
4081
|
for (let g = 0; g < n.length; g++) {
|
|
4082
|
-
const
|
|
4083
|
-
l[`--header-${
|
|
4082
|
+
const m = n[g];
|
|
4083
|
+
l[`--header-${m.id}-size`] = m.getSize(), l[`--col-${m.column.id}-size`] = m.column.getSize();
|
|
4084
4084
|
}
|
|
4085
4085
|
return l;
|
|
4086
4086
|
}, [s, e, n]);
|
|
@@ -4091,19 +4091,19 @@ const Pl = ({
|
|
|
4091
4091
|
columnSizing: s,
|
|
4092
4092
|
columnOrder: o
|
|
4093
4093
|
}) => {
|
|
4094
|
-
const l = H(() => t.filter((S) => S.getIsPinned() === "left").map((S) => S.getIndex()), [t, n]), [g,
|
|
4094
|
+
const l = H(() => t.filter((S) => S.getIsPinned() === "left").map((S) => S.getIndex()), [t, n]), [g, m] = je(null);
|
|
4095
4095
|
$r({
|
|
4096
4096
|
onDragStart(S) {
|
|
4097
4097
|
if (S.active.data?.current?.type === "column") {
|
|
4098
4098
|
const C = t.findIndex((v) => v.id === S.active.id);
|
|
4099
|
-
C !== -1 &&
|
|
4099
|
+
C !== -1 && m(C);
|
|
4100
4100
|
}
|
|
4101
4101
|
},
|
|
4102
4102
|
onDragEnd() {
|
|
4103
|
-
|
|
4103
|
+
m(null);
|
|
4104
4104
|
},
|
|
4105
4105
|
onDragCancel() {
|
|
4106
|
-
|
|
4106
|
+
m(null);
|
|
4107
4107
|
}
|
|
4108
4108
|
});
|
|
4109
4109
|
const a = [];
|
|
@@ -4142,21 +4142,21 @@ const Pl = ({
|
|
|
4142
4142
|
so(() => {
|
|
4143
4143
|
i();
|
|
4144
4144
|
}, [i, s, o]);
|
|
4145
|
-
const
|
|
4145
|
+
const p = c.getVirtualItems();
|
|
4146
4146
|
let u, y;
|
|
4147
|
-
if (c &&
|
|
4148
|
-
const S = c.getTotalSize(), C =
|
|
4147
|
+
if (c && p.length) {
|
|
4148
|
+
const S = c.getTotalSize(), C = p.findIndex(
|
|
4149
4149
|
(r) => !a.includes(r.index)
|
|
4150
4150
|
);
|
|
4151
4151
|
if (C !== -1) {
|
|
4152
|
-
const r =
|
|
4152
|
+
const r = p[C].start, b = a.reduce((d, f) => {
|
|
4153
4153
|
const w = t[f];
|
|
4154
4154
|
return d + w.getSize();
|
|
4155
4155
|
}, 0);
|
|
4156
4156
|
u = Math.max(0, r - b);
|
|
4157
4157
|
} else
|
|
4158
4158
|
u = 0;
|
|
4159
|
-
const v =
|
|
4159
|
+
const v = p[p.length - 1]?.end ?? 0;
|
|
4160
4160
|
y = Math.max(0, S - v);
|
|
4161
4161
|
}
|
|
4162
4162
|
return {
|
|
@@ -4166,14 +4166,14 @@ const Pl = ({
|
|
|
4166
4166
|
};
|
|
4167
4167
|
};
|
|
4168
4168
|
function aa() {
|
|
4169
|
-
const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: s, isRowReadOnly: o, tableId: l } = qe(), { canWriteLabelPermission: g, canWriteNamePermission:
|
|
4169
|
+
const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: s, isRowReadOnly: o, tableId: l } = qe(), { canWriteLabelPermission: g, canWriteNamePermission: m } = Sn(), a = g || m, { focusedCellId: c, gridMap: i, selectCell: p, focusCell: u, clearSelection: y, setFocusedCellId: S } = tt(), { setEditingCellId: C, editingCellId: v } = dt(), { setSelectedEntity: r } = hs(), b = X(
|
|
4170
4170
|
(f) => {
|
|
4171
4171
|
u(f), console.log(f), requestAnimationFrame(() => document.getElementById(f)?.closest("td")?.focus());
|
|
4172
4172
|
},
|
|
4173
4173
|
[u]
|
|
4174
4174
|
), d = X(
|
|
4175
4175
|
(f) => {
|
|
4176
|
-
if (
|
|
4176
|
+
if (kn(f, l)) return;
|
|
4177
4177
|
const w = f.target, N = f.key === "ArrowUp" || f.key === "ArrowDown", P = s && N && !!w?.closest("#viewer-dialog");
|
|
4178
4178
|
if (!P && !w?.closest("tbody td"))
|
|
4179
4179
|
return;
|
|
@@ -4187,7 +4187,7 @@ function aa() {
|
|
|
4187
4187
|
if (n) {
|
|
4188
4188
|
const R = e(T);
|
|
4189
4189
|
if (R) {
|
|
4190
|
-
const $ =
|
|
4190
|
+
const $ = Rn(R);
|
|
4191
4191
|
n($, { quickView: !0 });
|
|
4192
4192
|
}
|
|
4193
4193
|
}
|
|
@@ -4198,7 +4198,7 @@ function aa() {
|
|
|
4198
4198
|
const T = i.indexToRowId.get(D - 1);
|
|
4199
4199
|
if (T) {
|
|
4200
4200
|
const R = Fe(T, k);
|
|
4201
|
-
|
|
4201
|
+
p(R, f.shiftKey, f.shiftKey), I ? u(R) : b(R), s && M(T);
|
|
4202
4202
|
}
|
|
4203
4203
|
}
|
|
4204
4204
|
break;
|
|
@@ -4208,7 +4208,7 @@ function aa() {
|
|
|
4208
4208
|
const T = i.indexToRowId.get(D + 1);
|
|
4209
4209
|
if (T) {
|
|
4210
4210
|
const R = Fe(T, k);
|
|
4211
|
-
|
|
4211
|
+
p(R, f.shiftKey, f.shiftKey), I ? u(R) : b(R), s && M(T);
|
|
4212
4212
|
}
|
|
4213
4213
|
break;
|
|
4214
4214
|
}
|
|
@@ -4217,7 +4217,7 @@ function aa() {
|
|
|
4217
4217
|
const T = i.indexToColId.get(z - 1);
|
|
4218
4218
|
if (T) {
|
|
4219
4219
|
const R = Fe(E, T);
|
|
4220
|
-
|
|
4220
|
+
p(R, f.shiftKey, f.shiftKey), b(R);
|
|
4221
4221
|
}
|
|
4222
4222
|
}
|
|
4223
4223
|
break;
|
|
@@ -4227,13 +4227,13 @@ function aa() {
|
|
|
4227
4227
|
const T = i.indexToColId.get(z + 1);
|
|
4228
4228
|
if (T) {
|
|
4229
4229
|
const R = Fe(E, T);
|
|
4230
|
-
|
|
4230
|
+
p(R, f.shiftKey, f.shiftKey), b(R);
|
|
4231
4231
|
}
|
|
4232
4232
|
break;
|
|
4233
4233
|
}
|
|
4234
4234
|
case "Enter": {
|
|
4235
4235
|
if (f.preventDefault(), k === "name") {
|
|
4236
|
-
const T = e(E), R = T &&
|
|
4236
|
+
const T = e(E), R = T && Zt(T.entityType);
|
|
4237
4237
|
T && (T.entityType === "folder" || T.entityType === "task") && !R && r({
|
|
4238
4238
|
entityId: E,
|
|
4239
4239
|
entityType: T.entityType
|
|
@@ -4253,18 +4253,18 @@ function aa() {
|
|
|
4253
4253
|
const T = f.shiftKey ? z - 1 : z + 1, R = i.indexToColId.get(T);
|
|
4254
4254
|
if (R) {
|
|
4255
4255
|
const $ = Fe(E, R);
|
|
4256
|
-
|
|
4256
|
+
p($, !1, !1), b($);
|
|
4257
4257
|
} else if (!f.shiftKey && D < i.rowIdToIndex.size - 1) {
|
|
4258
|
-
const $ = i.indexToRowId.get(D + 1),
|
|
4259
|
-
if ($ &&
|
|
4260
|
-
const K = Fe($,
|
|
4261
|
-
|
|
4258
|
+
const $ = i.indexToRowId.get(D + 1), B = i.indexToColId.get(0);
|
|
4259
|
+
if ($ && B) {
|
|
4260
|
+
const K = Fe($, B);
|
|
4261
|
+
p(K, !1, !1), b(K);
|
|
4262
4262
|
}
|
|
4263
4263
|
} else if (f.shiftKey && D > 0) {
|
|
4264
|
-
const $ = i.indexToRowId.get(D - 1),
|
|
4265
|
-
if ($ &&
|
|
4266
|
-
const K = Fe($,
|
|
4267
|
-
|
|
4264
|
+
const $ = i.indexToRowId.get(D - 1), B = i.indexToColId.get(i.colIdToIndex.size - 1);
|
|
4265
|
+
if ($ && B) {
|
|
4266
|
+
const K = Fe($, B);
|
|
4267
|
+
p(K, !1, !1), b(K);
|
|
4268
4268
|
}
|
|
4269
4269
|
}
|
|
4270
4270
|
break;
|
|
@@ -4290,7 +4290,7 @@ function aa() {
|
|
|
4290
4290
|
[
|
|
4291
4291
|
c,
|
|
4292
4292
|
i,
|
|
4293
|
-
|
|
4293
|
+
p,
|
|
4294
4294
|
u,
|
|
4295
4295
|
b,
|
|
4296
4296
|
y,
|
|
@@ -4309,7 +4309,7 @@ function aa() {
|
|
|
4309
4309
|
d,
|
|
4310
4310
|
c,
|
|
4311
4311
|
i,
|
|
4312
|
-
|
|
4312
|
+
p,
|
|
4313
4313
|
b,
|
|
4314
4314
|
y,
|
|
4315
4315
|
C,
|
|
@@ -4320,7 +4320,7 @@ function aa() {
|
|
|
4320
4320
|
handleKeyDown: d,
|
|
4321
4321
|
focusedCellId: c,
|
|
4322
4322
|
gridMap: i,
|
|
4323
|
-
selectCell:
|
|
4323
|
+
selectCell: p,
|
|
4324
4324
|
focusCell: u,
|
|
4325
4325
|
clearSelection: y,
|
|
4326
4326
|
setEditingCellId: C,
|
|
@@ -4328,14 +4328,14 @@ function aa() {
|
|
|
4328
4328
|
};
|
|
4329
4329
|
}
|
|
4330
4330
|
const la = 24, ca = () => {
|
|
4331
|
-
const { rowHeight: t = la } =
|
|
4331
|
+
const { rowHeight: t = la } = ct();
|
|
4332
4332
|
return { getRowHeight: (n) => t, thumbnailRowHeight: t, defaultRowHeight: t };
|
|
4333
|
-
}, fs = ({ error: t }) => /* @__PURE__ */
|
|
4334
|
-
const { projectName: o } = Ge(), { primary: l, group: g, metaType:
|
|
4333
|
+
}, fs = ({ error: t }) => /* @__PURE__ */ j("div", { className: "readonly", "data-tooltip": t.message, style: { justifyContent: "center" }, children: /* @__PURE__ */ j(Mt, { icon: "error", style: { color: "var(--md-sys-color-error)" } }) }), da = ({ contribution: t, page: e, columnId: n, row: s }) => {
|
|
4334
|
+
const { projectName: o } = Ge(), { primary: l, group: g, metaType: m, isLoading: a } = s.original, c = !g && !m && !a && (!t.entityTypes?.length || t.entityTypes.includes(l.entityType)), i = Ti(n, l.id), p = i?.value, u = !!t.fetchValues && (!i || i.status === "loading" && !("value" in i)), y = H(
|
|
4335
4335
|
() => ({
|
|
4336
4336
|
projectName: o,
|
|
4337
4337
|
page: e,
|
|
4338
|
-
value:
|
|
4338
|
+
value: p,
|
|
4339
4339
|
entity: {
|
|
4340
4340
|
id: l.id,
|
|
4341
4341
|
entityType: l.entityType,
|
|
@@ -4344,32 +4344,32 @@ const la = 24, ca = () => {
|
|
|
4344
4344
|
label: l.label || void 0
|
|
4345
4345
|
}
|
|
4346
4346
|
}),
|
|
4347
|
-
[o, e,
|
|
4347
|
+
[o, e, p, l.id, l.entityType, l.name, l.label]
|
|
4348
4348
|
);
|
|
4349
|
-
return /* @__PURE__ */
|
|
4350
|
-
|
|
4349
|
+
return /* @__PURE__ */ j(
|
|
4350
|
+
vn,
|
|
4351
4351
|
{
|
|
4352
4352
|
id: Fe(s.id, n),
|
|
4353
4353
|
className: a ? "readonly loading" : "readonly",
|
|
4354
4354
|
tabIndex: 0,
|
|
4355
|
-
children: c && i?.status === "error" && i.error ? /* @__PURE__ */
|
|
4355
|
+
children: c && i?.status === "error" && i.error ? /* @__PURE__ */ j(fs, { error: i.error }) : c && u ? /* @__PURE__ */ j("div", { className: "readonly loading" }) : c && /* @__PURE__ */ j(
|
|
4356
4356
|
Ar,
|
|
4357
4357
|
{
|
|
4358
4358
|
contribution: t,
|
|
4359
4359
|
piece: "cell",
|
|
4360
4360
|
context: y,
|
|
4361
|
-
loading: /* @__PURE__ */
|
|
4362
|
-
error: (S) => /* @__PURE__ */
|
|
4361
|
+
loading: /* @__PURE__ */ j("div", { className: "readonly loading" }),
|
|
4362
|
+
error: (S) => /* @__PURE__ */ j(fs, { error: S })
|
|
4363
4363
|
}
|
|
4364
4364
|
)
|
|
4365
4365
|
}
|
|
4366
4366
|
);
|
|
4367
|
-
}, ua = 150,
|
|
4367
|
+
}, ua = 150, gn = 100, fa = ({
|
|
4368
4368
|
meta: t,
|
|
4369
4369
|
columnId: e,
|
|
4370
4370
|
entities: n
|
|
4371
4371
|
}) => {
|
|
4372
|
-
const { projectName: s } = Ge(), { contribution: o, page: l } = t, { value: g } = tr(o.fetchValues),
|
|
4372
|
+
const { projectName: s } = Ge(), { contribution: o, page: l } = t, { value: g } = tr(o.fetchValues), m = `${s}:${l}`, a = He({
|
|
4373
4373
|
pending: /* @__PURE__ */ new Map(),
|
|
4374
4374
|
onScreen: [],
|
|
4375
4375
|
timer: void 0,
|
|
@@ -4380,15 +4380,15 @@ const la = 24, ca = () => {
|
|
|
4380
4380
|
return C.controller = new AbortController(), wi(e), () => {
|
|
4381
4381
|
C.controller.abort(), clearTimeout(C.timer), C.pending.clear();
|
|
4382
4382
|
};
|
|
4383
|
-
}, [e,
|
|
4383
|
+
}, [e, m]);
|
|
4384
4384
|
const c = X(() => {
|
|
4385
4385
|
const C = a.current;
|
|
4386
4386
|
if (clearTimeout(C.timer), C.timer = void 0, !g) return;
|
|
4387
4387
|
const v = new Set(C.onScreen.map((d) => d.id)), r = [...C.pending.values()].filter((d) => v.has(d.id));
|
|
4388
4388
|
C.pending.clear();
|
|
4389
4389
|
const { signal: b } = C.controller;
|
|
4390
|
-
for (let d = 0; d < r.length; d +=
|
|
4391
|
-
const f = r.slice(d, d +
|
|
4390
|
+
for (let d = 0; d < r.length; d += gn) {
|
|
4391
|
+
const f = r.slice(d, d + gn), w = {};
|
|
4392
4392
|
f.forEach(({ id: I, version: h }) => {
|
|
4393
4393
|
const E = Nt(e, I);
|
|
4394
4394
|
w[I] = {
|
|
@@ -4421,7 +4421,7 @@ const la = 24, ca = () => {
|
|
|
4421
4421
|
}, [g, e, o, s, l]), i = X(
|
|
4422
4422
|
(C) => {
|
|
4423
4423
|
const v = a.current;
|
|
4424
|
-
C.forEach((r) => v.pending.set(r.id, r)), v.pending.size && (v.pending.size >=
|
|
4424
|
+
C.forEach((r) => v.pending.set(r.id, r)), v.pending.size && (v.pending.size >= gn ? c() : (clearTimeout(v.timer), v.timer = setTimeout(c, ua)));
|
|
4425
4425
|
},
|
|
4426
4426
|
[c]
|
|
4427
4427
|
);
|
|
@@ -4435,14 +4435,14 @@ const la = 24, ca = () => {
|
|
|
4435
4435
|
})
|
|
4436
4436
|
);
|
|
4437
4437
|
}, [n, g, e, i]);
|
|
4438
|
-
const
|
|
4438
|
+
const p = X(() => {
|
|
4439
4439
|
a.current.controller.abort(), a.current.controller = new AbortController(), Ci(e), i(a.current.onScreen);
|
|
4440
4440
|
}, [e, i]);
|
|
4441
4441
|
Ve(
|
|
4442
4442
|
() => sr((C) => {
|
|
4443
|
-
C === o.id &&
|
|
4443
|
+
C === o.id && p();
|
|
4444
4444
|
}),
|
|
4445
|
-
[o.id,
|
|
4445
|
+
[o.id, p]
|
|
4446
4446
|
);
|
|
4447
4447
|
const u = o.providesTags, { data: y } = Xo(
|
|
4448
4448
|
{ columnId: e, tags: u || [] },
|
|
@@ -4450,40 +4450,40 @@ const la = 24, ca = () => {
|
|
|
4450
4450
|
), S = He(y);
|
|
4451
4451
|
return Ve(() => {
|
|
4452
4452
|
const C = S.current;
|
|
4453
|
-
S.current = y, C !== void 0 && y !== void 0 && y !== C &&
|
|
4454
|
-
}, [y,
|
|
4453
|
+
S.current = y, C !== void 0 && y !== void 0 && y !== C && p();
|
|
4454
|
+
}, [y, p]), null;
|
|
4455
4455
|
}, pa = ({
|
|
4456
4456
|
columns: t,
|
|
4457
4457
|
entities: e,
|
|
4458
4458
|
children: n
|
|
4459
4459
|
}) => {
|
|
4460
|
-
const { projectName: s } = Ge(), o = t.flatMap((
|
|
4461
|
-
const a =
|
|
4462
|
-
return a?.contribution.fetchValues ? [{ columnId:
|
|
4463
|
-
}), l = e.map((
|
|
4464
|
-
() => e.map((
|
|
4465
|
-
id:
|
|
4466
|
-
entityType:
|
|
4460
|
+
const { projectName: s } = Ge(), o = t.flatMap((m) => {
|
|
4461
|
+
const a = m.columnDef.meta?.addonColumn;
|
|
4462
|
+
return a?.contribution.fetchValues ? [{ columnId: m.id, meta: a }] : [];
|
|
4463
|
+
}), l = e.map((m) => `${m.entityType}:${m.id}:${m.updatedAt || ""}`).join(","), g = H(
|
|
4464
|
+
() => e.map((m) => ({
|
|
4465
|
+
id: m.id,
|
|
4466
|
+
entityType: m.entityType,
|
|
4467
4467
|
projectName: s,
|
|
4468
|
-
name:
|
|
4469
|
-
label:
|
|
4470
|
-
version:
|
|
4468
|
+
name: m.name,
|
|
4469
|
+
label: m.label || void 0,
|
|
4470
|
+
version: m.updatedAt || ""
|
|
4471
4471
|
})),
|
|
4472
4472
|
// entities is compared by content
|
|
4473
4473
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4474
4474
|
[l, s]
|
|
4475
4475
|
);
|
|
4476
|
-
return /* @__PURE__ */ Ue(
|
|
4477
|
-
o.map(({ columnId:
|
|
4476
|
+
return /* @__PURE__ */ Ue(yn, { children: [
|
|
4477
|
+
o.map(({ columnId: m, meta: a }) => /* @__PURE__ */ j(fa, { meta: a, columnId: m, entities: g }, m)),
|
|
4478
4478
|
n
|
|
4479
4479
|
] });
|
|
4480
4480
|
}, ma = (t) => t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.isContentEditable || t.getAttribute("role") === "textbox", ga = ({ page: t, containerRef: e }) => {
|
|
4481
|
-
const { projectName: n } = Ge(), { getEntityById: s } = qe(), { focusedCellId: o, selectedCells: l } = tt(), { editingCellId: g } =
|
|
4481
|
+
const { projectName: n } = Ge(), { getEntityById: s } = qe(), { focusedCellId: o, selectedCells: l } = tt(), { editingCellId: g } = dt(), { hasShortcuts: m, handleShortcut: a, dialog: c } = Qr(t);
|
|
4482
4482
|
return Ve(() => {
|
|
4483
|
-
if (!
|
|
4484
|
-
const i = (
|
|
4485
|
-
const u =
|
|
4486
|
-
!u || !e.current?.contains(u) || !u.closest("tbody td") || ma(u) || g || a(
|
|
4483
|
+
if (!m || c) return;
|
|
4484
|
+
const i = (p) => {
|
|
4485
|
+
const u = p.target;
|
|
4486
|
+
!u || !e.current?.contains(u) || !u.closest("tbody td") || ma(u) || g || a(p, () => {
|
|
4487
4487
|
const y = o ? ue(o) : null;
|
|
4488
4488
|
if (!y || y.rowId.startsWith(St)) return;
|
|
4489
4489
|
const S = (w) => {
|
|
@@ -4519,7 +4519,7 @@ const la = 24, ca = () => {
|
|
|
4519
4519
|
return document.addEventListener("keydown", i, !0), () => document.removeEventListener("keydown", i, !0);
|
|
4520
4520
|
}, [
|
|
4521
4521
|
e,
|
|
4522
|
-
|
|
4522
|
+
m,
|
|
4523
4523
|
c,
|
|
4524
4524
|
a,
|
|
4525
4525
|
g,
|
|
@@ -4527,7 +4527,7 @@ const la = 24, ca = () => {
|
|
|
4527
4527
|
l,
|
|
4528
4528
|
s,
|
|
4529
4529
|
n
|
|
4530
|
-
]), c ? /* @__PURE__ */
|
|
4530
|
+
]), c ? /* @__PURE__ */ j(Xr, { contribution: c.contribution, context: c.context }) : null;
|
|
4531
4531
|
}, ya = () => null, ha = (t, e) => e.some((n) => {
|
|
4532
4532
|
if (n.includes("*")) {
|
|
4533
4533
|
const o = "^" + n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\\\*/g, ".*") + "$";
|
|
@@ -4543,11 +4543,11 @@ const la = 24, ca = () => {
|
|
|
4543
4543
|
onOpenNew: o,
|
|
4544
4544
|
readOnly: l,
|
|
4545
4545
|
excludedColumns: g,
|
|
4546
|
-
excludedSorting:
|
|
4546
|
+
excludedSorting: m,
|
|
4547
4547
|
extraColumns: a,
|
|
4548
4548
|
includeLinks: c,
|
|
4549
4549
|
includeParents: i,
|
|
4550
|
-
parentColumns:
|
|
4550
|
+
parentColumns: p,
|
|
4551
4551
|
isLoading: u,
|
|
4552
4552
|
isExpandable: y,
|
|
4553
4553
|
enableSorting: S = !0,
|
|
@@ -4574,7 +4574,7 @@ const la = 24, ca = () => {
|
|
|
4574
4574
|
scrollToRowId: T,
|
|
4575
4575
|
onScrolledToRow: R,
|
|
4576
4576
|
addonPage: $,
|
|
4577
|
-
pt:
|
|
4577
|
+
pt: B,
|
|
4578
4578
|
...K
|
|
4579
4579
|
}) => {
|
|
4580
4580
|
const {
|
|
@@ -4586,7 +4586,7 @@ const la = 24, ca = () => {
|
|
|
4586
4586
|
sorting: ve,
|
|
4587
4587
|
sortingOnChange: he,
|
|
4588
4588
|
columnPinningOnChange: te,
|
|
4589
|
-
columnSizingOnChange:
|
|
4589
|
+
columnSizingOnChange: ge,
|
|
4590
4590
|
defaultColumnVisibility: Ee,
|
|
4591
4591
|
columnVisibilityOnChange: Q,
|
|
4592
4592
|
columnOrderOnChange: J,
|
|
@@ -4595,16 +4595,16 @@ const la = 24, ca = () => {
|
|
|
4595
4595
|
updateColumnSummary: Z,
|
|
4596
4596
|
columnSummaryScopes: F,
|
|
4597
4597
|
updateColumnSummaryScope: ne,
|
|
4598
|
-
columnSummaryFormats:
|
|
4598
|
+
columnSummaryFormats: W,
|
|
4599
4599
|
updateColumnSummaryFormat: se
|
|
4600
|
-
} =
|
|
4600
|
+
} = ct(), { productTypes: de, projectName: Ae, ...Se } = Ge(), {
|
|
4601
4601
|
tableData: be,
|
|
4602
4602
|
attribFields: Te,
|
|
4603
4603
|
entitiesMap: ke,
|
|
4604
4604
|
users: Ie,
|
|
4605
4605
|
isLoading: $e,
|
|
4606
4606
|
error: x,
|
|
4607
|
-
softError:
|
|
4607
|
+
softError: U,
|
|
4608
4608
|
softErrorAction: le,
|
|
4609
4609
|
isInitialized: ie,
|
|
4610
4610
|
expanded: Le,
|
|
@@ -4616,19 +4616,19 @@ const la = 24, ca = () => {
|
|
|
4616
4616
|
scopes: Ne,
|
|
4617
4617
|
// or entityTypes
|
|
4618
4618
|
getEntityById: Qe,
|
|
4619
|
-
onResetView:
|
|
4619
|
+
onResetView: ut,
|
|
4620
4620
|
overrideGroupBy: Xe,
|
|
4621
4621
|
loadingLinksEntityIds: Ft,
|
|
4622
4622
|
queryFilters: $t,
|
|
4623
|
-
tableId:
|
|
4624
|
-
} = qe(), Vt = !!V || !!Xe,
|
|
4623
|
+
tableId: on
|
|
4624
|
+
} = qe(), Vt = !!V || !!Xe, ft = Xi(x, $t), pt = Yi(Ji(Ne)), mt = Xe?.id ?? V?.id, et = Array.isArray(mt) ? mt[0] : mt, rn = Pe || ["hierarchy", "folder", "product"].includes(et ?? "") || Ne.includes("product"), { writableFields: Et } = Sn(), an = H(() => {
|
|
4625
4625
|
const Y = et?.startsWith("attrib.") ? et.slice(7) : void 0;
|
|
4626
4626
|
return Te.filter(
|
|
4627
|
-
(ae) => ae.name === Y ||
|
|
4627
|
+
(ae) => ae.name === Y || Yt(G, `attrib_${ae.name}`, Ee)
|
|
4628
4628
|
).map((ae) => ae.name);
|
|
4629
4629
|
}, [Te, G, Ee, et]), nt = qr(Te, {
|
|
4630
4630
|
projectName: Ae,
|
|
4631
|
-
request:
|
|
4631
|
+
request: an
|
|
4632
4632
|
}), it = u || $e, {
|
|
4633
4633
|
statuses: at = [],
|
|
4634
4634
|
folderTypes: zt = [],
|
|
@@ -4646,30 +4646,30 @@ const la = 24, ca = () => {
|
|
|
4646
4646
|
scopes: Ne
|
|
4647
4647
|
}),
|
|
4648
4648
|
[Ie, at, zt, Bt, Ne, Ut]
|
|
4649
|
-
),
|
|
4650
|
-
const Y =
|
|
4649
|
+
), me = He(null), oe = He(0), { registerGrid: fe } = tt(), { loadingAttrib: ce, loadingRows: ye } = H(() => {
|
|
4650
|
+
const Y = me.current?.querySelectorAll("tbody tr").length || 0, ae = si(), xe = _t(
|
|
4651
4651
|
Pe && be.length > 0 ? Math.min(Y, 50) : V ? Math.max(oe.current, 50) : 50
|
|
4652
4652
|
);
|
|
4653
4653
|
return { loadingAttrib: ae, loadingRows: xe };
|
|
4654
|
-
}, []), Me = !ie || it, { readOnlyColumns:
|
|
4654
|
+
}, []), Me = !ie || it, { readOnlyColumns: gt, readOnlyAttribs: An } = H(
|
|
4655
4655
|
() => ai(Te, Et, l),
|
|
4656
4656
|
[Te, Et, l]
|
|
4657
|
-
), { selectedCells: st } = tt(), { updateEntities: Pn } =
|
|
4657
|
+
), { selectedCells: st } = tt(), { updateEntities: Pn } = dt(), $s = X(
|
|
4658
4658
|
async (Y, ae) => {
|
|
4659
|
-
const { selection: xe = [], listChange: Ce } = ae || {}, { field: De, value: Ye, isAttrib: Pt } = Y, Gn = Pt ? `attrib_${De}` : ["folderType", "taskType", "productType"].includes(De) ? "subType" : De,
|
|
4660
|
-
const { colId: ot, rowId: Je } = ue(
|
|
4661
|
-
return Je === Y.rowId &&
|
|
4659
|
+
const { selection: xe = [], listChange: Ce } = ae || {}, { field: De, value: Ye, isAttrib: Pt } = Y, Gn = Pt ? `attrib_${De}` : ["folderType", "taskType", "productType"].includes(De) ? "subType" : De, jn = (lt) => lt === Gn, eo = [...st].some((lt) => {
|
|
4660
|
+
const { colId: ot, rowId: Je } = ue(lt) || {};
|
|
4661
|
+
return Je === Y.rowId && jn(ot);
|
|
4662
4662
|
}), Dt = [];
|
|
4663
4663
|
if (Ce)
|
|
4664
|
-
for (const
|
|
4665
|
-
const { rowId: ot } = ue(
|
|
4664
|
+
for (const lt of Ce.cellIds) {
|
|
4665
|
+
const { rowId: ot } = ue(lt) || {}, Je = Qe(ot || "");
|
|
4666
4666
|
if (!ot || !Je) continue;
|
|
4667
|
-
const It = Oo(Je, Gn),
|
|
4668
|
-
Ct(It,
|
|
4667
|
+
const It = Oo(Je, Gn), Wn = Zo(It, Ce);
|
|
4668
|
+
Ct(It, Wn) || Dt.push({
|
|
4669
4669
|
field: De,
|
|
4670
4670
|
rowId: ot,
|
|
4671
4671
|
id: Je.entityId,
|
|
4672
|
-
value:
|
|
4672
|
+
value: Wn,
|
|
4673
4673
|
isAttrib: Pt,
|
|
4674
4674
|
type: Je.entityType
|
|
4675
4675
|
});
|
|
@@ -4677,15 +4677,15 @@ const la = 24, ca = () => {
|
|
|
4677
4677
|
else if (!xe?.length || !eo)
|
|
4678
4678
|
Dt.push({ ...Y, id: Y.id || Y.rowId });
|
|
4679
4679
|
else
|
|
4680
|
-
for (const
|
|
4681
|
-
const { colId: ot, rowId: Je } = ue(
|
|
4680
|
+
for (const lt of st) {
|
|
4681
|
+
const { colId: ot, rowId: Je } = ue(lt) || {};
|
|
4682
4682
|
if (ot === pe) continue;
|
|
4683
4683
|
const It = Qe(Je || "");
|
|
4684
4684
|
if (!It) {
|
|
4685
4685
|
console.warn(`Entity with ID ${Je} not found for cell update.`);
|
|
4686
4686
|
continue;
|
|
4687
4687
|
}
|
|
4688
|
-
|
|
4688
|
+
jn(ot) && Je && Dt.push({
|
|
4689
4689
|
field: De,
|
|
4690
4690
|
rowId: Je,
|
|
4691
4691
|
id: It.entityId,
|
|
@@ -4716,14 +4716,14 @@ const la = 24, ca = () => {
|
|
|
4716
4716
|
options: On,
|
|
4717
4717
|
extraColumns: a,
|
|
4718
4718
|
excluded: g,
|
|
4719
|
-
excludedSorting:
|
|
4719
|
+
excludedSorting: m,
|
|
4720
4720
|
groupBy: V,
|
|
4721
4721
|
nameLabel: Vs(),
|
|
4722
|
-
parentColumns:
|
|
4722
|
+
parentColumns: p
|
|
4723
4723
|
});
|
|
4724
4724
|
return v && S ? [
|
|
4725
4725
|
{
|
|
4726
|
-
id:
|
|
4726
|
+
id: We,
|
|
4727
4727
|
header: () => null,
|
|
4728
4728
|
cell: () => null,
|
|
4729
4729
|
// Content rendered by TableBodyRow
|
|
@@ -4749,10 +4749,10 @@ const la = 24, ca = () => {
|
|
|
4749
4749
|
Gt,
|
|
4750
4750
|
c,
|
|
4751
4751
|
Ln,
|
|
4752
|
-
|
|
4752
|
+
p,
|
|
4753
4753
|
a,
|
|
4754
4754
|
g,
|
|
4755
|
-
|
|
4755
|
+
m,
|
|
4756
4756
|
v,
|
|
4757
4757
|
S,
|
|
4758
4758
|
V
|
|
@@ -4811,12 +4811,12 @@ const la = 24, ca = () => {
|
|
|
4811
4811
|
enableSorting: S,
|
|
4812
4812
|
getSortedRowModel: ao(),
|
|
4813
4813
|
sortDescFirst: !1,
|
|
4814
|
-
maxMultiSortColCount:
|
|
4814
|
+
maxMultiSortColCount: xn,
|
|
4815
4815
|
manualSorting: !C,
|
|
4816
4816
|
onSortingChange: he,
|
|
4817
4817
|
columnResizeMode: "onChange",
|
|
4818
4818
|
onColumnPinningChange: te,
|
|
4819
|
-
onColumnSizingChange:
|
|
4819
|
+
onColumnSizingChange: ge,
|
|
4820
4820
|
onColumnVisibilityChange: Q,
|
|
4821
4821
|
onColumnOrderChange: J,
|
|
4822
4822
|
// @ts-ignore
|
|
@@ -4826,9 +4826,9 @@ const la = 24, ca = () => {
|
|
|
4826
4826
|
sorting: ve,
|
|
4827
4827
|
columnPinning: (() => {
|
|
4828
4828
|
const Y = [];
|
|
4829
|
-
v && Y.push(
|
|
4829
|
+
v && Y.push(We), Y.push(pe);
|
|
4830
4830
|
const ae = (_.left || []).filter(
|
|
4831
|
-
(Ce) => Ce !==
|
|
4831
|
+
(Ce) => Ce !== We && Ce !== pe
|
|
4832
4832
|
);
|
|
4833
4833
|
return Y.push(...ae), {
|
|
4834
4834
|
left: [...new Set(Y)],
|
|
@@ -4842,7 +4842,7 @@ const la = 24, ca = () => {
|
|
|
4842
4842
|
meta: {
|
|
4843
4843
|
projectName: Ae,
|
|
4844
4844
|
options: ee,
|
|
4845
|
-
readOnly:
|
|
4845
|
+
readOnly: gt,
|
|
4846
4846
|
updateEntities: $s,
|
|
4847
4847
|
toggleExpandAll: we,
|
|
4848
4848
|
loadMoreRows: _e,
|
|
@@ -4860,11 +4860,11 @@ const la = 24, ca = () => {
|
|
|
4860
4860
|
const Ye = _.left?.includes(Ce) ? 0 : 1, Pt = _.left?.includes(De) ? 0 : 1;
|
|
4861
4861
|
return Ye - Pt;
|
|
4862
4862
|
});
|
|
4863
|
-
|
|
4864
|
-
}, [bt, ze.getVisibleLeafColumns(), _, pe,
|
|
4863
|
+
fe(Y, xe);
|
|
4864
|
+
}, [bt, ze.getVisibleLeafColumns(), _, pe, fe]);
|
|
4865
4865
|
const jt = ze.getVisibleLeafColumns(), { columnVirtualizer: kt, virtualPaddingLeft: Rt, virtualPaddingRight: At } = ia({
|
|
4866
4866
|
visibleColumns: jt,
|
|
4867
|
-
tableContainerRef:
|
|
4867
|
+
tableContainerRef: me,
|
|
4868
4868
|
columnPinning: _,
|
|
4869
4869
|
columnSizing: q,
|
|
4870
4870
|
columnOrder: _n
|
|
@@ -4878,23 +4878,23 @@ const la = 24, ca = () => {
|
|
|
4878
4878
|
Nn.current[De.id] !== Ye && (ae[De.id] = Ye, xe = !0, Nn.current[De.id] = Ye);
|
|
4879
4879
|
}), xe && z(ae);
|
|
4880
4880
|
}, [Mn, z, A, jt, ze]);
|
|
4881
|
-
const Fn = ra(ze, q), { powerLicense: $n } = Tr(), [Gs, { isLoaded: Vn, isLoading: zn }] =
|
|
4881
|
+
const Fn = ra(ze, q), { powerLicense: $n } = Tr(), [Gs, { isLoaded: Vn, isLoading: zn }] = Wr({
|
|
4882
4882
|
addon: "powerpack",
|
|
4883
4883
|
remote: "views",
|
|
4884
4884
|
module: "SummaryCellContent",
|
|
4885
4885
|
fallback: ya,
|
|
4886
4886
|
skip: !f || !$n
|
|
4887
|
-
}),
|
|
4887
|
+
}), js = f && $n && (Vn || zn) && !!bt.length, Ws = zn || !Vn, Hs = H(() => {
|
|
4888
4888
|
const Y = /* @__PURE__ */ new Set(), ae = /* @__PURE__ */ new Set();
|
|
4889
4889
|
for (const xe of st) {
|
|
4890
4890
|
const { rowId: Ce, colId: De } = ue(xe) || {};
|
|
4891
|
-
if (!Ce ||
|
|
4891
|
+
if (!Ce || hn(Ce)) continue;
|
|
4892
4892
|
const Ye = Qe(Ce)?.entityId;
|
|
4893
4893
|
Ye && (De === pe ? ae.add(Ye) : Y.add(Ye));
|
|
4894
4894
|
}
|
|
4895
4895
|
return Y.size || ae.size;
|
|
4896
4896
|
}, [st, Qe]), { getRowHeight: Ks, defaultRowHeight: Bn } = ca(), qs = H(() => nt.reduce((Y, ae) => (ae.data?.enum?.length && (Y[ae.name] = ae.data?.enum), Y), {}), [nt]), Qs = H(() => be.map((Y) => Y.id), [be]), Xs = H(() => L.filter(
|
|
4897
|
-
(Y) => Y !==
|
|
4897
|
+
(Y) => Y !== We && Y !== pe
|
|
4898
4898
|
), [L]), Ys = H(() => !b || !v ? null : be.find((Y) => Y.id === b), [b, be, v]), Js = X(
|
|
4899
4899
|
(Y) => {
|
|
4900
4900
|
if (n?.(Y), s) {
|
|
@@ -4915,26 +4915,26 @@ const la = 24, ca = () => {
|
|
|
4915
4915
|
{
|
|
4916
4916
|
entitiesMap: ke,
|
|
4917
4917
|
columnEnums: { ...ee, ...qs },
|
|
4918
|
-
columnReadOnly:
|
|
4918
|
+
columnReadOnly: An,
|
|
4919
4919
|
visibleColumns: jt,
|
|
4920
4920
|
children: [
|
|
4921
|
-
$ && /* @__PURE__ */
|
|
4921
|
+
$ && /* @__PURE__ */ j(ga, { page: $, containerRef: me }),
|
|
4922
4922
|
/* @__PURE__ */ Ue(No, { ...K, children: [
|
|
4923
|
-
/* @__PURE__ */
|
|
4923
|
+
/* @__PURE__ */ j(
|
|
4924
4924
|
Mo,
|
|
4925
4925
|
{
|
|
4926
|
-
ref:
|
|
4927
|
-
[
|
|
4926
|
+
ref: me,
|
|
4927
|
+
[wn]: on,
|
|
4928
4928
|
style: { height: "100%", padding: 0 },
|
|
4929
4929
|
onScroll: Js,
|
|
4930
|
-
...
|
|
4930
|
+
...B?.container,
|
|
4931
4931
|
"data-column-dnd-container": !0,
|
|
4932
4932
|
className: Ze(
|
|
4933
4933
|
"table-container",
|
|
4934
4934
|
{
|
|
4935
4935
|
resizing: ze.getState().columnSizingInfo.isResizingColumn
|
|
4936
4936
|
},
|
|
4937
|
-
|
|
4937
|
+
B?.container?.className
|
|
4938
4938
|
),
|
|
4939
4939
|
children: /* @__PURE__ */ Ue(
|
|
4940
4940
|
"table",
|
|
@@ -4952,7 +4952,7 @@ const la = 24, ca = () => {
|
|
|
4952
4952
|
gridTemplateRows: "auto 1fr auto"
|
|
4953
4953
|
},
|
|
4954
4954
|
children: [
|
|
4955
|
-
/* @__PURE__ */
|
|
4955
|
+
/* @__PURE__ */ j(
|
|
4956
4956
|
ba,
|
|
4957
4957
|
{
|
|
4958
4958
|
columnVirtualizer: kt,
|
|
@@ -4960,18 +4960,18 @@ const la = 24, ca = () => {
|
|
|
4960
4960
|
virtualPaddingLeft: Rt,
|
|
4961
4961
|
virtualPaddingRight: At,
|
|
4962
4962
|
isLoading: it,
|
|
4963
|
-
readOnlyColumns:
|
|
4963
|
+
readOnlyColumns: gt,
|
|
4964
4964
|
sortableRows: v,
|
|
4965
4965
|
columnOrderIds: Xs,
|
|
4966
|
-
...
|
|
4966
|
+
...B?.head
|
|
4967
4967
|
}
|
|
4968
4968
|
),
|
|
4969
|
-
/* @__PURE__ */
|
|
4969
|
+
/* @__PURE__ */ j(
|
|
4970
4970
|
Ca,
|
|
4971
4971
|
{
|
|
4972
4972
|
columnVirtualizer: kt,
|
|
4973
4973
|
table: ze,
|
|
4974
|
-
tableContainerRef:
|
|
4974
|
+
tableContainerRef: me,
|
|
4975
4975
|
virtualPaddingLeft: Rt,
|
|
4976
4976
|
virtualPaddingRight: At,
|
|
4977
4977
|
showHierarchy: Pe,
|
|
@@ -4980,30 +4980,30 @@ const la = 24, ca = () => {
|
|
|
4980
4980
|
rowOrderIds: Qs,
|
|
4981
4981
|
sortableRows: v,
|
|
4982
4982
|
error: x,
|
|
4983
|
-
isFilterError:
|
|
4984
|
-
filterErrorMessage:
|
|
4983
|
+
isFilterError: ft,
|
|
4984
|
+
filterErrorMessage: pt,
|
|
4985
4985
|
isLoading: it,
|
|
4986
4986
|
isGrouping: Vt,
|
|
4987
4987
|
getRowHeight: Ks,
|
|
4988
4988
|
defaultRowHeight: Bn,
|
|
4989
|
-
onResetView:
|
|
4989
|
+
onResetView: ut,
|
|
4990
4990
|
contextMenuItems: D,
|
|
4991
4991
|
onVisibleRowsChange: M,
|
|
4992
4992
|
scrollToRowId: T,
|
|
4993
4993
|
onScrolledToRow: R
|
|
4994
4994
|
}
|
|
4995
4995
|
),
|
|
4996
|
-
|
|
4996
|
+
js && !x && /* @__PURE__ */ j(
|
|
4997
4997
|
Yo,
|
|
4998
4998
|
{
|
|
4999
4999
|
columnVirtualizer: kt,
|
|
5000
5000
|
table: ze,
|
|
5001
5001
|
virtualPaddingLeft: Rt,
|
|
5002
5002
|
virtualPaddingRight: At,
|
|
5003
|
-
isLoading:
|
|
5003
|
+
isLoading: Ws,
|
|
5004
5004
|
statsLoading: !!P,
|
|
5005
5005
|
error: I,
|
|
5006
|
-
renderCellContent: (Y) => /* @__PURE__ */
|
|
5006
|
+
renderCellContent: (Y) => /* @__PURE__ */ j(
|
|
5007
5007
|
Gs,
|
|
5008
5008
|
{
|
|
5009
5009
|
columnId: Y,
|
|
@@ -5012,13 +5012,13 @@ const la = 24, ca = () => {
|
|
|
5012
5012
|
groupFieldStats: N,
|
|
5013
5013
|
calc: O[Y],
|
|
5014
5014
|
onCalcChange: (ae) => Z(Y, ae),
|
|
5015
|
-
format:
|
|
5015
|
+
format: W[Y],
|
|
5016
5016
|
onFormatChange: (ae) => se(Y, ae),
|
|
5017
5017
|
scope: F[Y],
|
|
5018
5018
|
onScopeChange: (ae) => ne(Y, ae),
|
|
5019
5019
|
mainCountLabels: h,
|
|
5020
5020
|
fieldOptions: ee,
|
|
5021
|
-
parentScopeApplicable:
|
|
5021
|
+
parentScopeApplicable: rn,
|
|
5022
5022
|
selectedCount: Hs,
|
|
5023
5023
|
mainBreakdownFields: E
|
|
5024
5024
|
}
|
|
@@ -5030,16 +5030,16 @@ const la = 24, ca = () => {
|
|
|
5030
5030
|
)
|
|
5031
5031
|
}
|
|
5032
5032
|
),
|
|
5033
|
-
|
|
5033
|
+
U && /* @__PURE__ */ j(Fo, { children: /* @__PURE__ */ j(Gr, { variant: "warning", message: U, action: le }) })
|
|
5034
5034
|
] })
|
|
5035
5035
|
]
|
|
5036
5036
|
}
|
|
5037
|
-
), Zs = v && b &&
|
|
5038
|
-
/* @__PURE__ */
|
|
5037
|
+
), Zs = v && b && en(
|
|
5038
|
+
/* @__PURE__ */ j(ks, { dropAnimation: null, children: Ys ? (() => {
|
|
5039
5039
|
const Y = ze.getRowModel().rows.find((xe) => xe.id === b);
|
|
5040
5040
|
if (!Y) return null;
|
|
5041
5041
|
const ae = ze.getTotalSize();
|
|
5042
|
-
return /* @__PURE__ */
|
|
5042
|
+
return /* @__PURE__ */ j(
|
|
5043
5043
|
"table",
|
|
5044
5044
|
{
|
|
5045
5045
|
style: {
|
|
@@ -5049,30 +5049,30 @@ const la = 24, ca = () => {
|
|
|
5049
5049
|
boxShadow: "0 0 10px rgba(0,0,0,0.2)",
|
|
5050
5050
|
...Fn
|
|
5051
5051
|
},
|
|
5052
|
-
children: /* @__PURE__ */
|
|
5053
|
-
Rt ? /* @__PURE__ */
|
|
5052
|
+
children: /* @__PURE__ */ j("tbody", { children: /* @__PURE__ */ Ue(bs, { style: { display: "flex", userSelect: "none" }, children: [
|
|
5053
|
+
Rt ? /* @__PURE__ */ j("td", { style: { display: "flex", width: Rt } }) : null,
|
|
5054
5054
|
kt.getVirtualItems().map((xe) => {
|
|
5055
5055
|
const Ce = Y.getVisibleCells()[xe.index];
|
|
5056
5056
|
if (!Ce) return null;
|
|
5057
5057
|
const De = {
|
|
5058
|
-
...
|
|
5059
|
-
width:
|
|
5058
|
+
...sn(Ce.column),
|
|
5059
|
+
width: nn(Ce.column.id),
|
|
5060
5060
|
display: "flex",
|
|
5061
5061
|
alignItems: "center",
|
|
5062
5062
|
height: Bn
|
|
5063
5063
|
};
|
|
5064
|
-
return Ce.column.id ===
|
|
5065
|
-
|
|
5064
|
+
return Ce.column.id === We ? /* @__PURE__ */ Ue(
|
|
5065
|
+
En,
|
|
5066
5066
|
{
|
|
5067
5067
|
style: { ...De, justifyContent: "center" },
|
|
5068
5068
|
className: Ze(Ce.column.id),
|
|
5069
5069
|
children: [
|
|
5070
|
-
/* @__PURE__ */
|
|
5070
|
+
/* @__PURE__ */ j(Mt, { icon: "drag_handle" }),
|
|
5071
5071
|
" "
|
|
5072
5072
|
]
|
|
5073
5073
|
},
|
|
5074
5074
|
`overlay-drag-${Ce.id}`
|
|
5075
|
-
) : /* @__PURE__ */
|
|
5075
|
+
) : /* @__PURE__ */ j(
|
|
5076
5076
|
Fs,
|
|
5077
5077
|
{
|
|
5078
5078
|
cell: Ce,
|
|
@@ -5083,27 +5083,27 @@ const la = 24, ca = () => {
|
|
|
5083
5083
|
`overlay-cell-${Ce.id}`
|
|
5084
5084
|
);
|
|
5085
5085
|
}),
|
|
5086
|
-
At ? /* @__PURE__ */
|
|
5086
|
+
At ? /* @__PURE__ */ j("td", { style: { display: "flex", width: At } }) : null
|
|
5087
5087
|
] }) })
|
|
5088
5088
|
}
|
|
5089
5089
|
);
|
|
5090
5090
|
})() : null }),
|
|
5091
5091
|
document.body
|
|
5092
5092
|
);
|
|
5093
|
-
return v ? /* @__PURE__ */ Ue(
|
|
5093
|
+
return v ? /* @__PURE__ */ Ue(yn, { children: [
|
|
5094
5094
|
Un,
|
|
5095
5095
|
Zs,
|
|
5096
|
-
/* @__PURE__ */
|
|
5097
|
-
/* @__PURE__ */
|
|
5098
|
-
] }) : /* @__PURE__ */ Ue(
|
|
5096
|
+
/* @__PURE__ */ j(ps, { table: ze }),
|
|
5097
|
+
/* @__PURE__ */ j(Zn, {})
|
|
5098
|
+
] }) : /* @__PURE__ */ Ue(yn, { children: [
|
|
5099
5099
|
Un,
|
|
5100
|
-
/* @__PURE__ */
|
|
5101
|
-
/* @__PURE__ */
|
|
5100
|
+
/* @__PURE__ */ j(ps, { table: ze }),
|
|
5101
|
+
/* @__PURE__ */ j(Zn, {})
|
|
5102
5102
|
] });
|
|
5103
5103
|
}, ps = ({ table: t }) => {
|
|
5104
5104
|
const { active: e } = Vr(), s = e?.data?.current?.type === "column" ? e?.id : null, o = H(() => s && t.getHeaderGroups()[0]?.headers.find((l) => l.id === s) || null, [s, t]);
|
|
5105
|
-
return !s || !o ? null :
|
|
5106
|
-
/* @__PURE__ */
|
|
5105
|
+
return !s || !o ? null : en(
|
|
5106
|
+
/* @__PURE__ */ j(ks, { dropAnimation: null, children: /* @__PURE__ */ j(
|
|
5107
5107
|
Cs,
|
|
5108
5108
|
{
|
|
5109
5109
|
style: {
|
|
@@ -5114,7 +5114,7 @@ const la = 24, ca = () => {
|
|
|
5114
5114
|
alignItems: "center",
|
|
5115
5115
|
minHeight: 34
|
|
5116
5116
|
},
|
|
5117
|
-
children: /* @__PURE__ */
|
|
5117
|
+
children: /* @__PURE__ */ j(vn, { className: "bold header", children: Tn(
|
|
5118
5118
|
o.column.columnDef.header,
|
|
5119
5119
|
o.getContext()
|
|
5120
5120
|
) })
|
|
@@ -5130,9 +5130,9 @@ const la = 24, ca = () => {
|
|
|
5130
5130
|
isLoading: o,
|
|
5131
5131
|
readOnlyColumns: l,
|
|
5132
5132
|
sortableRows: g,
|
|
5133
|
-
columnOrderIds:
|
|
5133
|
+
columnOrderIds: m,
|
|
5134
5134
|
...a
|
|
5135
|
-
}) => /* @__PURE__ */
|
|
5135
|
+
}) => /* @__PURE__ */ j(Vo, { ...a, children: e.getHeaderGroups().map((c) => /* @__PURE__ */ j(
|
|
5136
5136
|
Ia,
|
|
5137
5137
|
{
|
|
5138
5138
|
columnVirtualizer: t,
|
|
@@ -5142,7 +5142,7 @@ const la = 24, ca = () => {
|
|
|
5142
5142
|
isLoading: o,
|
|
5143
5143
|
readOnlyColumns: l,
|
|
5144
5144
|
sortableRows: g,
|
|
5145
|
-
columnOrderIds:
|
|
5145
|
+
columnOrderIds: m
|
|
5146
5146
|
},
|
|
5147
5147
|
c.id
|
|
5148
5148
|
)) }), Ia = ({
|
|
@@ -5153,17 +5153,17 @@ const la = 24, ca = () => {
|
|
|
5153
5153
|
isLoading: o,
|
|
5154
5154
|
readOnlyColumns: l,
|
|
5155
5155
|
sortableRows: g,
|
|
5156
|
-
columnOrderIds:
|
|
5156
|
+
columnOrderIds: m
|
|
5157
5157
|
}) => {
|
|
5158
5158
|
const a = t.getVirtualItems();
|
|
5159
5159
|
return /* @__PURE__ */ Ue(Ho, { style: { display: "flex" }, children: [
|
|
5160
5160
|
n ? (
|
|
5161
5161
|
//fake empty column to the left for virtualization scroll padding
|
|
5162
|
-
/* @__PURE__ */
|
|
5162
|
+
/* @__PURE__ */ j("th", { style: { display: "flex", width: n } })
|
|
5163
5163
|
) : null,
|
|
5164
|
-
/* @__PURE__ */
|
|
5165
|
-
const i = e.headers[c.index],
|
|
5166
|
-
return /* @__PURE__ */
|
|
5164
|
+
/* @__PURE__ */ j(Rs, { items: m, strategy: Br, children: a.map((c) => {
|
|
5165
|
+
const i = e.headers[c.index], p = i.id !== We && i.id !== pe;
|
|
5166
|
+
return /* @__PURE__ */ j(
|
|
5167
5167
|
wa,
|
|
5168
5168
|
{
|
|
5169
5169
|
header: i,
|
|
@@ -5175,14 +5175,14 @@ const la = 24, ca = () => {
|
|
|
5175
5175
|
canPin: i.column.getCanPin(),
|
|
5176
5176
|
canResize: i.column.getCanResize(),
|
|
5177
5177
|
sortableRows: g,
|
|
5178
|
-
isDraggable:
|
|
5178
|
+
isDraggable: p
|
|
5179
5179
|
},
|
|
5180
5180
|
i.id
|
|
5181
5181
|
);
|
|
5182
5182
|
}) }),
|
|
5183
5183
|
s ? (
|
|
5184
5184
|
//fake empty column to the right for virtualization scroll padding
|
|
5185
|
-
/* @__PURE__ */
|
|
5185
|
+
/* @__PURE__ */ j("th", { style: { display: "flex", width: s } })
|
|
5186
5186
|
) : null
|
|
5187
5187
|
] }, e.id);
|
|
5188
5188
|
}, wa = ({
|
|
@@ -5193,18 +5193,18 @@ const la = 24, ca = () => {
|
|
|
5193
5193
|
canSort: o,
|
|
5194
5194
|
canPin: l,
|
|
5195
5195
|
canResize: g,
|
|
5196
|
-
isReadOnly:
|
|
5196
|
+
isReadOnly: m,
|
|
5197
5197
|
sortableRows: a,
|
|
5198
5198
|
isDraggable: c = !0
|
|
5199
5199
|
}) => {
|
|
5200
|
-
const { column: i } = t,
|
|
5200
|
+
const { column: i } = t, p = Is(
|
|
5201
5201
|
t.getContext().table.options.meta?.columnsConfig,
|
|
5202
5202
|
i.id
|
|
5203
|
-
), u =
|
|
5204
|
-
const R = d?.find((
|
|
5203
|
+
), u = p?.headerIcon, y = p?.menuItems, S = i.getIsSorted(), C = `column-header-menu-${i.id}`, { menuOpen: v } = Es(), r = v === C, { columnPinning: b, sorting: d, updateSorting: f } = ct(), w = (T) => {
|
|
5204
|
+
const R = d?.find((B) => B.id === i.id);
|
|
5205
5205
|
if (T.shiftKey && d?.length) {
|
|
5206
|
-
const
|
|
5207
|
-
|
|
5206
|
+
const B = R ? R.desc ? d.filter((K) => K.id !== i.id) : d.map((K) => K.id === i.id ? { ...K, desc: !0 } : K) : [...d, { id: i.id, desc: !1 }];
|
|
5207
|
+
B.length <= xn && f(B);
|
|
5208
5208
|
return;
|
|
5209
5209
|
}
|
|
5210
5210
|
const $ = R ? R.desc ? [] : [{ id: i.id, desc: !0 }] : [{ id: i.id, desc: !1 }];
|
|
@@ -5235,22 +5235,22 @@ const la = 24, ca = () => {
|
|
|
5235
5235
|
draggable: c
|
|
5236
5236
|
}),
|
|
5237
5237
|
style: {
|
|
5238
|
-
...
|
|
5239
|
-
width:
|
|
5238
|
+
...sn(i),
|
|
5239
|
+
width: nn(i.id),
|
|
5240
5240
|
...A()
|
|
5241
5241
|
},
|
|
5242
5242
|
children: [
|
|
5243
5243
|
t.isPlaceholder ? null : /* @__PURE__ */ Ue(
|
|
5244
|
-
|
|
5244
|
+
vn,
|
|
5245
5245
|
{
|
|
5246
5246
|
className: Ze("bold", "header"),
|
|
5247
5247
|
...c ? { ...I, ...h } : {},
|
|
5248
5248
|
children: [
|
|
5249
|
-
|
|
5250
|
-
u && /* @__PURE__ */
|
|
5251
|
-
|
|
5249
|
+
Tn(i.columnDef.header, t.getContext()),
|
|
5250
|
+
u && /* @__PURE__ */ j(Mt, { icon: u.icon, "data-tooltip": u.tooltip }),
|
|
5251
|
+
m && /* @__PURE__ */ j(Mt, { icon: "lock", "data-tooltip": "You only have permission to read this column." }),
|
|
5252
5252
|
/* @__PURE__ */ Ue(Ko, { className: "actions", $isOpen: r, ...M, children: [
|
|
5253
|
-
(s || l || o || !!y?.length) && /* @__PURE__ */
|
|
5253
|
+
(s || l || o || !!y?.length) && /* @__PURE__ */ j(
|
|
5254
5254
|
oa,
|
|
5255
5255
|
{
|
|
5256
5256
|
className: "header-menu",
|
|
@@ -5264,7 +5264,7 @@ const la = 24, ca = () => {
|
|
|
5264
5264
|
isOpen: r
|
|
5265
5265
|
}
|
|
5266
5266
|
),
|
|
5267
|
-
o && /* @__PURE__ */
|
|
5267
|
+
o && /* @__PURE__ */ j(
|
|
5268
5268
|
Xn,
|
|
5269
5269
|
{
|
|
5270
5270
|
icon: "sort",
|
|
@@ -5276,8 +5276,8 @@ const la = 24, ca = () => {
|
|
|
5276
5276
|
selected: !!i.getIsSorted()
|
|
5277
5277
|
}
|
|
5278
5278
|
),
|
|
5279
|
-
o && N > -1 && /* @__PURE__ */
|
|
5280
|
-
i.getIsPinned() && i.id !== pe && i.id !==
|
|
5279
|
+
o && N > -1 && /* @__PURE__ */ j(qo, { className: "sort-index", children: N + 1 }),
|
|
5280
|
+
i.getIsPinned() && i.id !== pe && i.id !== We && /* @__PURE__ */ j(
|
|
5281
5281
|
Xn,
|
|
5282
5282
|
{
|
|
5283
5283
|
icon: "push_pin",
|
|
@@ -5287,7 +5287,7 @@ const la = 24, ca = () => {
|
|
|
5287
5287
|
}
|
|
5288
5288
|
)
|
|
5289
5289
|
] }),
|
|
5290
|
-
g && /* @__PURE__ */
|
|
5290
|
+
g && /* @__PURE__ */ j(
|
|
5291
5291
|
Qo,
|
|
5292
5292
|
{
|
|
5293
5293
|
onDoubleClick: () => i.resetSize(),
|
|
@@ -5304,7 +5304,7 @@ const la = 24, ca = () => {
|
|
|
5304
5304
|
]
|
|
5305
5305
|
}
|
|
5306
5306
|
),
|
|
5307
|
-
|
|
5307
|
+
p?.groupEdge && /* @__PURE__ */ j(ws, { className: p.groupEdge })
|
|
5308
5308
|
]
|
|
5309
5309
|
},
|
|
5310
5310
|
t.id
|
|
@@ -5317,11 +5317,11 @@ const la = 24, ca = () => {
|
|
|
5317
5317
|
virtualPaddingLeft: o,
|
|
5318
5318
|
virtualPaddingRight: l,
|
|
5319
5319
|
attribs: g,
|
|
5320
|
-
onOpenNew:
|
|
5320
|
+
onOpenNew: m,
|
|
5321
5321
|
rowOrderIds: a,
|
|
5322
5322
|
sortableRows: c,
|
|
5323
5323
|
error: i,
|
|
5324
|
-
isFilterError:
|
|
5324
|
+
isFilterError: p,
|
|
5325
5325
|
filterErrorMessage: u,
|
|
5326
5326
|
isLoading: y,
|
|
5327
5327
|
isGrouping: S,
|
|
@@ -5338,7 +5338,7 @@ const la = 24, ca = () => {
|
|
|
5338
5338
|
return typeof re == "string" || typeof re == "number" ? { label: re, id: q } : null;
|
|
5339
5339
|
}).filter(Boolean), [e.getAllColumns()]), I = Mi({
|
|
5340
5340
|
attribs: g,
|
|
5341
|
-
onOpenNew:
|
|
5341
|
+
onOpenNew: m,
|
|
5342
5342
|
headerLabels: N,
|
|
5343
5343
|
contextMenuItems: b
|
|
5344
5344
|
}).handleTableBodyContextMenu, { rows: h } = e.getRowModel(), E = ms({
|
|
@@ -5386,7 +5386,7 @@ const la = 24, ca = () => {
|
|
|
5386
5386
|
_.push(q.id === pe ? "20" : `var(--col-${q.id}-size)`), G.push(`calc((${_.join(" + ")}) * 1px)`);
|
|
5387
5387
|
}
|
|
5388
5388
|
return G;
|
|
5389
|
-
}, [A]),
|
|
5389
|
+
}, [A]), B = /* @__PURE__ */ Ue(
|
|
5390
5390
|
"tbody",
|
|
5391
5391
|
{
|
|
5392
5392
|
style: {
|
|
@@ -5396,10 +5396,10 @@ const la = 24, ca = () => {
|
|
|
5396
5396
|
},
|
|
5397
5397
|
onContextMenu: I,
|
|
5398
5398
|
children: [
|
|
5399
|
-
/* @__PURE__ */
|
|
5399
|
+
/* @__PURE__ */ j(Bo, { "aria-hidden": !0, children: $.map((G, _) => /* @__PURE__ */ j("div", { style: { left: G } }, _)) }),
|
|
5400
5400
|
k.map((G) => {
|
|
5401
5401
|
const _ = h[G.index];
|
|
5402
|
-
return _ ? /* @__PURE__ */
|
|
5402
|
+
return _ ? /* @__PURE__ */ j(
|
|
5403
5403
|
Ta,
|
|
5404
5404
|
{
|
|
5405
5405
|
row: _,
|
|
@@ -5422,10 +5422,10 @@ const la = 24, ca = () => {
|
|
|
5422
5422
|
}
|
|
5423
5423
|
);
|
|
5424
5424
|
if (i)
|
|
5425
|
-
return n.current &&
|
|
5426
|
-
/* @__PURE__ */
|
|
5427
|
-
r && /* @__PURE__ */
|
|
5428
|
-
|
|
5425
|
+
return n.current && en(
|
|
5426
|
+
/* @__PURE__ */ j(qn, { children: p ? /* @__PURE__ */ Ue(fn, { message: u, icon: "filter_alt_off", children: [
|
|
5427
|
+
r && /* @__PURE__ */ j(
|
|
5428
|
+
dn,
|
|
5429
5429
|
{
|
|
5430
5430
|
variant: "filled",
|
|
5431
5431
|
label: "Reset filters",
|
|
@@ -5433,9 +5433,9 @@ const la = 24, ca = () => {
|
|
|
5433
5433
|
onClick: r
|
|
5434
5434
|
}
|
|
5435
5435
|
),
|
|
5436
|
-
/* @__PURE__ */
|
|
5437
|
-
] }) : /* @__PURE__ */
|
|
5438
|
-
|
|
5436
|
+
/* @__PURE__ */ j(jr, { errorMessage: Ts(i) })
|
|
5437
|
+
] }) : /* @__PURE__ */ j(fn, { message: "No items found", error: i, children: r && /* @__PURE__ */ j(
|
|
5438
|
+
dn,
|
|
5439
5439
|
{
|
|
5440
5440
|
variant: "filled",
|
|
5441
5441
|
label: "Reset filters",
|
|
@@ -5446,12 +5446,12 @@ const la = 24, ca = () => {
|
|
|
5446
5446
|
n.current
|
|
5447
5447
|
);
|
|
5448
5448
|
if (!h.length && !y)
|
|
5449
|
-
return n.current &&
|
|
5450
|
-
/* @__PURE__ */
|
|
5449
|
+
return n.current && en(
|
|
5450
|
+
/* @__PURE__ */ j(qn, { children: /* @__PURE__ */ j(fn, { message: "No items found", children: r && /* @__PURE__ */ j(dn, { variant: "filled", label: "Reset filters", icon: "replay", onClick: r }) }) }),
|
|
5451
5451
|
n.current
|
|
5452
5452
|
);
|
|
5453
|
-
const K = /* @__PURE__ */
|
|
5454
|
-
return c ? /* @__PURE__ */
|
|
5453
|
+
const K = /* @__PURE__ */ j(pa, { columns: A, entities: M, children: B });
|
|
5454
|
+
return c ? /* @__PURE__ */ j(Rs, { items: a, strategy: zr, children: K }) : K;
|
|
5455
5455
|
}, Ta = ({
|
|
5456
5456
|
row: t,
|
|
5457
5457
|
showHierarchy: e,
|
|
@@ -5460,11 +5460,11 @@ const la = 24, ca = () => {
|
|
|
5460
5460
|
paddingLeft: o,
|
|
5461
5461
|
paddingRight: l,
|
|
5462
5462
|
rowRef: g,
|
|
5463
|
-
dataIndex:
|
|
5463
|
+
dataIndex: m,
|
|
5464
5464
|
offsetTop: a,
|
|
5465
5465
|
sortableRows: c,
|
|
5466
5466
|
isGrouping: i = !1,
|
|
5467
|
-
rowHeight:
|
|
5467
|
+
rowHeight: p
|
|
5468
5468
|
}) => {
|
|
5469
5469
|
const u = c ? As({ id: t.id }) : null, y = He(null), S = X(
|
|
5470
5470
|
(v) => {
|
|
@@ -5480,7 +5480,7 @@ const la = 24, ca = () => {
|
|
|
5480
5480
|
// Span full width of the relative parent (tbody)
|
|
5481
5481
|
right: 0,
|
|
5482
5482
|
// Span full width
|
|
5483
|
-
height:
|
|
5483
|
+
height: p,
|
|
5484
5484
|
// Use dynamic row height
|
|
5485
5485
|
zIndex: u && u.isDragging ? 0 : 1,
|
|
5486
5486
|
// Ensure dragged item is above others
|
|
@@ -5496,28 +5496,28 @@ const la = 24, ca = () => {
|
|
|
5496
5496
|
bs,
|
|
5497
5497
|
{
|
|
5498
5498
|
ref: S,
|
|
5499
|
-
"data-index":
|
|
5499
|
+
"data-index": m,
|
|
5500
5500
|
style: C,
|
|
5501
5501
|
className: Ze({ "group-row": t.original.group }),
|
|
5502
5502
|
children: [
|
|
5503
5503
|
o ? (
|
|
5504
5504
|
//fake empty column to the left for virtualization scroll padding
|
|
5505
|
-
/* @__PURE__ */
|
|
5505
|
+
/* @__PURE__ */ j("td", { style: { display: "flex", width: o } })
|
|
5506
5506
|
) : null,
|
|
5507
5507
|
s.map((v) => {
|
|
5508
5508
|
const r = n[v.index];
|
|
5509
5509
|
if (!r) return null;
|
|
5510
5510
|
const b = Fe(t.id, r.column.id);
|
|
5511
|
-
return r.column.id ===
|
|
5512
|
-
|
|
5511
|
+
return r.column.id === We ? /* @__PURE__ */ j(
|
|
5512
|
+
En,
|
|
5513
5513
|
{
|
|
5514
5514
|
style: {
|
|
5515
|
-
...
|
|
5516
|
-
width:
|
|
5515
|
+
...sn(r.column),
|
|
5516
|
+
width: nn(r.column.id),
|
|
5517
5517
|
display: "flex",
|
|
5518
5518
|
alignItems: "center",
|
|
5519
5519
|
justifyContent: "center",
|
|
5520
|
-
height:
|
|
5520
|
+
height: p,
|
|
5521
5521
|
pointerEvents: "all",
|
|
5522
5522
|
cursor: "grab"
|
|
5523
5523
|
},
|
|
@@ -5530,7 +5530,7 @@ const la = 24, ca = () => {
|
|
|
5530
5530
|
onContextMenu: (d) => {
|
|
5531
5531
|
d.preventDefault(), d.stopPropagation();
|
|
5532
5532
|
},
|
|
5533
|
-
children: /* @__PURE__ */
|
|
5533
|
+
children: /* @__PURE__ */ j(
|
|
5534
5534
|
sa,
|
|
5535
5535
|
{
|
|
5536
5536
|
attributes: u?.attributes,
|
|
@@ -5539,7 +5539,7 @@ const la = 24, ca = () => {
|
|
|
5539
5539
|
)
|
|
5540
5540
|
},
|
|
5541
5541
|
r.id
|
|
5542
|
-
) : /* @__PURE__ */
|
|
5542
|
+
) : /* @__PURE__ */ j(
|
|
5543
5543
|
Fs,
|
|
5544
5544
|
{
|
|
5545
5545
|
cell: r,
|
|
@@ -5547,14 +5547,14 @@ const la = 24, ca = () => {
|
|
|
5547
5547
|
rowId: t.id,
|
|
5548
5548
|
showHierarchy: e,
|
|
5549
5549
|
sortableRows: c,
|
|
5550
|
-
rowHeight:
|
|
5550
|
+
rowHeight: p
|
|
5551
5551
|
},
|
|
5552
5552
|
r.id
|
|
5553
5553
|
);
|
|
5554
5554
|
}),
|
|
5555
5555
|
l ? (
|
|
5556
5556
|
//fake empty column to the right for virtualization scroll padding
|
|
5557
|
-
/* @__PURE__ */
|
|
5557
|
+
/* @__PURE__ */ j("td", { style: { display: "flex", width: l } })
|
|
5558
5558
|
) : null
|
|
5559
5559
|
]
|
|
5560
5560
|
}
|
|
@@ -5567,9 +5567,9 @@ const la = 24, ca = () => {
|
|
|
5567
5567
|
showHierarchy: o,
|
|
5568
5568
|
sortableRows: l,
|
|
5569
5569
|
rowHeight: g,
|
|
5570
|
-
...
|
|
5570
|
+
...m
|
|
5571
5571
|
}) => {
|
|
5572
|
-
const { getEntityById: a, onOpenPlayer: c, isRowReadOnly: i, readOnly:
|
|
5572
|
+
const { getEntityById: a, onOpenPlayer: c, isRowReadOnly: i, readOnly: p } = qe(), {
|
|
5573
5573
|
isCellSelected: u,
|
|
5574
5574
|
isCellFocused: y,
|
|
5575
5575
|
startSelection: S,
|
|
@@ -5583,7 +5583,7 @@ const la = 24, ca = () => {
|
|
|
5583
5583
|
setSelectedCells: N,
|
|
5584
5584
|
setAnchorCell: P,
|
|
5585
5585
|
setFocusedCellId: I
|
|
5586
|
-
} = tt(), { isRowSelected: h } = Uo(), { isEditing: E, setEditingCellId: k, editingCellId: D } =
|
|
5586
|
+
} = tt(), { isRowSelected: h } = Uo(), { isEditing: E, setEditingCellId: k, editingCellId: D } = dt(), z = d(n), M = t.column.getIsPinned() === "left" && t.column.getIsLastColumn("left"), T = t.column.id === pe, R = !!t.row.original.group, $ = w.size > 1, B = Is(
|
|
5587
5587
|
t.getContext().table.options.meta?.columnsConfig,
|
|
5588
5588
|
t.column.id
|
|
5589
5589
|
), K = t.row.original.cellMarks?.[t.column.id], G = i(t.row.id), _ = H(
|
|
@@ -5591,9 +5591,9 @@ const la = 24, ca = () => {
|
|
|
5591
5591
|
[K, G]
|
|
5592
5592
|
);
|
|
5593
5593
|
return /* @__PURE__ */ Ue(
|
|
5594
|
-
|
|
5594
|
+
En,
|
|
5595
5595
|
{
|
|
5596
|
-
...
|
|
5596
|
+
...m,
|
|
5597
5597
|
tabIndex: 0,
|
|
5598
5598
|
$isLastPinned: M,
|
|
5599
5599
|
className: Ze(
|
|
@@ -5604,16 +5604,16 @@ const la = 24, ca = () => {
|
|
|
5604
5604
|
editing: E(n),
|
|
5605
5605
|
"last-pinned-left": M,
|
|
5606
5606
|
"selected-row": h(e),
|
|
5607
|
-
expandable: !R && !!t.row.originalSubRows &&
|
|
5607
|
+
expandable: !R && !!t.row.originalSubRows && Wo(t.row.original.primary.entityType),
|
|
5608
5608
|
"multiple-selected": $,
|
|
5609
|
-
"table-readonly":
|
|
5609
|
+
"table-readonly": p
|
|
5610
5610
|
},
|
|
5611
5611
|
s,
|
|
5612
5612
|
...z
|
|
5613
5613
|
),
|
|
5614
5614
|
style: {
|
|
5615
|
-
...
|
|
5616
|
-
width:
|
|
5615
|
+
...sn(t.column),
|
|
5616
|
+
width: nn(t.column.id),
|
|
5617
5617
|
height: g
|
|
5618
5618
|
},
|
|
5619
5619
|
onMouseDown: (L) => {
|
|
@@ -5621,23 +5621,23 @@ const la = 24, ca = () => {
|
|
|
5621
5621
|
const q = L.target;
|
|
5622
5622
|
if (q.closest(".expander") || q.closest(".options") || !L.currentTarget.contains(q)) return;
|
|
5623
5623
|
if (L.currentTarget.focus(), L.detail === 2) {
|
|
5624
|
-
if (
|
|
5624
|
+
if (jo(L) && t.column.id !== "comments" || Zt(t.row.original.primary.entityType) || R || t.row.original.readOnly) {
|
|
5625
5625
|
L.preventDefault();
|
|
5626
5626
|
return;
|
|
5627
5627
|
}
|
|
5628
5628
|
if (["name", "comments"].includes(t.column.id) && !q.closest(".expander")) {
|
|
5629
5629
|
t.column.id === "comments" && Sr("overview", "feed");
|
|
5630
|
-
const te = Fe(t.row.id, pe),
|
|
5630
|
+
const te = Fe(t.row.id, pe), ge = L.metaKey || L.ctrlKey, Ee = ue(te);
|
|
5631
5631
|
N((Q) => {
|
|
5632
|
-
const J =
|
|
5632
|
+
const J = ge ? new Set(Q) : /* @__PURE__ */ new Set();
|
|
5633
5633
|
return J.add(te), J.add(n), J;
|
|
5634
5634
|
}), Ee && (P(Ee), I(te));
|
|
5635
5635
|
} else if (t.column.id === "thumbnail") {
|
|
5636
5636
|
if (c) {
|
|
5637
5637
|
const te = a(t.row.original.primary.id);
|
|
5638
5638
|
if (te) {
|
|
5639
|
-
const
|
|
5640
|
-
c(
|
|
5639
|
+
const ge = Rn(te), Ee = Er(L);
|
|
5640
|
+
c(ge, {
|
|
5641
5641
|
quickView: !0,
|
|
5642
5642
|
goToPosition: Ee?.position,
|
|
5643
5643
|
reviewableId: Ee?.fileId
|
|
@@ -5649,7 +5649,7 @@ const la = 24, ca = () => {
|
|
|
5649
5649
|
return;
|
|
5650
5650
|
}
|
|
5651
5651
|
if (R && t.column.id !== "name") return f();
|
|
5652
|
-
const re = R ||
|
|
5652
|
+
const re = R || Zt(t.row.original.primary.entityType) || G;
|
|
5653
5653
|
if (q.closest("." + Qn) && !re) {
|
|
5654
5654
|
u(n) || (r(n, !1, !1), b(n)), k(n);
|
|
5655
5655
|
return;
|
|
@@ -5689,8 +5689,8 @@ const la = 24, ca = () => {
|
|
|
5689
5689
|
onKeyDown: () => {
|
|
5690
5690
|
},
|
|
5691
5691
|
children: [
|
|
5692
|
-
/* @__PURE__ */
|
|
5693
|
-
|
|
5692
|
+
/* @__PURE__ */ j(Go.Provider, { value: _, children: Tn(t.column.columnDef.cell, t.getContext()) }),
|
|
5693
|
+
B?.groupEdge && /* @__PURE__ */ j(ws, { className: B.groupEdge })
|
|
5694
5694
|
]
|
|
5695
5695
|
}
|
|
5696
5696
|
);
|
|
@@ -5701,31 +5701,31 @@ const la = 24, ca = () => {
|
|
|
5701
5701
|
), s = n.some((l) => l.menu === void 0), { data: o } = mr({}, { skip: !s });
|
|
5702
5702
|
return Ve(() => {
|
|
5703
5703
|
n.forEach((l) => {
|
|
5704
|
-
|
|
5704
|
+
In(l.cell), In(l.fetchValues);
|
|
5705
5705
|
});
|
|
5706
5706
|
}, [n]), H(() => {
|
|
5707
|
-
const l = n.map((
|
|
5708
|
-
const a = os(
|
|
5707
|
+
const l = n.map((m) => {
|
|
5708
|
+
const a = os(m);
|
|
5709
5709
|
return {
|
|
5710
5710
|
column: {
|
|
5711
5711
|
id: a,
|
|
5712
|
-
header:
|
|
5713
|
-
size:
|
|
5712
|
+
header: m.label,
|
|
5713
|
+
size: m.width || Sa,
|
|
5714
5714
|
enableSorting: !1,
|
|
5715
5715
|
enableResizing: !0,
|
|
5716
5716
|
enablePinning: !0,
|
|
5717
5717
|
// hidden until the user shows it in Customize, like most columns
|
|
5718
5718
|
enableHiding: !0,
|
|
5719
|
-
meta: { addonColumn: { contribution:
|
|
5720
|
-
cell: ({ row: c }) => oo(da, { contribution:
|
|
5719
|
+
meta: { addonColumn: { contribution: m, page: t } },
|
|
5720
|
+
cell: ({ row: c }) => oo(da, { contribution: m, page: t, columnId: a, row: c })
|
|
5721
5721
|
}
|
|
5722
5722
|
};
|
|
5723
|
-
}), g = n.map((
|
|
5724
|
-
const { addon: a, menu: c } =
|
|
5723
|
+
}), g = n.map((m) => {
|
|
5724
|
+
const { addon: a, menu: c } = m, i = c ?? (o?.addons.find((p) => p.name === a.name)?.title || a.name);
|
|
5725
5725
|
return {
|
|
5726
|
-
value: os(
|
|
5727
|
-
label:
|
|
5728
|
-
icon:
|
|
5726
|
+
value: os(m),
|
|
5727
|
+
label: m.label,
|
|
5728
|
+
icon: m.icon,
|
|
5729
5729
|
// one submenu per name, so addons can share one ("Production")
|
|
5730
5730
|
menu: i === !1 ? void 0 : i
|
|
5731
5731
|
};
|
|
@@ -5755,8 +5755,8 @@ export {
|
|
|
5755
5755
|
Dl as ColumnSettingsProvider,
|
|
5756
5756
|
Zl as DEFAULT_MAIN_COUNT_LABELS,
|
|
5757
5757
|
Ql as DEFAULT_ROW_SCOPE,
|
|
5758
|
-
|
|
5759
|
-
|
|
5758
|
+
Wl as DEFAULT_SUMMARY_FORMAT,
|
|
5759
|
+
We as DRAG_HANDLE_COLUMN_ID,
|
|
5760
5760
|
hc as DateWidget,
|
|
5761
5761
|
To as DetailsPanelEntityContext,
|
|
5762
5762
|
Ll as DetailsPanelEntityProvider,
|
|
@@ -5782,7 +5782,7 @@ export {
|
|
|
5782
5782
|
Lc as MarkdownWidget,
|
|
5783
5783
|
Oc as MetaWidget,
|
|
5784
5784
|
_c as NEXT_PAGE_ID,
|
|
5785
|
-
|
|
5785
|
+
Cn as NO_MATCH_FOLDER_ID,
|
|
5786
5786
|
So as ProjectDataContext,
|
|
5787
5787
|
Ol as ProjectDataProvider,
|
|
5788
5788
|
yo as ProjectTableContext,
|
|
@@ -5805,13 +5805,13 @@ export {
|
|
|
5805
5805
|
Nl as SelectedRowsProvider,
|
|
5806
5806
|
Bc as SelectionCell,
|
|
5807
5807
|
Po as SelectionCellsContext,
|
|
5808
|
-
|
|
5808
|
+
jl as SelectionCellsProvider,
|
|
5809
5809
|
Uc as StyledBaseTextWidget,
|
|
5810
5810
|
Gc as SubtasksWidget,
|
|
5811
5811
|
Md as TABLE_CONTAINER_ATTR,
|
|
5812
5812
|
Go as TableCellContext,
|
|
5813
|
-
|
|
5814
|
-
|
|
5813
|
+
jc as TagsWidget,
|
|
5814
|
+
Wc as TextWidget,
|
|
5815
5815
|
Hc as ThumbnailWidget,
|
|
5816
5816
|
Kn as UNGROUPED_VALUE,
|
|
5817
5817
|
Od as WRAP_MIN_CELL_HEIGHT,
|
|
@@ -5821,13 +5821,13 @@ export {
|
|
|
5821
5821
|
mo as buildFolderTableRow,
|
|
5822
5822
|
Kc as buildGroupId,
|
|
5823
5823
|
qc as buildProductTableRow,
|
|
5824
|
-
|
|
5824
|
+
ji as buildQueryFilters,
|
|
5825
5825
|
Jl as buildRowScope,
|
|
5826
5826
|
ql as buildSummaryFormat,
|
|
5827
5827
|
po as buildTaskTableRow,
|
|
5828
5828
|
Qc as buildVersionTableRow,
|
|
5829
5829
|
li as builtInFieldMappings,
|
|
5830
|
-
|
|
5830
|
+
Yt as checkColumnVisibility,
|
|
5831
5831
|
Yr as clientFilterToQueryFilter,
|
|
5832
5832
|
Be as clipboardError,
|
|
5833
5833
|
bi as commentsToText,
|
|
@@ -5846,15 +5846,15 @@ export {
|
|
|
5846
5846
|
Ao as getBorderClasses,
|
|
5847
5847
|
Xc as getCellBorders,
|
|
5848
5848
|
Fe as getCellId,
|
|
5849
|
-
|
|
5849
|
+
Wt as getCellValue,
|
|
5850
5850
|
Yc as getColumnIcon,
|
|
5851
5851
|
Jc as getColumnLabel,
|
|
5852
5852
|
Ro as getColumnSortKey,
|
|
5853
|
-
|
|
5854
|
-
|
|
5853
|
+
nn as getColumnWidth,
|
|
5854
|
+
sn as getCommonPinningStyles,
|
|
5855
5855
|
Ji as getEntitiesLabelFromScopes,
|
|
5856
5856
|
Tt as getEntityDataById,
|
|
5857
|
-
|
|
5857
|
+
Rn as getEntityViewierIds,
|
|
5858
5858
|
Yi as getFilterErrorMessage,
|
|
5859
5859
|
Fi as getFolderIdsToQueryFromExpanded,
|
|
5860
5860
|
Zc as getLinkColumnId,
|
|
@@ -5870,17 +5870,17 @@ export {
|
|
|
5870
5870
|
id as getSortableColumnOptions,
|
|
5871
5871
|
ri as getTableFieldOptions,
|
|
5872
5872
|
Gi as getTasksSortArgs,
|
|
5873
|
-
|
|
5873
|
+
mn as getTypeDefaultValue,
|
|
5874
5874
|
ad as getValueIdType,
|
|
5875
5875
|
Qi as hasActiveFilters,
|
|
5876
5876
|
ss as isAddonColumnId,
|
|
5877
5877
|
Pr as isAttribGroupable,
|
|
5878
5878
|
ld as isColumnSortable,
|
|
5879
|
-
|
|
5880
|
-
|
|
5879
|
+
Wo as isEntityExpandable,
|
|
5880
|
+
Zt as isEntityRestricted,
|
|
5881
5881
|
cd as isFieldSupported,
|
|
5882
5882
|
Xi as isFilterError,
|
|
5883
|
-
|
|
5883
|
+
hn as isGroupId,
|
|
5884
5884
|
dd as isLinkEditable,
|
|
5885
5885
|
ud as isListColumnEntityType,
|
|
5886
5886
|
fd as isListsMembershipEntityType,
|
|
@@ -5889,7 +5889,7 @@ export {
|
|
|
5889
5889
|
pd as isMultiSelectAttribute,
|
|
5890
5890
|
qd as isRelativeDateValue,
|
|
5891
5891
|
pi as isSubtasksTSV,
|
|
5892
|
-
|
|
5892
|
+
jo as isTargetReadOnly,
|
|
5893
5893
|
Hn as linksToTableData,
|
|
5894
5894
|
md as normalizeColumnId,
|
|
5895
5895
|
gd as normalizeColumnIdList,
|
|
@@ -5904,7 +5904,7 @@ export {
|
|
|
5904
5904
|
Gd as queryFilterToClientFilter,
|
|
5905
5905
|
pr as resolveColumnVisibility,
|
|
5906
5906
|
Qd as resolveRelativeValue,
|
|
5907
|
-
|
|
5907
|
+
Wi as resolveSlicerFolders,
|
|
5908
5908
|
Ms as sanitizeQueryFilter,
|
|
5909
5909
|
mi as sanitizeSubtaskName,
|
|
5910
5910
|
Xl as scopeHasGroups,
|
|
@@ -5913,17 +5913,17 @@ export {
|
|
|
5913
5913
|
bd as sortEntityLinksByPath,
|
|
5914
5914
|
Al as subtaskToTSV,
|
|
5915
5915
|
fi as subtasksToTSV,
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5916
|
+
jd as tryMergeDatetimeRange,
|
|
5917
|
+
Wd as tryMergeTextNullness,
|
|
5918
|
+
pn as tsvToSubtasks,
|
|
5919
5919
|
Gl as useAddonEntityMenuItems,
|
|
5920
5920
|
ac as useAddonTableColumns,
|
|
5921
|
-
|
|
5921
|
+
dt as useCellEditing,
|
|
5922
5922
|
Hi as useCheckSelectedCellsVisible,
|
|
5923
5923
|
ko as useClipboard,
|
|
5924
5924
|
Dr as useColumnDragRestriction,
|
|
5925
5925
|
Ki as useColumnGroupBy,
|
|
5926
|
-
|
|
5926
|
+
ct as useColumnSettingsContext,
|
|
5927
5927
|
hs as useDetailsPanelEntityContext,
|
|
5928
5928
|
$l as useEntitiesMap,
|
|
5929
5929
|
Id as useEntityListsMembership,
|
|
@@ -5938,7 +5938,7 @@ export {
|
|
|
5938
5938
|
Td as useOptionalProjectTableContext,
|
|
5939
5939
|
Sd as useOptionalSelectedRowsContext,
|
|
5940
5940
|
vd as useOptionalSelectionCellsContext,
|
|
5941
|
-
|
|
5941
|
+
Sn as useProjectDataContext,
|
|
5942
5942
|
qe as useProjectTableContext,
|
|
5943
5943
|
xo as useProjectTableQueriesContext,
|
|
5944
5944
|
Fl as useQueryFilters,
|