@ynput/ayon-frontend-shared 0.6.5 → 0.6.6
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/ProjectTreeTable.es.js +645 -653
- package/dist/chunks/Feed.es.js +1742 -1733
- package/dist/chunks/Menu.es.js +168 -166
- package/dist/chunks/MenuItem.es.js +112 -77
- package/dist/chunks/SimpleForm.es.js +78 -75
- package/dist/chunks/getUris.es.js +171 -172
- package/dist/chunks/queryFilterToClientFilter.es.js +90 -81
- package/dist/chunks/searchTerms.es.js +3 -0
- package/dist/types/Feed.d.ts +1 -1
- package/dist/types/ProjectTreeTable.d.ts +3 -5
- package/dist/types/Slicer.d.ts +1 -1
- package/dist/types/Views.d.ts +2 -2
- package/dist/types/api.d.ts +9 -5
- package/dist/types/components.d.ts +9 -2
- package/dist/types/context.d.ts +2 -2
- package/dist/types/util.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { jsx as W, jsxs as Ge, Fragment as vn } from "react/jsx-runtime";
|
|
2
|
-
import Xe, { useMemo as j, useCallback as q, useEffect as Ue, useState as Ve, useRef as je, useLayoutEffect as
|
|
2
|
+
import Xe, { useMemo as j, useCallback as q, useEffect as Ue, useState as Ve, useRef as je, useLayoutEffect as bs } from "react";
|
|
3
3
|
import { useVirtualizer as Un } from "@tanstack/react-virtual";
|
|
4
|
-
import { functionalUpdate as Ct, useReactTable as
|
|
4
|
+
import { functionalUpdate as Ct, useReactTable as ws, filterFns as Cs, getSortedRowModel as Ts, getExpandedRowModel as Ss, getFilteredRowModel as vs, getCoreRowModel as Es, flexRender as dn } from "@tanstack/react-table";
|
|
5
5
|
import qe from "clsx";
|
|
6
|
-
import { r as
|
|
7
|
-
import { B as
|
|
8
|
-
import { T as
|
|
9
|
-
import { SEARCH_FILTER_ID as
|
|
6
|
+
import { r as xs, s as ks, t as En, v as Rs, w as dt, a as nt, x as Ps, y as Gn, z as As, b as Ke, F as ut, G as Zt, H as en, I as Ye, p as he, J as Ds, K as $t, N as Ls, O as Os, Q as _s, R as Fs, P as Ns, V as Ms, W as Wn, X as _e, Y as $s, Z as Vs, f as un, _ as zs, $ as an, a0 as Wt, U as xn, a1 as ln, a2 as Bs, a3 as bt, a4 as Us, a5 as Gs, C as Ws, a6 as Hs, a7 as js, a8 as Ks, a9 as qs, aa as Qs, ab as Hn, ac as fn, ad as Xs, ae as Ys, af as Js, ag as kn, ah as Zs, q as Rn, ai as eo, aj as to, ak as jn, al as Kn, am as no, an as so, ao as oo, ap as ro } from "./chunks/MetaWidget.es.js";
|
|
7
|
+
import { B as Fa, aq as Na, ar as Ma, as as $a, at as Va, au as za, av as Ba, n as Ua, aw as Ga, ax as Wa, ay as Ha, az as ja, aA as Ka, aB as qa, aC as Qa, o as Xa, aD as Ya, aE as Ja, aF as Za, aG as el, M as tl, aH as nl, aI as sl, aJ as ol, aK as rl, aL as il, aM as al, aN as ll, aO as cl, aP as dl, aQ as ul, aR as fl, T as pl, aS as gl, aT as ml, aU as yl, aV as hl, aW as Il, aX as bl, aY as wl, aZ as Cl, a_ as Tl, a$ as Sl, b0 as vl, b1 as El, b2 as xl, b3 as kl, b4 as Rl, b5 as Pl, b6 as Al, b7 as Dl, b8 as Ll, b9 as Ol, ba as _l, bb as Fl, bc as Nl, bd as Ml, be as $l, h as Vl, bf as zl, g as Bl } from "./chunks/MetaWidget.es.js";
|
|
8
|
+
import { T as io, g as Kt, c as qt, H as Pn } from "./chunks/ColumnDropIndicator.styled.es.js";
|
|
9
|
+
import { SEARCH_FILTER_ID as ao, Icon as pn, Button as tn } from "@ynput/ayon-react-components";
|
|
10
10
|
import "@module-federation/enhanced/runtime";
|
|
11
11
|
import { ay as An, bi as qn } from "./chunks/searchTerms.es.js";
|
|
12
|
-
import { aV as
|
|
13
|
-
import { dD as
|
|
12
|
+
import { aV as lo, aG as co, ds as Qn, dB as St, bX as uo, ct as fo, bY as po, ca as go, bx as Dn, cm as mo, bM as yo, dC as ho } from "./chunks/getUris.es.js";
|
|
13
|
+
import { dD as Gl } from "./chunks/getUris.es.js";
|
|
14
14
|
import "primereact/confirmdialog";
|
|
15
|
-
import { x as Qe, d as
|
|
16
|
-
import { isEqual as wt, debounce as
|
|
15
|
+
import { x as Qe, d as Io, a5 as bo, y as wo, u as Xn, a as Co, a1 as To } from "./chunks/DeleteEntitiesContextInstance.es.js";
|
|
16
|
+
import { isEqual as wt, debounce as So, throttle as vo } from "lodash";
|
|
17
17
|
import { toast as Le } from "react-toastify";
|
|
18
|
-
import { v4 as
|
|
19
|
-
import { v as Yn, g as cn, R as ge, D as Be, f as
|
|
20
|
-
import { C as
|
|
18
|
+
import { v4 as Eo } from "uuid";
|
|
19
|
+
import { v as Yn, g as cn, R as ge, D as Be, f as xo, M as gn } from "./chunks/realtimeUpdatesUtils.es.js";
|
|
20
|
+
import { C as Hl, W as jl, k as Kl } from "./chunks/realtimeUpdatesUtils.es.js";
|
|
21
21
|
import "semver";
|
|
22
22
|
import "./chunks/ContextMenuContextInstance.es.js";
|
|
23
23
|
import { createPortal as Ht } from "react-dom";
|
|
24
24
|
import "react-redux";
|
|
25
|
-
import { k as
|
|
25
|
+
import { k as ko } from "./chunks/PlayableIcon.es.js";
|
|
26
26
|
import "lexical";
|
|
27
27
|
import "@lexical/markdown";
|
|
28
28
|
import "@lexical/react/LexicalBlockWithAlignableContents";
|
|
@@ -34,32 +34,32 @@ import "@lexical/list";
|
|
|
34
34
|
import "@lexical/rich-text";
|
|
35
35
|
import "@lexical/selection";
|
|
36
36
|
import "@lexical/utils";
|
|
37
|
-
import { i as
|
|
38
|
-
import { a as
|
|
39
|
-
import { C as
|
|
40
|
-
import { useSensors as
|
|
41
|
-
import { arrayMove as _n, SortableContext as Zn, verticalListSortingStrategy as
|
|
37
|
+
import { i as Ro, u as Po, T as Ln } from "./chunks/ColumnDropIndicator.es.js";
|
|
38
|
+
import { a as Ql, b as Xl, c as Yl } from "./chunks/ColumnDropIndicator.es.js";
|
|
39
|
+
import { C as Ao } from "./chunks/ColumnHeaderMenuUI.es.js";
|
|
40
|
+
import { useSensors as Do, useSensor as nn, MouseSensor as Lo, TouchSensor as Oo, KeyboardSensor as _o, closestCenter as On, DndContext as Fo, useDndMonitor as No, DragOverlay as Jn, useDndContext as Mo } from "@dnd-kit/core";
|
|
41
|
+
import { arrayMove as _n, SortableContext as Zn, verticalListSortingStrategy as $o, horizontalListSortingStrategy as Vo, useSortable as es } from "@dnd-kit/sortable";
|
|
42
42
|
import { E as sn } from "./chunks/EmptyPlaceholder.es.js";
|
|
43
43
|
import "./chunks/Menu.es.js";
|
|
44
|
-
import { I as
|
|
45
|
-
import { F as
|
|
46
|
-
import { u as
|
|
47
|
-
import { u as
|
|
44
|
+
import { I as zo } from "./chunks/InfoMessage.es.js";
|
|
45
|
+
import { F as Bo } from "./chunks/FilterErrorActions.es.js";
|
|
46
|
+
import { u as Uo } from "./chunks/useLoadModule.es.js";
|
|
47
|
+
import { u as Go } from "./chunks/useCreateContextMenu.es.js";
|
|
48
48
|
import { a as Vt, K as zt } from "./chunks/platform.es.js";
|
|
49
|
-
import { u as
|
|
49
|
+
import { u as Wo } from "./chunks/useHierarchySelection.es.js";
|
|
50
50
|
import { n as ct } from "./chunks/entityDefinitions.es.js";
|
|
51
51
|
import { CSS as ts } from "@dnd-kit/utilities";
|
|
52
|
-
import { u as
|
|
53
|
-
import { a as
|
|
54
|
-
import { a as
|
|
55
|
-
import { c as
|
|
56
|
-
import { e as
|
|
57
|
-
import { c as
|
|
58
|
-
import { r as
|
|
59
|
-
import { u as
|
|
60
|
-
import { g as
|
|
52
|
+
import { u as Ho } from "./chunks/useAttributeEnums.es.js";
|
|
53
|
+
import { a as Zl } from "./chunks/useAttributeEnums.es.js";
|
|
54
|
+
import { a as jo } from "./chunks/queryFilterToClientFilter.es.js";
|
|
55
|
+
import { c as tc, q as nc, t as sc, b as oc } from "./chunks/queryFilterToClientFilter.es.js";
|
|
56
|
+
import { e as Ko } from "./chunks/expandRelativeDates.es.js";
|
|
57
|
+
import { c as ic, i as ac, r as lc } from "./chunks/expandRelativeDates.es.js";
|
|
58
|
+
import { r as qo, a as Qo } from "./chunks/refreshActiveAndPurgeOthers.es.js";
|
|
59
|
+
import { u as Xo } from "./chunks/useGroupedPagination.es.js";
|
|
60
|
+
import { g as Yo } from "./chunks/getGroupByDataType.es.js";
|
|
61
61
|
const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
62
|
-
id:
|
|
62
|
+
id: Eo(),
|
|
63
63
|
primary: {
|
|
64
64
|
id: `loading-${o}`,
|
|
65
65
|
entityType: "folder",
|
|
@@ -69,46 +69,46 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
69
69
|
attrib: e
|
|
70
70
|
},
|
|
71
71
|
isLoading: !0
|
|
72
|
-
})),
|
|
72
|
+
})), Jo = (t = 10) => Array(t).fill(null).map((e, n) => ({
|
|
73
73
|
name: `loading-attribute${n}`,
|
|
74
74
|
scope: ["folder", "task"],
|
|
75
75
|
data: {
|
|
76
76
|
type: "string"
|
|
77
77
|
},
|
|
78
78
|
position: n
|
|
79
|
-
})),
|
|
79
|
+
})), Zo = ({
|
|
80
80
|
expandedFoldersTasks: t,
|
|
81
81
|
expandedParentIds: e,
|
|
82
82
|
foldersMap: n
|
|
83
83
|
}) => {
|
|
84
84
|
const o = t.map((i) => i.folderId), s = e.filter(
|
|
85
85
|
(i) => n.get(i)?.hasTasks
|
|
86
|
-
),
|
|
86
|
+
), m = new Set(o), h = /* @__PURE__ */ new Set();
|
|
87
87
|
for (const i of s)
|
|
88
|
-
|
|
88
|
+
m.has(i) || h.add(i);
|
|
89
89
|
const w = {};
|
|
90
90
|
for (const i of h) {
|
|
91
91
|
const d = n.get(i);
|
|
92
92
|
d && (w[i] = d.taskNames?.length || 0);
|
|
93
93
|
}
|
|
94
94
|
return w;
|
|
95
|
-
},
|
|
95
|
+
}, er = ({
|
|
96
96
|
users: t,
|
|
97
97
|
statuses: e,
|
|
98
98
|
folderTypes: n,
|
|
99
99
|
taskTypes: o,
|
|
100
100
|
productTypes: s,
|
|
101
|
-
tags:
|
|
101
|
+
tags: m,
|
|
102
102
|
scopes: h
|
|
103
103
|
}) => {
|
|
104
104
|
const w = (i) => e.filter(
|
|
105
105
|
(d) => !d.scope || i.some((a) => d.scope?.includes(a))
|
|
106
|
-
).map(({ name: d, color: a, icon: y, scope:
|
|
106
|
+
).map(({ name: d, color: a, icon: y, scope: g }) => ({
|
|
107
107
|
value: d,
|
|
108
108
|
label: d,
|
|
109
109
|
color: a,
|
|
110
110
|
icon: y,
|
|
111
|
-
scope:
|
|
111
|
+
scope: g
|
|
112
112
|
}));
|
|
113
113
|
return {
|
|
114
114
|
assignee: t.map(({ name: i, fullName: d, hidden: a }) => ({
|
|
@@ -120,7 +120,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
120
120
|
status: w(h),
|
|
121
121
|
folderStatus: w(["folder"]),
|
|
122
122
|
taskStatus: w(["task"]),
|
|
123
|
-
tag:
|
|
123
|
+
tag: m.map(({ name: i, color: d }) => ({ value: i, label: i, color: d })),
|
|
124
124
|
folderType: n.map(({ name: i, icon: d, color: a }) => ({
|
|
125
125
|
value: i,
|
|
126
126
|
label: i,
|
|
@@ -135,7 +135,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
135
135
|
color: a
|
|
136
136
|
}))
|
|
137
137
|
};
|
|
138
|
-
},
|
|
138
|
+
}, tr = {
|
|
139
139
|
name: ["name"],
|
|
140
140
|
label: ["label"],
|
|
141
141
|
status: ["status"],
|
|
@@ -147,27 +147,27 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
147
147
|
taskType: ["taskType", "task_type"],
|
|
148
148
|
productType: ["productType", "product_type"],
|
|
149
149
|
author: ["author"]
|
|
150
|
-
},
|
|
150
|
+
}, nr = (t, e, n = []) => {
|
|
151
151
|
let o = t.filter((d) => d.readOnly).map((d) => d.name), s;
|
|
152
|
-
const
|
|
152
|
+
const m = [];
|
|
153
153
|
let h = !1, w = !1;
|
|
154
154
|
if (e) {
|
|
155
|
-
const d = new Set(e), a = (y) => y.some((
|
|
156
|
-
Object.entries(
|
|
157
|
-
a(
|
|
155
|
+
const d = new Set(e), a = (y) => y.some((g) => d.has(g));
|
|
156
|
+
Object.entries(tr).forEach(([y, g]) => {
|
|
157
|
+
a(g) || (m.push(y), y === "folderType" && (h = !0), y === "taskType" && (w = !0));
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
160
|
if (n?.includes("attrib") ? (o = t.filter((d) => d.builtin || d.readOnly).map((d) => d.name), s = /* @__PURE__ */ new Set([
|
|
161
161
|
...o.map((d) => "attrib_" + d),
|
|
162
162
|
// Add the read-only attribute columns to the set
|
|
163
|
-
...
|
|
163
|
+
...m,
|
|
164
164
|
// Also include read-only built-in fields
|
|
165
165
|
...n || []
|
|
166
166
|
// Add any other specified readOnly columns
|
|
167
167
|
])) : (s = /* @__PURE__ */ new Set([
|
|
168
168
|
...o.map((d) => "attrib_" + d),
|
|
169
169
|
// Add readOnly attribute columns to the set
|
|
170
|
-
...
|
|
170
|
+
...m,
|
|
171
171
|
// Add read-only built-in fields to the set (field ids match column ids)
|
|
172
172
|
...n || []
|
|
173
173
|
// Add any other specified readOnly columns
|
|
@@ -176,11 +176,11 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
176
176
|
const a = d.replace("attrib_", "");
|
|
177
177
|
t.find((y) => y.name === a) && !o.includes(a) && o.push(a);
|
|
178
178
|
}
|
|
179
|
-
})), h && w && (s.add("subType"), o.includes("subType") || o.push("subType")),
|
|
180
|
-
for (const d of
|
|
179
|
+
})), h && w && (s.add("subType"), o.includes("subType") || o.push("subType")), m.length)
|
|
180
|
+
for (const d of m)
|
|
181
181
|
o.includes(d) || o.push(d);
|
|
182
182
|
return { readOnlyColumns: Array.from(s), readOnlyAttribs: o };
|
|
183
|
-
},
|
|
183
|
+
}, sr = {
|
|
184
184
|
status: "statuses",
|
|
185
185
|
folderType: "folderTypes",
|
|
186
186
|
taskType: "taskTypes"
|
|
@@ -188,17 +188,10 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
188
188
|
const e = t.trim().split(`
|
|
189
189
|
`), n = [], o = [];
|
|
190
190
|
return e.forEach((s) => {
|
|
191
|
-
const
|
|
192
|
-
n.push({ values:
|
|
191
|
+
const m = s.split(" ");
|
|
192
|
+
n.push({ values: m, colIds: o });
|
|
193
193
|
}), n;
|
|
194
|
-
},
|
|
195
|
-
const n = e.get(t);
|
|
196
|
-
if (!n) return "";
|
|
197
|
-
const o = n.name || "", s = n.folderId || n.parentId;
|
|
198
|
-
if (!s) return o;
|
|
199
|
-
const g = ns(s, e);
|
|
200
|
-
return g ? `${g} / ${o}` : o;
|
|
201
|
-
}, rr = (t, e) => {
|
|
194
|
+
}, or = (t, e) => {
|
|
202
195
|
if (e === "array")
|
|
203
196
|
try {
|
|
204
197
|
if (t === "")
|
|
@@ -219,13 +212,13 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
219
212
|
return t.toLowerCase() === "true" || t === "1" || t.toLowerCase() === "yes";
|
|
220
213
|
}
|
|
221
214
|
return t;
|
|
222
|
-
},
|
|
215
|
+
}, rr = ["assignees", "status", "subType"], ir = (t) => {
|
|
223
216
|
const {
|
|
224
217
|
colId: e,
|
|
225
218
|
isFolder: n,
|
|
226
219
|
pasteValue: o,
|
|
227
220
|
parsedData: s,
|
|
228
|
-
columnEnums:
|
|
221
|
+
columnEnums: m,
|
|
229
222
|
columnReadOnly: h,
|
|
230
223
|
rowIndex: w,
|
|
231
224
|
colIndex: i,
|
|
@@ -237,10 +230,10 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
237
230
|
return $e(`This column is read-only: "${e}". Paste operation cancelled.`), !1;
|
|
238
231
|
if (e.startsWith("link_"))
|
|
239
232
|
return o.split(",").map((p) => p.trim()).every((p) => Yn(p)) ? !0 : ($e(`Invalid link id format: "${o}". Paste operation cancelled.`), !1);
|
|
240
|
-
if (
|
|
233
|
+
if (rr.includes(e)) {
|
|
241
234
|
let r = e;
|
|
242
235
|
e === "assignees" ? r = "assignee" : e === "subType" ? r = n ? "folderType" : "taskType" : e === "status" && (r = "status");
|
|
243
|
-
const l =
|
|
236
|
+
const l = m[r] || [];
|
|
244
237
|
if (l.length === 0)
|
|
245
238
|
return !0;
|
|
246
239
|
const p = o.split(",").map(($) => $.trim()), v = [];
|
|
@@ -325,15 +318,15 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
325
318
|
}
|
|
326
319
|
}
|
|
327
320
|
let y = e === "subType" ? n ? "folderType" : "taskType" : e;
|
|
328
|
-
if (y =
|
|
329
|
-
const
|
|
330
|
-
if (!Array.isArray(
|
|
321
|
+
if (y = sr[y] || y, !(y in m)) return !0;
|
|
322
|
+
const g = m[y];
|
|
323
|
+
if (!Array.isArray(g) || g.length === 0) return !0;
|
|
331
324
|
const T = o.split(",").map((r) => r.trim()), { validValues: b, hasInvalidValues: P } = T.reduce(
|
|
332
325
|
(r, l) => {
|
|
333
|
-
const p =
|
|
326
|
+
const p = g.find((x) => x.value === l || x.label === l);
|
|
334
327
|
if (p)
|
|
335
328
|
return r.validValues.push(String(p.value)), r;
|
|
336
|
-
const v =
|
|
329
|
+
const v = g.find(
|
|
337
330
|
(x) => String(x.value).toLowerCase() === l.toLowerCase() || String(x.label).toLowerCase() === l.toLowerCase()
|
|
338
331
|
);
|
|
339
332
|
return v ? (r.validValues.push(String(v.value)), r) : (r.hasInvalidValues = !0, r.validValues.push(l), r);
|
|
@@ -351,7 +344,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
351
344
|
s[r].values[l] = I;
|
|
352
345
|
}
|
|
353
346
|
return !0;
|
|
354
|
-
},
|
|
347
|
+
}, ar = (t, e, n) => t.map((s) => [
|
|
355
348
|
e || "",
|
|
356
349
|
n || "",
|
|
357
350
|
s.label || "",
|
|
@@ -361,7 +354,7 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
361
354
|
(s.assignees || []).join(", "),
|
|
362
355
|
s.isDone ? "Done" : "Todo"
|
|
363
356
|
]).map((s) => s.join(" ")).join(`
|
|
364
|
-
`),
|
|
357
|
+
`), na = (t, e, n) => [
|
|
365
358
|
e || "",
|
|
366
359
|
n || "",
|
|
367
360
|
t.label || "",
|
|
@@ -378,19 +371,19 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
378
371
|
return (n.includes("taskid") && n.includes("taskname") && n.includes("label") && n.includes("name") && n.includes("start date") && n.includes("end date") && n.includes("assignees") && n.includes("status") ? e.slice(1) : e).map((h) => {
|
|
379
372
|
const w = h.split(" ");
|
|
380
373
|
if (w.length < 6) return null;
|
|
381
|
-
let i, d, a, y,
|
|
382
|
-
w.length >= 8 ? ([i, d, a, y,
|
|
374
|
+
let i, d, a, y, g, T, b, P;
|
|
375
|
+
w.length >= 8 ? ([i, d, a, y, g, T, b, P] = w, i = i || void 0, d = d || void 0) : [a, y, g, T, b, P] = w.slice(0, 6);
|
|
383
376
|
const I = b ? b.split(",").map((p) => p.trim()).filter(Boolean) : [], r = P?.toLowerCase().trim() === "done", l = {
|
|
384
377
|
label: a || "",
|
|
385
378
|
name: y || "",
|
|
386
379
|
assignees: I,
|
|
387
380
|
isDone: r
|
|
388
381
|
};
|
|
389
|
-
return i && (l.taskId = i), d && (l.taskName = d),
|
|
382
|
+
return i && (l.taskId = i), d && (l.taskName = d), g && (l.startDate = g), T && (l.endDate = T), l;
|
|
390
383
|
}).filter(
|
|
391
384
|
(h) => h !== null
|
|
392
385
|
);
|
|
393
|
-
},
|
|
386
|
+
}, lr = (t) => {
|
|
394
387
|
const e = t.trim().split(`
|
|
395
388
|
`);
|
|
396
389
|
if (e.length === 0) return !1;
|
|
@@ -402,44 +395,44 @@ const Tt = (t = 50, e = {}) => new Array(t).fill(0).map((n, o) => ({
|
|
|
402
395
|
if (s.includes("taskid") && s.includes("taskname") && s.includes("label") && s.includes("name") && s.includes("start date") && s.includes("end date") && s.includes("assignees") && s.includes("status") || s.includes("label") && s.includes("name") && s.includes("start date") && s.includes("end date") && s.includes("assignees") && s.includes("status"))
|
|
403
396
|
return !0;
|
|
404
397
|
if (e.length > 0) {
|
|
405
|
-
const
|
|
406
|
-
return
|
|
398
|
+
const m = o[o.length - 1]?.toLowerCase().trim();
|
|
399
|
+
return m === "done" || m === "todo";
|
|
407
400
|
}
|
|
408
401
|
return !1;
|
|
409
|
-
},
|
|
402
|
+
}, cr = (t) => {
|
|
410
403
|
let e = t.replace(/[^a-zA-Z0-9_\.\-]/g, "_");
|
|
411
404
|
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;
|
|
412
|
-
}, Bt = (t) => String(t).padStart(2, "0"),
|
|
405
|
+
}, Bt = (t) => String(t).padStart(2, "0"), dr = (t) => {
|
|
413
406
|
if (!t) return "";
|
|
414
407
|
const e = new Date(t);
|
|
415
408
|
return isNaN(e.getTime()) ? "" : `${Bt(e.getDate())}/${Bt(e.getMonth() + 1)}/${e.getFullYear()} ${Bt(
|
|
416
409
|
e.getHours()
|
|
417
410
|
)}:${Bt(e.getMinutes())}`;
|
|
418
|
-
},
|
|
411
|
+
}, ur = (t) => t.replace(/ /gi, " ").replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/'/gi, "'").replace(/&/gi, "&"), fr = (t) => {
|
|
419
412
|
if (!t) return "";
|
|
420
413
|
let e = t;
|
|
421
414
|
return e = e.replace(/<br\s*\/?>/gi, " "), e = e.replace(/!\[[^\]]*\]\([^)]*\)/g, ""), e = e.replace(
|
|
422
415
|
/\[([^\]]*)\]\(([^)]*)\)/g,
|
|
423
|
-
(n, o, s) =>
|
|
424
|
-
), e = e.replace(/```([\s\S]*?)```/g, "$1"), e = e.replace(/`+/g, ""), e = e.replace(/^\s{0,3}#{1,6}\s+/gm, ""), e = e.replace(/^\s*[-=]{2,}\s*$/gm, ""), e = e.replace(/^\s*>\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+\[[ xX]\]\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+/gm, ""), e = e.replace(/^\s*\d+\.\s+/gm, ""), e = e.replace(/\*\*|__|~~/g, ""), e =
|
|
425
|
-
},
|
|
426
|
-
(e) => [
|
|
416
|
+
(n, o, s) => ko.includes(String(s).split(":")[0]) ? String(o).replace(/^@/, "") : o
|
|
417
|
+
), e = e.replace(/```([\s\S]*?)```/g, "$1"), e = e.replace(/`+/g, ""), e = e.replace(/^\s{0,3}#{1,6}\s+/gm, ""), e = e.replace(/^\s*[-=]{2,}\s*$/gm, ""), e = e.replace(/^\s*>\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+\[[ xX]\]\s?/gm, ""), e = e.replace(/^\s*[-*+]\s+/gm, ""), e = e.replace(/^\s*\d+\.\s+/gm, ""), e = e.replace(/\*\*|__|~~/g, ""), e = ur(e), e = e.replace(/[<>]/g, ""), e.replace(/\s+/g, " ").trim();
|
|
418
|
+
}, pr = (t = []) => t.map(
|
|
419
|
+
(e) => [fr(e.body), e.author, dr(e.createdAt)].filter(Boolean).join(" - ")
|
|
427
420
|
).join(`
|
|
428
421
|
`), Nn = 100;
|
|
429
|
-
function
|
|
422
|
+
function gr({
|
|
430
423
|
foldersMap: t,
|
|
431
424
|
tasksMap: e,
|
|
432
425
|
rows: n,
|
|
433
426
|
tasksByFolderMap: o,
|
|
434
427
|
expanded: s,
|
|
435
|
-
showHierarchy:
|
|
428
|
+
showHierarchy: m,
|
|
436
429
|
isFlatFolderView: h = !1,
|
|
437
430
|
showEmptyFolders: w = !1,
|
|
438
431
|
loadingTasks: i = {},
|
|
439
432
|
isLoadingMore: d = !1,
|
|
440
433
|
selectedFolders: a = []
|
|
441
434
|
}) {
|
|
442
|
-
const y = Qe(),
|
|
435
|
+
const y = Qe(), g = xs({ projectInfo: y }), T = j(() => JSON.stringify(s), [s]), b = j(() => new Set(
|
|
443
436
|
Object.entries(s).filter(([l, p]) => p).map(([l]) => l)
|
|
444
437
|
), [T]), { childToParentMap: P, parentToChildrenMap: I } = j(() => {
|
|
445
438
|
const l = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
|
|
@@ -469,10 +462,10 @@ function mr({
|
|
|
469
462
|
}, [t, I, b]);
|
|
470
463
|
return j(() => {
|
|
471
464
|
const l = (C, c) => {
|
|
472
|
-
const u =
|
|
465
|
+
const u = g("task", C.taskType), E = ks(C, t.get(c || C.folderId));
|
|
473
466
|
return E.primary.icon = u?.icon || null, E.primary.color = u?.color || null, E.primary.links = En(C.links, "task", y.anatomy), E.subRows = [], E;
|
|
474
467
|
}, p = (C) => {
|
|
475
|
-
const c =
|
|
468
|
+
const c = g("folder", C.folderType), u = Rs(C);
|
|
476
469
|
return u.primary.icon = c?.icon || null, u.primary.color = c?.color || null, u.primary.links = En(C.links, "folder", y.anatomy), u.subRows = [], u;
|
|
477
470
|
}, v = () => {
|
|
478
471
|
const C = [];
|
|
@@ -508,7 +501,7 @@ function mr({
|
|
|
508
501
|
}
|
|
509
502
|
return C.push(...v()), C;
|
|
510
503
|
}
|
|
511
|
-
if (!
|
|
504
|
+
if (!m) {
|
|
512
505
|
const C = [];
|
|
513
506
|
for (const c of e.values())
|
|
514
507
|
c.id && C.push(l(c));
|
|
@@ -551,7 +544,7 @@ function mr({
|
|
|
551
544
|
const u = x.get(C), E = x.get(c);
|
|
552
545
|
!u || !E || E.subRows?.push(u);
|
|
553
546
|
}
|
|
554
|
-
if ($.push(...v()),
|
|
547
|
+
if ($.push(...v()), m && d) {
|
|
555
548
|
const C = Nn;
|
|
556
549
|
$.push(...Tt(C));
|
|
557
550
|
}
|
|
@@ -566,7 +559,7 @@ function mr({
|
|
|
566
559
|
r,
|
|
567
560
|
P,
|
|
568
561
|
b,
|
|
569
|
-
|
|
562
|
+
m,
|
|
570
563
|
h,
|
|
571
564
|
w,
|
|
572
565
|
i,
|
|
@@ -574,13 +567,13 @@ function mr({
|
|
|
574
567
|
a
|
|
575
568
|
]);
|
|
576
569
|
}
|
|
577
|
-
function
|
|
570
|
+
function mr({
|
|
578
571
|
tasksMap: t,
|
|
579
572
|
entitiesMap: e,
|
|
580
573
|
tasksByFolderMap: n,
|
|
581
574
|
getEntityById: o,
|
|
582
575
|
projectAttrib: s,
|
|
583
|
-
attribFields:
|
|
576
|
+
attribFields: m
|
|
584
577
|
}) {
|
|
585
578
|
const h = j(() => {
|
|
586
579
|
const T = /* @__PURE__ */ new Map();
|
|
@@ -668,7 +661,7 @@ function yr({
|
|
|
668
661
|
if (p.length)
|
|
669
662
|
for (const v of p) {
|
|
670
663
|
const x = r.filter(
|
|
671
|
-
([c]) => !v.ownAttrib?.includes(c) &&
|
|
664
|
+
([c]) => !v.ownAttrib?.includes(c) && m?.find((u) => u.name === c)?.data?.inherit
|
|
672
665
|
), $ = r.filter(
|
|
673
666
|
([c]) => v.ownAttrib?.includes(c)
|
|
674
667
|
);
|
|
@@ -698,7 +691,7 @@ function yr({
|
|
|
698
691
|
return b;
|
|
699
692
|
},
|
|
700
693
|
[w, t, d, i]
|
|
701
|
-
),
|
|
694
|
+
), g = q(
|
|
702
695
|
(T, b, P) => {
|
|
703
696
|
const I = o(T);
|
|
704
697
|
if (!I) return null;
|
|
@@ -718,25 +711,25 @@ function yr({
|
|
|
718
711
|
folderChildrenMap: h,
|
|
719
712
|
getChildrenEntities: w,
|
|
720
713
|
getInheritedDependents: y,
|
|
721
|
-
findInheritedValueFromAncestors:
|
|
714
|
+
findInheritedValueFromAncestors: g,
|
|
722
715
|
findNonInheritedValues: a,
|
|
723
716
|
getAncestorsOf: i
|
|
724
717
|
};
|
|
725
718
|
}
|
|
726
|
-
const
|
|
719
|
+
const sa = ({
|
|
727
720
|
children: t,
|
|
728
721
|
foldersMap: e,
|
|
729
722
|
tableRows: n,
|
|
730
723
|
tasksMap: o,
|
|
731
724
|
entitiesMap: s,
|
|
732
|
-
tasksByFolderMap:
|
|
725
|
+
tasksByFolderMap: m,
|
|
733
726
|
selectedFolders: h,
|
|
734
727
|
expanded: w,
|
|
735
728
|
showHierarchy: i,
|
|
736
729
|
loadingTasks: d,
|
|
737
730
|
isLoadingMore: a,
|
|
738
731
|
isLoading: y,
|
|
739
|
-
error:
|
|
732
|
+
error: g,
|
|
740
733
|
softError: T,
|
|
741
734
|
softErrorAction: b,
|
|
742
735
|
isInitialized: P,
|
|
@@ -779,11 +772,11 @@ const oa = ({
|
|
|
779
772
|
const { attrib: Y } = Qe(), {
|
|
780
773
|
groupBy: V,
|
|
781
774
|
groupByConfig: { showEmpty: G = !0 } = {}
|
|
782
|
-
} = nt(), K =
|
|
775
|
+
} = nt(), K = gr({
|
|
783
776
|
foldersMap: e,
|
|
784
777
|
tasksMap: o,
|
|
785
778
|
rows: n,
|
|
786
|
-
tasksByFolderMap:
|
|
779
|
+
tasksByFolderMap: m,
|
|
787
780
|
expanded: w,
|
|
788
781
|
showHierarchy: i,
|
|
789
782
|
isFlatFolderView: ee,
|
|
@@ -791,7 +784,7 @@ const oa = ({
|
|
|
791
784
|
loadingTasks: d,
|
|
792
785
|
isLoadingMore: a,
|
|
793
786
|
selectedFolders: h
|
|
794
|
-
}), Z = ee ? void 0 : x || V, te =
|
|
787
|
+
}), Z = ee ? void 0 : x || V, te = Ps({
|
|
795
788
|
entities: s,
|
|
796
789
|
entityType: A?.entityType || "unknown",
|
|
797
790
|
groups: p,
|
|
@@ -830,10 +823,10 @@ const oa = ({
|
|
|
830
823
|
findInheritedValueFromAncestors: Te,
|
|
831
824
|
findNonInheritedValues: Re,
|
|
832
825
|
getAncestorsOf: H
|
|
833
|
-
} =
|
|
826
|
+
} = mr({
|
|
834
827
|
entitiesMap: s,
|
|
835
828
|
tasksMap: o,
|
|
836
|
-
tasksByFolderMap:
|
|
829
|
+
tasksByFolderMap: m,
|
|
837
830
|
getEntityById: ve,
|
|
838
831
|
projectAttrib: Y,
|
|
839
832
|
attribFields: r
|
|
@@ -860,7 +853,7 @@ const oa = ({
|
|
|
860
853
|
[w, f]
|
|
861
854
|
);
|
|
862
855
|
return /* @__PURE__ */ W(
|
|
863
|
-
|
|
856
|
+
As.Provider,
|
|
864
857
|
{
|
|
865
858
|
value: {
|
|
866
859
|
// from this context
|
|
@@ -868,7 +861,7 @@ const oa = ({
|
|
|
868
861
|
// forwarded on
|
|
869
862
|
isInitialized: P,
|
|
870
863
|
isLoading: y,
|
|
871
|
-
error:
|
|
864
|
+
error: g,
|
|
872
865
|
softError: T,
|
|
873
866
|
softErrorAction: b,
|
|
874
867
|
attribFields: r,
|
|
@@ -927,8 +920,8 @@ const oa = ({
|
|
|
927
920
|
children: t
|
|
928
921
|
}
|
|
929
922
|
);
|
|
930
|
-
},
|
|
931
|
-
const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [
|
|
923
|
+
}, yr = (t) => {
|
|
924
|
+
const { projectName: e } = Qe(), { getEntityById: n } = Ke(), o = e, { history: s } = ut(), [m] = lo(), [h] = co();
|
|
932
925
|
return { pasteTableLinks: q(
|
|
933
926
|
async (i) => {
|
|
934
927
|
if (!o || !i.length) return;
|
|
@@ -937,7 +930,7 @@ const oa = ({
|
|
|
937
930
|
const b = `${T.sourceEntityId}-${T.linkType}-${T.direction}`;
|
|
938
931
|
d.has(b) || d.set(b, []), d.get(b).push(T);
|
|
939
932
|
}
|
|
940
|
-
const a = [], y = [],
|
|
933
|
+
const a = [], y = [], g = [];
|
|
941
934
|
for (const [, T] of d) {
|
|
942
935
|
const { sourceEntityId: b } = T[0], P = /* @__PURE__ */ new Set();
|
|
943
936
|
if (T.forEach((I) => I.targetEntityIds.forEach((r) => P.add(r))), P.has(b)) {
|
|
@@ -1010,10 +1003,10 @@ const oa = ({
|
|
|
1010
1003
|
});
|
|
1011
1004
|
}
|
|
1012
1005
|
}
|
|
1013
|
-
c.length > 0 && (a.push(Zt(c,
|
|
1006
|
+
c.length > 0 && (a.push(Zt(c, m)), g.push(...c)), C.length > 0 && (a.push(en(C, h)), y.push(...C));
|
|
1014
1007
|
}
|
|
1015
1008
|
try {
|
|
1016
|
-
if (await Promise.all(a), s && (y.length > 0 ||
|
|
1009
|
+
if (await Promise.all(a), s && (y.length > 0 || g.length > 0)) {
|
|
1017
1010
|
const T = y.map((r) => ({
|
|
1018
1011
|
id: r.linkId,
|
|
1019
1012
|
projectName: r.projectName,
|
|
@@ -1021,7 +1014,7 @@ const oa = ({
|
|
|
1021
1014
|
direction: r.direction,
|
|
1022
1015
|
target: { entityId: r.targetEntityId, entityType: r.targetEntityType },
|
|
1023
1016
|
source: { entityId: r.sourceEntityId, entityType: r.sourceEntityType }
|
|
1024
|
-
})), b =
|
|
1017
|
+
})), b = g.map((r) => ({
|
|
1025
1018
|
targetEntityId: r.target.entityId,
|
|
1026
1019
|
linkId: r.id,
|
|
1027
1020
|
sourceEntityId: r.source.entityId,
|
|
@@ -1032,11 +1025,11 @@ const oa = ({
|
|
|
1032
1025
|
projectName: r.projectName
|
|
1033
1026
|
})), P = () => {
|
|
1034
1027
|
const r = [];
|
|
1035
|
-
T.length && r.push(Zt(T,
|
|
1028
|
+
T.length && r.push(Zt(T, m)), b.length && r.push(en(b, h)), r.length && Promise.all(r).catch(() => {
|
|
1036
1029
|
});
|
|
1037
1030
|
}, I = () => {
|
|
1038
1031
|
const r = [];
|
|
1039
|
-
|
|
1032
|
+
g.length && r.push(Zt(g, m)), y.length && r.push(en(y, h)), r.length && Promise.all(r).catch(() => {
|
|
1040
1033
|
});
|
|
1041
1034
|
};
|
|
1042
1035
|
s.pushHistory([P], [I]);
|
|
@@ -1045,25 +1038,25 @@ const oa = ({
|
|
|
1045
1038
|
throw T;
|
|
1046
1039
|
}
|
|
1047
1040
|
},
|
|
1048
|
-
[o, n,
|
|
1041
|
+
[o, n, m, h, s]
|
|
1049
1042
|
) };
|
|
1050
|
-
},
|
|
1043
|
+
}, hr = /* @__PURE__ */ new Set([
|
|
1051
1044
|
"version",
|
|
1052
1045
|
"version_entity",
|
|
1053
1046
|
"product",
|
|
1054
1047
|
"productBaseType",
|
|
1055
1048
|
"task_entity"
|
|
1056
|
-
]),
|
|
1049
|
+
]), Ir = {
|
|
1057
1050
|
folder_entity: "folder",
|
|
1058
1051
|
version_entity: "versionName"
|
|
1059
|
-
},
|
|
1052
|
+
}, br = ({
|
|
1060
1053
|
children: t,
|
|
1061
1054
|
entitiesMap: e,
|
|
1062
1055
|
columnEnums: n,
|
|
1063
1056
|
columnReadOnly: o,
|
|
1064
1057
|
visibleColumns: s
|
|
1065
1058
|
}) => {
|
|
1066
|
-
const { selectedCells:
|
|
1059
|
+
const { selectedCells: m, gridMap: h, focusedCellId: w } = Ye(), { updateEntities: i, history: d } = ut(), { pasteTableLinks: a } = yr(), { getEntityById: y, attribFields: g, tableData: T } = Ke(), b = j(() => {
|
|
1067
1060
|
const c = /* @__PURE__ */ new Map(), u = (E) => {
|
|
1068
1061
|
for (const k of E)
|
|
1069
1062
|
c.set(k.id, k), k.subRows?.length && u(k.subRows);
|
|
@@ -1119,29 +1112,29 @@ const oa = ({
|
|
|
1119
1112
|
for (const oe of ee) {
|
|
1120
1113
|
let me = "";
|
|
1121
1114
|
if (oe.startsWith("link_"))
|
|
1122
|
-
me =
|
|
1115
|
+
me = Ds(A.links, oe);
|
|
1123
1116
|
else if (oe === "subtasks") {
|
|
1124
1117
|
const Ie = $t(A, oe) || [];
|
|
1125
|
-
me =
|
|
1118
|
+
me = ar(Ie, A.id, A.name);
|
|
1126
1119
|
} else if (oe === "comments") {
|
|
1127
1120
|
const Ie = $t(A, "latestComments") || [];
|
|
1128
|
-
me =
|
|
1121
|
+
me = pr(Ie);
|
|
1129
1122
|
} else {
|
|
1130
|
-
const Ie =
|
|
1123
|
+
const Ie = Ir[oe] || oe;
|
|
1131
1124
|
let U = oe === "task_entity" ? z?.parents?.task?.label || z?.parents?.task?.name || A.task?.label || A.task?.name : $t(A, Ie);
|
|
1132
1125
|
if (oe === "folder_entity" && typeof U != "string") {
|
|
1133
1126
|
const M = U || A.product?.folder, D = "parents" in A ? A.parents : void 0;
|
|
1134
1127
|
U = M?.label || M?.name || D?.[D.length - 1] || "";
|
|
1135
1128
|
}
|
|
1136
|
-
if (z && (
|
|
1129
|
+
if (z && (hr.has(oe) || U === void 0 || U === null || U === "" || typeof U == "object")) {
|
|
1137
1130
|
const M = $t(z, Ie);
|
|
1138
1131
|
M != null && M !== "" && (U = M);
|
|
1139
1132
|
}
|
|
1140
1133
|
if (!U) {
|
|
1141
|
-
const M =
|
|
1134
|
+
const M = g.find((D) => D.name === oe.replace("attrib_", ""));
|
|
1142
1135
|
M && M.data.type === "boolean" ? U = !1 : M && M.data.type?.includes("list_of") && (U = []);
|
|
1143
1136
|
}
|
|
1144
|
-
if (me = U != null ? String(U) : "", oe === "name" && (me = (z?.primary.entityType === "version" ? z.primary.label || z.primary.name : void 0) ||
|
|
1137
|
+
if (me = U != null ? String(U) : "", oe === "name" && (me = (z?.primary.entityType === "version" ? z.primary.label || z.primary.name : void 0) || e.get(A.entityId || A.id)?.name || z?.label || z?.primary?.name || A.label || A.name || ""), oe === "subType") {
|
|
1145
1138
|
const M = z?.subType ?? A.subType;
|
|
1146
1139
|
typeof M == "string" && M ? me = M : ("folderType" in A && (me = A.folderType || ""), "taskType" in A && (me = A.taskType || ""));
|
|
1147
1140
|
}
|
|
@@ -1159,7 +1152,7 @@ const oa = ({
|
|
|
1159
1152
|
}
|
|
1160
1153
|
},
|
|
1161
1154
|
[
|
|
1162
|
-
|
|
1155
|
+
m,
|
|
1163
1156
|
w,
|
|
1164
1157
|
h,
|
|
1165
1158
|
e,
|
|
@@ -1174,7 +1167,7 @@ const oa = ({
|
|
|
1174
1167
|
return u.length === 0 ? !1 : u.every((E) => E.values.every((k) => k.split(",").every((R) => Yn(R))));
|
|
1175
1168
|
}, p = q(
|
|
1176
1169
|
async (c, u) => {
|
|
1177
|
-
if (c = c || Array.from(
|
|
1170
|
+
if (c = c || Array.from(m), !c.length) return;
|
|
1178
1171
|
const E = await r(c, { fullRow: u });
|
|
1179
1172
|
if (E) {
|
|
1180
1173
|
if (!navigator.clipboard) {
|
|
@@ -1192,10 +1185,10 @@ const oa = ({
|
|
|
1192
1185
|
}
|
|
1193
1186
|
}
|
|
1194
1187
|
},
|
|
1195
|
-
[
|
|
1188
|
+
[m, e, h]
|
|
1196
1189
|
), v = q(
|
|
1197
1190
|
async (c, u, E) => {
|
|
1198
|
-
if (c = c || Array.from(
|
|
1191
|
+
if (c = c || Array.from(m), !!c.length)
|
|
1199
1192
|
try {
|
|
1200
1193
|
const k = await r(c, { headers: !0, fullRow: E });
|
|
1201
1194
|
if (!k) return;
|
|
@@ -1207,7 +1200,7 @@ const oa = ({
|
|
|
1207
1200
|
console.error("Failed to copy to clipboard:", k);
|
|
1208
1201
|
}
|
|
1209
1202
|
},
|
|
1210
|
-
[
|
|
1203
|
+
[m, e, h, r]
|
|
1211
1204
|
), x = async () => {
|
|
1212
1205
|
if (!navigator.clipboard) {
|
|
1213
1206
|
$e("Clipboard API not supported in this browser.");
|
|
@@ -1231,7 +1224,7 @@ const oa = ({
|
|
|
1231
1224
|
const k = await x();
|
|
1232
1225
|
if (!k) return;
|
|
1233
1226
|
let R = !1, S = k;
|
|
1234
|
-
|
|
1227
|
+
lr(k) && (R = !0);
|
|
1235
1228
|
const f = Fn(k);
|
|
1236
1229
|
if (!f.length) return;
|
|
1237
1230
|
const L = f.length === 1 && f[0].values.length === 1, F = s.map((U) => U.id).filter((U) => U !== ge), O = (U, M, D) => {
|
|
@@ -1263,7 +1256,7 @@ const oa = ({
|
|
|
1263
1256
|
for (const te of ee) {
|
|
1264
1257
|
if (te === "subType" && V) continue;
|
|
1265
1258
|
const ue = Z[te] || "";
|
|
1266
|
-
if (!
|
|
1259
|
+
if (!ir({
|
|
1267
1260
|
colId: te,
|
|
1268
1261
|
isFolder: Y,
|
|
1269
1262
|
pasteValue: ue,
|
|
@@ -1273,7 +1266,7 @@ const oa = ({
|
|
|
1273
1266
|
rowIndex: U,
|
|
1274
1267
|
colIndex: ee.indexOf(te),
|
|
1275
1268
|
isSingleCellValue: L,
|
|
1276
|
-
attribFields:
|
|
1269
|
+
attribFields: g
|
|
1277
1270
|
})) return;
|
|
1278
1271
|
}
|
|
1279
1272
|
}
|
|
@@ -1332,7 +1325,7 @@ const oa = ({
|
|
|
1332
1325
|
if (!Te || Te.length === 0) continue;
|
|
1333
1326
|
const Re = Te.map((H, Ce) => ({
|
|
1334
1327
|
id: cn(),
|
|
1335
|
-
name:
|
|
1328
|
+
name: cr(H.name || H.label || `Subtask ${Ce + 1}`),
|
|
1336
1329
|
label: H.label || "",
|
|
1337
1330
|
assignees: H.assignees || [],
|
|
1338
1331
|
description: H.label || "",
|
|
@@ -1376,7 +1369,7 @@ const oa = ({
|
|
|
1376
1369
|
else if (M === "tags" || M === "assignees")
|
|
1377
1370
|
V = "array";
|
|
1378
1371
|
else if (D) {
|
|
1379
|
-
const Z = M.replace("attrib_", ""), te =
|
|
1372
|
+
const Z = M.replace("attrib_", ""), te = g.find((ue) => ue.name === Z);
|
|
1380
1373
|
if (te)
|
|
1381
1374
|
switch (te.data.type) {
|
|
1382
1375
|
case "boolean":
|
|
@@ -1423,7 +1416,7 @@ const oa = ({
|
|
|
1423
1416
|
let xe = M.split("_").pop() || M;
|
|
1424
1417
|
if (M === "subType" && (Z === "product" || Z === "version" || (xe = te ? "folderType" : "taskType", D = !1, !ue)))
|
|
1425
1418
|
continue;
|
|
1426
|
-
const pe =
|
|
1419
|
+
const pe = or(ue, V), ke = y(K)?.entityId || K, we = `${K}-${Z}`;
|
|
1427
1420
|
!le.has(we) && Z && le.set(we, {
|
|
1428
1421
|
rowId: K,
|
|
1429
1422
|
id: ke,
|
|
@@ -1508,7 +1501,7 @@ const oa = ({
|
|
|
1508
1501
|
}
|
|
1509
1502
|
},
|
|
1510
1503
|
[
|
|
1511
|
-
|
|
1504
|
+
m,
|
|
1512
1505
|
h,
|
|
1513
1506
|
e,
|
|
1514
1507
|
i,
|
|
@@ -1516,7 +1509,7 @@ const oa = ({
|
|
|
1516
1509
|
n,
|
|
1517
1510
|
y,
|
|
1518
1511
|
s,
|
|
1519
|
-
|
|
1512
|
+
g,
|
|
1520
1513
|
P,
|
|
1521
1514
|
I,
|
|
1522
1515
|
d
|
|
@@ -1528,7 +1521,7 @@ const oa = ({
|
|
|
1528
1521
|
const E = document.activeElement, k = E?.closest("table") !== null || E?.closest(".table-container") !== null || E?.tagName === "TD" || E?.tagName === "TH", R = E?.tagName === "INPUT" || E?.tagName === "TEXTAREA" || E?.isContentEditable;
|
|
1529
1522
|
if ((window.getSelection()?.toString().length ?? !1) && !k || R && !k)
|
|
1530
1523
|
return;
|
|
1531
|
-
|
|
1524
|
+
m.size > 0 && await p();
|
|
1532
1525
|
}
|
|
1533
1526
|
if ((u.ctrlKey || u.metaKey) && u.key === "v") {
|
|
1534
1527
|
const E = document.activeElement;
|
|
@@ -1537,7 +1530,7 @@ const oa = ({
|
|
|
1537
1530
|
u.preventDefault();
|
|
1538
1531
|
else
|
|
1539
1532
|
return;
|
|
1540
|
-
$(Array.from(
|
|
1533
|
+
$(Array.from(m), {
|
|
1541
1534
|
method: u.shiftKey ? "merge" : "replace"
|
|
1542
1535
|
// Use shift key to determine paste method
|
|
1543
1536
|
});
|
|
@@ -1555,18 +1548,18 @@ const oa = ({
|
|
|
1555
1548
|
}),
|
|
1556
1549
|
[p, $]
|
|
1557
1550
|
);
|
|
1558
|
-
return /* @__PURE__ */ W(
|
|
1559
|
-
},
|
|
1551
|
+
return /* @__PURE__ */ W(Ls.Provider, { value: C, children: t });
|
|
1552
|
+
}, oa = ({
|
|
1560
1553
|
children: t,
|
|
1561
1554
|
config: e,
|
|
1562
1555
|
onChange: n,
|
|
1563
1556
|
defaultColumnVisibility: o,
|
|
1564
1557
|
columnIdAliases: s
|
|
1565
1558
|
}) => {
|
|
1566
|
-
const
|
|
1567
|
-
|
|
1568
|
-
}, l = () =>
|
|
1569
|
-
const B =
|
|
1559
|
+
const m = Xe.useRef([]), h = Xe.useRef(null), w = Xe.useRef(null), i = Xe.useRef(null), d = Xe.useRef(void 0), a = Xe.useRef(null), [y, g] = Ve(null), [T, b] = Ve(null), [P, I] = Ve(null), r = (N) => {
|
|
1560
|
+
m.current = Array.from(new Set(N));
|
|
1561
|
+
}, l = () => m.current, p = (N) => {
|
|
1562
|
+
const B = m.current, ce = /* @__PURE__ */ new Set([Be, ge]);
|
|
1570
1563
|
if (B.length > 0) {
|
|
1571
1564
|
const ne = { ...N.columnVisibility };
|
|
1572
1565
|
B.forEach((Fe) => {
|
|
@@ -1579,7 +1572,7 @@ const oa = ({
|
|
|
1579
1572
|
);
|
|
1580
1573
|
} else
|
|
1581
1574
|
n(N, B);
|
|
1582
|
-
}, v =
|
|
1575
|
+
}, v = Os(e, s), {
|
|
1583
1576
|
columnOrder: x = [],
|
|
1584
1577
|
columnPinning: $ = {},
|
|
1585
1578
|
columnVisibility: C = {},
|
|
@@ -1639,11 +1632,11 @@ const oa = ({
|
|
|
1639
1632
|
columnPinning: N
|
|
1640
1633
|
});
|
|
1641
1634
|
}, Se = y || c, Ie = (N) => {
|
|
1642
|
-
|
|
1635
|
+
g(N), h.current && clearTimeout(h.current), h.current = setTimeout(() => {
|
|
1643
1636
|
p({
|
|
1644
1637
|
...v,
|
|
1645
1638
|
columnSizing: N
|
|
1646
|
-
}),
|
|
1639
|
+
}), g(null);
|
|
1647
1640
|
}, 500);
|
|
1648
1641
|
}, U = (N) => {
|
|
1649
1642
|
const B = { ...z }, ne = (B.left || []).filter(
|
|
@@ -1727,7 +1720,7 @@ const oa = ({
|
|
|
1727
1720
|
a.current = ce / ne;
|
|
1728
1721
|
}
|
|
1729
1722
|
const B = a.current * N;
|
|
1730
|
-
b(N),
|
|
1723
|
+
b(N), g({
|
|
1731
1724
|
...y || c,
|
|
1732
1725
|
thumbnail: B
|
|
1733
1726
|
});
|
|
@@ -1736,7 +1729,7 @@ const oa = ({
|
|
|
1736
1729
|
), ke = Xe.useCallback(
|
|
1737
1730
|
(N) => {
|
|
1738
1731
|
const ie = (c.thumbnail || 63) / (R || 34) * N;
|
|
1739
|
-
b(N),
|
|
1732
|
+
b(N), g({
|
|
1740
1733
|
...y || c,
|
|
1741
1734
|
thumbnail: ie
|
|
1742
1735
|
}), w.current && clearTimeout(w.current), w.current = setTimeout(() => {
|
|
@@ -1747,7 +1740,7 @@ const oa = ({
|
|
|
1747
1740
|
...c,
|
|
1748
1741
|
thumbnail: ie
|
|
1749
1742
|
}
|
|
1750
|
-
}), b(null),
|
|
1743
|
+
}), b(null), g(null), a.current = null;
|
|
1751
1744
|
}, 300);
|
|
1752
1745
|
},
|
|
1753
1746
|
[
|
|
@@ -1777,7 +1770,7 @@ const oa = ({
|
|
|
1777
1770
|
wt(B, O) || K(B);
|
|
1778
1771
|
};
|
|
1779
1772
|
return /* @__PURE__ */ W(
|
|
1780
|
-
|
|
1773
|
+
_s.Provider,
|
|
1781
1774
|
{
|
|
1782
1775
|
value: {
|
|
1783
1776
|
// all columns ref
|
|
@@ -1831,14 +1824,14 @@ const oa = ({
|
|
|
1831
1824
|
children: t
|
|
1832
1825
|
}
|
|
1833
1826
|
);
|
|
1834
|
-
},
|
|
1835
|
-
const [e, n] = Ve(null), o = q((
|
|
1836
|
-
n(
|
|
1827
|
+
}, ra = ({ children: t }) => {
|
|
1828
|
+
const [e, n] = Ve(null), o = q((m) => {
|
|
1829
|
+
n(m);
|
|
1837
1830
|
}, []), s = q(() => {
|
|
1838
1831
|
n(null);
|
|
1839
1832
|
}, []);
|
|
1840
1833
|
return /* @__PURE__ */ W(
|
|
1841
|
-
|
|
1834
|
+
Fs.Provider,
|
|
1842
1835
|
{
|
|
1843
1836
|
value: {
|
|
1844
1837
|
selectedEntity: e,
|
|
@@ -1848,28 +1841,28 @@ const oa = ({
|
|
|
1848
1841
|
children: t
|
|
1849
1842
|
}
|
|
1850
1843
|
);
|
|
1851
|
-
},
|
|
1844
|
+
}, wr = ({ projectPermissions: t }) => {
|
|
1852
1845
|
const {
|
|
1853
1846
|
attributes: e,
|
|
1854
1847
|
isLoading: { siteInfo: n }
|
|
1855
|
-
} =
|
|
1848
|
+
} = Io(), { attrib_read: o, attrib_write: s } = t || {}, { enabled: m, attributes: h } = o || {}, {
|
|
1856
1849
|
enabled: w,
|
|
1857
1850
|
attributes: i,
|
|
1858
1851
|
fields: d
|
|
1859
1852
|
} = s || {}, a = w ? d ?? [] : void 0;
|
|
1860
|
-
return { attribFields: e.filter((
|
|
1861
|
-
...
|
|
1862
|
-
readOnly: w ? !i?.includes(
|
|
1853
|
+
return { attribFields: e.filter((g) => !m || h?.includes(g.name)).map((g) => ({
|
|
1854
|
+
...g,
|
|
1855
|
+
readOnly: w ? !i?.includes(g.name) : !1
|
|
1863
1856
|
})), writableFields: a, isLoading: n };
|
|
1864
|
-
},
|
|
1865
|
-
const { isLoading: n, isSuccess: o } = Qe(), { data: s } =
|
|
1857
|
+
}, ia = ({ children: t, projectName: e }) => {
|
|
1858
|
+
const { isLoading: n, isSuccess: o } = Qe(), { data: s } = uo(
|
|
1866
1859
|
{ projectName: e },
|
|
1867
1860
|
{ skip: !e }
|
|
1868
|
-
), { attrib_write:
|
|
1861
|
+
), { attrib_write: m } = s || {}, {
|
|
1869
1862
|
attribFields: h,
|
|
1870
1863
|
writableFields: w,
|
|
1871
1864
|
isLoading: i
|
|
1872
|
-
} =
|
|
1865
|
+
} = wr({ projectPermissions: s }), { data: d = [] } = fo({ projectName: e }, { skip: !e }), a = d, y = j(() => m ? m.enabled ? !!m.fields?.includes("name") : !0 : !1, [m]), g = j(() => m ? m.enabled ? !!m.fields?.includes("label") : !0 : !1, [m]), T = o && !n && !i, b = j(
|
|
1873
1866
|
() => ({
|
|
1874
1867
|
isInitialized: T,
|
|
1875
1868
|
isLoading: n || i,
|
|
@@ -1877,7 +1870,7 @@ const oa = ({
|
|
|
1877
1870
|
attribFields: h,
|
|
1878
1871
|
writableFields: w,
|
|
1879
1872
|
canWriteNamePermission: y,
|
|
1880
|
-
canWriteLabelPermission:
|
|
1873
|
+
canWriteLabelPermission: g
|
|
1881
1874
|
}),
|
|
1882
1875
|
[
|
|
1883
1876
|
T,
|
|
@@ -1887,16 +1880,16 @@ const oa = ({
|
|
|
1887
1880
|
h,
|
|
1888
1881
|
w,
|
|
1889
1882
|
y,
|
|
1890
|
-
|
|
1883
|
+
g
|
|
1891
1884
|
]
|
|
1892
1885
|
);
|
|
1893
|
-
return /* @__PURE__ */ W(
|
|
1894
|
-
},
|
|
1886
|
+
return /* @__PURE__ */ W(Ns.Provider, { value: b, children: t });
|
|
1887
|
+
}, aa = ({
|
|
1895
1888
|
children: t,
|
|
1896
1889
|
updateEntities: e,
|
|
1897
1890
|
getFoldersTasks: n
|
|
1898
1891
|
}) => /* @__PURE__ */ W(
|
|
1899
|
-
|
|
1892
|
+
Ms.Provider,
|
|
1900
1893
|
{
|
|
1901
1894
|
value: {
|
|
1902
1895
|
updateEntities: e,
|
|
@@ -1904,8 +1897,8 @@ const oa = ({
|
|
|
1904
1897
|
},
|
|
1905
1898
|
children: t
|
|
1906
1899
|
}
|
|
1907
|
-
),
|
|
1908
|
-
const { selectedCells: e, gridMap: n, setSelectedCells: o, setFocusedCellId: s, setAnchorCell:
|
|
1900
|
+
), la = ({ children: t }) => {
|
|
1901
|
+
const { selectedCells: e, gridMap: n, setSelectedCells: o, setFocusedCellId: s, setAnchorCell: m } = Ye();
|
|
1909
1902
|
let h;
|
|
1910
1903
|
try {
|
|
1911
1904
|
h = Wn().clearSelectedEntity;
|
|
@@ -1933,7 +1926,7 @@ const oa = ({
|
|
|
1933
1926
|
r.add(_e(l, ge));
|
|
1934
1927
|
}), o(r), I.length > 0) {
|
|
1935
1928
|
const l = _e(I[0], ge);
|
|
1936
|
-
s(l),
|
|
1929
|
+
s(l), m(he(l));
|
|
1937
1930
|
}
|
|
1938
1931
|
}, [n]), y = q(() => {
|
|
1939
1932
|
o((I) => {
|
|
@@ -1942,7 +1935,7 @@ const oa = ({
|
|
|
1942
1935
|
he(l)?.colId === ge && r.delete(l);
|
|
1943
1936
|
}), r;
|
|
1944
1937
|
});
|
|
1945
|
-
}, [o]),
|
|
1938
|
+
}, [o]), g = q(
|
|
1946
1939
|
(I) => d.includes(I),
|
|
1947
1940
|
[d]
|
|
1948
1941
|
), T = q(() => {
|
|
@@ -1952,11 +1945,11 @@ const oa = ({
|
|
|
1952
1945
|
selectedRows: d,
|
|
1953
1946
|
selectAllRows: a,
|
|
1954
1947
|
clearRowsSelection: y,
|
|
1955
|
-
isRowSelected:
|
|
1948
|
+
isRowSelected: g,
|
|
1956
1949
|
areAllRowsSelected: T,
|
|
1957
1950
|
areSomeRowsSelected: b
|
|
1958
1951
|
}), [d, a, T, b, y]);
|
|
1959
|
-
return /* @__PURE__ */ W(
|
|
1952
|
+
return /* @__PURE__ */ W($s.Provider, { value: P, children: t });
|
|
1960
1953
|
}, Ut = (t, e, n) => {
|
|
1961
1954
|
switch (t) {
|
|
1962
1955
|
case "unique-violation":
|
|
@@ -1970,14 +1963,14 @@ const oa = ({
|
|
|
1970
1963
|
default:
|
|
1971
1964
|
return `Failed to update ${e}: ${n}`;
|
|
1972
1965
|
}
|
|
1973
|
-
},
|
|
1966
|
+
}, Cr = (t) => {
|
|
1974
1967
|
const { pushHistory: e, removeHistoryEntries: n } = t || {}, { projectName: o } = Qe(), {
|
|
1975
1968
|
getEntityById: s,
|
|
1976
|
-
getInheritedDependents:
|
|
1969
|
+
getInheritedDependents: m,
|
|
1977
1970
|
findInheritedValueFromAncestors: h,
|
|
1978
1971
|
findNonInheritedValues: w
|
|
1979
|
-
} = Ke(), { updateEntities: i } =
|
|
1980
|
-
async (y = [],
|
|
1972
|
+
} = Ke(), { updateEntities: i } = Vs(), d = q(
|
|
1973
|
+
async (y = [], g = !0) => {
|
|
1981
1974
|
if (!y.length || !o)
|
|
1982
1975
|
return;
|
|
1983
1976
|
let T = y.filter((x) => !x.isLink);
|
|
@@ -1986,7 +1979,7 @@ const oa = ({
|
|
|
1986
1979
|
`Cannot change folder type for ${P} folder${P > 1 ? "s" : ""} with published versions`
|
|
1987
1980
|
), T = b, !T.length)
|
|
1988
1981
|
return;
|
|
1989
|
-
if (e &&
|
|
1982
|
+
if (e && g) {
|
|
1990
1983
|
const x = T.map(
|
|
1991
1984
|
({ rowId: C, id: c, type: u, field: E, isAttrib: k, meta: R, entityData: S }) => {
|
|
1992
1985
|
const f = s(c) || S;
|
|
@@ -2067,7 +2060,7 @@ const oa = ({
|
|
|
2067
2060
|
entityId: x.entityId,
|
|
2068
2061
|
entityType: x.entityType,
|
|
2069
2062
|
attrib: x.data && "attrib" in x.data ? x.data?.attrib : {}
|
|
2070
|
-
})), v =
|
|
2063
|
+
})), v = m(l).map((x) => ({
|
|
2071
2064
|
entityId: x.entityId,
|
|
2072
2065
|
entityType: x.entityType,
|
|
2073
2066
|
data: {
|
|
@@ -2093,7 +2086,7 @@ const oa = ({
|
|
|
2093
2086
|
r.length === 1 ? Ut(void 0, C.entityType, u) : "Failed to update entities"
|
|
2094
2087
|
);
|
|
2095
2088
|
}
|
|
2096
|
-
e &&
|
|
2089
|
+
e && g && n && n(1);
|
|
2097
2090
|
}
|
|
2098
2091
|
},
|
|
2099
2092
|
[
|
|
@@ -2101,15 +2094,15 @@ const oa = ({
|
|
|
2101
2094
|
i,
|
|
2102
2095
|
//
|
|
2103
2096
|
s,
|
|
2104
|
-
|
|
2097
|
+
m,
|
|
2105
2098
|
e,
|
|
2106
2099
|
n
|
|
2107
2100
|
]
|
|
2108
2101
|
), a = q(
|
|
2109
|
-
async (y,
|
|
2102
|
+
async (y, g = !0) => {
|
|
2110
2103
|
if (!y.length || !o)
|
|
2111
2104
|
return;
|
|
2112
|
-
if (
|
|
2105
|
+
if (g && e) {
|
|
2113
2106
|
const r = [];
|
|
2114
2107
|
for (const p of y) {
|
|
2115
2108
|
const v = s(p.entityId);
|
|
@@ -2197,7 +2190,7 @@ const oa = ({
|
|
|
2197
2190
|
}
|
|
2198
2191
|
};
|
|
2199
2192
|
I.push(x);
|
|
2200
|
-
const C =
|
|
2193
|
+
const C = m([
|
|
2201
2194
|
{ entityId: r.entityId, entityType: l, attrib: v }
|
|
2202
2195
|
]).map((c) => ({
|
|
2203
2196
|
entityId: c.entityId,
|
|
@@ -2248,32 +2241,32 @@ const oa = ({
|
|
|
2248
2241
|
b.length === 1 ? Ut(void 0, p.entityType, x) : "Failed to update entities"
|
|
2249
2242
|
);
|
|
2250
2243
|
}
|
|
2251
|
-
|
|
2244
|
+
g && e && n && n(1);
|
|
2252
2245
|
}
|
|
2253
2246
|
},
|
|
2254
2247
|
[
|
|
2255
2248
|
o,
|
|
2256
2249
|
i,
|
|
2257
|
-
|
|
2250
|
+
m,
|
|
2258
2251
|
h,
|
|
2259
2252
|
e,
|
|
2260
2253
|
n
|
|
2261
2254
|
]
|
|
2262
2255
|
);
|
|
2263
2256
|
return { updateEntities: d, inheritFromParent: a };
|
|
2264
|
-
},
|
|
2265
|
-
const { projectName: e } = Qe(), { getEntityById: n } = Ke(), { deleteEntities: o } =
|
|
2257
|
+
}, Tr = ({ onSuccess: t }) => {
|
|
2258
|
+
const { projectName: e } = Qe(), { getEntityById: n } = Ke(), { deleteEntities: o } = bo();
|
|
2266
2259
|
return q(
|
|
2267
2260
|
async (s) => {
|
|
2268
2261
|
if (!s || s.length === 0) {
|
|
2269
2262
|
Le.error("No entities selected");
|
|
2270
2263
|
return;
|
|
2271
2264
|
}
|
|
2272
|
-
const
|
|
2265
|
+
const m = /* @__PURE__ */ new Set(), h = [];
|
|
2273
2266
|
for (const w of s) {
|
|
2274
2267
|
const i = n(w);
|
|
2275
|
-
if (!i ||
|
|
2276
|
-
|
|
2268
|
+
if (!i || m.has(i.id)) continue;
|
|
2269
|
+
m.add(i.id);
|
|
2277
2270
|
const d = i.entityType || ("folderId" in i ? "task" : "folder");
|
|
2278
2271
|
h.push({
|
|
2279
2272
|
id: i.id,
|
|
@@ -2295,25 +2288,25 @@ const oa = ({
|
|
|
2295
2288
|
},
|
|
2296
2289
|
[n, e, o, t]
|
|
2297
2290
|
);
|
|
2298
|
-
},
|
|
2291
|
+
}, Sr = ({
|
|
2299
2292
|
attribs: t,
|
|
2300
2293
|
headerLabels: e = [],
|
|
2301
2294
|
onOpenNew: n,
|
|
2302
2295
|
contextMenuItems: o
|
|
2303
2296
|
}) => {
|
|
2304
2297
|
const { projectName: s } = Qe(), {
|
|
2305
|
-
showHierarchy:
|
|
2298
|
+
showHierarchy: m,
|
|
2306
2299
|
getEntityById: h,
|
|
2307
2300
|
toggleExpandAll: w,
|
|
2308
2301
|
toggleExpands: i,
|
|
2309
2302
|
expanded: d,
|
|
2310
2303
|
contextMenuItems: a = [],
|
|
2311
2304
|
powerpack: y,
|
|
2312
|
-
onOpenPlayer:
|
|
2305
|
+
onOpenPlayer: g
|
|
2313
2306
|
} = Ke(), T = j(
|
|
2314
2307
|
() => [...a, ...o || []],
|
|
2315
2308
|
[a, o]
|
|
2316
|
-
), b =
|
|
2309
|
+
), b = Wo(), P = Object.values(b || {}).some(Boolean), { canWriteLabelPermission: I, canWriteNamePermission: r } = un(), { copyToClipboard: l, exportCSV: p, pasteFromClipboard: v } = zs(), { selectedCells: x, clearSelection: $, selectCell: C, focusCell: c } = Ye(), { inheritFromParent: u, history: E, setEditingCellId: k } = ut(), R = Tr({}), [S] = Go([], y), f = (M) => M.reduce((D, Y) => {
|
|
2317
2310
|
const { rowId: V, colId: G } = he(Y) || {};
|
|
2318
2311
|
if (!V || !G || !G.startsWith("attrib_")) return D;
|
|
2319
2312
|
const K = h(V);
|
|
@@ -2370,11 +2363,11 @@ const oa = ({
|
|
|
2370
2363
|
icon: "play_circle",
|
|
2371
2364
|
shortcut: "Spacebar",
|
|
2372
2365
|
command: () => {
|
|
2373
|
-
if (
|
|
2366
|
+
if (g) {
|
|
2374
2367
|
const G = h(D.entityId);
|
|
2375
2368
|
if (G) {
|
|
2376
2369
|
const K = mn(G);
|
|
2377
|
-
|
|
2370
|
+
g(K, { quickView: !0 });
|
|
2378
2371
|
}
|
|
2379
2372
|
}
|
|
2380
2373
|
},
|
|
@@ -2423,7 +2416,7 @@ const oa = ({
|
|
|
2423
2416
|
},
|
|
2424
2417
|
hidden: D.columnId !== "name" || D.isGroup
|
|
2425
2418
|
}), z = (M, D, Y, V) => {
|
|
2426
|
-
const G = f(V.selectedCells), K = G.length > 0 &&
|
|
2419
|
+
const G = f(V.selectedCells), K = G.length > 0 && m && !(V.selectedRows.length > 1 && V.selectedColumns.length > 1);
|
|
2427
2420
|
return {
|
|
2428
2421
|
label: "Inherit from parent",
|
|
2429
2422
|
icon: "disabled_by_default",
|
|
@@ -2467,7 +2460,7 @@ const oa = ({
|
|
|
2467
2460
|
label: ct.folder.createLabel,
|
|
2468
2461
|
icon: ct.folder.icon,
|
|
2469
2462
|
command: () => {
|
|
2470
|
-
|
|
2463
|
+
m ? le("folder", D, V.selectedRows) : n?.("folder");
|
|
2471
2464
|
},
|
|
2472
2465
|
hidden: D.columnId !== "name" || !n
|
|
2473
2466
|
},
|
|
@@ -2564,34 +2557,34 @@ const oa = ({
|
|
|
2564
2557
|
);
|
|
2565
2558
|
S(M, Re);
|
|
2566
2559
|
} };
|
|
2567
|
-
},
|
|
2560
|
+
}, vr = (t) => {
|
|
2568
2561
|
const {
|
|
2569
2562
|
expanded: e,
|
|
2570
2563
|
expandedParentIds: n,
|
|
2571
2564
|
selectedFolders: o,
|
|
2572
2565
|
excludeSelectedFolders: s,
|
|
2573
|
-
getFolderById:
|
|
2566
|
+
getFolderById: m,
|
|
2574
2567
|
showHierarchy: h
|
|
2575
2568
|
} = t, w = e, i = /* @__PURE__ */ new Map(), d = (a) => {
|
|
2576
2569
|
if (i.has(a)) return i.get(a);
|
|
2577
|
-
const y =
|
|
2570
|
+
const y = m(a);
|
|
2578
2571
|
if (!y)
|
|
2579
2572
|
return i.set(a, !1), !1;
|
|
2580
|
-
const
|
|
2581
|
-
if (s ? o.includes(
|
|
2573
|
+
const g = y.parentId;
|
|
2574
|
+
if (s ? o.includes(g) : o.includes(a))
|
|
2582
2575
|
return i.set(a, !0), !0;
|
|
2583
|
-
if (!
|
|
2576
|
+
if (!g) {
|
|
2584
2577
|
const b = o.length === 0;
|
|
2585
2578
|
return i.set(a, b), b;
|
|
2586
2579
|
}
|
|
2587
2580
|
if (h) {
|
|
2588
|
-
const b = w[
|
|
2581
|
+
const b = w[g] === !0 && d(g);
|
|
2589
2582
|
return i.set(a, b), b;
|
|
2590
2583
|
} else
|
|
2591
2584
|
return !0;
|
|
2592
2585
|
};
|
|
2593
2586
|
return n.filter((a) => d(a));
|
|
2594
|
-
},
|
|
2587
|
+
}, Er = 1e3, xr = 400, kr = 100, Mn = (t = 1) => Math.max(kr, Math.min(xr, Math.round(Er / t))), Rr = ({
|
|
2595
2588
|
groups: t = [],
|
|
2596
2589
|
filters: e = { conditions: [] },
|
|
2597
2590
|
groupBy: n,
|
|
@@ -2599,28 +2592,28 @@ const oa = ({
|
|
|
2599
2592
|
dataType: s
|
|
2600
2593
|
}) => {
|
|
2601
2594
|
if (!t.length) return [];
|
|
2602
|
-
const
|
|
2595
|
+
const m = !!s?.startsWith("list_of_"), h = e.conditions || [], w = t.map((a) => {
|
|
2603
2596
|
const y = {
|
|
2604
2597
|
key: n.id,
|
|
2605
2598
|
value: [a.value],
|
|
2606
|
-
operator:
|
|
2607
|
-
},
|
|
2599
|
+
operator: m ? "includesany" : "in"
|
|
2600
|
+
}, g = o[a.value] || 1;
|
|
2608
2601
|
return {
|
|
2609
2602
|
value: a.value,
|
|
2610
|
-
count: Mn(t.length) *
|
|
2603
|
+
count: Mn(t.length) * g,
|
|
2611
2604
|
filter: JSON.stringify({ ...e, conditions: [...h, y] })
|
|
2612
2605
|
};
|
|
2613
2606
|
}), i = {
|
|
2614
2607
|
key: n.id,
|
|
2615
2608
|
value: t.map((a) => a.value),
|
|
2616
|
-
operator:
|
|
2609
|
+
operator: m ? "excludesany" : "notin"
|
|
2617
2610
|
}, d = {
|
|
2618
2611
|
value: xn,
|
|
2619
2612
|
count: Mn() * (o[xn] || 1),
|
|
2620
2613
|
filter: JSON.stringify({ ...e, conditions: [...h, i] })
|
|
2621
2614
|
};
|
|
2622
2615
|
return [...w, d];
|
|
2623
|
-
},
|
|
2616
|
+
}, Pr = 300, ca = ({
|
|
2624
2617
|
projectName: t,
|
|
2625
2618
|
selectedFolders: e,
|
|
2626
2619
|
// comes from the slicer
|
|
@@ -2628,14 +2621,14 @@ const oa = ({
|
|
|
2628
2621
|
taskIds: o,
|
|
2629
2622
|
// specific task IDs from entity list slicer
|
|
2630
2623
|
taskFilters: s,
|
|
2631
|
-
folderFilters:
|
|
2624
|
+
folderFilters: m,
|
|
2632
2625
|
sorting: h,
|
|
2633
2626
|
groupBy: w,
|
|
2634
2627
|
taskGroups: i = [],
|
|
2635
2628
|
taskGroupsCount: d,
|
|
2636
2629
|
expanded: a,
|
|
2637
2630
|
showHierarchy: y,
|
|
2638
|
-
isFlatFolderView:
|
|
2631
|
+
isFlatFolderView: g = !1,
|
|
2639
2632
|
attribFields: T,
|
|
2640
2633
|
modules: b,
|
|
2641
2634
|
skipLinks: P,
|
|
@@ -2655,8 +2648,8 @@ const oa = ({
|
|
|
2655
2648
|
isUninitialized: R,
|
|
2656
2649
|
getFolderById: S,
|
|
2657
2650
|
getFolderIdsWithoutChildren: f
|
|
2658
|
-
} =
|
|
2659
|
-
() =>
|
|
2651
|
+
} = wo(), L = Object.entries(a).filter(([, X]) => X).filter(([X]) => !ln(X)).map(([X]) => X), F = j(
|
|
2652
|
+
() => vr({
|
|
2660
2653
|
expanded: a,
|
|
2661
2654
|
expandedParentIds: L,
|
|
2662
2655
|
selectedFolders: e,
|
|
@@ -2673,20 +2666,20 @@ const oa = ({
|
|
|
2673
2666
|
y
|
|
2674
2667
|
]
|
|
2675
2668
|
), [O, _] = Ve(p), A = j(
|
|
2676
|
-
() =>
|
|
2669
|
+
() => So((X) => _(X), Pr),
|
|
2677
2670
|
[]
|
|
2678
2671
|
);
|
|
2679
2672
|
Ue(() => (A(p), () => A.cancel()), [p, A]);
|
|
2680
2673
|
const z = j(() => {
|
|
2681
|
-
if (!y ||
|
|
2674
|
+
if (!y || g)
|
|
2682
2675
|
return F;
|
|
2683
2676
|
const X = new Set(O);
|
|
2684
2677
|
return F.filter((ye) => X.has(ye));
|
|
2685
|
-
}, [F, y,
|
|
2678
|
+
}, [F, y, g, O]), J = {
|
|
2686
2679
|
projectName: t,
|
|
2687
2680
|
parentIds: z,
|
|
2688
2681
|
filter: s.filterString,
|
|
2689
|
-
folderFilter:
|
|
2682
|
+
folderFilter: m.filterString,
|
|
2690
2683
|
search: s.search,
|
|
2691
2684
|
showComments: I
|
|
2692
2685
|
}, {
|
|
@@ -2694,13 +2687,13 @@ const oa = ({
|
|
|
2694
2687
|
isFetching: le,
|
|
2695
2688
|
error: oe,
|
|
2696
2689
|
isUninitialized: me
|
|
2697
|
-
} =
|
|
2698
|
-
skip: r || !z.length || !y && !
|
|
2699
|
-
}), Ee = !s.filterString && !
|
|
2690
|
+
} = po(J, {
|
|
2691
|
+
skip: r || !z.length || !y && !g
|
|
2692
|
+
}), Ee = !s.filterString && !m.filterString && !s.search && !m.search || !E.length || !y && !g, Se = {
|
|
2700
2693
|
projectName: t,
|
|
2701
2694
|
folderSearchRequest: {
|
|
2702
2695
|
taskFilter: s.filter?.conditions?.length ? s.filter : void 0,
|
|
2703
|
-
folderFilter:
|
|
2696
|
+
folderFilter: m.filter?.conditions?.length ? m.filter : void 0,
|
|
2704
2697
|
search: s.search
|
|
2705
2698
|
}
|
|
2706
2699
|
}, {
|
|
@@ -2709,7 +2702,7 @@ const oa = ({
|
|
|
2709
2702
|
isLoading: M,
|
|
2710
2703
|
isUninitialized: D,
|
|
2711
2704
|
error: Y
|
|
2712
|
-
} =
|
|
2705
|
+
} = go(Se, {
|
|
2713
2706
|
skip: r || Ee
|
|
2714
2707
|
}), V = j(() => {
|
|
2715
2708
|
const X = /* @__PURE__ */ new Set(), ye = /* @__PURE__ */ new Set();
|
|
@@ -2758,7 +2751,7 @@ const oa = ({
|
|
|
2758
2751
|
const De = fe.get(de);
|
|
2759
2752
|
De && De.parentId && (se.add(De.parentId), ae(De.parentId));
|
|
2760
2753
|
};
|
|
2761
|
-
if (!
|
|
2754
|
+
if (!g) {
|
|
2762
2755
|
const de = [...se];
|
|
2763
2756
|
for (const De of de)
|
|
2764
2757
|
ae(De);
|
|
@@ -2774,7 +2767,7 @@ const oa = ({
|
|
|
2774
2767
|
const De = ae.path, it = se.includes(De);
|
|
2775
2768
|
(se.some(
|
|
2776
2769
|
(Qt) => De.startsWith(Qt + "/")
|
|
2777
|
-
) || it && (!n ||
|
|
2770
|
+
) || it && (!n || g)) && fe.set(de, ye(ae));
|
|
2778
2771
|
}), fe;
|
|
2779
2772
|
}
|
|
2780
2773
|
return X;
|
|
@@ -2785,8 +2778,8 @@ const oa = ({
|
|
|
2785
2778
|
e,
|
|
2786
2779
|
n,
|
|
2787
2780
|
K,
|
|
2788
|
-
|
|
2789
|
-
]), xe = j(() => le ?
|
|
2781
|
+
g
|
|
2782
|
+
]), xe = j(() => le ? Zo({
|
|
2790
2783
|
expandedFoldersTasks: ee,
|
|
2791
2784
|
expandedParentIds: L,
|
|
2792
2785
|
foldersMap: ue
|
|
@@ -2794,9 +2787,9 @@ const oa = ({
|
|
|
2794
2787
|
Ue(() => {
|
|
2795
2788
|
pe && ve("");
|
|
2796
2789
|
}, [h, pe]);
|
|
2797
|
-
const { sortBy: ke, desc: we } =
|
|
2790
|
+
const { sortBy: ke, desc: we } = xo(
|
|
2798
2791
|
h.map((X) => ({
|
|
2799
|
-
key:
|
|
2792
|
+
key: Bs(X.id, y, "task")?.replace("_", "."),
|
|
2800
2793
|
desc: X.desc
|
|
2801
2794
|
}))
|
|
2802
2795
|
), Te = e.length ? Array.from(
|
|
@@ -2810,7 +2803,7 @@ const oa = ({
|
|
|
2810
2803
|
}, N = {
|
|
2811
2804
|
projectName: t,
|
|
2812
2805
|
filter: s.filterString,
|
|
2813
|
-
folderFilter:
|
|
2806
|
+
folderFilter: m.filterString,
|
|
2814
2807
|
search: s.search,
|
|
2815
2808
|
folderIds: Ce(),
|
|
2816
2809
|
taskIds: o?.length ? o : void 0,
|
|
@@ -2826,18 +2819,18 @@ const oa = ({
|
|
|
2826
2819
|
hasNextPage: Ae,
|
|
2827
2820
|
isFetchingNextPage: Fe,
|
|
2828
2821
|
isUninitialized: ze
|
|
2829
|
-
} =
|
|
2822
|
+
} = mo(N, {
|
|
2830
2823
|
// Skip flat task list for flat folder view (tasks loaded on folder expand).
|
|
2831
2824
|
// In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.
|
|
2832
2825
|
// Always run it when entity list provides specific task IDs.
|
|
2833
|
-
skip: r || (y && !H ||
|
|
2826
|
+
skip: r || (y && !H || g) && !o?.length,
|
|
2834
2827
|
initialPageParam: {
|
|
2835
2828
|
cursor: "",
|
|
2836
2829
|
desc: we
|
|
2837
2830
|
}
|
|
2838
|
-
}), Me = j(() => B?.pages ? B.pages.flatMap((X) => X.tasks || []) : [], [B?.pages]), { pageCounts: vt, incrementPageCount: Et } =
|
|
2831
|
+
}), Me = j(() => B?.pages ? B.pages.flatMap((X) => X.tasks || []) : [], [B?.pages]), { pageCounts: vt, incrementPageCount: Et } = Xo({
|
|
2839
2832
|
groups: i
|
|
2840
|
-
}), xt =
|
|
2833
|
+
}), xt = Yo(w, T), kt = j(() => Object.entries(a).filter(([, X]) => X).filter(([X]) => ln(X)).map(([X]) => X.slice(an.length)), [a]), ft = j(() => w ? Rr({
|
|
2841
2834
|
groups: i,
|
|
2842
2835
|
// @ts-expect-error: filter is the same
|
|
2843
2836
|
filters: s.filter,
|
|
@@ -2857,7 +2850,7 @@ const oa = ({
|
|
|
2857
2850
|
sortBy: ke,
|
|
2858
2851
|
desc: we,
|
|
2859
2852
|
search: s.search,
|
|
2860
|
-
folderFilter:
|
|
2853
|
+
folderFilter: m.filterString,
|
|
2861
2854
|
folderIds: Te,
|
|
2862
2855
|
groupCount: d,
|
|
2863
2856
|
showComments: I
|
|
@@ -2865,13 +2858,13 @@ const oa = ({
|
|
|
2865
2858
|
data: { tasks: Pt = [] } = {},
|
|
2866
2859
|
isUninitialized: pt,
|
|
2867
2860
|
error: st
|
|
2868
|
-
} =
|
|
2861
|
+
} = yo(Rt, {
|
|
2869
2862
|
skip: r || !w || !ft.length || u
|
|
2870
|
-
}), ot = j(() => o?.length ? Me :
|
|
2863
|
+
}), ot = j(() => o?.length ? Me : g ? ee : y ? H ? [...ee, ...Me] : ee : w ? Pt : Me, [
|
|
2871
2864
|
o,
|
|
2872
2865
|
y,
|
|
2873
2866
|
H,
|
|
2874
|
-
|
|
2867
|
+
g,
|
|
2875
2868
|
w,
|
|
2876
2869
|
Me,
|
|
2877
2870
|
ee,
|
|
@@ -2963,13 +2956,13 @@ const oa = ({
|
|
|
2963
2956
|
}), (ye || fe) && !ze && ae.push({ endpointName: "getTasksListInfinite", args: N }), (ye || fe) && !pt && ae.push({ endpointName: "getGroupedTasksList", args: Rt }), (ye || se) && !$ && v && ae.push({ endpointName: "GetFolderColumnStats", args: v }), (ye || fe) && !C && x && ae.push({ endpointName: "GetTaskColumnStats", args: x }), (ye || se) && !Z && ae.push({ endpointName: "getEntityLinks", args: G }), (ye || fe) && !Ze && ae.push({ endpointName: "getEntityLinks", args: At }), await Promise.all(
|
|
2964
2957
|
ae.map(
|
|
2965
2958
|
({ endpointName: de, args: De }) => c(
|
|
2966
|
-
|
|
2959
|
+
qo(de, De, {
|
|
2967
2960
|
refreshOtherActiveQueries: !1
|
|
2968
2961
|
})
|
|
2969
2962
|
).unwrap()
|
|
2970
2963
|
)
|
|
2971
2964
|
), ae.map(
|
|
2972
|
-
({ endpointName: de, args: De }) => c(
|
|
2965
|
+
({ endpointName: de, args: De }) => c(Qo(de, De))
|
|
2973
2966
|
);
|
|
2974
2967
|
}, _t = ne || Y || st, Ft = j(() => {
|
|
2975
2968
|
if (oe && l)
|
|
@@ -2996,17 +2989,17 @@ const oa = ({
|
|
|
2996
2989
|
fetchNextPage: Lt,
|
|
2997
2990
|
onSyncData: rt
|
|
2998
2991
|
};
|
|
2999
|
-
},
|
|
2992
|
+
}, Ar = ({
|
|
3000
2993
|
queryFilters: t,
|
|
3001
2994
|
sliceFilter: e,
|
|
3002
2995
|
sliceFilters: n,
|
|
3003
2996
|
config: { searchKey: o } = {}
|
|
3004
2997
|
}) => {
|
|
3005
2998
|
let s = t;
|
|
3006
|
-
const
|
|
3007
|
-
for (const a of
|
|
2999
|
+
const m = [e, ...n || []];
|
|
3000
|
+
for (const a of m) {
|
|
3008
3001
|
if (!a?.values?.length) continue;
|
|
3009
|
-
const y =
|
|
3002
|
+
const y = jo([a]);
|
|
3010
3003
|
y.conditions?.length && (s = {
|
|
3011
3004
|
conditions: [...s?.conditions || [], ...y.conditions],
|
|
3012
3005
|
operator: "and"
|
|
@@ -3014,9 +3007,9 @@ const oa = ({
|
|
|
3014
3007
|
}
|
|
3015
3008
|
let h = t, w = "";
|
|
3016
3009
|
if (s?.conditions?.length) {
|
|
3017
|
-
const a = [], y = s.conditions.filter((
|
|
3018
|
-
const T =
|
|
3019
|
-
if (T.key ===
|
|
3010
|
+
const a = [], y = s.conditions.filter((g) => {
|
|
3011
|
+
const T = g;
|
|
3012
|
+
if (T.key === ao) {
|
|
3020
3013
|
const b = T.value;
|
|
3021
3014
|
return b != null && String(b).trim() !== "" && a.push(String(b)), !1;
|
|
3022
3015
|
}
|
|
@@ -3038,7 +3031,7 @@ const oa = ({
|
|
|
3038
3031
|
});
|
|
3039
3032
|
w = a.join(", "), s = y.length ? { ...s, conditions: y } : { ...s, conditions: [] };
|
|
3040
3033
|
}
|
|
3041
|
-
const i = s?.conditions?.length ?
|
|
3034
|
+
const i = s?.conditions?.length ? os(Ko(s)) : s;
|
|
3042
3035
|
return {
|
|
3043
3036
|
filterString: i?.conditions?.length ? JSON.stringify(i) : "",
|
|
3044
3037
|
filter: i,
|
|
@@ -3046,51 +3039,51 @@ const oa = ({
|
|
|
3046
3039
|
combinedFilters: i,
|
|
3047
3040
|
displayFilters: h
|
|
3048
3041
|
};
|
|
3049
|
-
},
|
|
3042
|
+
}, da = (t) => {
|
|
3050
3043
|
const { queryFilters: e, sliceFilter: n, sliceFilters: o } = t;
|
|
3051
|
-
return j(() =>
|
|
3052
|
-
},
|
|
3044
|
+
return j(() => Ar(t), [e, n, o]);
|
|
3045
|
+
}, ua = ({ foldersMap: t, tasksMap: e }) => j(() => {
|
|
3053
3046
|
const n = /* @__PURE__ */ new Map();
|
|
3054
3047
|
return t.forEach((o) => {
|
|
3055
3048
|
n.set(o.id, o);
|
|
3056
3049
|
}), e.forEach((o) => {
|
|
3057
3050
|
n.set(o.id, o);
|
|
3058
3051
|
}), n;
|
|
3059
|
-
}, [t, e]),
|
|
3052
|
+
}, [t, e]), ns = "0".repeat(32), fa = (t, e, n) => {
|
|
3060
3053
|
if (!n || !t.length) return t;
|
|
3061
3054
|
const o = t.filter((s) => {
|
|
3062
|
-
const
|
|
3063
|
-
return !
|
|
3055
|
+
const m = e[s];
|
|
3056
|
+
return !m || n.has(m);
|
|
3064
3057
|
});
|
|
3065
|
-
return o.length ? o : [
|
|
3066
|
-
},
|
|
3067
|
-
const o = t.find((a) => a.sliceType === "hierarchy"), s = t.find((a) => a.sliceType === "entityList"),
|
|
3058
|
+
return o.length ? o : [ns];
|
|
3059
|
+
}, Dr = (t, e, n) => {
|
|
3060
|
+
const o = t.find((a) => a.sliceType === "hierarchy"), s = t.find((a) => a.sliceType === "entityList"), m = Object.entries(o?.rowSelection || {}).filter(([, a]) => a).map(([a]) => a);
|
|
3068
3061
|
if (!(!!s && Object.entries(s.rowSelection).some(([a, y]) => y && !a.startsWith("folder-"))))
|
|
3069
|
-
return { selectedFolders:
|
|
3070
|
-
const w = e?.length ? e : [], i =
|
|
3062
|
+
return { selectedFolders: m, folderScope: null, listPanelSelected: !1 };
|
|
3063
|
+
const w = e?.length ? e : [], i = m.length && n ? new Set(n(m, !0)) : null;
|
|
3071
3064
|
let d = w;
|
|
3072
3065
|
if (i) {
|
|
3073
3066
|
const a = n && w.length ? new Set(n(w, !0)) : new Set(w);
|
|
3074
3067
|
d = [
|
|
3075
3068
|
.../* @__PURE__ */ new Set([
|
|
3076
3069
|
...w.filter((y) => i.has(y)),
|
|
3077
|
-
...
|
|
3070
|
+
...m.filter((y) => a.has(y))
|
|
3078
3071
|
])
|
|
3079
3072
|
];
|
|
3080
3073
|
}
|
|
3081
3074
|
return {
|
|
3082
|
-
selectedFolders: d.length ? d : [
|
|
3075
|
+
selectedFolders: d.length ? d : [ns],
|
|
3083
3076
|
folderScope: i,
|
|
3084
3077
|
listPanelSelected: !0
|
|
3085
3078
|
};
|
|
3086
|
-
},
|
|
3079
|
+
}, pa = ({
|
|
3087
3080
|
slices: t,
|
|
3088
3081
|
entityListFolderIds: e,
|
|
3089
3082
|
getChildFolderIds: n
|
|
3090
3083
|
}) => j(
|
|
3091
|
-
() =>
|
|
3084
|
+
() => Dr(t, e, n),
|
|
3092
3085
|
[t, e, n]
|
|
3093
|
-
),
|
|
3086
|
+
), ga = ({
|
|
3094
3087
|
attribFields: t,
|
|
3095
3088
|
allowedScopes: e = ["task", "folder"]
|
|
3096
3089
|
}) => j(
|
|
@@ -3098,17 +3091,17 @@ const oa = ({
|
|
|
3098
3091
|
(n) => e.some((o) => n.scope?.includes(o))
|
|
3099
3092
|
),
|
|
3100
3093
|
[t, e]
|
|
3101
|
-
),
|
|
3094
|
+
), ma = ({ expanded: t, setExpanded: e }) => {
|
|
3102
3095
|
const n = q(
|
|
3103
|
-
(
|
|
3104
|
-
e(Ct(
|
|
3096
|
+
(m) => {
|
|
3097
|
+
e(Ct(m, t));
|
|
3105
3098
|
},
|
|
3106
3099
|
[t, e]
|
|
3107
|
-
), o = Object.entries(t).filter(([,
|
|
3108
|
-
(
|
|
3100
|
+
), o = Object.entries(t).filter(([, m]) => m).map(([m]) => m), s = q(
|
|
3101
|
+
(m) => {
|
|
3109
3102
|
typeof t != "boolean" && e({
|
|
3110
3103
|
...t,
|
|
3111
|
-
[
|
|
3104
|
+
[m]: !t[m]
|
|
3112
3105
|
});
|
|
3113
3106
|
},
|
|
3114
3107
|
[t, e]
|
|
@@ -3118,17 +3111,17 @@ const oa = ({
|
|
|
3118
3111
|
toggleExpanded: s,
|
|
3119
3112
|
expandedIds: o
|
|
3120
3113
|
};
|
|
3121
|
-
},
|
|
3114
|
+
}, Lr = ({
|
|
3122
3115
|
selectedCells: t,
|
|
3123
3116
|
setSelectedCells: e,
|
|
3124
3117
|
focusedCellId: n,
|
|
3125
3118
|
setFocusedCellId: o
|
|
3126
3119
|
}) => {
|
|
3127
|
-
const { getEntityById: s, isLoading:
|
|
3120
|
+
const { getEntityById: s, isLoading: m } = Ke(), h = je(!0);
|
|
3128
3121
|
Ue(() => (h.current = !0, () => {
|
|
3129
3122
|
h.current = !1;
|
|
3130
3123
|
}), []), Ue(() => {
|
|
3131
|
-
if (
|
|
3124
|
+
if (m) return;
|
|
3132
3125
|
if (h.current) {
|
|
3133
3126
|
const i = setTimeout(() => {
|
|
3134
3127
|
h.current = !1;
|
|
@@ -3144,11 +3137,11 @@ const oa = ({
|
|
|
3144
3137
|
i.delete(d);
|
|
3145
3138
|
e(i), w.has(n || "") && o(null);
|
|
3146
3139
|
}
|
|
3147
|
-
}, [s, t, n, e, o,
|
|
3148
|
-
},
|
|
3149
|
-
const { updateGroupBy: e } = nt(), { attribFields: n, scopes: o } = Ke(), s = t.startsWith("attrib_"),
|
|
3150
|
-
() => s ? n.find((y) => y.name ===
|
|
3151
|
-
[n, s,
|
|
3140
|
+
}, [s, t, n, e, o, m]);
|
|
3141
|
+
}, Or = (t) => {
|
|
3142
|
+
const { updateGroupBy: e } = nt(), { attribFields: n, scopes: o } = Ke(), s = t.startsWith("attrib_"), m = s ? t.replace("attrib_", "") : void 0, h = j(
|
|
3143
|
+
() => s ? n.find((y) => y.name === m) : void 0,
|
|
3144
|
+
[n, s, m]
|
|
3152
3145
|
), w = j(() => {
|
|
3153
3146
|
if (t.startsWith("attrib_")) return "attrib." + t.replace("attrib_", "");
|
|
3154
3147
|
if (t === "subType") {
|
|
@@ -3158,7 +3151,7 @@ const oa = ({
|
|
|
3158
3151
|
return "productType";
|
|
3159
3152
|
}
|
|
3160
3153
|
if (["status", "assignees", "tags", "taskType"].includes(t)) return t;
|
|
3161
|
-
}, [t]), i = j(() => w ? s ? !!h &&
|
|
3154
|
+
}, [t]), i = j(() => w ? s ? !!h && Ro(h, "task") : !0 : !1, [h, s, w]), d = j(() => s ? h?.data.title || h?.name || m || "Attribute" : t === "status" ? "Status" : t === "subType" ? "Type" : t === "assignees" ? "Assignees" : t === "tags" ? "Tags" : "Column", [h, m, t, s]), a = q(() => {
|
|
3162
3155
|
w && e({ id: w, desc: !1 });
|
|
3163
3156
|
}, [w, e]);
|
|
3164
3157
|
return {
|
|
@@ -3167,13 +3160,13 @@ const oa = ({
|
|
|
3167
3160
|
groupLabel: d,
|
|
3168
3161
|
groupBySelectedColumn: a
|
|
3169
3162
|
};
|
|
3170
|
-
},
|
|
3171
|
-
const [e, n] = Ve(/* @__PURE__ */ new Set()), [o, s] = Ve(null), [
|
|
3163
|
+
}, ya = ({ children: t }) => {
|
|
3164
|
+
const [e, n] = Ve(/* @__PURE__ */ new Set()), [o, s] = Ve(null), [m, h] = Ve(!1), [w, i] = Ve(null), [d, a] = Ve({
|
|
3172
3165
|
rowIdToIndex: /* @__PURE__ */ new Map(),
|
|
3173
3166
|
colIdToIndex: /* @__PURE__ */ new Map(),
|
|
3174
3167
|
indexToRowId: /* @__PURE__ */ new Map(),
|
|
3175
3168
|
indexToColId: /* @__PURE__ */ new Map()
|
|
3176
|
-
}), y = (f) => JSON.stringify(Array.from(f.entries())),
|
|
3169
|
+
}), y = (f) => JSON.stringify(Array.from(f.entries())), g = j(
|
|
3177
3170
|
() => d,
|
|
3178
3171
|
[
|
|
3179
3172
|
y(d.rowIdToIndex),
|
|
@@ -3187,7 +3180,7 @@ const oa = ({
|
|
|
3187
3180
|
).map((f) => he(f)?.rowId),
|
|
3188
3181
|
[e]
|
|
3189
3182
|
);
|
|
3190
|
-
|
|
3183
|
+
Lr({
|
|
3191
3184
|
selectedCells: e,
|
|
3192
3185
|
setSelectedCells: n,
|
|
3193
3186
|
focusedCellId: o,
|
|
@@ -3214,18 +3207,18 @@ const oa = ({
|
|
|
3214
3207
|
}, []), l = q(
|
|
3215
3208
|
(f, L, F) => {
|
|
3216
3209
|
F || r(/* @__PURE__ */ new Set(), f);
|
|
3217
|
-
const O =
|
|
3210
|
+
const O = g.rowIdToIndex.get(f.rowId) ?? 0, _ = g.colIdToIndex.get(f.colId) ?? 0, A = g.rowIdToIndex.get(L.rowId) ?? 0, z = g.colIdToIndex.get(L.colId) ?? 0, J = Math.min(O, A), ee = Math.max(O, A), le = Math.min(_, z), oe = Math.max(_, z), me = new Set(F ? e : []);
|
|
3218
3211
|
for (let Ee = J; Ee <= ee; Ee++) {
|
|
3219
|
-
const Se =
|
|
3212
|
+
const Se = g.indexToRowId.get(Ee);
|
|
3220
3213
|
if (Se)
|
|
3221
3214
|
for (let Ie = le; Ie <= oe; Ie++) {
|
|
3222
|
-
const U =
|
|
3215
|
+
const U = g.indexToColId.get(Ie);
|
|
3223
3216
|
U && me.add(_e(Se, U));
|
|
3224
3217
|
}
|
|
3225
3218
|
}
|
|
3226
3219
|
return me;
|
|
3227
3220
|
},
|
|
3228
|
-
[
|
|
3221
|
+
[g, e, r]
|
|
3229
3222
|
), p = q(
|
|
3230
3223
|
(f, L) => {
|
|
3231
3224
|
const F = he(f);
|
|
@@ -3237,7 +3230,7 @@ const oa = ({
|
|
|
3237
3230
|
[e, o, r]
|
|
3238
3231
|
), v = q(
|
|
3239
3232
|
(f, L) => {
|
|
3240
|
-
if (!
|
|
3233
|
+
if (!m || !w) return;
|
|
3241
3234
|
const F = he(f);
|
|
3242
3235
|
if (F)
|
|
3243
3236
|
if (L)
|
|
@@ -3255,7 +3248,7 @@ const oa = ({
|
|
|
3255
3248
|
r(O, F);
|
|
3256
3249
|
}
|
|
3257
3250
|
},
|
|
3258
|
-
[
|
|
3251
|
+
[m, w, l, r]
|
|
3259
3252
|
), x = q(() => {
|
|
3260
3253
|
h(!1);
|
|
3261
3254
|
}, []), $ = q(
|
|
@@ -3280,21 +3273,21 @@ const oa = ({
|
|
|
3280
3273
|
if (!u(f)) return [];
|
|
3281
3274
|
const L = he(f);
|
|
3282
3275
|
if (!L) return [];
|
|
3283
|
-
const F =
|
|
3276
|
+
const F = g.rowIdToIndex.get(L.rowId), O = g.colIdToIndex.get(L.colId);
|
|
3284
3277
|
if (F === void 0 || O === void 0) return [];
|
|
3285
|
-
const _ =
|
|
3278
|
+
const _ = g.indexToRowId.get(F - 1), A = g.indexToColId.get(O + 1), z = g.indexToRowId.get(F + 1), J = g.indexToColId.get(O - 1);
|
|
3286
3279
|
let ee = bt.None;
|
|
3287
|
-
return (!_ || !e.has(_e(_, L.colId))) && (ee |= bt.Top), (!A || !e.has(_e(L.rowId, A))) && (ee |= bt.Right), (!z || !e.has(_e(z, L.colId))) && (ee |= bt.Bottom), (!J || !e.has(_e(L.rowId, J))) && (ee |= bt.Left),
|
|
3280
|
+
return (!_ || !e.has(_e(_, L.colId))) && (ee |= bt.Top), (!A || !e.has(_e(L.rowId, A))) && (ee |= bt.Right), (!z || !e.has(_e(z, L.colId))) && (ee |= bt.Bottom), (!J || !e.has(_e(L.rowId, J))) && (ee |= bt.Left), Us(ee);
|
|
3288
3281
|
},
|
|
3289
|
-
[e,
|
|
3282
|
+
[e, g, u]
|
|
3290
3283
|
), S = j(
|
|
3291
3284
|
() => ({
|
|
3292
3285
|
selectedCells: e,
|
|
3293
3286
|
selectedRows: b,
|
|
3294
3287
|
focusedCellId: o,
|
|
3295
|
-
selectionInProgress:
|
|
3288
|
+
selectionInProgress: m,
|
|
3296
3289
|
anchorCell: w,
|
|
3297
|
-
gridMap:
|
|
3290
|
+
gridMap: g,
|
|
3298
3291
|
setSelectedCells: n,
|
|
3299
3292
|
setFocusedCellId: s,
|
|
3300
3293
|
setAnchorCell: i,
|
|
@@ -3314,9 +3307,9 @@ const oa = ({
|
|
|
3314
3307
|
e,
|
|
3315
3308
|
b,
|
|
3316
3309
|
o,
|
|
3317
|
-
g,
|
|
3318
|
-
w,
|
|
3319
3310
|
m,
|
|
3311
|
+
w,
|
|
3312
|
+
g,
|
|
3320
3313
|
n,
|
|
3321
3314
|
s,
|
|
3322
3315
|
i,
|
|
@@ -3333,11 +3326,11 @@ const oa = ({
|
|
|
3333
3326
|
R
|
|
3334
3327
|
]
|
|
3335
3328
|
);
|
|
3336
|
-
return /* @__PURE__ */ W(
|
|
3337
|
-
},
|
|
3329
|
+
return /* @__PURE__ */ W(Gs.Provider, { value: S, children: t });
|
|
3330
|
+
}, ha = "count", Ia = (t) => t === "count" || t === "both", ba = (t) => t === "percent" || t === "both", wa = (t, e) => t && e ? "both" : t ? "count" : e ? "percent" : "none", Ca = "all", Ta = (t) => t === "all" || t === "primary", Sa = (t) => t === "all" || t === "secondary", va = (t, e) => t && e ? "all" : t ? "primary" : e ? "secondary" : "none", Ea = {
|
|
3338
3331
|
primary: "folders",
|
|
3339
3332
|
secondary: "tasks"
|
|
3340
|
-
},
|
|
3333
|
+
}, _r = [
|
|
3341
3334
|
"invalid path",
|
|
3342
3335
|
"invalid key",
|
|
3343
3336
|
"invalid value",
|
|
@@ -3348,11 +3341,11 @@ const oa = ({
|
|
|
3348
3341
|
"value type in list",
|
|
3349
3342
|
"empty path",
|
|
3350
3343
|
"json filter error"
|
|
3351
|
-
],
|
|
3344
|
+
], Fr = (t) => (t?.filter?.conditions ?? []).length > 0 || !!t?.search, Nr = (t, e) => {
|
|
3352
3345
|
if (!t) return !1;
|
|
3353
3346
|
const n = qn(t).toLowerCase();
|
|
3354
|
-
return
|
|
3355
|
-
},
|
|
3347
|
+
return _r.some((o) => n.includes(o)) ? !0 : Fr(e);
|
|
3348
|
+
}, Mr = (t = "Items") => `${t} were unable to load due to a corrupt filter.`, $r = (t = []) => t.includes("product") ? "Products" : t.includes("version") ? "Versions" : t.includes("task") ? "Tasks" : t.includes("folder") ? "Folders" : "Items", xa = (t, e, n) => `${t}-${e}-${n}`, rn = (t) => {
|
|
3356
3349
|
switch (t) {
|
|
3357
3350
|
case "boolean":
|
|
3358
3351
|
return !1;
|
|
@@ -3378,56 +3371,56 @@ const oa = ({
|
|
|
3378
3371
|
[t.entityType + "Id"]: t.entityId
|
|
3379
3372
|
};
|
|
3380
3373
|
return t.entityType === "version" && "product" in t && t.product?.id && (e.productId = t.product?.id, "folder" in t.product && t.product?.folder?.id && (e.folderId = t.product?.folder.id)), e;
|
|
3381
|
-
}, jt = "__",
|
|
3374
|
+
}, jt = "__", Vr = (t) => `${jt}${t}`, ka = (t, e) => `${t}${Vr(e)}`, ss = (t) => {
|
|
3382
3375
|
const e = t.lastIndexOf(jt);
|
|
3383
3376
|
if (e === -1)
|
|
3384
3377
|
return null;
|
|
3385
3378
|
const n = t.slice(0, e), o = t.slice(e + jt.length);
|
|
3386
3379
|
return { entityId: n, type: o };
|
|
3387
|
-
},
|
|
3380
|
+
}, Ra = (t) => t.includes(jt) && ss(t) !== null, Pa = (t, e) => ss(t)?.type === e, zr = (t) => "key" in t, os = (t) => ({
|
|
3388
3381
|
...t,
|
|
3389
3382
|
conditions: t.conditions?.map((e) => {
|
|
3390
|
-
if (!
|
|
3383
|
+
if (!zr(e)) return os(e);
|
|
3391
3384
|
if ((e.operator === "isnull" || e.operator === "notnull") && e.value == null) {
|
|
3392
3385
|
const { value: n, ...o } = e;
|
|
3393
3386
|
return o;
|
|
3394
3387
|
}
|
|
3395
3388
|
return e;
|
|
3396
3389
|
})
|
|
3397
|
-
}),
|
|
3398
|
-
const [e, n] = Ve([]), [o, s] = Ve([]),
|
|
3399
|
-
(y,
|
|
3390
|
+
}), Br = (t = 50) => {
|
|
3391
|
+
const [e, n] = Ve([]), [o, s] = Ve([]), m = q(
|
|
3392
|
+
(y, g) => {
|
|
3400
3393
|
y.length && (n((T) => {
|
|
3401
|
-
const b = [...T, { undo: y, redo:
|
|
3394
|
+
const b = [...T, { undo: y, redo: g, timestamp: Date.now() }];
|
|
3402
3395
|
return b.length > t ? b.slice(b.length - t) : b;
|
|
3403
3396
|
}), s([]));
|
|
3404
3397
|
},
|
|
3405
3398
|
[t]
|
|
3406
3399
|
), h = (y) => y.reduce(
|
|
3407
|
-
(
|
|
3400
|
+
(g, T) => (typeof T == "function" ? g[2].push(T) : T.wasInherited ? g[1].push({
|
|
3408
3401
|
entityId: T.id,
|
|
3409
3402
|
entityType: T.type,
|
|
3410
3403
|
folderId: T.folderId,
|
|
3411
3404
|
attribs: [T.field],
|
|
3412
3405
|
ownAttrib: T.ownAttrib,
|
|
3413
3406
|
rowId: T.rowId
|
|
3414
|
-
}) :
|
|
3407
|
+
}) : g[0].push(T), g),
|
|
3415
3408
|
[[], [], []]
|
|
3416
3409
|
), w = q(() => {
|
|
3417
3410
|
if (e.length === 0) return null;
|
|
3418
|
-
const y = [...e],
|
|
3419
|
-
return n(y),
|
|
3411
|
+
const y = [...e], g = y.pop();
|
|
3412
|
+
return n(y), g.redo && s((T) => [...T, g]), h(g.undo);
|
|
3420
3413
|
}, [e]), i = q(() => {
|
|
3421
3414
|
if (o.length === 0) return null;
|
|
3422
|
-
const y = [...o],
|
|
3423
|
-
return s(y), n((T) => [...T,
|
|
3415
|
+
const y = [...o], g = y.pop();
|
|
3416
|
+
return s(y), n((T) => [...T, g]), g.redo ? h(g.redo) : null;
|
|
3424
3417
|
}, [o]), d = q((y) => {
|
|
3425
|
-
n((
|
|
3418
|
+
n((g) => g.slice(0, Math.max(0, g.length - y))), s((g) => g.slice(0, Math.max(0, g.length - y)));
|
|
3426
3419
|
}, []), a = q(() => {
|
|
3427
3420
|
n([]), s([]);
|
|
3428
3421
|
}, []);
|
|
3429
3422
|
return {
|
|
3430
|
-
pushHistory:
|
|
3423
|
+
pushHistory: m,
|
|
3431
3424
|
undo: w,
|
|
3432
3425
|
redo: i,
|
|
3433
3426
|
canUndo: e.length > 0,
|
|
@@ -3435,13 +3428,13 @@ const oa = ({
|
|
|
3435
3428
|
clearHistory: a,
|
|
3436
3429
|
removeHistoryEntries: d
|
|
3437
3430
|
};
|
|
3438
|
-
},
|
|
3431
|
+
}, Ur = (t = [], e) => {
|
|
3439
3432
|
for (const { isAttrib: n, value: o, field: s } of t) {
|
|
3440
3433
|
if (!n) continue;
|
|
3441
|
-
const
|
|
3442
|
-
if (!
|
|
3434
|
+
const m = e.find((p) => p.name === s);
|
|
3435
|
+
if (!m) continue;
|
|
3443
3436
|
let h = o;
|
|
3444
|
-
const { type: w } =
|
|
3437
|
+
const { type: w } = m.data;
|
|
3445
3438
|
if (w === "integer" || w === "float") {
|
|
3446
3439
|
if (typeof o == "string") {
|
|
3447
3440
|
if (o.trim() === "" || isNaN(Number(o)))
|
|
@@ -3459,11 +3452,11 @@ const oa = ({
|
|
|
3459
3452
|
"maxLength",
|
|
3460
3453
|
"minItems",
|
|
3461
3454
|
"maxItems"
|
|
3462
|
-
], d = Object.entries(
|
|
3455
|
+
], d = Object.entries(m.data).reduce((p, [v, x]) => (i.includes(v) && (p[v] = x), p), {}), { ge: a, gt: y, le: g, lt: T, minLength: b, maxLength: P, minItems: I, maxItems: r } = d, l = m.data.regex;
|
|
3463
3456
|
if (typeof h == "number") {
|
|
3464
3457
|
if (a != null && h < a) throw new Error(`“${s}” must be ≥ ${a}`);
|
|
3465
3458
|
if (y != null && h <= y) throw new Error(`“${s}” must be > ${y}`);
|
|
3466
|
-
if (
|
|
3459
|
+
if (g != null && h > g) throw new Error(`“${s}” must be ≤ ${g}`);
|
|
3467
3460
|
if (T != null && h >= T) throw new Error(`“${s}” must be < ${T}`);
|
|
3468
3461
|
} else if (typeof h == "string") {
|
|
3469
3462
|
if (b != null && h.length < b)
|
|
@@ -3479,25 +3472,25 @@ const oa = ({
|
|
|
3479
3472
|
throw new Error(`“${s}” items must be ≤ ${r}`);
|
|
3480
3473
|
}
|
|
3481
3474
|
}
|
|
3482
|
-
},
|
|
3483
|
-
const [e, n] = Ve(null), o = je(null), s = q(() => o.current, []),
|
|
3475
|
+
}, Aa = ({ children: t }) => {
|
|
3476
|
+
const [e, n] = Ve(null), o = je(null), s = q(() => o.current, []), m = q((k) => {
|
|
3484
3477
|
o.current = k;
|
|
3485
3478
|
}, []), h = q((k) => {
|
|
3486
3479
|
o.current = null, n(k);
|
|
3487
|
-
}, []), w = q((k) => k === e, [e]), i =
|
|
3480
|
+
}, []), w = q((k) => k === e, [e]), i = Br(), {
|
|
3488
3481
|
pushHistory: d,
|
|
3489
3482
|
undo: a,
|
|
3490
3483
|
redo: y,
|
|
3491
|
-
canUndo:
|
|
3484
|
+
canUndo: g,
|
|
3492
3485
|
canRedo: T,
|
|
3493
3486
|
removeHistoryEntries: b
|
|
3494
|
-
} = i, { selectedCells: P } = Ye(), { updateEntities: I, inheritFromParent: r } =
|
|
3487
|
+
} = i, { selectedCells: P } = Ye(), { updateEntities: I, inheritFromParent: r } = Cr({
|
|
3495
3488
|
pushHistory: d,
|
|
3496
3489
|
removeHistoryEntries: b
|
|
3497
3490
|
}), { attribFields: l, getEntityById: p } = Ke(), { projectName: v } = Qe(), [x] = Qn(), $ = q(
|
|
3498
3491
|
async (k = [], R = !0) => {
|
|
3499
3492
|
try {
|
|
3500
|
-
return
|
|
3493
|
+
return Ur(k, l), await I(k, R);
|
|
3501
3494
|
} catch (S) {
|
|
3502
3495
|
return Le.error(S.message), Promise.reject(S);
|
|
3503
3496
|
}
|
|
@@ -3651,7 +3644,7 @@ const oa = ({
|
|
|
3651
3644
|
redo: c,
|
|
3652
3645
|
history: i,
|
|
3653
3646
|
getEditingDraft: s,
|
|
3654
|
-
setEditingDraft:
|
|
3647
|
+
setEditingDraft: m
|
|
3655
3648
|
}),
|
|
3656
3649
|
[
|
|
3657
3650
|
e,
|
|
@@ -3662,7 +3655,7 @@ const oa = ({
|
|
|
3662
3655
|
c,
|
|
3663
3656
|
i,
|
|
3664
3657
|
s,
|
|
3665
|
-
|
|
3658
|
+
m
|
|
3666
3659
|
]
|
|
3667
3660
|
);
|
|
3668
3661
|
return Ue(() => {
|
|
@@ -3672,7 +3665,7 @@ const oa = ({
|
|
|
3672
3665
|
const F = typeof navigator < "u" && // @ts-expect-error
|
|
3673
3666
|
(navigator.userAgentData && // @ts-expect-error
|
|
3674
3667
|
navigator.userAgentData.platform.toUpperCase().includes("MAC") || navigator.userAgent.toUpperCase().includes("MAC")) ? R.metaKey : R.ctrlKey;
|
|
3675
|
-
if (F && R.key === "z" && (R.preventDefault(),
|
|
3668
|
+
if (F && R.key === "z" && (R.preventDefault(), g && C()), (F && R.key === "y" || F && R.shiftKey && R.key === "z" || F && R.key === "Z") && (R.preventDefault(), T && c()), R.key === "Backspace" && !(R.ctrlKey || R.metaKey) || R.key === "Delete") {
|
|
3676
3669
|
if (!P.size) return;
|
|
3677
3670
|
R.preventDefault();
|
|
3678
3671
|
const O = Array.from(P).map(
|
|
@@ -3686,8 +3679,8 @@ const oa = ({
|
|
|
3686
3679
|
}
|
|
3687
3680
|
};
|
|
3688
3681
|
return document.addEventListener("keydown", k), () => document.removeEventListener("keydown", k);
|
|
3689
|
-
}, [
|
|
3690
|
-
},
|
|
3682
|
+
}, [g, T, C, c, P, u]), /* @__PURE__ */ W(Ws.Provider, { value: E, children: t });
|
|
3683
|
+
}, Gr = ({
|
|
3691
3684
|
attributes: t,
|
|
3692
3685
|
listeners: e
|
|
3693
3686
|
}) => /* @__PURE__ */ W(
|
|
@@ -3712,17 +3705,17 @@ const oa = ({
|
|
|
3712
3705
|
},
|
|
3713
3706
|
children: /* @__PURE__ */ W(pn, { icon: "drag_handle" })
|
|
3714
3707
|
}
|
|
3715
|
-
),
|
|
3708
|
+
), Wr = ({
|
|
3716
3709
|
header: t,
|
|
3717
3710
|
canHide: e,
|
|
3718
3711
|
canPin: n,
|
|
3719
3712
|
canSort: o,
|
|
3720
3713
|
isResizing: s,
|
|
3721
|
-
className:
|
|
3714
|
+
className: m,
|
|
3722
3715
|
menuId: h,
|
|
3723
3716
|
isOpen: w
|
|
3724
3717
|
}) => {
|
|
3725
|
-
const { column: i } = t, d = String(i.id), { toggleMenuOpen: a } = Xn(), { updateGroupBy: y, groupBy:
|
|
3718
|
+
const { column: i } = t, d = String(i.id), { toggleMenuOpen: a } = Xn(), { updateGroupBy: y, groupBy: g, sorting: T } = nt(), { canGroupThisColumn: b, groupLabel: P, groupBySelectedColumn: I, targetGroupById: r } = Or(d);
|
|
3726
3719
|
if (s)
|
|
3727
3720
|
return null;
|
|
3728
3721
|
const l = (c = !0) => {
|
|
@@ -3772,7 +3765,7 @@ const oa = ({
|
|
|
3772
3765
|
id: "divider",
|
|
3773
3766
|
type: "divider"
|
|
3774
3767
|
}), b && d !== "name" && d !== "thumbnail") {
|
|
3775
|
-
const c =
|
|
3768
|
+
const c = g?.id === r;
|
|
3776
3769
|
C.push({
|
|
3777
3770
|
id: "group-by",
|
|
3778
3771
|
label: c ? "Ungroup" : `Group by ${P}`,
|
|
@@ -3790,21 +3783,21 @@ const oa = ({
|
|
|
3790
3783
|
i.toggleVisibility(), l(!1);
|
|
3791
3784
|
}
|
|
3792
3785
|
}), C.length === 0 ? null : /* @__PURE__ */ W(
|
|
3793
|
-
|
|
3786
|
+
Ao,
|
|
3794
3787
|
{
|
|
3795
|
-
className:
|
|
3788
|
+
className: m,
|
|
3796
3789
|
menuItems: C,
|
|
3797
3790
|
menuId: h || `column-menu-${t.id}`
|
|
3798
3791
|
}
|
|
3799
3792
|
);
|
|
3800
|
-
}, $n = 60, Gt = 150, Vn = 50, zn = [Be, ge],
|
|
3793
|
+
}, $n = 60, Gt = 150, Vn = 50, zn = [Be, ge], Da = ({ children: t }) => {
|
|
3801
3794
|
const { columnOrder: e, updateColumnOrder: n, columnPinning: o, columnSizing: s } = nt(), {
|
|
3802
|
-
restrictToSection:
|
|
3795
|
+
restrictToSection: m,
|
|
3803
3796
|
setDragPinnedState: h,
|
|
3804
3797
|
clearDragPinnedState: w,
|
|
3805
3798
|
activePinnedState: i,
|
|
3806
3799
|
setCachedBoundary: d
|
|
3807
|
-
} =
|
|
3800
|
+
} = Po({ columnPinning: o, columnSizing: s }), a = je({
|
|
3808
3801
|
cursorX: 0,
|
|
3809
3802
|
container: null,
|
|
3810
3803
|
boundaryX: 0,
|
|
@@ -3813,11 +3806,11 @@ const oa = ({
|
|
|
3813
3806
|
isScrolling: !1,
|
|
3814
3807
|
isColumnDrag: !1,
|
|
3815
3808
|
isPinnedDrag: null
|
|
3816
|
-
}), y =
|
|
3817
|
-
nn(
|
|
3818
|
-
nn(
|
|
3819
|
-
nn(
|
|
3820
|
-
),
|
|
3809
|
+
}), y = Do(
|
|
3810
|
+
nn(Lo, { activationConstraint: { distance: 5 } }),
|
|
3811
|
+
nn(Oo, { activationConstraint: { delay: 100, tolerance: 5 } }),
|
|
3812
|
+
nn(_o, {})
|
|
3813
|
+
), g = j(() => [m], [m]), T = o.left || [], b = q(() => {
|
|
3821
3814
|
const u = a.current.container;
|
|
3822
3815
|
if (!u) return 0;
|
|
3823
3816
|
const E = u.querySelector("th.last-pinned-left");
|
|
@@ -3883,11 +3876,11 @@ const oa = ({
|
|
|
3883
3876
|
};
|
|
3884
3877
|
};
|
|
3885
3878
|
return /* @__PURE__ */ W(
|
|
3886
|
-
|
|
3879
|
+
Fo,
|
|
3887
3880
|
{
|
|
3888
3881
|
sensors: y,
|
|
3889
3882
|
collisionDetection: I,
|
|
3890
|
-
modifiers:
|
|
3883
|
+
modifiers: g,
|
|
3891
3884
|
onDragStart: (u) => {
|
|
3892
3885
|
if (u.active.data.current?.type !== "column") return;
|
|
3893
3886
|
const E = document.querySelector("[data-column-dnd-container]"), k = E?.getBoundingClientRect(), R = T.includes(u.active.id);
|
|
@@ -3922,25 +3915,25 @@ const oa = ({
|
|
|
3922
3915
|
children: t
|
|
3923
3916
|
}
|
|
3924
3917
|
);
|
|
3925
|
-
},
|
|
3918
|
+
}, Hr = (t, e) => {
|
|
3926
3919
|
const n = t.getFlatHeaders(), o = t.getState().columnSizingInfo;
|
|
3927
3920
|
return j(() => {
|
|
3928
|
-
const
|
|
3921
|
+
const m = {};
|
|
3929
3922
|
for (let h = 0; h < n.length; h++) {
|
|
3930
3923
|
const w = n[h];
|
|
3931
|
-
|
|
3924
|
+
m[`--header-${w.id}-size`] = w.getSize(), m[`--col-${w.column.id}-size`] = w.column.getSize();
|
|
3932
3925
|
}
|
|
3933
|
-
return
|
|
3926
|
+
return m;
|
|
3934
3927
|
}, [o, e, n]);
|
|
3935
|
-
},
|
|
3928
|
+
}, jr = ({
|
|
3936
3929
|
visibleColumns: t,
|
|
3937
3930
|
tableContainerRef: e,
|
|
3938
3931
|
columnPinning: n,
|
|
3939
3932
|
columnSizing: o,
|
|
3940
3933
|
columnOrder: s
|
|
3941
3934
|
}) => {
|
|
3942
|
-
const
|
|
3943
|
-
|
|
3935
|
+
const m = j(() => t.filter((b) => b.getIsPinned() === "left").map((b) => b.getIndex()), [t, n]), [h, w] = Ve(null);
|
|
3936
|
+
No({
|
|
3944
3937
|
onDragStart(b) {
|
|
3945
3938
|
if (b.active.data?.current?.type === "column") {
|
|
3946
3939
|
const P = t.findIndex((I) => I.id === b.active.id);
|
|
@@ -3955,8 +3948,8 @@ const oa = ({
|
|
|
3955
3948
|
}
|
|
3956
3949
|
});
|
|
3957
3950
|
const i = [];
|
|
3958
|
-
if (
|
|
3959
|
-
const b = Math.max(...
|
|
3951
|
+
if (m.length > 0) {
|
|
3952
|
+
const b = Math.max(...m);
|
|
3960
3953
|
for (let P = 0; P <= b; P++)
|
|
3961
3954
|
i.push(P);
|
|
3962
3955
|
}
|
|
@@ -3982,16 +3975,16 @@ const oa = ({
|
|
|
3982
3975
|
return Array.from(v).sort((x, $) => x - $);
|
|
3983
3976
|
}
|
|
3984
3977
|
}), a = j(
|
|
3985
|
-
() =>
|
|
3978
|
+
() => vo(() => {
|
|
3986
3979
|
d.measure();
|
|
3987
3980
|
}, 1e3),
|
|
3988
3981
|
[d]
|
|
3989
3982
|
);
|
|
3990
|
-
|
|
3983
|
+
bs(() => {
|
|
3991
3984
|
a();
|
|
3992
3985
|
}, [a, o, s]);
|
|
3993
3986
|
const y = d.getVirtualItems();
|
|
3994
|
-
let
|
|
3987
|
+
let g, T;
|
|
3995
3988
|
if (d && y.length) {
|
|
3996
3989
|
const b = d.getTotalSize(), P = y.findIndex(
|
|
3997
3990
|
(r) => !i.includes(r.index)
|
|
@@ -4001,20 +3994,20 @@ const oa = ({
|
|
|
4001
3994
|
const x = t[v];
|
|
4002
3995
|
return p + x.getSize();
|
|
4003
3996
|
}, 0);
|
|
4004
|
-
|
|
3997
|
+
g = Math.max(0, r - l);
|
|
4005
3998
|
} else
|
|
4006
|
-
|
|
3999
|
+
g = 0;
|
|
4007
4000
|
const I = y[y.length - 1]?.end ?? 0;
|
|
4008
4001
|
T = Math.max(0, b - I);
|
|
4009
4002
|
}
|
|
4010
4003
|
return {
|
|
4011
4004
|
columnVirtualizer: d,
|
|
4012
|
-
virtualPaddingLeft:
|
|
4005
|
+
virtualPaddingLeft: g,
|
|
4013
4006
|
virtualPaddingRight: T
|
|
4014
4007
|
};
|
|
4015
4008
|
};
|
|
4016
|
-
function
|
|
4017
|
-
const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: o } = Ke(), { canWriteLabelPermission: s, canWriteNamePermission:
|
|
4009
|
+
function Kr() {
|
|
4010
|
+
const { attribFields: t, getEntityById: e, onOpenPlayer: n, playerOpen: o } = Ke(), { canWriteLabelPermission: s, canWriteNamePermission: m } = un(), h = s || m, { focusedCellId: w, gridMap: i, selectCell: d, focusCell: a, clearSelection: y, setFocusedCellId: g } = Ye(), { setEditingCellId: T, editingCellId: b } = ut(), { setSelectedEntity: P } = Wn(), I = q(
|
|
4018
4011
|
(l) => {
|
|
4019
4012
|
a(l), console.log(l), requestAnimationFrame(() => document.getElementById(l)?.closest("td")?.focus());
|
|
4020
4013
|
},
|
|
@@ -4027,7 +4020,7 @@ function qr() {
|
|
|
4027
4020
|
if (!$) return;
|
|
4028
4021
|
const { rowId: C, colId: c } = $, u = i.rowIdToIndex.get(C), E = i.colIdToIndex.get(c);
|
|
4029
4022
|
if (u === void 0 || E === void 0) return;
|
|
4030
|
-
const k = c.startsWith("attrib_") && t.find((S) => S.name === c.replace("attrib_", ""))?.readOnly || p.closest("td")?.querySelector(`.${
|
|
4023
|
+
const k = c.startsWith("attrib_") && t.find((S) => S.name === c.replace("attrib_", ""))?.readOnly || p.closest("td")?.querySelector(`.${Hs}`) !== null, R = (S) => {
|
|
4031
4024
|
if (n) {
|
|
4032
4025
|
const f = e(S);
|
|
4033
4026
|
if (f) {
|
|
@@ -4089,7 +4082,7 @@ function qr() {
|
|
|
4089
4082
|
break;
|
|
4090
4083
|
}
|
|
4091
4084
|
case "Escape": {
|
|
4092
|
-
l.preventDefault(), y(), T(null),
|
|
4085
|
+
l.preventDefault(), y(), T(null), g(null);
|
|
4093
4086
|
break;
|
|
4094
4087
|
}
|
|
4095
4088
|
case "Tab": {
|
|
@@ -4169,30 +4162,30 @@ function qr() {
|
|
|
4169
4162
|
editingCellId: b
|
|
4170
4163
|
};
|
|
4171
4164
|
}
|
|
4172
|
-
const
|
|
4173
|
-
const { rowHeight: t =
|
|
4165
|
+
const qr = 24, Qr = () => {
|
|
4166
|
+
const { rowHeight: t = qr } = nt();
|
|
4174
4167
|
return { getRowHeight: (n) => t, thumbnailRowHeight: t, defaultRowHeight: t };
|
|
4175
|
-
},
|
|
4168
|
+
}, Xr = () => null, Yr = (t, e) => e.some((n) => {
|
|
4176
4169
|
if (n.includes("*")) {
|
|
4177
4170
|
const s = "^" + n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\\\*/g, ".*") + "$";
|
|
4178
4171
|
return new RegExp(s).test(t);
|
|
4179
4172
|
}
|
|
4180
4173
|
return t === n;
|
|
4181
|
-
}),
|
|
4174
|
+
}), La = ({
|
|
4182
4175
|
scope: t,
|
|
4183
4176
|
sliceId: e,
|
|
4184
4177
|
onScroll: n,
|
|
4185
4178
|
onScrollBottom: o,
|
|
4186
4179
|
// when the user scrolls to the bottom of the table, this callback is called
|
|
4187
4180
|
onOpenNew: s,
|
|
4188
|
-
readOnly:
|
|
4181
|
+
readOnly: m,
|
|
4189
4182
|
excludedColumns: h,
|
|
4190
4183
|
excludedSorting: w,
|
|
4191
4184
|
extraColumns: i,
|
|
4192
4185
|
includeLinks: d,
|
|
4193
4186
|
includeParents: a,
|
|
4194
4187
|
parentColumns: y,
|
|
4195
|
-
isLoading:
|
|
4188
|
+
isLoading: g,
|
|
4196
4189
|
isExpandable: T,
|
|
4197
4190
|
enableSorting: b = !0,
|
|
4198
4191
|
clientSorting: P = !1,
|
|
@@ -4261,22 +4254,22 @@ const Qr = 24, Xr = () => {
|
|
|
4261
4254
|
overrideGroupBy: Et,
|
|
4262
4255
|
loadingLinksEntityIds: xt,
|
|
4263
4256
|
queryFilters: kt
|
|
4264
|
-
} = Ke(), ft = !!M || !!Et, Rt =
|
|
4257
|
+
} = Ke(), ft = !!M || !!Et, Rt = Nr(Re, kt), Pt = Mr($r(ze)), pt = Et?.id ?? M?.id, st = Array.isArray(pt) ? pt[0] : pt, ot = ie || ["hierarchy", "folder", "product"].includes(st ?? "") || ze.includes("product"), { writableFields: Je } = un(), At = j(() => {
|
|
4265
4258
|
const Q = st?.startsWith("attrib.") ? st.slice(7) : void 0;
|
|
4266
4259
|
return ve.filter(
|
|
4267
4260
|
(re) => re.name === Q || St(_, `attrib_${re.name}`, Se)
|
|
4268
4261
|
).map((re) => re.name);
|
|
4269
|
-
}, [ve, _, Se, st]), We =
|
|
4262
|
+
}, [ve, _, Se, st]), We = Ho(ve, {
|
|
4270
4263
|
projectName: ue,
|
|
4271
4264
|
request: At
|
|
4272
|
-
}), Ze =
|
|
4265
|
+
}), Ze = g || Te, {
|
|
4273
4266
|
statuses: gt = [],
|
|
4274
4267
|
folderTypes: Dt = [],
|
|
4275
4268
|
taskTypes: Lt = [],
|
|
4276
4269
|
tags: Ot = [],
|
|
4277
4270
|
linkTypes: et = []
|
|
4278
4271
|
} = xe || {}, tt = j(
|
|
4279
|
-
() =>
|
|
4272
|
+
() => er({
|
|
4280
4273
|
users: we,
|
|
4281
4274
|
statuses: gt,
|
|
4282
4275
|
folderTypes: Dt,
|
|
@@ -4287,13 +4280,13 @@ const Qr = 24, Xr = () => {
|
|
|
4287
4280
|
}),
|
|
4288
4281
|
[we, gt, Dt, Lt, ze, Ot]
|
|
4289
4282
|
), rt = je(null), _t = je(0), { registerGrid: Ft } = Ye(), { loadingAttrib: X, loadingRows: ye } = j(() => {
|
|
4290
|
-
const Q = rt.current?.querySelectorAll("tbody tr").length || 0, re =
|
|
4283
|
+
const Q = rt.current?.querySelectorAll("tbody tr").length || 0, re = Jo(), Oe = Tt(
|
|
4291
4284
|
ie && pe.length > 0 ? Math.min(Q, 50) : M ? Math.max(_t.current, 50) : 50
|
|
4292
4285
|
);
|
|
4293
4286
|
return { loadingAttrib: re, loadingRows: Oe };
|
|
4294
4287
|
}, []), se = !N || Ze, { readOnlyColumns: fe, readOnlyAttribs: ae } = j(
|
|
4295
|
-
() =>
|
|
4296
|
-
[ve, Je,
|
|
4288
|
+
() => nr(ve, Je, m),
|
|
4289
|
+
[ve, Je, m]
|
|
4297
4290
|
), { selectedCells: de } = Ye(), { updateEntities: De } = ut(), it = q(
|
|
4298
4291
|
async (Q, re) => {
|
|
4299
4292
|
const { selection: Oe = [] } = re || {}, be = [];
|
|
@@ -4301,8 +4294,8 @@ const Qr = 24, Xr = () => {
|
|
|
4301
4294
|
be.push({ ...Q, id: Q.id || Q.rowId });
|
|
4302
4295
|
else {
|
|
4303
4296
|
const { field: Pe, value: He, isAttrib: Xt } = Q;
|
|
4304
|
-
for (const
|
|
4305
|
-
const { colId: Yt, rowId: Mt } = he(
|
|
4297
|
+
for (const Is of de) {
|
|
4298
|
+
const { colId: Yt, rowId: Mt } = he(Is) || {};
|
|
4306
4299
|
if (Yt === ge) continue;
|
|
4307
4300
|
const Jt = Me(Mt || "");
|
|
4308
4301
|
if (!Jt) {
|
|
@@ -4329,8 +4322,8 @@ const Qr = 24, Xr = () => {
|
|
|
4329
4322
|
), mt = j(
|
|
4330
4323
|
() => N ? We : X,
|
|
4331
4324
|
[We, X, N]
|
|
4332
|
-
), Qt = () =>
|
|
4333
|
-
const Q =
|
|
4325
|
+
), Qt = () => Xs(ze), at = j(() => {
|
|
4326
|
+
const Q = js({
|
|
4334
4327
|
scopes: ze,
|
|
4335
4328
|
attribs: mt,
|
|
4336
4329
|
links: et,
|
|
@@ -4386,13 +4379,13 @@ const Qr = 24, Xr = () => {
|
|
|
4386
4379
|
const Q = at.map((re) => re.id).filter(Boolean);
|
|
4387
4380
|
ee(Q);
|
|
4388
4381
|
}, [at, ee]);
|
|
4389
|
-
const
|
|
4382
|
+
const is = j(() => {
|
|
4390
4383
|
const Q = { ..._ };
|
|
4391
4384
|
return at.forEach((re) => {
|
|
4392
4385
|
const Oe = re.visible;
|
|
4393
4386
|
re.id && Q[re.id] === void 0 && (Oe !== void 0 ? Q[re.id] = Oe : Q[re.id] = St({}, re.id, Se));
|
|
4394
|
-
}),
|
|
4395
|
-
}, [_, Se, at]), Ne =
|
|
4387
|
+
}), ho(Q, at.map((re) => re.id).filter(Boolean));
|
|
4388
|
+
}, [_, Se, at]), Ne = ws({
|
|
4396
4389
|
data: se ? ye : pe,
|
|
4397
4390
|
columns: at,
|
|
4398
4391
|
defaultColumn: {
|
|
@@ -4406,15 +4399,15 @@ const Qr = 24, Xr = () => {
|
|
|
4406
4399
|
//disable sub row selection
|
|
4407
4400
|
getSubRows: (Q) => Q.subRows,
|
|
4408
4401
|
getRowCanExpand: () => !!T || ie || Ae || ft,
|
|
4409
|
-
getCoreRowModel:
|
|
4410
|
-
getFilteredRowModel:
|
|
4411
|
-
getExpandedRowModel:
|
|
4402
|
+
getCoreRowModel: Es(),
|
|
4403
|
+
getFilteredRowModel: vs(),
|
|
4404
|
+
getExpandedRowModel: Ss(),
|
|
4412
4405
|
filterFromLeafRows: !0,
|
|
4413
4406
|
// EXPANDABLE
|
|
4414
4407
|
onExpandedChange: ce,
|
|
4415
4408
|
// SORTING
|
|
4416
4409
|
enableSorting: b,
|
|
4417
|
-
getSortedRowModel:
|
|
4410
|
+
getSortedRowModel: Ts(),
|
|
4418
4411
|
sortDescFirst: !1,
|
|
4419
4412
|
maxMultiSortColCount: gn,
|
|
4420
4413
|
manualSorting: !P,
|
|
@@ -4425,7 +4418,7 @@ const Qr = 24, Xr = () => {
|
|
|
4425
4418
|
onColumnVisibilityChange: Ie,
|
|
4426
4419
|
onColumnOrderChange: U,
|
|
4427
4420
|
// @ts-ignore
|
|
4428
|
-
filterFns:
|
|
4421
|
+
filterFns: Cs,
|
|
4429
4422
|
state: {
|
|
4430
4423
|
expanded: B,
|
|
4431
4424
|
sorting: le,
|
|
@@ -4441,7 +4434,7 @@ const Qr = 24, Xr = () => {
|
|
|
4441
4434
|
};
|
|
4442
4435
|
})(),
|
|
4443
4436
|
columnSizing: J,
|
|
4444
|
-
columnVisibility:
|
|
4437
|
+
columnVisibility: is,
|
|
4445
4438
|
columnOrder: z
|
|
4446
4439
|
},
|
|
4447
4440
|
meta: {
|
|
@@ -4467,7 +4460,7 @@ const Qr = 24, Xr = () => {
|
|
|
4467
4460
|
});
|
|
4468
4461
|
Ft(Q, Oe);
|
|
4469
4462
|
}, [lt, Ne.getVisibleLeafColumns(), A, ge, Ft]);
|
|
4470
|
-
const Nt = Ne.getVisibleLeafColumns(), { columnVirtualizer: yt, virtualPaddingLeft: ht, virtualPaddingRight: It } =
|
|
4463
|
+
const Nt = Ne.getVisibleLeafColumns(), { columnVirtualizer: yt, virtualPaddingLeft: ht, virtualPaddingRight: It } = jr({
|
|
4471
4464
|
visibleColumns: Nt,
|
|
4472
4465
|
tableContainerRef: rt,
|
|
4473
4466
|
columnPinning: A,
|
|
@@ -4478,18 +4471,18 @@ const Qr = 24, Xr = () => {
|
|
|
4478
4471
|
if (!S || !f?.length) return;
|
|
4479
4472
|
const Q = new Set(hn.map((Pe) => Nt[Pe.index]?.id)), re = {};
|
|
4480
4473
|
let Oe = !1;
|
|
4481
|
-
Ne.getAllLeafColumns().filter((Pe) =>
|
|
4474
|
+
Ne.getAllLeafColumns().filter((Pe) => Yr(Pe.id, f)).forEach((Pe) => {
|
|
4482
4475
|
const He = Q.has(Pe.id);
|
|
4483
4476
|
yn.current[Pe.id] !== He && (re[Pe.id] = He, Oe = !0, yn.current[Pe.id] = He);
|
|
4484
4477
|
}), Oe && S(re);
|
|
4485
4478
|
}, [hn, S, f, Nt, Ne]);
|
|
4486
|
-
const In =
|
|
4479
|
+
const In = Hr(Ne, J), { powerLicense: bn } = Co(), [as, { isLoaded: wn, isLoading: Cn }] = Uo({
|
|
4487
4480
|
addon: "powerpack",
|
|
4488
4481
|
remote: "views",
|
|
4489
4482
|
module: "SummaryCellContent",
|
|
4490
|
-
fallback:
|
|
4483
|
+
fallback: Xr,
|
|
4491
4484
|
skip: !v || !bn
|
|
4492
|
-
}),
|
|
4485
|
+
}), ls = v && bn && (wn || Cn) && !!lt.length, cs = Cn || !wn, ds = j(() => {
|
|
4493
4486
|
const Q = /* @__PURE__ */ new Set(), re = /* @__PURE__ */ new Set();
|
|
4494
4487
|
for (const Oe of de) {
|
|
4495
4488
|
const { rowId: be, colId: Pe } = he(Oe) || {};
|
|
@@ -4498,9 +4491,9 @@ const Qr = 24, Xr = () => {
|
|
|
4498
4491
|
He && (Pe === ge ? re.add(He) : Q.add(He));
|
|
4499
4492
|
}
|
|
4500
4493
|
return Q.size || re.size;
|
|
4501
|
-
}, [de, Me]), { getRowHeight:
|
|
4494
|
+
}, [de, Me]), { getRowHeight: us, defaultRowHeight: Tn } = Qr(), fs = j(() => We.reduce((Q, re) => (re.data?.enum?.length && (Q[re.name] = re.data?.enum), Q), {}), [We]), ps = j(() => pe.map((Q) => Q.id), [pe]), gs = j(() => z.filter(
|
|
4502
4495
|
(Q) => Q !== Be && Q !== ge
|
|
4503
|
-
), [z]),
|
|
4496
|
+
), [z]), ms = j(() => !l || !I ? null : pe.find((Q) => Q.id === l), [l, pe, I]), ys = q(
|
|
4504
4497
|
(Q) => {
|
|
4505
4498
|
if (n?.(Q), o) {
|
|
4506
4499
|
const re = Q.currentTarget;
|
|
@@ -4516,19 +4509,19 @@ const Qr = 24, Xr = () => {
|
|
|
4516
4509
|
},
|
|
4517
4510
|
[n, o, k, ie, M, Ze]
|
|
4518
4511
|
), Sn = /* @__PURE__ */ W(
|
|
4519
|
-
|
|
4512
|
+
br,
|
|
4520
4513
|
{
|
|
4521
4514
|
entitiesMap: ke,
|
|
4522
|
-
columnEnums: { ...tt, ...
|
|
4515
|
+
columnEnums: { ...tt, ...fs },
|
|
4523
4516
|
columnReadOnly: ae,
|
|
4524
4517
|
visibleColumns: Nt,
|
|
4525
|
-
children: /* @__PURE__ */ Ge(
|
|
4518
|
+
children: /* @__PURE__ */ Ge(Ks, { ...O, children: [
|
|
4526
4519
|
/* @__PURE__ */ W(
|
|
4527
|
-
|
|
4520
|
+
qs,
|
|
4528
4521
|
{
|
|
4529
4522
|
ref: rt,
|
|
4530
4523
|
style: { height: "100%", padding: 0 },
|
|
4531
|
-
onScroll:
|
|
4524
|
+
onScroll: ys,
|
|
4532
4525
|
...F?.container,
|
|
4533
4526
|
"data-column-dnd-container": !0,
|
|
4534
4527
|
className: qe(
|
|
@@ -4555,7 +4548,7 @@ const Qr = 24, Xr = () => {
|
|
|
4555
4548
|
},
|
|
4556
4549
|
children: [
|
|
4557
4550
|
/* @__PURE__ */ W(
|
|
4558
|
-
|
|
4551
|
+
Jr,
|
|
4559
4552
|
{
|
|
4560
4553
|
columnVirtualizer: yt,
|
|
4561
4554
|
table: Ne,
|
|
@@ -4564,12 +4557,12 @@ const Qr = 24, Xr = () => {
|
|
|
4564
4557
|
isLoading: Ze,
|
|
4565
4558
|
readOnlyColumns: fe,
|
|
4566
4559
|
sortableRows: I,
|
|
4567
|
-
columnOrderIds:
|
|
4560
|
+
columnOrderIds: gs,
|
|
4568
4561
|
...F?.head
|
|
4569
4562
|
}
|
|
4570
4563
|
),
|
|
4571
4564
|
/* @__PURE__ */ W(
|
|
4572
|
-
|
|
4565
|
+
ti,
|
|
4573
4566
|
{
|
|
4574
4567
|
columnVirtualizer: yt,
|
|
4575
4568
|
table: Ne,
|
|
@@ -4579,32 +4572,32 @@ const Qr = 24, Xr = () => {
|
|
|
4579
4572
|
showHierarchy: ie,
|
|
4580
4573
|
attribs: We,
|
|
4581
4574
|
onOpenNew: s,
|
|
4582
|
-
rowOrderIds:
|
|
4575
|
+
rowOrderIds: ps,
|
|
4583
4576
|
sortableRows: I,
|
|
4584
4577
|
error: Re,
|
|
4585
4578
|
isFilterError: Rt,
|
|
4586
4579
|
filterErrorMessage: Pt,
|
|
4587
4580
|
isLoading: Ze,
|
|
4588
4581
|
isGrouping: ft,
|
|
4589
|
-
getRowHeight:
|
|
4582
|
+
getRowHeight: us,
|
|
4590
4583
|
defaultRowHeight: Tn,
|
|
4591
4584
|
onResetView: vt,
|
|
4592
4585
|
contextMenuItems: R,
|
|
4593
4586
|
onVisibleRowsChange: L
|
|
4594
4587
|
}
|
|
4595
4588
|
),
|
|
4596
|
-
|
|
4597
|
-
|
|
4589
|
+
ls && !Re && /* @__PURE__ */ W(
|
|
4590
|
+
io,
|
|
4598
4591
|
{
|
|
4599
4592
|
columnVirtualizer: yt,
|
|
4600
4593
|
table: Ne,
|
|
4601
4594
|
virtualPaddingLeft: ht,
|
|
4602
4595
|
virtualPaddingRight: It,
|
|
4603
|
-
isLoading:
|
|
4596
|
+
isLoading: cs,
|
|
4604
4597
|
statsLoading: !!C,
|
|
4605
4598
|
error: c,
|
|
4606
4599
|
renderCellContent: (Q) => /* @__PURE__ */ W(
|
|
4607
|
-
|
|
4600
|
+
as,
|
|
4608
4601
|
{
|
|
4609
4602
|
columnId: Q,
|
|
4610
4603
|
attribs: We,
|
|
@@ -4619,7 +4612,7 @@ const Qr = 24, Xr = () => {
|
|
|
4619
4612
|
mainCountLabels: u,
|
|
4620
4613
|
fieldOptions: tt,
|
|
4621
4614
|
parentScopeApplicable: ot,
|
|
4622
|
-
selectedCount:
|
|
4615
|
+
selectedCount: ds,
|
|
4623
4616
|
mainBreakdownFields: E
|
|
4624
4617
|
}
|
|
4625
4618
|
)
|
|
@@ -4630,11 +4623,11 @@ const Qr = 24, Xr = () => {
|
|
|
4630
4623
|
)
|
|
4631
4624
|
}
|
|
4632
4625
|
),
|
|
4633
|
-
H && /* @__PURE__ */ W(
|
|
4626
|
+
H && /* @__PURE__ */ W(Qs, { children: /* @__PURE__ */ W(zo, { variant: "warning", message: H, action: Ce }) })
|
|
4634
4627
|
] })
|
|
4635
4628
|
}
|
|
4636
|
-
),
|
|
4637
|
-
/* @__PURE__ */ W(Jn, { dropAnimation: null, children:
|
|
4629
|
+
), hs = I && l && Ht(
|
|
4630
|
+
/* @__PURE__ */ W(Jn, { dropAnimation: null, children: ms ? (() => {
|
|
4638
4631
|
const Q = Ne.getRowModel().rows.find((Oe) => Oe.id === l);
|
|
4639
4632
|
if (!Q) return null;
|
|
4640
4633
|
const re = Ne.getTotalSize();
|
|
@@ -4672,7 +4665,7 @@ const Qr = 24, Xr = () => {
|
|
|
4672
4665
|
},
|
|
4673
4666
|
`overlay-drag-${be.id}`
|
|
4674
4667
|
) : /* @__PURE__ */ W(
|
|
4675
|
-
|
|
4668
|
+
rs,
|
|
4676
4669
|
{
|
|
4677
4670
|
cell: be,
|
|
4678
4671
|
cellId: `overlay-${_e(Q.id, be.column.id)}`,
|
|
@@ -4691,7 +4684,7 @@ const Qr = 24, Xr = () => {
|
|
|
4691
4684
|
);
|
|
4692
4685
|
return I ? /* @__PURE__ */ Ge(vn, { children: [
|
|
4693
4686
|
Sn,
|
|
4694
|
-
|
|
4687
|
+
hs,
|
|
4695
4688
|
/* @__PURE__ */ W(Bn, { table: Ne }),
|
|
4696
4689
|
/* @__PURE__ */ W(Ln, {})
|
|
4697
4690
|
] }) : /* @__PURE__ */ Ge(vn, { children: [
|
|
@@ -4700,7 +4693,7 @@ const Qr = 24, Xr = () => {
|
|
|
4700
4693
|
/* @__PURE__ */ W(Ln, {})
|
|
4701
4694
|
] });
|
|
4702
4695
|
}, Bn = ({ table: t }) => {
|
|
4703
|
-
const { active: e } =
|
|
4696
|
+
const { active: e } = Mo(), o = e?.data?.current?.type === "column" ? e?.id : null, s = j(() => o && t.getHeaderGroups()[0]?.headers.find((m) => m.id === o) || null, [o, t]);
|
|
4704
4697
|
return !o || !s ? null : Ht(
|
|
4705
4698
|
/* @__PURE__ */ W(Jn, { dropAnimation: null, children: /* @__PURE__ */ W(
|
|
4706
4699
|
jn,
|
|
@@ -4721,53 +4714,53 @@ const Qr = 24, Xr = () => {
|
|
|
4721
4714
|
) }),
|
|
4722
4715
|
document.body
|
|
4723
4716
|
);
|
|
4724
|
-
},
|
|
4717
|
+
}, Jr = ({
|
|
4725
4718
|
columnVirtualizer: t,
|
|
4726
4719
|
table: e,
|
|
4727
4720
|
virtualPaddingLeft: n,
|
|
4728
4721
|
virtualPaddingRight: o,
|
|
4729
4722
|
isLoading: s,
|
|
4730
|
-
readOnlyColumns:
|
|
4723
|
+
readOnlyColumns: m,
|
|
4731
4724
|
sortableRows: h,
|
|
4732
4725
|
columnOrderIds: w,
|
|
4733
4726
|
...i
|
|
4734
|
-
}) => /* @__PURE__ */ W(
|
|
4735
|
-
|
|
4727
|
+
}) => /* @__PURE__ */ W(Ys, { ...i, children: e.getHeaderGroups().map((d) => /* @__PURE__ */ W(
|
|
4728
|
+
Zr,
|
|
4736
4729
|
{
|
|
4737
4730
|
columnVirtualizer: t,
|
|
4738
4731
|
headerGroup: d,
|
|
4739
4732
|
virtualPaddingLeft: n,
|
|
4740
4733
|
virtualPaddingRight: o,
|
|
4741
4734
|
isLoading: s,
|
|
4742
|
-
readOnlyColumns:
|
|
4735
|
+
readOnlyColumns: m,
|
|
4743
4736
|
sortableRows: h,
|
|
4744
4737
|
columnOrderIds: w
|
|
4745
4738
|
},
|
|
4746
4739
|
d.id
|
|
4747
|
-
)) }),
|
|
4740
|
+
)) }), Zr = ({
|
|
4748
4741
|
columnVirtualizer: t,
|
|
4749
4742
|
headerGroup: e,
|
|
4750
4743
|
virtualPaddingLeft: n,
|
|
4751
4744
|
virtualPaddingRight: o,
|
|
4752
4745
|
isLoading: s,
|
|
4753
|
-
readOnlyColumns:
|
|
4746
|
+
readOnlyColumns: m,
|
|
4754
4747
|
sortableRows: h,
|
|
4755
4748
|
columnOrderIds: w
|
|
4756
4749
|
}) => {
|
|
4757
4750
|
const i = t.getVirtualItems();
|
|
4758
|
-
return /* @__PURE__ */ Ge(
|
|
4751
|
+
return /* @__PURE__ */ Ge(no, { style: { display: "flex" }, children: [
|
|
4759
4752
|
n ? (
|
|
4760
4753
|
//fake empty column to the left for virtualization scroll padding
|
|
4761
4754
|
/* @__PURE__ */ W("th", { style: { display: "flex", width: n } })
|
|
4762
4755
|
) : null,
|
|
4763
|
-
/* @__PURE__ */ W(Zn, { items: w, strategy:
|
|
4756
|
+
/* @__PURE__ */ W(Zn, { items: w, strategy: Vo, children: i.map((d) => {
|
|
4764
4757
|
const a = e.headers[d.index], y = a.id !== Be && a.id !== ge;
|
|
4765
4758
|
return /* @__PURE__ */ W(
|
|
4766
|
-
|
|
4759
|
+
ei,
|
|
4767
4760
|
{
|
|
4768
4761
|
header: a,
|
|
4769
4762
|
isLoading: s,
|
|
4770
|
-
isReadOnly:
|
|
4763
|
+
isReadOnly: m?.includes(a.id),
|
|
4771
4764
|
canSort: a.column.getCanSort(),
|
|
4772
4765
|
canFilter: a.column.getCanFilter(),
|
|
4773
4766
|
canHide: a.column.getCanHide(),
|
|
@@ -4784,19 +4777,19 @@ const Qr = 24, Xr = () => {
|
|
|
4784
4777
|
/* @__PURE__ */ W("th", { style: { display: "flex", width: o } })
|
|
4785
4778
|
) : null
|
|
4786
4779
|
] }, e.id);
|
|
4787
|
-
},
|
|
4780
|
+
}, ei = ({
|
|
4788
4781
|
header: t,
|
|
4789
4782
|
isLoading: e,
|
|
4790
4783
|
canFilter: n,
|
|
4791
4784
|
canHide: o,
|
|
4792
4785
|
canSort: s,
|
|
4793
|
-
canPin:
|
|
4786
|
+
canPin: m,
|
|
4794
4787
|
canResize: h,
|
|
4795
4788
|
isReadOnly: w,
|
|
4796
4789
|
sortableRows: i,
|
|
4797
4790
|
isDraggable: d = !0
|
|
4798
4791
|
}) => {
|
|
4799
|
-
const { column: a } = t, y = a.getIsSorted(),
|
|
4792
|
+
const { column: a } = t, y = a.getIsSorted(), g = `column-header-menu-${a.id}`, { menuOpen: T } = Xn(), b = T === g, { columnPinning: P, sorting: I, updateSorting: r } = nt(), l = (S) => {
|
|
4800
4793
|
const f = I?.find((F) => F.id === a.id);
|
|
4801
4794
|
if (S.shiftKey && I?.length) {
|
|
4802
4795
|
const F = f ? f.desc ? I.filter((O) => O.id !== a.id) : I.map((O) => O.id === a.id ? { ...O, desc: !0 } : O) : [...I, { id: a.id, desc: !1 }];
|
|
@@ -4843,17 +4836,17 @@ const Qr = 24, Xr = () => {
|
|
|
4843
4836
|
children: [
|
|
4844
4837
|
dn(a.columnDef.header, t.getContext()),
|
|
4845
4838
|
w && /* @__PURE__ */ W(pn, { icon: "lock", "data-tooltip": "You only have permission to read this column." }),
|
|
4846
|
-
/* @__PURE__ */ Ge(
|
|
4847
|
-
(o ||
|
|
4848
|
-
|
|
4839
|
+
/* @__PURE__ */ Ge(so, { className: "actions", $isOpen: b, ...R, children: [
|
|
4840
|
+
(o || m || s) && /* @__PURE__ */ W(
|
|
4841
|
+
Wr,
|
|
4849
4842
|
{
|
|
4850
4843
|
className: "header-menu",
|
|
4851
4844
|
header: t,
|
|
4852
4845
|
canHide: o,
|
|
4853
|
-
canPin:
|
|
4846
|
+
canPin: m,
|
|
4854
4847
|
canSort: s,
|
|
4855
4848
|
isResizing: a.getIsResizing(),
|
|
4856
|
-
menuId:
|
|
4849
|
+
menuId: g,
|
|
4857
4850
|
isOpen: b
|
|
4858
4851
|
}
|
|
4859
4852
|
),
|
|
@@ -4869,7 +4862,7 @@ const Qr = 24, Xr = () => {
|
|
|
4869
4862
|
selected: !!a.getIsSorted()
|
|
4870
4863
|
}
|
|
4871
4864
|
),
|
|
4872
|
-
s && p > -1 && /* @__PURE__ */ W(
|
|
4865
|
+
s && p > -1 && /* @__PURE__ */ W(oo, { className: "sort-index", children: p + 1 }),
|
|
4873
4866
|
a.getIsPinned() && a.id !== ge && a.id !== Be && /* @__PURE__ */ W(
|
|
4874
4867
|
Pn,
|
|
4875
4868
|
{
|
|
@@ -4881,7 +4874,7 @@ const Qr = 24, Xr = () => {
|
|
|
4881
4874
|
)
|
|
4882
4875
|
] }),
|
|
4883
4876
|
h && /* @__PURE__ */ W(
|
|
4884
|
-
|
|
4877
|
+
ro,
|
|
4885
4878
|
{
|
|
4886
4879
|
onDoubleClick: () => a.resetSize(),
|
|
4887
4880
|
onMouseDown: (S) => {
|
|
@@ -4900,20 +4893,20 @@ const Qr = 24, Xr = () => {
|
|
|
4900
4893
|
},
|
|
4901
4894
|
t.id
|
|
4902
4895
|
);
|
|
4903
|
-
},
|
|
4896
|
+
}, ti = ({
|
|
4904
4897
|
columnVirtualizer: t,
|
|
4905
4898
|
table: e,
|
|
4906
4899
|
tableContainerRef: n,
|
|
4907
4900
|
showHierarchy: o,
|
|
4908
4901
|
virtualPaddingLeft: s,
|
|
4909
|
-
virtualPaddingRight:
|
|
4902
|
+
virtualPaddingRight: m,
|
|
4910
4903
|
attribs: h,
|
|
4911
4904
|
onOpenNew: w,
|
|
4912
4905
|
rowOrderIds: i,
|
|
4913
4906
|
sortableRows: d,
|
|
4914
4907
|
error: a,
|
|
4915
4908
|
isFilterError: y,
|
|
4916
|
-
filterErrorMessage:
|
|
4909
|
+
filterErrorMessage: g,
|
|
4917
4910
|
isLoading: T,
|
|
4918
4911
|
isGrouping: b,
|
|
4919
4912
|
getRowHeight: P,
|
|
@@ -4925,7 +4918,7 @@ const Qr = 24, Xr = () => {
|
|
|
4925
4918
|
const v = j(() => e.getAllColumns().map((O) => {
|
|
4926
4919
|
const _ = O.id, A = O.columnDef.header;
|
|
4927
4920
|
return typeof A == "string" || typeof A == "number" ? { label: A, id: _ } : null;
|
|
4928
|
-
}).filter(Boolean), [e.getAllColumns()]), $ =
|
|
4921
|
+
}).filter(Boolean), [e.getAllColumns()]), $ = Sr({
|
|
4929
4922
|
attribs: h,
|
|
4930
4923
|
onOpenNew: w,
|
|
4931
4924
|
headerLabels: v,
|
|
@@ -4952,7 +4945,7 @@ const Qr = 24, Xr = () => {
|
|
|
4952
4945
|
},
|
|
4953
4946
|
[c]
|
|
4954
4947
|
);
|
|
4955
|
-
|
|
4948
|
+
Kr();
|
|
4956
4949
|
const R = e.getVisibleLeafColumns(), S = j(() => {
|
|
4957
4950
|
const L = [], F = [];
|
|
4958
4951
|
for (let O = 0; O < R.length - 1; O++) {
|
|
@@ -4970,18 +4963,18 @@ const Qr = 24, Xr = () => {
|
|
|
4970
4963
|
},
|
|
4971
4964
|
onContextMenu: $,
|
|
4972
4965
|
children: [
|
|
4973
|
-
/* @__PURE__ */ W(
|
|
4966
|
+
/* @__PURE__ */ W(Js, { "aria-hidden": !0, children: S.map((L, F) => /* @__PURE__ */ W("div", { style: { left: L } }, F)) }),
|
|
4974
4967
|
u.map((L) => {
|
|
4975
4968
|
const F = C[L.index];
|
|
4976
4969
|
return F ? /* @__PURE__ */ W(
|
|
4977
|
-
|
|
4970
|
+
ni,
|
|
4978
4971
|
{
|
|
4979
4972
|
row: F,
|
|
4980
4973
|
showHierarchy: o,
|
|
4981
4974
|
visibleCells: F.getVisibleCells(),
|
|
4982
4975
|
virtualColumns: t.getVirtualItems(),
|
|
4983
4976
|
paddingLeft: s,
|
|
4984
|
-
paddingRight:
|
|
4977
|
+
paddingRight: m,
|
|
4985
4978
|
rowRef: k,
|
|
4986
4979
|
dataIndex: L.index,
|
|
4987
4980
|
offsetTop: L.start,
|
|
@@ -4996,7 +4989,7 @@ const Qr = 24, Xr = () => {
|
|
|
4996
4989
|
}
|
|
4997
4990
|
);
|
|
4998
4991
|
return a ? n.current && Ht(
|
|
4999
|
-
/* @__PURE__ */ W(kn, { children: y ? /* @__PURE__ */ Ge(sn, { message:
|
|
4992
|
+
/* @__PURE__ */ W(kn, { children: y ? /* @__PURE__ */ Ge(sn, { message: g, icon: "filter_alt_off", children: [
|
|
5000
4993
|
r && /* @__PURE__ */ W(
|
|
5001
4994
|
tn,
|
|
5002
4995
|
{
|
|
@@ -5006,7 +4999,7 @@ const Qr = 24, Xr = () => {
|
|
|
5006
4999
|
onClick: r
|
|
5007
5000
|
}
|
|
5008
5001
|
),
|
|
5009
|
-
/* @__PURE__ */ W(
|
|
5002
|
+
/* @__PURE__ */ W(Bo, { errorMessage: qn(a) })
|
|
5010
5003
|
] }) : /* @__PURE__ */ W(sn, { message: "No items found", error: a, children: r && /* @__PURE__ */ W(
|
|
5011
5004
|
tn,
|
|
5012
5005
|
{
|
|
@@ -5020,14 +5013,14 @@ const Qr = 24, Xr = () => {
|
|
|
5020
5013
|
) : !C.length && !T ? n.current && Ht(
|
|
5021
5014
|
/* @__PURE__ */ W(kn, { children: /* @__PURE__ */ W(sn, { message: "No items found", children: r && /* @__PURE__ */ W(tn, { variant: "filled", label: "Reset filters", icon: "replay", onClick: r }) }) }),
|
|
5022
5015
|
n.current
|
|
5023
|
-
) : d ? /* @__PURE__ */ W(Zn, { items: i, strategy:
|
|
5024
|
-
},
|
|
5016
|
+
) : d ? /* @__PURE__ */ W(Zn, { items: i, strategy: $o, children: f }) : f;
|
|
5017
|
+
}, ni = ({
|
|
5025
5018
|
row: t,
|
|
5026
5019
|
showHierarchy: e,
|
|
5027
5020
|
visibleCells: n,
|
|
5028
5021
|
virtualColumns: o,
|
|
5029
5022
|
paddingLeft: s,
|
|
5030
|
-
paddingRight:
|
|
5023
|
+
paddingRight: m,
|
|
5031
5024
|
rowRef: h,
|
|
5032
5025
|
dataIndex: w,
|
|
5033
5026
|
offsetTop: i,
|
|
@@ -5035,11 +5028,11 @@ const Qr = 24, Xr = () => {
|
|
|
5035
5028
|
isGrouping: a = !1,
|
|
5036
5029
|
rowHeight: y
|
|
5037
5030
|
}) => {
|
|
5038
|
-
const
|
|
5031
|
+
const g = d ? es({ id: t.id }) : null, T = je(null), b = q(
|
|
5039
5032
|
(I) => {
|
|
5040
|
-
T.current = I,
|
|
5033
|
+
T.current = I, g && g.setNodeRef(I), g && g.isDragging || h(I);
|
|
5041
5034
|
},
|
|
5042
|
-
[
|
|
5035
|
+
[g, h]
|
|
5043
5036
|
), P = {
|
|
5044
5037
|
position: "absolute",
|
|
5045
5038
|
// Use absolute positioning for virtualized items
|
|
@@ -5051,14 +5044,14 @@ const Qr = 24, Xr = () => {
|
|
|
5051
5044
|
// Span full width
|
|
5052
5045
|
height: y,
|
|
5053
5046
|
// Use dynamic row height
|
|
5054
|
-
zIndex:
|
|
5047
|
+
zIndex: g && g.isDragging ? 0 : 1,
|
|
5055
5048
|
// Ensure dragged item is above others
|
|
5056
5049
|
display: "flex",
|
|
5057
5050
|
// Styled.TR is display:flex
|
|
5058
|
-
transform:
|
|
5051
|
+
transform: g && g.transform ? ts.Transform.toString(g.transform) : void 0,
|
|
5059
5052
|
// Apply dnd-kit's transform for drag effect
|
|
5060
|
-
transition:
|
|
5061
|
-
visibility:
|
|
5053
|
+
transition: g && g.transition ? g.transition : void 0,
|
|
5054
|
+
visibility: g && g.isDragging ? "hidden" : "visible"
|
|
5062
5055
|
// Hide the row being dragged
|
|
5063
5056
|
};
|
|
5064
5057
|
return /* @__PURE__ */ Ge(
|
|
@@ -5100,16 +5093,16 @@ const Qr = 24, Xr = () => {
|
|
|
5100
5093
|
p.preventDefault(), p.stopPropagation();
|
|
5101
5094
|
},
|
|
5102
5095
|
children: /* @__PURE__ */ W(
|
|
5103
|
-
|
|
5096
|
+
Gr,
|
|
5104
5097
|
{
|
|
5105
|
-
attributes:
|
|
5106
|
-
listeners:
|
|
5098
|
+
attributes: g?.attributes,
|
|
5099
|
+
listeners: g?.listeners
|
|
5107
5100
|
}
|
|
5108
5101
|
)
|
|
5109
5102
|
},
|
|
5110
5103
|
r.id
|
|
5111
5104
|
) : /* @__PURE__ */ W(
|
|
5112
|
-
|
|
5105
|
+
rs,
|
|
5113
5106
|
{
|
|
5114
5107
|
cell: r,
|
|
5115
5108
|
cellId: l,
|
|
@@ -5121,27 +5114,27 @@ const Qr = 24, Xr = () => {
|
|
|
5121
5114
|
r.id
|
|
5122
5115
|
);
|
|
5123
5116
|
}),
|
|
5124
|
-
|
|
5117
|
+
m ? (
|
|
5125
5118
|
//fake empty column to the right for virtualization scroll padding
|
|
5126
|
-
/* @__PURE__ */ W("td", { style: { display: "flex", width:
|
|
5119
|
+
/* @__PURE__ */ W("td", { style: { display: "flex", width: m } })
|
|
5127
5120
|
) : null
|
|
5128
5121
|
]
|
|
5129
5122
|
}
|
|
5130
5123
|
);
|
|
5131
|
-
},
|
|
5124
|
+
}, rs = ({
|
|
5132
5125
|
cell: t,
|
|
5133
5126
|
rowId: e,
|
|
5134
5127
|
cellId: n,
|
|
5135
5128
|
className: o,
|
|
5136
5129
|
showHierarchy: s,
|
|
5137
|
-
sortableRows:
|
|
5130
|
+
sortableRows: m,
|
|
5138
5131
|
rowHeight: h,
|
|
5139
5132
|
...w
|
|
5140
5133
|
}) => {
|
|
5141
5134
|
const { getEntityById: i, onOpenPlayer: d } = Ke(), {
|
|
5142
5135
|
isCellSelected: a,
|
|
5143
5136
|
isCellFocused: y,
|
|
5144
|
-
startSelection:
|
|
5137
|
+
startSelection: g,
|
|
5145
5138
|
extendSelection: T,
|
|
5146
5139
|
endSelection: b,
|
|
5147
5140
|
selectCell: P,
|
|
@@ -5152,7 +5145,7 @@ const Qr = 24, Xr = () => {
|
|
|
5152
5145
|
setSelectedCells: v,
|
|
5153
5146
|
setAnchorCell: x,
|
|
5154
5147
|
setFocusedCellId: $
|
|
5155
|
-
} = Ye(), { isRowSelected: C } =
|
|
5148
|
+
} = Ye(), { isRowSelected: C } = Zs(), { isEditing: c, setEditingCellId: u, editingCellId: E } = ut(), k = r(n), S = t.column.getIsPinned() === "left" && t.column.getIsLastColumn("left"), f = t.column.id === ge, L = !!t.row.original.group, F = p.size > 1;
|
|
5156
5149
|
return /* @__PURE__ */ W(
|
|
5157
5150
|
fn,
|
|
5158
5151
|
{
|
|
@@ -5167,7 +5160,7 @@ const Qr = 24, Xr = () => {
|
|
|
5167
5160
|
editing: c(n),
|
|
5168
5161
|
"last-pinned-left": S,
|
|
5169
5162
|
"selected-row": C(e),
|
|
5170
|
-
expandable: !L && !!t.row.originalSubRows &&
|
|
5163
|
+
expandable: !L && !!t.row.originalSubRows && to(t.row.original.primary.entityType),
|
|
5171
5164
|
"multiple-selected": F
|
|
5172
5165
|
},
|
|
5173
5166
|
o,
|
|
@@ -5183,12 +5176,12 @@ const Qr = 24, Xr = () => {
|
|
|
5183
5176
|
const _ = O.target;
|
|
5184
5177
|
if (_.closest(".expander") || _.closest(".options")) return;
|
|
5185
5178
|
if (O.currentTarget.focus(), O.detail === 2) {
|
|
5186
|
-
if (
|
|
5179
|
+
if (eo(O) && t.column.id !== "comments" || Wt(t.row.original.primary.entityType) || L) {
|
|
5187
5180
|
O.preventDefault();
|
|
5188
5181
|
return;
|
|
5189
5182
|
}
|
|
5190
5183
|
if (["name", "comments"].includes(t.column.id) && !_.closest(".expander")) {
|
|
5191
|
-
t.column.id === "comments" &&
|
|
5184
|
+
t.column.id === "comments" && To("overview", "feed");
|
|
5192
5185
|
const ee = _e(t.row.id, ge), le = O.metaKey || O.ctrlKey, oe = he(ee);
|
|
5193
5186
|
v((me) => {
|
|
5194
5187
|
const Ee = le ? new Set(me) : /* @__PURE__ */ new Set();
|
|
@@ -5228,7 +5221,7 @@ const Qr = 24, Xr = () => {
|
|
|
5228
5221
|
z();
|
|
5229
5222
|
function z() {
|
|
5230
5223
|
const J = O.metaKey || O.ctrlKey || f;
|
|
5231
|
-
O.shiftKey ? P(n, J, !0) :
|
|
5224
|
+
O.shiftKey ? P(n, J, !0) : g(n, J), O.preventDefault();
|
|
5232
5225
|
}
|
|
5233
5226
|
},
|
|
5234
5227
|
onMouseOver: (O) => {
|
|
@@ -5253,195 +5246,194 @@ const Qr = 24, Xr = () => {
|
|
|
5253
5246
|
);
|
|
5254
5247
|
};
|
|
5255
5248
|
export {
|
|
5256
|
-
|
|
5257
|
-
|
|
5249
|
+
Gl as ALWAYS_VISIBLE_COLUMNS,
|
|
5250
|
+
Fa as BooleanWidget,
|
|
5258
5251
|
bt as BorderPosition,
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5252
|
+
Hl as CELL_PADDING_Y,
|
|
5253
|
+
Na as COLUMN_ICONS,
|
|
5254
|
+
Ma as COLUMN_LABELS,
|
|
5255
|
+
$a as COLUMN_MIN_SIZE,
|
|
5256
|
+
Va as COLUMN_SORT_CONFIG,
|
|
5257
|
+
Ws as CellEditingContext,
|
|
5258
|
+
Aa as CellEditingProvider,
|
|
5259
|
+
za as CellWidget,
|
|
5260
|
+
Ls as ClipboardContext,
|
|
5261
|
+
br as ClipboardProvider,
|
|
5262
|
+
Ba as CollapsedWidget,
|
|
5263
|
+
Da as ColumnDndProvider,
|
|
5264
|
+
Wr as ColumnHeaderMenu,
|
|
5265
|
+
_s as ColumnSettingsContext,
|
|
5266
|
+
oa as ColumnSettingsProvider,
|
|
5267
|
+
Ea as DEFAULT_MAIN_COUNT_LABELS,
|
|
5268
|
+
Ca as DEFAULT_ROW_SCOPE,
|
|
5269
|
+
ha as DEFAULT_SUMMARY_FORMAT,
|
|
5277
5270
|
Be as DRAG_HANDLE_COLUMN_ID,
|
|
5278
|
-
|
|
5279
|
-
|
|
5280
|
-
|
|
5271
|
+
Ua as DateWidget,
|
|
5272
|
+
Fs as DetailsPanelEntityContext,
|
|
5273
|
+
ra as DetailsPanelEntityProvider,
|
|
5281
5274
|
Rn as EDIT_TRIGGER_CLASS,
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5275
|
+
Ga as ENTITY_COLUMN_IDS,
|
|
5276
|
+
Wa as ENTITY_FIELD_SUPPORT,
|
|
5277
|
+
Ha as ENTITY_WIDGET_CLASS,
|
|
5278
|
+
ja as EmptyWidget,
|
|
5279
|
+
Ka as EntityNameWidget,
|
|
5280
|
+
qa as EntityWidget,
|
|
5281
|
+
Qa as EnumCellValue,
|
|
5282
|
+
Xa as EnumWidget,
|
|
5283
|
+
Ya as ErrorWidget,
|
|
5291
5284
|
an as GROUP_BY_ID,
|
|
5292
|
-
|
|
5285
|
+
Ja as GroupHeaderWidget,
|
|
5293
5286
|
Pn as HeaderActionButton,
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5287
|
+
Za as LEGACY_COLUMN_ID_ALIASES,
|
|
5288
|
+
el as LinksWidget,
|
|
5289
|
+
tl as MarkdownWidget,
|
|
5290
|
+
nl as MetaWidget,
|
|
5291
|
+
sl as NEXT_PAGE_ID,
|
|
5292
|
+
ns as NO_MATCH_FOLDER_ID,
|
|
5293
|
+
Ns as ProjectDataContext,
|
|
5294
|
+
ia as ProjectDataProvider,
|
|
5295
|
+
As as ProjectTableContext,
|
|
5296
|
+
sa as ProjectTableProvider,
|
|
5297
|
+
Ms as ProjectTableQueriesContext,
|
|
5298
|
+
aa as ProjectTableQueriesProvider,
|
|
5299
|
+
La as ProjectTreeTable,
|
|
5300
|
+
Hs as READ_ONLY,
|
|
5301
|
+
ol as RESTRICTED_ENTITY_ICON,
|
|
5302
|
+
rl as RESTRICTED_ENTITY_LABEL,
|
|
5303
|
+
il as RESTRICTED_ENTITY_NAME,
|
|
5304
|
+
al as RESTRICTED_ENTITY_TYPE,
|
|
5305
|
+
ll as ROW_ID_SEPARATOR,
|
|
5313
5306
|
ge as ROW_SELECTION_COLUMN_ID,
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5323
|
-
|
|
5324
|
-
|
|
5325
|
-
|
|
5307
|
+
Gr as RowDragHandleCellContent,
|
|
5308
|
+
cl as RowSelectionHeader,
|
|
5309
|
+
$s as SelectedRowsContext,
|
|
5310
|
+
la as SelectedRowsProvider,
|
|
5311
|
+
dl as SelectionCell,
|
|
5312
|
+
Gs as SelectionCellsContext,
|
|
5313
|
+
ya as SelectionCellsProvider,
|
|
5314
|
+
ul as StyledBaseTextWidget,
|
|
5315
|
+
fl as SubtasksWidget,
|
|
5316
|
+
Ql as TABLE_CONTAINER_ATTR,
|
|
5317
|
+
pl as TextWidget,
|
|
5318
|
+
gl as ThumbnailWidget,
|
|
5326
5319
|
xn as UNGROUPED_VALUE,
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5320
|
+
jl as WRAP_MIN_CELL_HEIGHT,
|
|
5321
|
+
Kl as WRAP_MIN_ROW_HEIGHT,
|
|
5322
|
+
Xl as allowedGroupByFields,
|
|
5323
|
+
Rs as buildFolderTableRow,
|
|
5324
|
+
ml as buildGroupId,
|
|
5325
|
+
yl as buildProductTableRow,
|
|
5326
|
+
Ar as buildQueryFilters,
|
|
5327
|
+
va as buildRowScope,
|
|
5328
|
+
wa as buildSummaryFormat,
|
|
5329
|
+
ks as buildTaskTableRow,
|
|
5330
|
+
hl as buildVersionTableRow,
|
|
5331
|
+
sr as builtInFieldMappings,
|
|
5339
5332
|
St as checkColumnVisibility,
|
|
5340
|
-
|
|
5333
|
+
jo as clientFilterToQueryFilter,
|
|
5341
5334
|
$e as clipboardError,
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5335
|
+
pr as commentsToText,
|
|
5336
|
+
tc as convertDateFilterToQueryFilter,
|
|
5337
|
+
xa as createLocalStorageKey,
|
|
5338
|
+
ka as createMetaRowId,
|
|
5339
|
+
ic as createRelativeValue,
|
|
5340
|
+
Zo as determineLoadingTaskFolders,
|
|
5341
|
+
ho as ensureAtLeastOneVisibleColumn,
|
|
5342
|
+
Ko as expandRelativeDates,
|
|
5343
|
+
Ia as formatHasCount,
|
|
5344
|
+
ba as formatHasPercent,
|
|
5345
|
+
Jo as generateDummyAttributes,
|
|
5353
5346
|
Tt as generateLoadingRows,
|
|
5354
|
-
|
|
5355
|
-
|
|
5347
|
+
Us as getBorderClasses,
|
|
5348
|
+
Il as getCellBorders,
|
|
5356
5349
|
_e as getCellId,
|
|
5357
5350
|
$t as getCellValue,
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5351
|
+
bl as getColumnIcon,
|
|
5352
|
+
wl as getColumnLabel,
|
|
5353
|
+
Bs as getColumnSortKey,
|
|
5361
5354
|
Kt as getColumnWidth,
|
|
5362
5355
|
qt as getCommonPinningStyles,
|
|
5363
|
-
|
|
5356
|
+
$r as getEntitiesLabelFromScopes,
|
|
5364
5357
|
dt as getEntityDataById,
|
|
5365
|
-
ns as getEntityPath,
|
|
5366
5358
|
mn as getEntityViewierIds,
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5359
|
+
Mr as getFilterErrorMessage,
|
|
5360
|
+
vr as getFolderIdsToQueryFromExpanded,
|
|
5361
|
+
Cl as getLinkColumnId,
|
|
5362
|
+
Ds as getLinkEntityIdsByColumnId,
|
|
5363
|
+
Tl as getLinkKey,
|
|
5364
|
+
Sl as getLinkLabel,
|
|
5365
|
+
Xs as getNameColumnLabel,
|
|
5366
|
+
nr as getReadOnlyLists,
|
|
5367
|
+
vl as getScopedColumnId,
|
|
5368
|
+
El as getScopedEntity,
|
|
5369
|
+
xl as getScopedValue,
|
|
5370
|
+
kl as getSortableColumnOptions,
|
|
5371
|
+
er as getTableFieldOptions,
|
|
5380
5372
|
rn as getTypeDefaultValue,
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5373
|
+
Rl as getValueIdType,
|
|
5374
|
+
Fr as hasActiveFilters,
|
|
5375
|
+
Ro as isAttribGroupable,
|
|
5376
|
+
Pl as isColumnSortable,
|
|
5377
|
+
to as isEntityExpandable,
|
|
5386
5378
|
Wt as isEntityRestricted,
|
|
5387
|
-
|
|
5388
|
-
|
|
5379
|
+
Al as isFieldSupported,
|
|
5380
|
+
Nr as isFilterError,
|
|
5389
5381
|
ln as isGroupId,
|
|
5390
|
-
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
|
|
5382
|
+
Dl as isLinkEditable,
|
|
5383
|
+
Ra as isMetaRowId,
|
|
5384
|
+
Pa as isMetaRowType,
|
|
5385
|
+
Ll as isMultiSelectAttribute,
|
|
5386
|
+
ac as isRelativeDateValue,
|
|
5387
|
+
lr as isSubtasksTSV,
|
|
5388
|
+
eo as isTargetReadOnly,
|
|
5397
5389
|
En as linksToTableData,
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
|
|
5390
|
+
Ol as normalizeColumnId,
|
|
5391
|
+
_l as normalizeColumnIdList,
|
|
5392
|
+
Os as normalizeColumnsConfig,
|
|
5401
5393
|
he as parseCellId,
|
|
5402
5394
|
Fn as parseClipboardText,
|
|
5403
|
-
|
|
5404
|
-
|
|
5395
|
+
Fl as parseGroupId,
|
|
5396
|
+
ss as parseMetaRowId,
|
|
5405
5397
|
Gn as parseRowId,
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5398
|
+
Nl as parseScopedColumnId,
|
|
5399
|
+
or as processFieldValue,
|
|
5400
|
+
nc as queryFilterToClientFilter,
|
|
5401
|
+
lc as resolveRelativeValue,
|
|
5402
|
+
os as sanitizeQueryFilter,
|
|
5403
|
+
cr as sanitizeSubtaskName,
|
|
5404
|
+
Ta as scopeHasGroups,
|
|
5405
|
+
Sa as scopeHasRows,
|
|
5406
|
+
fa as scopeIdsToFolders,
|
|
5407
|
+
Ml as sortEntityLinksByPath,
|
|
5408
|
+
na as subtaskToTSV,
|
|
5409
|
+
ar as subtasksToTSV,
|
|
5410
|
+
sc as tryMergeDatetimeRange,
|
|
5411
|
+
oc as tryMergeTextNullness,
|
|
5420
5412
|
on as tsvToSubtasks,
|
|
5421
5413
|
ut as useCellEditing,
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
|
|
5414
|
+
Lr as useCheckSelectedCellsVisible,
|
|
5415
|
+
zs as useClipboard,
|
|
5416
|
+
Po as useColumnDragRestriction,
|
|
5417
|
+
Or as useColumnGroupBy,
|
|
5426
5418
|
nt as useColumnSettingsContext,
|
|
5427
5419
|
Wn as useDetailsPanelEntityContext,
|
|
5428
|
-
|
|
5429
|
-
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5420
|
+
ua as useEntitiesMap,
|
|
5421
|
+
ma as useExpandedState,
|
|
5422
|
+
ca as useFetchOverviewData,
|
|
5423
|
+
xs as useGetEntityTypeData,
|
|
5424
|
+
Yl as useGetGroupedFields,
|
|
5425
|
+
Zl as useGroupCounts,
|
|
5426
|
+
$l as useOptionalCellEditing,
|
|
5427
|
+
Vl as useOptionalProjectTableContext,
|
|
5428
|
+
zl as useOptionalSelectedRowsContext,
|
|
5429
|
+
Bl as useOptionalSelectionCellsContext,
|
|
5438
5430
|
un as useProjectDataContext,
|
|
5439
5431
|
Ke as useProjectTableContext,
|
|
5440
|
-
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5432
|
+
Vs as useProjectTableQueriesContext,
|
|
5433
|
+
da as useQueryFilters,
|
|
5434
|
+
ga as useScopedAttributeFields,
|
|
5435
|
+
pa as useSelectedFolders,
|
|
5436
|
+
Zs as useSelectedRowsContext,
|
|
5445
5437
|
Ye as useSelectionCellsContext,
|
|
5446
|
-
|
|
5438
|
+
ir as validateClipboardData
|
|
5447
5439
|
};
|