@ynput/ayon-frontend-shared 0.8.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.es.js +39 -39
- package/dist/ListTable.es.js +738 -651
- package/dist/NewEntity.es.js +4 -2
- package/dist/ProjectTreeTable.es.js +4208 -4185
- package/dist/ProjectsTable.es.js +5 -4
- package/dist/Slicer.es.js +327 -294
- package/dist/Views.es.js +725 -713
- package/dist/chunks/ColumnDropIndicator.es.js +33 -27
- package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +44 -38
- package/dist/chunks/EntityPickerDialog.es.js +19 -19
- package/dist/chunks/Feed.es.js +112 -110
- package/dist/chunks/FilmstripEntityCard.es.js +2 -2
- package/dist/chunks/GroupSettingsFallback.es.js +3 -2
- package/dist/chunks/MetaWidget.es.js +828 -809
- package/dist/chunks/NewEntityContextInstance.es.js +6 -5
- package/dist/chunks/ReviewablesSelector.es.js +76 -76
- package/dist/chunks/SimpleTable.es.js +151 -149
- package/dist/chunks/Slicer.es.js +637 -617
- package/dist/chunks/TableExportContextInstance.es.js +415 -471
- package/dist/chunks/ThumbnailSimple.es.js +11 -11
- package/dist/chunks/Watchers.es.js +46 -46
- package/dist/chunks/getUris.es.js +1069 -1057
- package/dist/chunks/searchTerms.es.js +617 -581
- package/dist/chunks/useCreateContextMenu.es.js +15 -13
- package/dist/chunks/useLocalStorage.es.js +78 -0
- package/dist/components.es.js +916 -884
- package/dist/context.es.js +348 -337
- package/dist/hooks.es.js +218 -187
- package/dist/index.es.js +11 -10
- package/dist/types/Actions.d.ts +17 -16
- package/dist/types/ContextMenu.d.ts +18 -17
- package/dist/types/DetailsPanel.d.ts +17 -16
- package/dist/types/EntityPickerDialog.d.ts +17 -16
- package/dist/types/Feed.d.ts +18 -17
- package/dist/types/ListTable.d.ts +28 -18
- package/dist/types/NewEntity.d.ts +19 -16
- package/dist/types/ProjectTreeTable.d.ts +62 -19
- package/dist/types/ProjectsTable.d.ts +18 -17
- package/dist/types/RepresentationsList.d.ts +17 -16
- package/dist/types/SimpleTable.d.ts +18 -17
- package/dist/types/Slicer.d.ts +24 -17
- package/dist/types/Views.d.ts +23 -17
- package/dist/types/api.d.ts +18 -17
- package/dist/types/components.d.ts +64 -18
- package/dist/types/context.d.ts +28 -18
- package/dist/types/hooks.d.ts +20 -17
- package/dist/types/index.d.ts +17 -16
- package/dist/types/util.d.ts +38 -16
- package/dist/util.es.js +116 -113
- package/package.json +2 -2
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { jsx as s, jsxs as M, Fragment as he } from "react/jsx-runtime";
|
|
2
|
-
import { useRef as Q, useState as G, useLayoutEffect as Mt, createElement as
|
|
2
|
+
import { useRef as Q, useState as G, useLayoutEffect as Mt, createElement as Fn, forwardRef as Se, useEffect as q, Fragment as wt, useMemo as ee, useCallback as Y, createContext as ye, useContext as ae, memo as kt } from "react";
|
|
3
3
|
import W from "clsx";
|
|
4
4
|
import x, { css as Ot } from "styled-components";
|
|
5
|
-
import { Icon as
|
|
5
|
+
import { Icon as re, getTextColor as Hn, Dropdown as cn, FormRow as Ze, Dialog as dn, InputText as tt, IconSelect as Bn, ColorPicker as Wn, Button as xe, SaveButton as Un, TagsSelect as Kn, BorderedSection as zt, theme as Ke, getMixedCounts as Vn, applyMixedChange as Gn } from "@ynput/ayon-react-components";
|
|
6
6
|
import "@module-federation/enhanced/runtime";
|
|
7
7
|
import "@ynput/ayon-addon/host";
|
|
8
8
|
import { toast as we } from "react-toastify";
|
|
9
|
-
import {
|
|
10
|
-
import { bv as
|
|
9
|
+
import { bC as jn, bs as Tt, bL as Yn, bD as qn, a as Qn } from "./searchTerms.es.js";
|
|
10
|
+
import { bv as Jn, d8 as Zn, bG as Xn, L as er, a2 as tr, c0 as st, aZ as nr, aK as rr, cj as or, v as ir, dB as ar, dr as sr, cA as lr, aj as cr } from "./getUris.es.js";
|
|
11
11
|
import "primereact/confirmdialog";
|
|
12
12
|
import { upperFirst as He, debounce as un } from "lodash";
|
|
13
13
|
import "uuid";
|
|
14
|
-
import { e as
|
|
14
|
+
import { e as dr, g as Xe, d as yt, b as pn, p as Ft, c as ur, a as pr } from "./iconUtils.es.js";
|
|
15
15
|
import "axios";
|
|
16
|
-
import {
|
|
16
|
+
import { o as Be, b as mr, c as mn } from "./TableExportContextInstance.es.js";
|
|
17
17
|
import "semver";
|
|
18
18
|
import "./ContextMenuContextInstance.es.js";
|
|
19
19
|
import "react-dom";
|
|
20
20
|
import "react-router-dom";
|
|
21
|
-
import { e as ft, P as
|
|
21
|
+
import { e as ft, P as gr, a6 as hr, r as We, J as Ct, as as yr, G as fr, s as br, t as St, a9 as vr, a3 as xr, U as wr, aa as kr, a8 as Tr, F as Cr } from "./FilmstripEntityCard.es.js";
|
|
22
22
|
import "lexical";
|
|
23
23
|
import "@lexical/markdown";
|
|
24
24
|
import "match-sorter";
|
|
25
|
-
import { parseISO as
|
|
25
|
+
import { parseISO as lt, isValid as Ht, subMilliseconds as bt, format as Sr } from "date-fns";
|
|
26
26
|
import "@lexical/code";
|
|
27
27
|
import "@lexical/list";
|
|
28
28
|
import "@lexical/rich-text";
|
|
@@ -32,14 +32,14 @@ import "@lexical/react/LexicalBlockWithAlignableContents";
|
|
|
32
32
|
import "@lexical/react/LexicalDecoratorBlockNode";
|
|
33
33
|
import "@ynput/ayon-addon";
|
|
34
34
|
import { sortingFns as Ne } from "@tanstack/react-table";
|
|
35
|
-
import { W as
|
|
36
|
-
import gn, { defaultUrlTransform as
|
|
35
|
+
import { W as Ir, l as _e, L as $e, R as Bt, g as ct, C as Er, m as Rr } from "./realtimeUpdatesUtils.es.js";
|
|
36
|
+
import gn, { defaultUrlTransform as Lr } from "react-markdown";
|
|
37
37
|
import hn from "remark-gfm";
|
|
38
38
|
import { useSelector as Wt } from "react-redux";
|
|
39
|
-
import { E as
|
|
40
|
-
import { g as Te, a as
|
|
41
|
-
import { g as
|
|
42
|
-
const
|
|
39
|
+
import { E as Nr } from "./EntityPickerDialog.es.js";
|
|
40
|
+
import { g as Te, a as Dr } from "./getEntityTypeIcon.es.js";
|
|
41
|
+
import { g as Ar, a as Pr } from "./getThumbnailUrl.es.js";
|
|
42
|
+
const _r = x.div`
|
|
43
43
|
display: flex;
|
|
44
44
|
gap: var(--base-gap-small);
|
|
45
45
|
align-items: center;
|
|
@@ -80,12 +80,12 @@ const Pr = x.div`
|
|
|
80
80
|
top: -9999px;
|
|
81
81
|
left: -9999px;
|
|
82
82
|
z-index: -100;
|
|
83
|
-
`,
|
|
83
|
+
`, $r = x(It)`
|
|
84
84
|
flex-shrink: 0;
|
|
85
85
|
display: flex;
|
|
86
86
|
justify-content: center;
|
|
87
87
|
align-items: center;
|
|
88
|
-
`,
|
|
88
|
+
`, Mr = x(re)`
|
|
89
89
|
background-color: var(--md-sys-color-surface-container);
|
|
90
90
|
border-radius: var(--border-radius-m);
|
|
91
91
|
width: 24px;
|
|
@@ -110,54 +110,54 @@ const Pr = x.div`
|
|
|
110
110
|
if (!m || g.length === 0 || g.length !== e.length) return;
|
|
111
111
|
const S = Array.from(m.querySelectorAll(".offscreen-chip"));
|
|
112
112
|
if (S.length !== e.length) return;
|
|
113
|
-
const
|
|
113
|
+
const p = parseFloat(getComputedStyle(m).rowGap) || 0, b = S.map((E) => E.getBoundingClientRect().width), y = S[0].getBoundingClientRect().height, w = m.querySelector(".offscreen-more-chip")?.getBoundingClientRect().width || 60, R = (E, T, z) => {
|
|
114
114
|
let H = 1, B = 0;
|
|
115
115
|
const A = (P, U) => {
|
|
116
|
-
U ? B = P : B +
|
|
116
|
+
U ? B = P : B + p + P <= z ? B += p + P : (H++, B = P);
|
|
117
117
|
};
|
|
118
|
-
for (let P = 0; P <
|
|
119
|
-
return T && A(T,
|
|
118
|
+
for (let P = 0; P < E; P++) A(b[P], P === 0);
|
|
119
|
+
return T && A(T, E === 0), H;
|
|
120
120
|
}, _ = () => {
|
|
121
|
-
const
|
|
121
|
+
const E = m.getBoundingClientRect().width, T = m.offsetHeight, z = y ? Math.max(1, Math.floor((T + p) / (y + p))) : 1;
|
|
122
122
|
let H = e.length;
|
|
123
|
-
for (; H > 1 && R(H, H < e.length ? w : 0,
|
|
123
|
+
for (; H > 1 && R(H, H < e.length ? w : 0, E) > z; )
|
|
124
124
|
H--;
|
|
125
125
|
c(
|
|
126
126
|
(B) => B.visibleCount === H && B.rows === z ? B : { visibleCount: H, rows: z }
|
|
127
127
|
);
|
|
128
|
-
},
|
|
129
|
-
return
|
|
128
|
+
}, I = new ResizeObserver(_);
|
|
129
|
+
return I.observe(m), _(), () => I.disconnect();
|
|
130
130
|
}, [e, g]), t) return null;
|
|
131
131
|
if (!e.length)
|
|
132
|
-
return /* @__PURE__ */ s(
|
|
133
|
-
const f = e.slice(0, i),
|
|
134
|
-
return /* @__PURE__ */ M(
|
|
135
|
-
f.map((m, S) => /* @__PURE__ */
|
|
132
|
+
return /* @__PURE__ */ s(Mr, { icon: "add", className: o?.chip?.className });
|
|
133
|
+
const f = e.slice(0, i), u = i ? e.length - f.length : 0;
|
|
134
|
+
return /* @__PURE__ */ M(_r, { ref: a, className: W(n, { "multi-row": l > 1 }), children: [
|
|
135
|
+
f.map((m, S) => /* @__PURE__ */ Fn(
|
|
136
136
|
It,
|
|
137
137
|
{
|
|
138
138
|
...o?.chip,
|
|
139
139
|
key: m.label + S,
|
|
140
140
|
"data-tooltip": m.tooltip,
|
|
141
141
|
onClick: m.onClick ?? o?.chip?.onClick,
|
|
142
|
-
onMouseDown: m.onClick ? (
|
|
142
|
+
onMouseDown: m.onClick ? (p) => p.stopPropagation() : o?.chip?.onMouseDown,
|
|
143
143
|
className: W(
|
|
144
144
|
"chip",
|
|
145
|
-
{ last: S === f.length - 1 &&
|
|
145
|
+
{ last: S === f.length - 1 && u > 0 },
|
|
146
146
|
o?.chip?.className
|
|
147
147
|
)
|
|
148
148
|
},
|
|
149
149
|
m.prefix,
|
|
150
|
-
m?.icon && /* @__PURE__ */ s(
|
|
150
|
+
m?.icon && /* @__PURE__ */ s(re, { icon: m.icon }),
|
|
151
151
|
m.label,
|
|
152
152
|
m.suffix
|
|
153
153
|
)),
|
|
154
|
-
|
|
154
|
+
u > 0 && /* @__PURE__ */ M($r, { className: W("more-chip", o?.chip?.className), children: [
|
|
155
155
|
"+",
|
|
156
|
-
|
|
156
|
+
u
|
|
157
157
|
] }),
|
|
158
158
|
g.map((m, S) => /* @__PURE__ */ M(Ut, { className: "offscreen-chip", children: [
|
|
159
159
|
m.prefix,
|
|
160
|
-
m?.icon && /* @__PURE__ */ s(
|
|
160
|
+
m?.icon && /* @__PURE__ */ s(re, { icon: m.icon }),
|
|
161
161
|
m.label,
|
|
162
162
|
m.suffix
|
|
163
163
|
] }, m.label + S)),
|
|
@@ -166,7 +166,7 @@ const Pr = x.div`
|
|
|
166
166
|
g.length - 1
|
|
167
167
|
] })
|
|
168
168
|
] });
|
|
169
|
-
},
|
|
169
|
+
}, Or = x.div`
|
|
170
170
|
width: 8px;
|
|
171
171
|
height: 8px;
|
|
172
172
|
border-radius: 50%;
|
|
@@ -176,9 +176,9 @@ const Pr = x.div`
|
|
|
176
176
|
top: 50%;
|
|
177
177
|
left: 50%;
|
|
178
178
|
transform: translate(-50%, -50%);
|
|
179
|
-
`,
|
|
180
|
-
({ color: e, ...t }, n) => /* @__PURE__ */ s(
|
|
181
|
-
),
|
|
179
|
+
`, zr = Se(
|
|
180
|
+
({ color: e, ...t }, n) => /* @__PURE__ */ s(Or, { style: { backgroundColor: e }, ...t, ref: n })
|
|
181
|
+
), Fr = x.input`
|
|
182
182
|
z-index: 10;
|
|
183
183
|
border: none;
|
|
184
184
|
outline: none;
|
|
@@ -192,7 +192,7 @@ const Pr = x.div`
|
|
|
192
192
|
background-color: transparent;
|
|
193
193
|
width: 100%;
|
|
194
194
|
box-sizing: border-box;
|
|
195
|
-
`,
|
|
195
|
+
`, Hr = Se(
|
|
196
196
|
({
|
|
197
197
|
value: e,
|
|
198
198
|
onChange: t,
|
|
@@ -203,10 +203,10 @@ const Pr = x.div`
|
|
|
203
203
|
}, l) => {
|
|
204
204
|
const [c, g] = G(() => {
|
|
205
205
|
if (e) {
|
|
206
|
-
const
|
|
207
|
-
if (Ht(
|
|
206
|
+
const p = lt(e);
|
|
207
|
+
if (Ht(p))
|
|
208
208
|
return ft(
|
|
209
|
-
a ? bt(
|
|
209
|
+
a ? bt(p, 1) : p,
|
|
210
210
|
"yyyy-MM-dd"
|
|
211
211
|
);
|
|
212
212
|
}
|
|
@@ -214,10 +214,10 @@ const Pr = x.div`
|
|
|
214
214
|
});
|
|
215
215
|
q(() => {
|
|
216
216
|
if (e) {
|
|
217
|
-
const
|
|
218
|
-
Ht(
|
|
217
|
+
const p = lt(e);
|
|
218
|
+
Ht(p) ? g(
|
|
219
219
|
ft(
|
|
220
|
-
a ? bt(
|
|
220
|
+
a ? bt(p, 1) : p,
|
|
221
221
|
"yyyy-MM-dd"
|
|
222
222
|
)
|
|
223
223
|
) : g("");
|
|
@@ -228,64 +228,64 @@ const Pr = x.div`
|
|
|
228
228
|
o && d.current && (d.current.focus(), setTimeout(() => {
|
|
229
229
|
try {
|
|
230
230
|
d.current?.showPicker();
|
|
231
|
-
} catch (
|
|
232
|
-
console.debug("Date picker could not be shown automatically:",
|
|
231
|
+
} catch (p) {
|
|
232
|
+
console.debug("Date picker could not be shown automatically:", p);
|
|
233
233
|
}
|
|
234
234
|
}, 100));
|
|
235
235
|
}, [o]);
|
|
236
|
-
const f = (
|
|
237
|
-
|
|
236
|
+
const f = (p) => {
|
|
237
|
+
p.preventDefault();
|
|
238
238
|
try {
|
|
239
239
|
d.current?.showPicker();
|
|
240
240
|
} catch (b) {
|
|
241
241
|
console.debug("Date picker could not be shown on click:", b);
|
|
242
242
|
}
|
|
243
|
-
},
|
|
243
|
+
}, u = (p) => {
|
|
244
244
|
if (c) {
|
|
245
245
|
const [b, y, w] = c.split("-").map(Number);
|
|
246
246
|
if (b && y && w) {
|
|
247
247
|
const _ = new Date(Date.UTC(b, y - 1, w + Number(a))).toISOString();
|
|
248
|
-
if (
|
|
249
|
-
return t(_,
|
|
250
|
-
if (
|
|
251
|
-
const
|
|
252
|
-
return _ !==
|
|
248
|
+
if (p === "Enter")
|
|
249
|
+
return t(_, p), !0;
|
|
250
|
+
if (p === "Click") {
|
|
251
|
+
const I = e ? lt(e).toISOString() : "";
|
|
252
|
+
return _ !== I ? (t(_, p), !0) : !1;
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
return !1;
|
|
257
257
|
};
|
|
258
258
|
return /* @__PURE__ */ s(
|
|
259
|
-
|
|
259
|
+
Fr,
|
|
260
260
|
{
|
|
261
261
|
...i,
|
|
262
262
|
ref: d,
|
|
263
263
|
type: "date",
|
|
264
264
|
value: c,
|
|
265
|
-
onChange: (
|
|
265
|
+
onChange: (p) => g(p.target.value),
|
|
266
266
|
onBlur: () => {
|
|
267
|
-
|
|
267
|
+
u("Click") || n?.();
|
|
268
268
|
},
|
|
269
|
-
onKeyDown: (
|
|
270
|
-
|
|
269
|
+
onKeyDown: (p) => {
|
|
270
|
+
p.key === "Enter" ? (p.preventDefault(), u("Enter"), d.current?.blur()) : p.key === "Escape" && (p.preventDefault(), n?.());
|
|
271
271
|
},
|
|
272
272
|
onClick: f
|
|
273
273
|
}
|
|
274
274
|
);
|
|
275
275
|
}
|
|
276
|
-
),
|
|
277
|
-
@container cell (min-height: ${
|
|
276
|
+
), ot = (e, ...t) => Ot`
|
|
277
|
+
@container cell (min-height: ${Ir}px) {
|
|
278
278
|
${Ot(e, ...t)}
|
|
279
279
|
}
|
|
280
|
-
`,
|
|
280
|
+
`, Br = x.span`
|
|
281
281
|
white-space: nowrap;
|
|
282
282
|
|
|
283
|
-
${
|
|
283
|
+
${ot`
|
|
284
284
|
white-space: normal;
|
|
285
285
|
`}
|
|
286
|
-
`,
|
|
286
|
+
`, Wr = x.span`
|
|
287
287
|
white-space: nowrap;
|
|
288
|
-
`,
|
|
288
|
+
`, Ur = Se(
|
|
289
289
|
({
|
|
290
290
|
value: e,
|
|
291
291
|
isEditing: t,
|
|
@@ -297,17 +297,17 @@ const Pr = x.div`
|
|
|
297
297
|
isMidnightExclusive: c = !1,
|
|
298
298
|
...g
|
|
299
299
|
}, d) => {
|
|
300
|
-
let f = "",
|
|
300
|
+
let f = "", u = !1;
|
|
301
301
|
if (e)
|
|
302
302
|
try {
|
|
303
|
-
const S = l ? "dd-MM-yyyy HH:mm:ss" : "dd-MM-yyyy",
|
|
304
|
-
f = l ?
|
|
303
|
+
const S = l ? "dd-MM-yyyy HH:mm:ss" : "dd-MM-yyyy", p = c ? bt(new Date(e), 1) : new Date(e);
|
|
304
|
+
f = l ? Sr(p, S) : ft(p, S);
|
|
305
305
|
} catch {
|
|
306
|
-
console.error("Invalid date value:", e), f = "Invalid Date",
|
|
306
|
+
console.error("Invalid date value:", e), f = "Invalid Date", u = !0;
|
|
307
307
|
}
|
|
308
308
|
if (t)
|
|
309
309
|
return /* @__PURE__ */ s(
|
|
310
|
-
|
|
310
|
+
Hr,
|
|
311
311
|
{
|
|
312
312
|
value: e,
|
|
313
313
|
onChange: a,
|
|
@@ -318,13 +318,13 @@ const Pr = x.div`
|
|
|
318
318
|
...g
|
|
319
319
|
}
|
|
320
320
|
);
|
|
321
|
-
const m = f && !
|
|
322
|
-
return /* @__PURE__ */ s(
|
|
323
|
-
|
|
324
|
-
/* @__PURE__ */ s(
|
|
325
|
-
] },
|
|
321
|
+
const m = f && !u ? f.split(" ") : [];
|
|
322
|
+
return /* @__PURE__ */ s(Br, { ...g, ref: d, children: u ? f : m.map((S, p) => /* @__PURE__ */ M(wt, { children: [
|
|
323
|
+
p > 0 && " ",
|
|
324
|
+
/* @__PURE__ */ s(Wr, { children: S })
|
|
325
|
+
] }, p)) });
|
|
326
326
|
}
|
|
327
|
-
),
|
|
327
|
+
), Kr = "edit-trigger", vt = x.span`
|
|
328
328
|
text-align: left;
|
|
329
329
|
border-radius: var(--border-radius-m);
|
|
330
330
|
padding: 0px 2px;
|
|
@@ -336,7 +336,7 @@ const Pr = x.div`
|
|
|
336
336
|
&.placeholder {
|
|
337
337
|
color: var(--md-sys-color-outline);
|
|
338
338
|
}
|
|
339
|
-
`,
|
|
339
|
+
`, Vr = x.div`
|
|
340
340
|
display: flex;
|
|
341
341
|
gap: 1px;
|
|
342
342
|
align-items: center;
|
|
@@ -365,7 +365,7 @@ const Pr = x.div`
|
|
|
365
365
|
}
|
|
366
366
|
|
|
367
367
|
/* wrapped rows sit on a fixed row lattice, so the height clip can only land between rows */
|
|
368
|
-
${
|
|
368
|
+
${ot`
|
|
369
369
|
&.multi-select:not(.item) {
|
|
370
370
|
.values {
|
|
371
371
|
--wrap-row-height: 24px;
|
|
@@ -403,7 +403,7 @@ const Pr = x.div`
|
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
405
|
`}
|
|
406
|
-
`,
|
|
406
|
+
`, Gr = x.div`
|
|
407
407
|
flex: 1;
|
|
408
408
|
display: flex;
|
|
409
409
|
gap: var(--base-gap-small);
|
|
@@ -413,14 +413,14 @@ const Pr = x.div`
|
|
|
413
413
|
border-radius: var(--border-radius-m);
|
|
414
414
|
padding: 0px 2px;
|
|
415
415
|
flex-wrap: nowrap;
|
|
416
|
-
`,
|
|
416
|
+
`, jr = x.div`
|
|
417
417
|
display: flex;
|
|
418
418
|
gap: 2px;
|
|
419
419
|
align-items: center;
|
|
420
420
|
|
|
421
421
|
max-width: 100%;
|
|
422
422
|
min-width: 20px;
|
|
423
|
-
`,
|
|
423
|
+
`, Yr = x.img`
|
|
424
424
|
width: 20px;
|
|
425
425
|
height: 20px;
|
|
426
426
|
object-fit: cover;
|
|
@@ -429,7 +429,7 @@ const Pr = x.div`
|
|
|
429
429
|
&.avatar {
|
|
430
430
|
border-radius: 50%;
|
|
431
431
|
}
|
|
432
|
-
`,
|
|
432
|
+
`, qr = x.div`
|
|
433
433
|
border-radius: var(--border-radius-m);
|
|
434
434
|
display: flex;
|
|
435
435
|
justify-content: center;
|
|
@@ -444,7 +444,7 @@ const Pr = x.div`
|
|
|
444
444
|
&.open {
|
|
445
445
|
background-color: transparent;
|
|
446
446
|
}
|
|
447
|
-
`,
|
|
447
|
+
`, Qr = x(re)`
|
|
448
448
|
transition: rotate 0.2s;
|
|
449
449
|
padding: 2px;
|
|
450
450
|
`, Ve = ({
|
|
@@ -459,46 +459,46 @@ const Pr = x.div`
|
|
|
459
459
|
iconOnlyColor: g = !1,
|
|
460
460
|
className: d,
|
|
461
461
|
pt: f,
|
|
462
|
-
...
|
|
462
|
+
...u
|
|
463
463
|
}) => {
|
|
464
464
|
const {
|
|
465
465
|
icon: m = {},
|
|
466
466
|
img: S = {},
|
|
467
|
-
value:
|
|
467
|
+
value: p = {},
|
|
468
468
|
expand: b = {},
|
|
469
469
|
close: y = {}
|
|
470
|
-
} = f || {}, { style: w, className: R, ..._ } = m, { style:
|
|
470
|
+
} = f || {}, { style: w, className: R, ..._ } = m, { style: I, className: E, ...T } = S, { style: z, className: H, ...B } = p, { style: A, className: P, ...U } = b, { style: r, className: h, ...v } = y, N = e.every((k) => k.icon), C = !n || !N, L = !N && o && !i, D = !e.length && t;
|
|
471
471
|
return D && (e = [
|
|
472
472
|
{
|
|
473
473
|
label: t,
|
|
474
474
|
value: ""
|
|
475
475
|
}
|
|
476
476
|
]), /* @__PURE__ */ M(
|
|
477
|
-
|
|
477
|
+
Vr,
|
|
478
478
|
{
|
|
479
479
|
className: W(d, {
|
|
480
480
|
selected: l,
|
|
481
481
|
item: i,
|
|
482
482
|
"multi-select": o
|
|
483
483
|
}),
|
|
484
|
-
...
|
|
484
|
+
...u,
|
|
485
485
|
children: [
|
|
486
|
-
/* @__PURE__ */ s(
|
|
487
|
-
|
|
486
|
+
/* @__PURE__ */ s(Gr, { className: "values", children: e.map((k, O) => /* @__PURE__ */ M(
|
|
487
|
+
jr,
|
|
488
488
|
{
|
|
489
489
|
className: W({ "has-img": Kt(k.icon) }),
|
|
490
490
|
children: [
|
|
491
491
|
k.icon && Kt(k.icon) ? /* @__PURE__ */ s(
|
|
492
|
-
|
|
492
|
+
Yr,
|
|
493
493
|
{
|
|
494
494
|
src: k.icon,
|
|
495
|
-
className: W({ avatar:
|
|
496
|
-
style:
|
|
495
|
+
className: W({ avatar: Jr(k.icon) }, E),
|
|
496
|
+
style: I,
|
|
497
497
|
"data-tooltip": k.label,
|
|
498
498
|
...T
|
|
499
499
|
}
|
|
500
500
|
) : k.icon ? /* @__PURE__ */ s(
|
|
501
|
-
|
|
501
|
+
re,
|
|
502
502
|
{
|
|
503
503
|
icon: k.icon,
|
|
504
504
|
style: { color: k.color, ...w },
|
|
@@ -510,7 +510,7 @@ const Pr = x.div`
|
|
|
510
510
|
vt,
|
|
511
511
|
{
|
|
512
512
|
style: {
|
|
513
|
-
color: L && k.color ?
|
|
513
|
+
color: L && k.color ? Hn(k.color) : g && k.icon ? void 0 : k.color,
|
|
514
514
|
backgroundColor: L ? k.color || "var(--md-sys-color-surface-container)" : "transparent",
|
|
515
515
|
...z
|
|
516
516
|
},
|
|
@@ -525,11 +525,11 @@ const Pr = x.div`
|
|
|
525
525
|
k.value.toString() + O
|
|
526
526
|
)) }),
|
|
527
527
|
!i && !c && /* @__PURE__ */ s(
|
|
528
|
-
|
|
528
|
+
qr,
|
|
529
529
|
{
|
|
530
|
-
className: W("expand",
|
|
530
|
+
className: W("expand", Kr, { open: a }, P),
|
|
531
531
|
children: /* @__PURE__ */ s(
|
|
532
|
-
|
|
532
|
+
Qr,
|
|
533
533
|
{
|
|
534
534
|
icon: "expand_more",
|
|
535
535
|
style: { rotate: a ? "180deg" : "0", ...A },
|
|
@@ -540,7 +540,7 @@ const Pr = x.div`
|
|
|
540
540
|
}
|
|
541
541
|
),
|
|
542
542
|
i && l && o && /* @__PURE__ */ s(
|
|
543
|
-
|
|
543
|
+
re,
|
|
544
544
|
{
|
|
545
545
|
icon: "close",
|
|
546
546
|
style: { marginLeft: "auto", marginRight: 4, ...r },
|
|
@@ -552,17 +552,17 @@ const Pr = x.div`
|
|
|
552
552
|
]
|
|
553
553
|
}
|
|
554
554
|
);
|
|
555
|
-
}, Kt = (e = "") => e.startsWith("/") || e.startsWith("./") || e.startsWith("../") || e.startsWith("http://") || e.startsWith("https://"),
|
|
555
|
+
}, Kt = (e = "") => e.startsWith("/") || e.startsWith("./") || e.startsWith("../") || e.startsWith("http://") || e.startsWith("https://"), Jr = (e) => e.includes("avatar"), Zr = x(cn)`
|
|
556
556
|
height: 100%;
|
|
557
557
|
width: 100%;
|
|
558
558
|
|
|
559
559
|
/* the value template clips against the button, so it has to grow with the cell */
|
|
560
|
-
${({ $multiSelect: e }) => e &&
|
|
560
|
+
${({ $multiSelect: e }) => e && ot`
|
|
561
561
|
.button {
|
|
562
562
|
height: 100%;
|
|
563
563
|
}
|
|
564
564
|
`}
|
|
565
|
-
`,
|
|
565
|
+
`, Xr = Se(
|
|
566
566
|
({
|
|
567
567
|
value: e,
|
|
568
568
|
isEditing: t,
|
|
@@ -575,10 +575,10 @@ const Pr = x.div`
|
|
|
575
575
|
onOpen: g,
|
|
576
576
|
onChange: d,
|
|
577
577
|
onCancelEdit: f,
|
|
578
|
-
onNext:
|
|
578
|
+
onNext: u,
|
|
579
579
|
pt: m,
|
|
580
580
|
...S
|
|
581
|
-
},
|
|
581
|
+
}, p) => {
|
|
582
582
|
const b = JSON.stringify(e), y = ee(
|
|
583
583
|
() => e.map((A) => A?.toString()).filter((A) => !!A),
|
|
584
584
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -600,25 +600,25 @@ const Pr = x.div`
|
|
|
600
600
|
w = [...w, P], R.push(P);
|
|
601
601
|
}
|
|
602
602
|
});
|
|
603
|
-
const _ = w.length > 1,
|
|
603
|
+
const _ = w.length > 1, I = [...jn(n, y), ...R], E = Q(null), [T, z] = G(!1);
|
|
604
604
|
q(() => {
|
|
605
|
-
t &&
|
|
606
|
-
}, [t,
|
|
607
|
-
if (T && !S.search &&
|
|
608
|
-
const P =
|
|
605
|
+
t && E.current && a ? (!E.current.isOpen && E.current?.open(), z(!0)) : z(!1);
|
|
606
|
+
}, [t, E.current, a]), q(() => {
|
|
607
|
+
if (T && !S.search && I.length < 20) {
|
|
608
|
+
const P = E.current?.getOptions()?.querySelector("li");
|
|
609
609
|
P && (P.focus(), P.style.outline = "none");
|
|
610
610
|
}
|
|
611
|
-
}, [T, S.search,
|
|
611
|
+
}, [T, S.search, I.length]);
|
|
612
612
|
const H = !!o?.includes("list"), B = (A) => {
|
|
613
613
|
let P = l ? A : A.filter((U) => n.find((r) => r.value === U));
|
|
614
614
|
o?.includes("list") || (P = Array.isArray(P) ? P[0] : P), d(P, "Click");
|
|
615
615
|
};
|
|
616
616
|
return t ? /* @__PURE__ */ s(
|
|
617
|
-
|
|
617
|
+
Zr,
|
|
618
618
|
{
|
|
619
|
-
options:
|
|
619
|
+
options: I,
|
|
620
620
|
value: y,
|
|
621
|
-
ref:
|
|
621
|
+
ref: E,
|
|
622
622
|
valueTemplate: (A, P, U) => /* @__PURE__ */ s(
|
|
623
623
|
Ve,
|
|
624
624
|
{
|
|
@@ -671,8 +671,8 @@ const Pr = x.div`
|
|
|
671
671
|
}
|
|
672
672
|
);
|
|
673
673
|
}
|
|
674
|
-
), Vt = /* @__PURE__ */ new Map(),
|
|
675
|
-
const { data: n } =
|
|
674
|
+
), Vt = /* @__PURE__ */ new Map(), eo = (e, t = []) => {
|
|
675
|
+
const { data: n } = Jn(void 0, { skip: !e }), [o] = Zn(), a = !!e && !!(n?.data?.isAdmin || n?.data?.isManager), [i, l] = G(null), c = Y(
|
|
676
676
|
(g) => {
|
|
677
677
|
if (!e || !g.length) return;
|
|
678
678
|
const d = (Vt.get(e) || Promise.resolve()).then(async () => {
|
|
@@ -688,38 +688,38 @@ const Pr = x.div`
|
|
|
688
688
|
);
|
|
689
689
|
return ee(() => {
|
|
690
690
|
if (!a) return;
|
|
691
|
-
const g = new Set(t.map((
|
|
692
|
-
i?.resolve(
|
|
691
|
+
const g = new Set(t.map((u) => u.name)), d = (u) => {
|
|
692
|
+
i?.resolve(u), l(null);
|
|
693
693
|
}, f = {
|
|
694
694
|
item: i?.item,
|
|
695
695
|
isNew: i?.isNew,
|
|
696
696
|
fields: ["color"],
|
|
697
697
|
itemLabel: "tag",
|
|
698
|
-
onSave: ({ value:
|
|
699
|
-
c([{ name:
|
|
698
|
+
onSave: ({ value: u, color: m }) => {
|
|
699
|
+
c([{ name: u, color: m || void 0 }]), d(u);
|
|
700
700
|
},
|
|
701
701
|
onCancel: () => d()
|
|
702
702
|
};
|
|
703
703
|
return {
|
|
704
704
|
// the dropdown's edit button and "add new" option open the dialog, and select a new tag
|
|
705
|
-
onEditOption: (
|
|
706
|
-
(S) => l({ item: { value:
|
|
705
|
+
onEditOption: (u, m) => new Promise(
|
|
706
|
+
(S) => l({ item: { value: u.name || "", color: u.color || "" }, isNew: m, resolve: S })
|
|
707
707
|
),
|
|
708
708
|
dialog: f,
|
|
709
709
|
// tags added to entities go to the anatomy too, with its default colour
|
|
710
|
-
addTags: (
|
|
710
|
+
addTags: (u) => c(u.filter((m) => m && !g.has(m)).map((m) => ({ name: m })))
|
|
711
711
|
};
|
|
712
712
|
}, [a, t, c, i]);
|
|
713
|
-
},
|
|
713
|
+
}, to = x(Ze)`
|
|
714
714
|
.field {
|
|
715
715
|
padding: 4px;
|
|
716
716
|
margin: -4px;
|
|
717
717
|
}
|
|
718
|
-
`,
|
|
718
|
+
`, no = x.div`
|
|
719
719
|
display: flex;
|
|
720
720
|
flex-direction: column;
|
|
721
721
|
gap: 12px;
|
|
722
|
-
`, Oe = (e) => e.stopPropagation(),
|
|
722
|
+
`, Oe = (e) => e.stopPropagation(), ro = ({
|
|
723
723
|
item: e,
|
|
724
724
|
isNew: t,
|
|
725
725
|
fields: n,
|
|
@@ -731,7 +731,7 @@ const Pr = x.div`
|
|
|
731
731
|
q(() => {
|
|
732
732
|
e && c(e);
|
|
733
733
|
}, [e]);
|
|
734
|
-
const g = (
|
|
734
|
+
const g = (u) => c({ ...l, ...u }), d = l.value.trim(), f = () => d && a({ ...l, value: d });
|
|
735
735
|
return /* @__PURE__ */ s(
|
|
736
736
|
"div",
|
|
737
737
|
{
|
|
@@ -753,7 +753,7 @@ const Pr = x.div`
|
|
|
753
753
|
footer: /* @__PURE__ */ M(he, { children: [
|
|
754
754
|
/* @__PURE__ */ s(xe, { onClick: i, children: "Cancel" }),
|
|
755
755
|
/* @__PURE__ */ s(
|
|
756
|
-
|
|
756
|
+
Un,
|
|
757
757
|
{
|
|
758
758
|
label: t ? "Add" : "Save",
|
|
759
759
|
icon: "check",
|
|
@@ -767,41 +767,41 @@ const Pr = x.div`
|
|
|
767
767
|
style: { zIndex: 11e3 }
|
|
768
768
|
}
|
|
769
769
|
},
|
|
770
|
-
children: /* @__PURE__ */ M(
|
|
771
|
-
t && /* @__PURE__ */ s(
|
|
772
|
-
|
|
770
|
+
children: /* @__PURE__ */ M(no, { children: [
|
|
771
|
+
t && /* @__PURE__ */ s(Ze, { label: "Name", children: /* @__PURE__ */ s(
|
|
772
|
+
tt,
|
|
773
773
|
{
|
|
774
774
|
value: l.value,
|
|
775
|
-
onChange: (
|
|
776
|
-
onKeyDown: (
|
|
775
|
+
onChange: (u) => g({ value: u.target.value }),
|
|
776
|
+
onKeyDown: (u) => u.key === "Enter" && f(),
|
|
777
777
|
autoFocus: !0
|
|
778
778
|
}
|
|
779
779
|
) }),
|
|
780
|
-
n.includes("label") && /* @__PURE__ */ s(
|
|
781
|
-
|
|
780
|
+
n.includes("label") && /* @__PURE__ */ s(Ze, { label: "Label", children: /* @__PURE__ */ s(
|
|
781
|
+
tt,
|
|
782
782
|
{
|
|
783
783
|
value: l.label || "",
|
|
784
784
|
placeholder: l.value,
|
|
785
|
-
onChange: (
|
|
785
|
+
onChange: (u) => g({ label: u.target.value })
|
|
786
786
|
}
|
|
787
787
|
) }),
|
|
788
|
-
n.includes("icon") && /* @__PURE__ */ s(
|
|
789
|
-
|
|
788
|
+
n.includes("icon") && /* @__PURE__ */ s(Ze, { label: "Icon", children: /* @__PURE__ */ s(
|
|
789
|
+
Bn,
|
|
790
790
|
{
|
|
791
791
|
value: l.icon ? [l.icon] : [],
|
|
792
|
-
onChange: (
|
|
792
|
+
onChange: (u) => g({ icon: u[0] })
|
|
793
793
|
}
|
|
794
794
|
) }),
|
|
795
|
-
n.includes("color") && /* @__PURE__ */ s(
|
|
795
|
+
n.includes("color") && /* @__PURE__ */ s(to, { label: "Colour", style: { padding: 4 }, children: /* @__PURE__ */ s(Wn, { value: l.color, onChange: (u) => g({ color: u }) }) })
|
|
796
796
|
] })
|
|
797
797
|
}
|
|
798
798
|
)
|
|
799
799
|
}
|
|
800
800
|
);
|
|
801
|
-
},
|
|
801
|
+
}, oo = "#353B46", io = x(Kn)`
|
|
802
802
|
width: 100%;
|
|
803
803
|
height: 100%;
|
|
804
|
-
`,
|
|
804
|
+
`, ao = ({
|
|
805
805
|
value: e,
|
|
806
806
|
options: t,
|
|
807
807
|
projectName: n,
|
|
@@ -813,25 +813,25 @@ const Pr = x.div`
|
|
|
813
813
|
align: g,
|
|
814
814
|
className: d,
|
|
815
815
|
isProjectTags: f,
|
|
816
|
-
pt:
|
|
816
|
+
pt: u,
|
|
817
817
|
...m
|
|
818
818
|
}) => {
|
|
819
|
-
const S = JSON.stringify(e),
|
|
820
|
-
() => e.map((
|
|
819
|
+
const S = JSON.stringify(e), p = ee(
|
|
820
|
+
() => e.map((E) => E?.toString()).filter((E) => !!E),
|
|
821
821
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
822
822
|
[S]
|
|
823
823
|
), b = ee(() => {
|
|
824
|
-
const
|
|
824
|
+
const E = {};
|
|
825
825
|
for (const T of t) {
|
|
826
826
|
const z = T.value.toString();
|
|
827
|
-
|
|
827
|
+
E[z] = { name: z, color: T.color || "" };
|
|
828
828
|
}
|
|
829
|
-
for (const T of
|
|
830
|
-
return
|
|
831
|
-
}, [t,
|
|
832
|
-
() => t.map((
|
|
829
|
+
for (const T of p) E[T] || (E[T] = { name: T, color: "" });
|
|
830
|
+
return E;
|
|
831
|
+
}, [t, p]), y = !!o && !a, w = ee(
|
|
832
|
+
() => t.map((E) => ({ name: E.value.toString() })),
|
|
833
833
|
[t]
|
|
834
|
-
), R =
|
|
834
|
+
), R = eo(
|
|
835
835
|
f && y ? n : void 0,
|
|
836
836
|
w
|
|
837
837
|
), _ = Q(null);
|
|
@@ -840,50 +840,50 @@ const Pr = x.div`
|
|
|
840
840
|
}, [y]), y)
|
|
841
841
|
return /* @__PURE__ */ M(he, { children: [
|
|
842
842
|
/* @__PURE__ */ s(
|
|
843
|
-
|
|
843
|
+
io,
|
|
844
844
|
{
|
|
845
845
|
ref: _,
|
|
846
|
-
value:
|
|
846
|
+
value: p,
|
|
847
847
|
tags: b,
|
|
848
848
|
options: [],
|
|
849
849
|
editor: !0,
|
|
850
850
|
align: g,
|
|
851
851
|
placeholder: c,
|
|
852
|
-
onChange: (
|
|
853
|
-
R?.addTags(
|
|
852
|
+
onChange: (E) => {
|
|
853
|
+
R?.addTags(E.filter((T) => !p.includes(T))), i(E, "Click");
|
|
854
854
|
},
|
|
855
855
|
onEditOption: R?.onEditOption,
|
|
856
856
|
editOptionTooltip: "Change the colour in the project tags",
|
|
857
857
|
...m,
|
|
858
|
-
onMixedChange: m.onMixedChange && ((
|
|
859
|
-
R?.addTags(
|
|
858
|
+
onMixedChange: m.onMixedChange && ((E) => {
|
|
859
|
+
R?.addTags(E.add), m.onMixedChange?.(E);
|
|
860
860
|
}),
|
|
861
861
|
onClose: l,
|
|
862
862
|
className: d
|
|
863
863
|
}
|
|
864
864
|
),
|
|
865
|
-
R && /* @__PURE__ */ s(
|
|
865
|
+
R && /* @__PURE__ */ s(ro, { ...R.dialog })
|
|
866
866
|
] });
|
|
867
|
-
const
|
|
868
|
-
(
|
|
869
|
-
value:
|
|
870
|
-
label:
|
|
871
|
-
color:
|
|
867
|
+
const I = p.map(
|
|
868
|
+
(E) => t.find((T) => T.value === E) ?? {
|
|
869
|
+
value: E,
|
|
870
|
+
label: E,
|
|
871
|
+
color: oo
|
|
872
872
|
}
|
|
873
873
|
);
|
|
874
874
|
return /* @__PURE__ */ s(
|
|
875
875
|
Ve,
|
|
876
876
|
{
|
|
877
|
-
selectedOptions:
|
|
878
|
-
hasMultipleValues:
|
|
877
|
+
selectedOptions: I,
|
|
878
|
+
hasMultipleValues: I.length > 1,
|
|
879
879
|
isMultiSelect: !0,
|
|
880
880
|
isReadOnly: a,
|
|
881
881
|
placeholder: c,
|
|
882
|
-
...
|
|
883
|
-
className: W("enum-value",
|
|
882
|
+
...u?.template,
|
|
883
|
+
className: W("enum-value", u?.template?.className, d)
|
|
884
884
|
}
|
|
885
885
|
);
|
|
886
|
-
},
|
|
886
|
+
}, so = x.input`
|
|
887
887
|
z-index: 10;
|
|
888
888
|
border: none;
|
|
889
889
|
outline: none;
|
|
@@ -901,9 +901,9 @@ const Pr = x.div`
|
|
|
901
901
|
padding: 0 8px 0 9px;
|
|
902
902
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
903
903
|
box-shadow: inset 0 0 0 2px var(--md-sys-color-primary);
|
|
904
|
-
`,
|
|
904
|
+
`, lo = Se(
|
|
905
905
|
({ value: e, onChange: t, onCancel: n, autoFocus: o = !0, type: a = "string", ...i }, l) => {
|
|
906
|
-
const [c, g] = G(e), d = Q(null), f = Q(!1),
|
|
906
|
+
const [c, g] = G(e), d = Q(null), f = Q(!1), u = Q(e), m = (y) => {
|
|
907
907
|
const w = y != null ? String(y).trim() : "";
|
|
908
908
|
if (y == null) return "";
|
|
909
909
|
if (w === "")
|
|
@@ -921,7 +921,7 @@ const Pr = x.div`
|
|
|
921
921
|
return w;
|
|
922
922
|
}
|
|
923
923
|
}, S = (y) => {
|
|
924
|
-
const w =
|
|
924
|
+
const w = u.current;
|
|
925
925
|
if (a !== "string") {
|
|
926
926
|
const R = y == null || y === "", _ = w == null || w === "";
|
|
927
927
|
if (R && _)
|
|
@@ -934,7 +934,7 @@ const Pr = x.div`
|
|
|
934
934
|
return q(() => {
|
|
935
935
|
o && d && d.current && (d.current.focus(), d.current.select());
|
|
936
936
|
}, [o]), /* @__PURE__ */ s(
|
|
937
|
-
|
|
937
|
+
so,
|
|
938
938
|
{
|
|
939
939
|
...i,
|
|
940
940
|
ref: d,
|
|
@@ -973,7 +973,7 @@ const Pr = x.div`
|
|
|
973
973
|
}
|
|
974
974
|
);
|
|
975
975
|
}
|
|
976
|
-
),
|
|
976
|
+
), co = x.div`
|
|
977
977
|
padding: 0;
|
|
978
978
|
cursor: pointer;
|
|
979
979
|
display: flex;
|
|
@@ -1028,22 +1028,22 @@ const Pr = x.div`
|
|
|
1028
1028
|
left: var(--padding-s);
|
|
1029
1029
|
}
|
|
1030
1030
|
}
|
|
1031
|
-
`,
|
|
1031
|
+
`, uo = x.div`
|
|
1032
1032
|
display: flex;
|
|
1033
1033
|
justify-content: end;
|
|
1034
1034
|
align-items: center;
|
|
1035
1035
|
padding: 8px;
|
|
1036
1036
|
height: 48px;
|
|
1037
1037
|
border-top: 1px solid var(--md-sys-color-outline-variant);
|
|
1038
|
-
`,
|
|
1038
|
+
`, po = x.div`
|
|
1039
1039
|
height: 20px;
|
|
1040
1040
|
background: var(--md-sys-color-surface-container-low);
|
|
1041
1041
|
border-radius: 4px;
|
|
1042
|
-
`,
|
|
1042
|
+
`, mo = x.div`
|
|
1043
1043
|
display: flex;
|
|
1044
1044
|
gap: 8px;
|
|
1045
1045
|
`, yn = (e, { skip: t } = {}) => {
|
|
1046
|
-
const { data: n } =
|
|
1046
|
+
const { data: n } = Xn(
|
|
1047
1047
|
{
|
|
1048
1048
|
suggestRequest: {
|
|
1049
1049
|
entityType: e?.entityType,
|
|
@@ -1054,7 +1054,7 @@ const Pr = x.div`
|
|
|
1054
1054
|
{ skip: t || !e?.projectName || !e?.entityId }
|
|
1055
1055
|
), { entityType: o, productTypes: a, taskTypes: i } = e ?? {};
|
|
1056
1056
|
return ee(
|
|
1057
|
-
() => e ?
|
|
1057
|
+
() => e ? gr({
|
|
1058
1058
|
suggestions: n,
|
|
1059
1059
|
project: { productTypes: a ?? [] },
|
|
1060
1060
|
taskTypes: i,
|
|
@@ -1062,7 +1062,7 @@ const Pr = x.div`
|
|
|
1062
1062
|
}) : void 0,
|
|
1063
1063
|
[!!e, n, a, i, o]
|
|
1064
1064
|
);
|
|
1065
|
-
},
|
|
1065
|
+
}, go = x.div`
|
|
1066
1066
|
display: flex;
|
|
1067
1067
|
flex-direction: column;
|
|
1068
1068
|
background: var(--md-sys-color-surface-container-lowest);
|
|
@@ -1080,7 +1080,7 @@ const Pr = x.div`
|
|
|
1080
1080
|
&.editing {
|
|
1081
1081
|
border: 2px solid var(--md-sys-color-primary);
|
|
1082
1082
|
}
|
|
1083
|
-
`,
|
|
1083
|
+
`, ho = x.textarea`
|
|
1084
1084
|
width: 100%;
|
|
1085
1085
|
height: auto;
|
|
1086
1086
|
min-height: 88px;
|
|
@@ -1092,7 +1092,7 @@ const Pr = x.div`
|
|
|
1092
1092
|
color: inherit;
|
|
1093
1093
|
font: inherit;
|
|
1094
1094
|
padding: 12px;
|
|
1095
|
-
`,
|
|
1095
|
+
`, yo = x.div`
|
|
1096
1096
|
width: 100%;
|
|
1097
1097
|
white-space: pre-wrap;
|
|
1098
1098
|
word-break: break-word;
|
|
@@ -1101,7 +1101,7 @@ const Pr = x.div`
|
|
|
1101
1101
|
min-height: 88px;
|
|
1102
1102
|
max-height: inherit;
|
|
1103
1103
|
overflow: auto;
|
|
1104
|
-
`,
|
|
1104
|
+
`, fo = {
|
|
1105
1105
|
d: "code",
|
|
1106
1106
|
o: "number",
|
|
1107
1107
|
l: "bullet",
|
|
@@ -1118,12 +1118,12 @@ const Pr = x.div`
|
|
|
1118
1118
|
valueType: g = "string",
|
|
1119
1119
|
draftValue: d,
|
|
1120
1120
|
onEditingDraftChange: f,
|
|
1121
|
-
onDismissWithoutSave:
|
|
1121
|
+
onDismissWithoutSave: u,
|
|
1122
1122
|
onPreviewMouseEnter: m,
|
|
1123
1123
|
onPreviewMouseLeave: S,
|
|
1124
|
-
mentionEntity:
|
|
1124
|
+
mentionEntity: p
|
|
1125
1125
|
}) => {
|
|
1126
|
-
const b = Q(d != null), y = typeof e == "string" ? e : e == null ? "" : String(e), [w, R] = G(d ?? y), _ = Q(null),
|
|
1126
|
+
const b = Q(d != null), y = typeof e == "string" ? e : e == null ? "" : String(e), [w, R] = G(d ?? y), _ = Q(null), I = i === "preview", E = c, T = Q(null), z = Q(!1), H = Q(null), B = Q(y);
|
|
1127
1127
|
q(() => {
|
|
1128
1128
|
B.current = y;
|
|
1129
1129
|
}, [y]);
|
|
@@ -1138,9 +1138,9 @@ const Pr = x.div`
|
|
|
1138
1138
|
b.current = !1;
|
|
1139
1139
|
return;
|
|
1140
1140
|
}
|
|
1141
|
-
!t && !
|
|
1142
|
-
}, [t,
|
|
1143
|
-
if (
|
|
1141
|
+
!t && !I || R(y);
|
|
1142
|
+
}, [t, I, y]), q(() => {
|
|
1143
|
+
if (I || !t || E) {
|
|
1144
1144
|
z.current = !1;
|
|
1145
1145
|
return;
|
|
1146
1146
|
}
|
|
@@ -1151,7 +1151,7 @@ const Pr = x.div`
|
|
|
1151
1151
|
const O = k.value.length;
|
|
1152
1152
|
k.setSelectionRange(O, O), z.current = !0;
|
|
1153
1153
|
});
|
|
1154
|
-
}, [t,
|
|
1154
|
+
}, [t, I, E]);
|
|
1155
1155
|
const P = Y(
|
|
1156
1156
|
(k) => {
|
|
1157
1157
|
const O = k.trim();
|
|
@@ -1172,10 +1172,10 @@ const Pr = x.div`
|
|
|
1172
1172
|
[g]
|
|
1173
1173
|
), U = Y(
|
|
1174
1174
|
(k = "Click") => {
|
|
1175
|
-
if (!
|
|
1176
|
-
const { value: F, error:
|
|
1177
|
-
if (
|
|
1178
|
-
we.error(
|
|
1175
|
+
if (!E) {
|
|
1176
|
+
const { value: F, error: te } = P(w);
|
|
1177
|
+
if (te) {
|
|
1178
|
+
we.error(te);
|
|
1179
1179
|
return;
|
|
1180
1180
|
}
|
|
1181
1181
|
if (k !== "Enter" && (F === B.current || String(F ?? "") === B.current)) {
|
|
@@ -1192,36 +1192,36 @@ const Pr = x.div`
|
|
|
1192
1192
|
}
|
|
1193
1193
|
o?.(O, k);
|
|
1194
1194
|
},
|
|
1195
|
-
[P, w,
|
|
1195
|
+
[P, w, E, o, a, f]
|
|
1196
1196
|
), { projectName: r, productTypes: h, taskTypes: v } = Be(), N = ee(
|
|
1197
|
-
() =>
|
|
1198
|
-
[
|
|
1199
|
-
), C = yn(N, { skip:
|
|
1197
|
+
() => p?.entityId && p.entityType && r ? { projectName: r, ...p, productTypes: h, taskTypes: v } : void 0,
|
|
1198
|
+
[p?.entityId, p?.entityType, r, h, v]
|
|
1199
|
+
), C = yn(N, { skip: I || !E }), L = Y(
|
|
1200
1200
|
(k) => {
|
|
1201
|
-
if (
|
|
1201
|
+
if (I || !E) return;
|
|
1202
1202
|
if (k.key === "Enter" || k.key === "Escape") {
|
|
1203
1203
|
k.stopPropagation();
|
|
1204
1204
|
return;
|
|
1205
1205
|
}
|
|
1206
1206
|
if (k.shiftKey || k.altKey || !(k.ctrlKey || k.metaKey)) return;
|
|
1207
|
-
const O =
|
|
1208
|
-
!O || !F || (k.preventDefault(),
|
|
1207
|
+
const O = fo[k.key.toLowerCase()], F = _.current?.getEditor();
|
|
1208
|
+
!O || !F || (k.preventDefault(), hr(F, O));
|
|
1209
1209
|
},
|
|
1210
|
-
[
|
|
1210
|
+
[I, E]
|
|
1211
1211
|
), D = /* @__PURE__ */ s(
|
|
1212
|
-
|
|
1212
|
+
go,
|
|
1213
1213
|
{
|
|
1214
1214
|
ref: H,
|
|
1215
|
-
className:
|
|
1215
|
+
className: I ? "preview" : "editing",
|
|
1216
1216
|
onKeyDown: L,
|
|
1217
1217
|
onMouseDown: (k) => {
|
|
1218
1218
|
k.stopPropagation();
|
|
1219
1219
|
},
|
|
1220
1220
|
onMouseEnter: () => {
|
|
1221
|
-
|
|
1221
|
+
I && m?.();
|
|
1222
1222
|
},
|
|
1223
1223
|
onMouseLeave: () => {
|
|
1224
|
-
|
|
1224
|
+
I && S?.();
|
|
1225
1225
|
},
|
|
1226
1226
|
children: /* @__PURE__ */ s(
|
|
1227
1227
|
Rt,
|
|
@@ -1230,32 +1230,32 @@ const Pr = x.div`
|
|
|
1230
1230
|
k.stopPropagation();
|
|
1231
1231
|
},
|
|
1232
1232
|
onClick: (k) => {
|
|
1233
|
-
if (k.stopPropagation(),
|
|
1233
|
+
if (k.stopPropagation(), I) {
|
|
1234
1234
|
k.target.closest("a") || l?.();
|
|
1235
1235
|
return;
|
|
1236
1236
|
}
|
|
1237
1237
|
},
|
|
1238
|
-
children:
|
|
1238
|
+
children: E ? /* @__PURE__ */ s(
|
|
1239
1239
|
Ct,
|
|
1240
1240
|
{
|
|
1241
1241
|
ref: _,
|
|
1242
|
-
value:
|
|
1243
|
-
onChange:
|
|
1244
|
-
readOnly:
|
|
1242
|
+
value: I ? y : w,
|
|
1243
|
+
onChange: I ? void 0 : A,
|
|
1244
|
+
readOnly: I,
|
|
1245
1245
|
toolbar: !1,
|
|
1246
|
-
floatingToolbar: !
|
|
1246
|
+
floatingToolbar: !I,
|
|
1247
1247
|
bordered: !1,
|
|
1248
|
-
autoFocus: !
|
|
1248
|
+
autoFocus: !I,
|
|
1249
1249
|
minHeight: 64,
|
|
1250
1250
|
placeholder: "",
|
|
1251
|
-
mentions:
|
|
1251
|
+
mentions: I ? void 0 : C,
|
|
1252
1252
|
submitOnEnter: !0,
|
|
1253
|
-
onSubmit:
|
|
1254
|
-
onEscape:
|
|
1253
|
+
onSubmit: I ? void 0 : () => U("Enter"),
|
|
1254
|
+
onEscape: I ? void 0 : () => a?.()
|
|
1255
1255
|
},
|
|
1256
1256
|
`text-editor-${i}-${t}`
|
|
1257
|
-
) :
|
|
1258
|
-
|
|
1257
|
+
) : I ? /* @__PURE__ */ s(yo, { children: y }) : /* @__PURE__ */ s(
|
|
1258
|
+
ho,
|
|
1259
1259
|
{
|
|
1260
1260
|
ref: T,
|
|
1261
1261
|
value: w,
|
|
@@ -1277,10 +1277,10 @@ const Pr = x.div`
|
|
|
1277
1277
|
)
|
|
1278
1278
|
}
|
|
1279
1279
|
);
|
|
1280
|
-
return /* @__PURE__ */ s(he, { children: (t ||
|
|
1280
|
+
return /* @__PURE__ */ s(he, { children: (t || I) && /* @__PURE__ */ s(
|
|
1281
1281
|
We,
|
|
1282
1282
|
{
|
|
1283
|
-
isEditing: !!(t ||
|
|
1283
|
+
isEditing: !!(t || I),
|
|
1284
1284
|
anchorId: n,
|
|
1285
1285
|
onClose: a,
|
|
1286
1286
|
matchAnchorWidth: !0,
|
|
@@ -1309,7 +1309,7 @@ const Pr = x.div`
|
|
|
1309
1309
|
display: block;
|
|
1310
1310
|
}
|
|
1311
1311
|
|
|
1312
|
-
${
|
|
1312
|
+
${ot`
|
|
1313
1313
|
&:not(.markdown) {
|
|
1314
1314
|
white-space: normal;
|
|
1315
1315
|
word-break: break-word;
|
|
@@ -1324,19 +1324,19 @@ const Pr = x.div`
|
|
|
1324
1324
|
}
|
|
1325
1325
|
`}
|
|
1326
1326
|
`;
|
|
1327
|
-
let bn,
|
|
1328
|
-
const
|
|
1327
|
+
let bn, bo;
|
|
1328
|
+
const vo = () => bo ??= import("rehype-raw").then((e) => bn = e.default), xo = (e) => {
|
|
1329
1329
|
const [t, n] = G(() => bn);
|
|
1330
1330
|
return q(() => {
|
|
1331
1331
|
if (!e || t) return;
|
|
1332
1332
|
let o = !0;
|
|
1333
|
-
return
|
|
1333
|
+
return vo().then((a) => {
|
|
1334
1334
|
o && n(() => a);
|
|
1335
1335
|
}), () => {
|
|
1336
1336
|
o = !1;
|
|
1337
1337
|
};
|
|
1338
1338
|
}, [e, t]), t;
|
|
1339
|
-
},
|
|
1339
|
+
}, dt = x.a`
|
|
1340
1340
|
color: var(--md-sys-color-primary, #0066cc);
|
|
1341
1341
|
text-decoration: none;
|
|
1342
1342
|
cursor: pointer;
|
|
@@ -1347,7 +1347,7 @@ const bo = () => fo ??= import("rehype-raw").then((e) => bn = e.default), vo = (
|
|
|
1347
1347
|
&:hover {
|
|
1348
1348
|
text-decoration: underline;
|
|
1349
1349
|
}
|
|
1350
|
-
`,
|
|
1350
|
+
`, wo = x.div`
|
|
1351
1351
|
background: var(--md-sys-color-surface-container-lowest);
|
|
1352
1352
|
border-radius: 8px;
|
|
1353
1353
|
padding: 12px;
|
|
@@ -1374,7 +1374,7 @@ const bo = () => fo ??= import("rehype-raw").then((e) => bn = e.default), vo = (
|
|
|
1374
1374
|
}
|
|
1375
1375
|
}
|
|
1376
1376
|
`;
|
|
1377
|
-
class
|
|
1377
|
+
class ko {
|
|
1378
1378
|
lastShownTime = 0;
|
|
1379
1379
|
warmTimeout = 500;
|
|
1380
1380
|
// ms idle before resetting to cold mode
|
|
@@ -1387,19 +1387,19 @@ class wo {
|
|
|
1387
1387
|
this.lastShownTime = Date.now();
|
|
1388
1388
|
}
|
|
1389
1389
|
}
|
|
1390
|
-
const jt = new
|
|
1390
|
+
const jt = new ko(), ut = "projectTreeTextPreviewOpen", To = (e) => {
|
|
1391
1391
|
try {
|
|
1392
1392
|
const t = new URL(e.trim());
|
|
1393
1393
|
return t.protocol === "http:" || t.protocol === "https:";
|
|
1394
1394
|
} catch {
|
|
1395
1395
|
return !1;
|
|
1396
1396
|
}
|
|
1397
|
-
},
|
|
1397
|
+
}, Co = (e) => {
|
|
1398
1398
|
const t = /(https?:\/\/[^\s<>"]+[^\s.,!?;:<>\")\]])/gi;
|
|
1399
|
-
return e.split(t).map((o, a) =>
|
|
1399
|
+
return e.split(t).map((o, a) => To(o) ? { type: "url", content: o, key: a } : { type: "text", content: o, key: a });
|
|
1400
1400
|
}, Yt = (e) => {
|
|
1401
1401
|
const t = e?.match(/^@?([a-z]+):(.+)$/);
|
|
1402
|
-
return !t || !
|
|
1402
|
+
return !t || !fr.includes(t[1]) ? null : { type: t[1], id: decodeURIComponent(t[2]) };
|
|
1403
1403
|
}, qt = (e) => /<[^>]*>/.test(e), Qt = Se(
|
|
1404
1404
|
({
|
|
1405
1405
|
value: e,
|
|
@@ -1413,15 +1413,15 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1413
1413
|
type: g,
|
|
1414
1414
|
columnId: d,
|
|
1415
1415
|
cellId: f,
|
|
1416
|
-
onRequestEdit:
|
|
1416
|
+
onRequestEdit: u,
|
|
1417
1417
|
getDraftValue: m,
|
|
1418
1418
|
setDraftValue: S,
|
|
1419
|
-
mentionEntity:
|
|
1419
|
+
mentionEntity: p,
|
|
1420
1420
|
className: b,
|
|
1421
1421
|
...y
|
|
1422
1422
|
}, w) => {
|
|
1423
|
-
const R =
|
|
1424
|
-
}),
|
|
1423
|
+
const R = xo(!!n), _ = u || (() => {
|
|
1424
|
+
}), I = m || (() => null), E = S || (() => {
|
|
1425
1425
|
}), [T, z] = G(!1), [H, B] = G(!1), [A, P] = G(!1), [U, r] = G(!1), h = Q(null), v = Q(), N = Q(), C = Q(!1), L = T || H, D = t?.label || e, k = typeof D == "string" ? D : String(D ?? ""), O = !n && !qt(k) && !k.match(/(https?:\/\/\S+)/gi);
|
|
1426
1426
|
q(() => {
|
|
1427
1427
|
const K = h.current;
|
|
@@ -1451,16 +1451,16 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1451
1451
|
C.current = K, P(K);
|
|
1452
1452
|
}, []);
|
|
1453
1453
|
q(() => (clearTimeout(v.current), clearTimeout(N.current), o ? F(!1) : L ? C.current || U && f && (v.current = setTimeout(() => {
|
|
1454
|
-
C.current || (F(!0), jt.markShown(), window.dispatchEvent(new CustomEvent(
|
|
1454
|
+
C.current || (F(!0), jt.markShown(), window.dispatchEvent(new CustomEvent(ut, { detail: { cellId: f } })));
|
|
1455
1455
|
}, jt.getDelay())) : N.current = setTimeout(() => F(!1), 300), () => {
|
|
1456
1456
|
clearTimeout(v.current), clearTimeout(N.current);
|
|
1457
1457
|
}), [L, U, o, f, F]), q(() => {
|
|
1458
1458
|
const K = (V) => {
|
|
1459
1459
|
V.detail?.cellId !== f && F(!1);
|
|
1460
1460
|
};
|
|
1461
|
-
return window.addEventListener(
|
|
1461
|
+
return window.addEventListener(ut, K), () => window.removeEventListener(ut, K);
|
|
1462
1462
|
}, [f, F]);
|
|
1463
|
-
const
|
|
1463
|
+
const te = Y(() => {
|
|
1464
1464
|
F(!1), f && _(f);
|
|
1465
1465
|
}, [f, _, F]), ue = Y(
|
|
1466
1466
|
(K, V) => {
|
|
@@ -1472,7 +1472,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1472
1472
|
{
|
|
1473
1473
|
remarkPlugins: [hn],
|
|
1474
1474
|
rehypePlugins: R ? [R] : [],
|
|
1475
|
-
urlTransform: (V) => Yt(V) ? V :
|
|
1475
|
+
urlTransform: (V) => Yt(V) ? V : Lr(V),
|
|
1476
1476
|
components: {
|
|
1477
1477
|
p: ({ children: V }) => /* @__PURE__ */ s("span", { children: V }),
|
|
1478
1478
|
a: ({ href: V, children: $ }) => {
|
|
@@ -1480,7 +1480,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1480
1480
|
if (j) {
|
|
1481
1481
|
const Z = String($ ?? "").replace(/^@+/, "");
|
|
1482
1482
|
return /* @__PURE__ */ s(
|
|
1483
|
-
|
|
1483
|
+
yr,
|
|
1484
1484
|
{
|
|
1485
1485
|
type: j.type,
|
|
1486
1486
|
id: j.id.replaceAll(".", "-").replaceAll(" ", "-"),
|
|
@@ -1492,7 +1492,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1492
1492
|
);
|
|
1493
1493
|
}
|
|
1494
1494
|
return /* @__PURE__ */ s(
|
|
1495
|
-
|
|
1495
|
+
dt,
|
|
1496
1496
|
{
|
|
1497
1497
|
href: V || "#",
|
|
1498
1498
|
onMouseDown: (Z) => Z.stopPropagation(),
|
|
@@ -1505,8 +1505,8 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1505
1505
|
},
|
|
1506
1506
|
children: k
|
|
1507
1507
|
}
|
|
1508
|
-
) : qt(k) ?
|
|
1509
|
-
|
|
1508
|
+
) : qt(k) ? dr(k).map(($) => $.type === "url" && $.href ? /* @__PURE__ */ s(
|
|
1509
|
+
dt,
|
|
1510
1510
|
{
|
|
1511
1511
|
href: $.href,
|
|
1512
1512
|
onMouseDown: (j) => j.stopPropagation(),
|
|
@@ -1515,8 +1515,8 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1515
1515
|
children: $.content
|
|
1516
1516
|
},
|
|
1517
1517
|
$.key
|
|
1518
|
-
) : /* @__PURE__ */ s("span", { style: { whiteSpace: "pre-line" }, children: $.content }, $.key)) : k.match(/(https?:\/\/\S+)/gi) ?
|
|
1519
|
-
|
|
1518
|
+
) : /* @__PURE__ */ s("span", { style: { whiteSpace: "pre-line" }, children: $.content }, $.key)) : k.match(/(https?:\/\/\S+)/gi) ? Co(k).map(($) => $.type === "url" ? /* @__PURE__ */ s(
|
|
1519
|
+
dt,
|
|
1520
1520
|
{
|
|
1521
1521
|
href: $.content,
|
|
1522
1522
|
onMouseDown: (j) => j.stopPropagation(),
|
|
@@ -1528,7 +1528,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1528
1528
|
) : $.content) : k;
|
|
1529
1529
|
if (o && !n)
|
|
1530
1530
|
return /* @__PURE__ */ s(
|
|
1531
|
-
|
|
1531
|
+
lo,
|
|
1532
1532
|
{
|
|
1533
1533
|
value: e,
|
|
1534
1534
|
onChange: i,
|
|
@@ -1552,7 +1552,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1552
1552
|
},
|
|
1553
1553
|
children: [
|
|
1554
1554
|
t?.icon && /* @__PURE__ */ s(
|
|
1555
|
-
|
|
1555
|
+
re,
|
|
1556
1556
|
{
|
|
1557
1557
|
icon: t.icon,
|
|
1558
1558
|
style: {
|
|
@@ -1576,9 +1576,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1576
1576
|
onChange: ue,
|
|
1577
1577
|
onCancelEdit: l,
|
|
1578
1578
|
onDismissWithoutSave: l,
|
|
1579
|
-
draftValue:
|
|
1580
|
-
onEditingDraftChange:
|
|
1581
|
-
mentionEntity:
|
|
1579
|
+
draftValue: I(),
|
|
1580
|
+
onEditingDraftChange: E,
|
|
1581
|
+
mentionEntity: p
|
|
1582
1582
|
}
|
|
1583
1583
|
),
|
|
1584
1584
|
A && !o && n && f && /* @__PURE__ */ s(
|
|
@@ -1591,7 +1591,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1591
1591
|
allowMarkdown: !0,
|
|
1592
1592
|
onChange: i,
|
|
1593
1593
|
onCancelEdit: () => F(!1),
|
|
1594
|
-
onPreviewClick:
|
|
1594
|
+
onPreviewClick: te,
|
|
1595
1595
|
onPreviewMouseEnter: () => B(!0),
|
|
1596
1596
|
onPreviewMouseLeave: () => B(!1)
|
|
1597
1597
|
}
|
|
@@ -1603,9 +1603,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1603
1603
|
anchorId: f,
|
|
1604
1604
|
onClose: () => F(!1),
|
|
1605
1605
|
children: /* @__PURE__ */ s(
|
|
1606
|
-
|
|
1606
|
+
wo,
|
|
1607
1607
|
{
|
|
1608
|
-
onClick:
|
|
1608
|
+
onClick: te,
|
|
1609
1609
|
onMouseEnter: () => B(!0),
|
|
1610
1610
|
onMouseLeave: () => B(!1),
|
|
1611
1611
|
onMouseDown: (K) => K.stopPropagation(),
|
|
@@ -1616,7 +1616,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1616
1616
|
)
|
|
1617
1617
|
] });
|
|
1618
1618
|
}
|
|
1619
|
-
),
|
|
1619
|
+
), So = ({
|
|
1620
1620
|
description: e,
|
|
1621
1621
|
enableEditing: t,
|
|
1622
1622
|
isMixed: n,
|
|
@@ -1637,7 +1637,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1637
1637
|
i(!1), c("");
|
|
1638
1638
|
}
|
|
1639
1639
|
};
|
|
1640
|
-
},
|
|
1640
|
+
}, Io = ({
|
|
1641
1641
|
description: e,
|
|
1642
1642
|
isLarge: t = !0,
|
|
1643
1643
|
isMixed: n,
|
|
@@ -1650,24 +1650,24 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1650
1650
|
onMentionClick: d,
|
|
1651
1651
|
onMentionHover: f
|
|
1652
1652
|
}) => {
|
|
1653
|
-
const { isEditing:
|
|
1653
|
+
const { isEditing: u, editorValue: m, setEditorValue: S, handleStartEditing: p, handleSave: b, handleCancel: y } = So({
|
|
1654
1654
|
description: e,
|
|
1655
1655
|
enableEditing: o,
|
|
1656
1656
|
isMixed: n,
|
|
1657
1657
|
onChange: i
|
|
1658
|
-
}), w = yn(g, { skip: !
|
|
1658
|
+
}), w = yn(g, { skip: !u });
|
|
1659
1659
|
if (q(() => {
|
|
1660
|
-
a && !
|
|
1660
|
+
a && !u && p();
|
|
1661
1661
|
}, [a]), c)
|
|
1662
|
-
return /* @__PURE__ */ s(zt, { title: "Description", children: /* @__PURE__ */ s(
|
|
1663
|
-
const R = (
|
|
1664
|
-
if (
|
|
1665
|
-
const
|
|
1666
|
-
if (
|
|
1667
|
-
|
|
1662
|
+
return /* @__PURE__ */ s(zt, { title: "Description", children: /* @__PURE__ */ s(po, {}) });
|
|
1663
|
+
const R = (I) => {
|
|
1664
|
+
if (u) return;
|
|
1665
|
+
const E = I.target;
|
|
1666
|
+
if (E.closest("a") || d && E.closest(".mention")) {
|
|
1667
|
+
I.stopPropagation();
|
|
1668
1668
|
return;
|
|
1669
1669
|
}
|
|
1670
|
-
|
|
1670
|
+
p();
|
|
1671
1671
|
}, _ = () => {
|
|
1672
1672
|
y(), l?.();
|
|
1673
1673
|
};
|
|
@@ -1675,39 +1675,39 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1675
1675
|
zt,
|
|
1676
1676
|
{
|
|
1677
1677
|
title: "Description",
|
|
1678
|
-
showHeader: !
|
|
1679
|
-
enableHover: !
|
|
1680
|
-
onClick:
|
|
1678
|
+
showHeader: !u,
|
|
1679
|
+
enableHover: !u,
|
|
1680
|
+
onClick: u ? void 0 : p,
|
|
1681
1681
|
description: t,
|
|
1682
|
-
children: /* @__PURE__ */ M(
|
|
1682
|
+
children: /* @__PURE__ */ M(co, { className: W({ editing: u }), onClick: R, children: [
|
|
1683
1683
|
/* @__PURE__ */ s(Rt, { className: "block-shortcuts", children: /* @__PURE__ */ s(
|
|
1684
1684
|
Ct,
|
|
1685
1685
|
{
|
|
1686
1686
|
className: "description-editor",
|
|
1687
|
-
value:
|
|
1688
|
-
onChange:
|
|
1689
|
-
placeholder:
|
|
1690
|
-
mentions:
|
|
1687
|
+
value: u ? m : e || "",
|
|
1688
|
+
onChange: u ? S : void 0,
|
|
1689
|
+
placeholder: u ? "Describe it, or type / to add headings, lists, mentions, code and more..." : "Add a description...",
|
|
1690
|
+
mentions: u ? w : void 0,
|
|
1691
1691
|
onMentionClick: d,
|
|
1692
1692
|
onMentionHover: f,
|
|
1693
|
-
readOnly: !
|
|
1694
|
-
toolbar:
|
|
1693
|
+
readOnly: !u,
|
|
1694
|
+
toolbar: u ? br : !1,
|
|
1695
1695
|
bordered: !1,
|
|
1696
|
-
autoFocus:
|
|
1697
|
-
minHeight:
|
|
1698
|
-
onSubmit:
|
|
1699
|
-
onEscape:
|
|
1696
|
+
autoFocus: u,
|
|
1697
|
+
minHeight: u ? 60 : 20,
|
|
1698
|
+
onSubmit: u ? b : void 0,
|
|
1699
|
+
onEscape: u ? _ : void 0
|
|
1700
1700
|
},
|
|
1701
|
-
|
|
1701
|
+
u ? "edit" : "view"
|
|
1702
1702
|
) }),
|
|
1703
|
-
|
|
1703
|
+
u && /* @__PURE__ */ s(uo, { children: /* @__PURE__ */ M(mo, { children: [
|
|
1704
1704
|
/* @__PURE__ */ s(xe, { variant: "text", label: "Cancel", onClick: _ }),
|
|
1705
1705
|
/* @__PURE__ */ s(xe, { variant: "filled", label: "Save", onClick: b })
|
|
1706
1706
|
] }) })
|
|
1707
1707
|
] })
|
|
1708
1708
|
}
|
|
1709
1709
|
);
|
|
1710
|
-
},
|
|
1710
|
+
}, Eo = x(xe)`
|
|
1711
1711
|
position: absolute;
|
|
1712
1712
|
right: -40px;
|
|
1713
1713
|
top: 38px;
|
|
@@ -1715,7 +1715,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1715
1715
|
width: 32px;
|
|
1716
1716
|
height: 32px;
|
|
1717
1717
|
padding: 2px;
|
|
1718
|
-
`,
|
|
1718
|
+
`, Ro = ({
|
|
1719
1719
|
value: e,
|
|
1720
1720
|
isOpen: t,
|
|
1721
1721
|
onClose: n,
|
|
@@ -1729,7 +1729,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1729
1729
|
onClose: n,
|
|
1730
1730
|
style: { maxHeight: "80vh" },
|
|
1731
1731
|
children: /* @__PURE__ */ s(
|
|
1732
|
-
|
|
1732
|
+
Io,
|
|
1733
1733
|
{
|
|
1734
1734
|
description: e,
|
|
1735
1735
|
isLarge: !0,
|
|
@@ -1751,14 +1751,14 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1751
1751
|
onExpand: i,
|
|
1752
1752
|
showExpand: l
|
|
1753
1753
|
}) => {
|
|
1754
|
-
const [c, g] = G(e || ""), [d, f] = G(0), [
|
|
1754
|
+
const [c, g] = G(e || ""), [d, f] = G(0), [u, m] = G(!1), S = Q(null), p = Q(null), b = o && !a;
|
|
1755
1755
|
q(() => {
|
|
1756
|
-
if (!
|
|
1756
|
+
if (!p.current) return;
|
|
1757
1757
|
const T = new ResizeObserver((z) => {
|
|
1758
1758
|
for (const H of z)
|
|
1759
1759
|
f(H.contentRect.width);
|
|
1760
1760
|
});
|
|
1761
|
-
return T.observe(
|
|
1761
|
+
return T.observe(p.current), () => T.disconnect();
|
|
1762
1762
|
}, []), q(() => {
|
|
1763
1763
|
b && g(e || "");
|
|
1764
1764
|
}, [b]);
|
|
@@ -1778,7 +1778,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1778
1778
|
}, [t, n, e, c]), _ = Y(
|
|
1779
1779
|
(T) => {
|
|
1780
1780
|
const z = T.relatedTarget;
|
|
1781
|
-
if (!(z && (
|
|
1781
|
+
if (!(z && (p.current?.contains(z) || z.closest(".md-popover")))) {
|
|
1782
1782
|
if (z?.closest(".expand-button")) {
|
|
1783
1783
|
n?.();
|
|
1784
1784
|
return;
|
|
@@ -1787,14 +1787,14 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1787
1787
|
}
|
|
1788
1788
|
},
|
|
1789
1789
|
[R, n]
|
|
1790
|
-
),
|
|
1790
|
+
), I = Y((T) => {
|
|
1791
1791
|
(T.key === "Escape" || T.key === "Enter" && (T.metaKey || T.ctrlKey)) && T.stopPropagation();
|
|
1792
1792
|
}, []);
|
|
1793
1793
|
if (!e && !b) return null;
|
|
1794
|
-
const
|
|
1795
|
-
return /* @__PURE__ */ M("div", { ref:
|
|
1794
|
+
const E = b && !u;
|
|
1795
|
+
return /* @__PURE__ */ M("div", { ref: p, style: { width: "100%", height: y, position: "relative", minWidth: 0 }, children: [
|
|
1796
1796
|
l && w >= 3 && /* @__PURE__ */ s(
|
|
1797
|
-
|
|
1797
|
+
Eo,
|
|
1798
1798
|
{
|
|
1799
1799
|
icon: "expand_content",
|
|
1800
1800
|
className: "field-tools expand-button",
|
|
@@ -1809,32 +1809,32 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1809
1809
|
{
|
|
1810
1810
|
style: { height: y, overflow: "auto" },
|
|
1811
1811
|
className: "block-shortcuts compact",
|
|
1812
|
-
onBlur:
|
|
1813
|
-
onKeyDown:
|
|
1812
|
+
onBlur: E ? _ : void 0,
|
|
1813
|
+
onKeyDown: E ? I : void 0,
|
|
1814
1814
|
children: /* @__PURE__ */ s(
|
|
1815
1815
|
Ct,
|
|
1816
1816
|
{
|
|
1817
1817
|
ref: S,
|
|
1818
|
-
value:
|
|
1819
|
-
onChange:
|
|
1820
|
-
readOnly: !
|
|
1818
|
+
value: E ? c : e || "",
|
|
1819
|
+
onChange: E ? g : void 0,
|
|
1820
|
+
readOnly: !E,
|
|
1821
1821
|
toolbar: !1,
|
|
1822
|
-
floatingToolbar:
|
|
1822
|
+
floatingToolbar: E,
|
|
1823
1823
|
bordered: !1,
|
|
1824
|
-
autoFocus:
|
|
1824
|
+
autoFocus: E,
|
|
1825
1825
|
minHeight: y,
|
|
1826
|
-
onSubmit:
|
|
1827
|
-
onEscape:
|
|
1826
|
+
onSubmit: E ? R : void 0,
|
|
1827
|
+
onEscape: E ? () => n?.() : void 0,
|
|
1828
1828
|
placeholder: ""
|
|
1829
1829
|
},
|
|
1830
|
-
|
|
1830
|
+
E ? "edit" : "view"
|
|
1831
1831
|
)
|
|
1832
1832
|
}
|
|
1833
1833
|
),
|
|
1834
1834
|
/* @__PURE__ */ s(
|
|
1835
|
-
|
|
1835
|
+
Ro,
|
|
1836
1836
|
{
|
|
1837
|
-
isOpen:
|
|
1837
|
+
isOpen: u,
|
|
1838
1838
|
onClose: () => m(!1),
|
|
1839
1839
|
value: b ? c : e,
|
|
1840
1840
|
onSave: (T) => {
|
|
@@ -1843,7 +1843,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1843
1843
|
}
|
|
1844
1844
|
)
|
|
1845
1845
|
] });
|
|
1846
|
-
},
|
|
1846
|
+
}, Lo = x.input`
|
|
1847
1847
|
margin: auto;
|
|
1848
1848
|
z-index: 1;
|
|
1849
1849
|
cursor: pointer;
|
|
@@ -1864,9 +1864,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1864
1864
|
border-color: var(--md-sys-color-primary);
|
|
1865
1865
|
appearance: auto;
|
|
1866
1866
|
}
|
|
1867
|
-
`,
|
|
1867
|
+
`, No = Se(
|
|
1868
1868
|
({ value: e, onChange: t, isReadOnly: n, isEditing: o, onCancelEdit: a, isInherited: i, ...l }, c) => n ? /* @__PURE__ */ s(St, { checked: e, isReadOnly: !0, className: l.className }) : /* @__PURE__ */ s(
|
|
1869
|
-
|
|
1869
|
+
Lo,
|
|
1870
1870
|
{
|
|
1871
1871
|
...l,
|
|
1872
1872
|
checked: e,
|
|
@@ -1880,7 +1880,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
1880
1880
|
readOnly: n
|
|
1881
1881
|
}
|
|
1882
1882
|
)
|
|
1883
|
-
),
|
|
1883
|
+
), it = x.div`
|
|
1884
1884
|
padding: var(--padding-m);
|
|
1885
1885
|
background-color: var(--md-sys-color-surface-container-high);
|
|
1886
1886
|
border-radius: var(--border-radius-l);
|
|
@@ -2025,7 +2025,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2025
2025
|
&:hover {
|
|
2026
2026
|
background-color: var(--md-sys-color-surface-container-low-hover);
|
|
2027
2027
|
}
|
|
2028
|
-
`,
|
|
2028
|
+
`, Do = x(tt).attrs({ type: "number" })`
|
|
2029
2029
|
height: 22px !important;
|
|
2030
2030
|
min-height: 22px !important;
|
|
2031
2031
|
max-height: 22px !important;
|
|
@@ -2045,7 +2045,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2045
2045
|
-webkit-appearance: none;
|
|
2046
2046
|
margin: 0;
|
|
2047
2047
|
}
|
|
2048
|
-
`,
|
|
2048
|
+
`, Ao = x.div`
|
|
2049
2049
|
display: flex;
|
|
2050
2050
|
flex-direction: column;
|
|
2051
2051
|
/* hack for search border cutoff */
|
|
@@ -2058,12 +2058,12 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2058
2058
|
|
|
2059
2059
|
/* Set a reasonable max-height that allows for search functionality */
|
|
2060
2060
|
max-height: 250px;
|
|
2061
|
-
`,
|
|
2061
|
+
`, Po = x.div`
|
|
2062
2062
|
display: flex;
|
|
2063
2063
|
flex-direction: column;
|
|
2064
2064
|
align-items: center;
|
|
2065
2065
|
gap: var(--base-gap-small);
|
|
2066
|
-
`,
|
|
2066
|
+
`, _o = x.div`
|
|
2067
2067
|
position: relative;
|
|
2068
2068
|
width: 100%;
|
|
2069
2069
|
display: flex;
|
|
@@ -2075,21 +2075,21 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2075
2075
|
position: absolute;
|
|
2076
2076
|
left: 4px;
|
|
2077
2077
|
}
|
|
2078
|
-
`,
|
|
2078
|
+
`, $o = x(xe)`
|
|
2079
2079
|
min-width: 110px;
|
|
2080
2080
|
flex: 1;
|
|
2081
2081
|
width: 100%;
|
|
2082
|
-
`,
|
|
2082
|
+
`, Mo = x(tt)`
|
|
2083
2083
|
flex: 1;
|
|
2084
2084
|
border: none;
|
|
2085
2085
|
background-color: var(--md-sys-color-surface-container);
|
|
2086
2086
|
padding-left: 28px;
|
|
2087
2087
|
width: 100%;
|
|
2088
2088
|
min-width: 224px;
|
|
2089
|
-
`,
|
|
2089
|
+
`, Oo = x.div`
|
|
2090
2090
|
color: var(--md-sys-color-error);
|
|
2091
2091
|
margin-top: var(--base-gap-small);
|
|
2092
|
-
`,
|
|
2092
|
+
`, zo = x.ul`
|
|
2093
2093
|
list-style: none;
|
|
2094
2094
|
padding: 0;
|
|
2095
2095
|
margin: 0;
|
|
@@ -2179,11 +2179,11 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2179
2179
|
color: var(--md-sys-color-outline);
|
|
2180
2180
|
}
|
|
2181
2181
|
`, Cn = ye(void 0), Nt = () => {
|
|
2182
|
-
const e =
|
|
2182
|
+
const e = ae(Cn);
|
|
2183
2183
|
if (e === void 0)
|
|
2184
2184
|
throw new Error("useCellEditing must be used within a CellEditingProvider");
|
|
2185
2185
|
return e;
|
|
2186
|
-
},
|
|
2186
|
+
}, Fo = () => ae(Cn), Ho = {
|
|
2187
2187
|
status: ["folder", "task", "product", "version"],
|
|
2188
2188
|
subType: ["folder", "task", "product"],
|
|
2189
2189
|
assignees: ["task"],
|
|
@@ -2199,9 +2199,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2199
2199
|
label: ["folder", "task", "version"],
|
|
2200
2200
|
thumbnailHash: ["folder", "task", "version"]
|
|
2201
2201
|
}, Dt = (e, t) => {
|
|
2202
|
-
const n =
|
|
2202
|
+
const n = Ho[e];
|
|
2203
2203
|
return !n || n.includes(t);
|
|
2204
|
-
}, De = (e, t) => t === "primary" ? e.primary : e.parents?.[t],
|
|
2204
|
+
}, De = (e, t) => t === "primary" ? e.primary : e.parents?.[t], se = (e, t, n, o = !1) => {
|
|
2205
2205
|
if (e.group)
|
|
2206
2206
|
return o || t !== "primary" || n !== "name" ? void 0 : e.primary.name;
|
|
2207
2207
|
const a = De(e, t);
|
|
@@ -2220,16 +2220,16 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2220
2220
|
listType: "review-session",
|
|
2221
2221
|
entityTypes: ["version"]
|
|
2222
2222
|
}
|
|
2223
|
-
},
|
|
2223
|
+
}, Bo = Object.keys(Me), pt = (e, t) => !!Me[e]?.entityTypes.includes(t), de = {
|
|
2224
2224
|
folder: "folder_entity",
|
|
2225
2225
|
task: "task_entity",
|
|
2226
2226
|
version: "version_entity"
|
|
2227
|
-
},
|
|
2227
|
+
}, Wo = {
|
|
2228
2228
|
folder: de.folder,
|
|
2229
2229
|
folderName: de.folder,
|
|
2230
2230
|
taskLabel: de.task,
|
|
2231
2231
|
taskName: de.task
|
|
2232
|
-
}, ge = (e, t = {}) => t[e] ||
|
|
2232
|
+
}, ge = (e, t = {}) => t[e] || Wo[e] || e, mt = (e = [], t = {}) => Array.from(new Set(e.map((n) => ge(n, t)))), Ue = (e = {}, t = {}) => {
|
|
2233
2233
|
const n = {};
|
|
2234
2234
|
return Object.entries(e).forEach(([o, a]) => {
|
|
2235
2235
|
const i = ge(o, t);
|
|
@@ -2239,9 +2239,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2239
2239
|
if (!e) return {};
|
|
2240
2240
|
const n = {
|
|
2241
2241
|
...e.columnPinning,
|
|
2242
|
-
left:
|
|
2243
|
-
right:
|
|
2244
|
-
}, o = Ue(e.columnSizing, t), a = Ue(e.columnVisibility, t), i =
|
|
2242
|
+
left: mt(e.columnPinning?.left, t),
|
|
2243
|
+
right: mt(e.columnPinning?.right, t)
|
|
2244
|
+
}, o = Ue(e.columnSizing, t), a = Ue(e.columnVisibility, t), i = mt(e.columnOrder, t), l = e.sorting?.map((c) => ({
|
|
2245
2245
|
...c,
|
|
2246
2246
|
id: ge(c.id, t)
|
|
2247
2247
|
}));
|
|
@@ -2257,19 +2257,19 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2257
2257
|
columnSummaryFormats: Ue(e.columnSummaryFormats, t)
|
|
2258
2258
|
};
|
|
2259
2259
|
}, Sn = ye(void 0), In = () => {
|
|
2260
|
-
const e =
|
|
2260
|
+
const e = ae(Sn);
|
|
2261
2261
|
if (e === void 0)
|
|
2262
2262
|
throw new Error("useSelectionCellsContext must be used within a SelectionCellsProvider");
|
|
2263
2263
|
return e;
|
|
2264
|
-
}, Us = () =>
|
|
2264
|
+
}, Us = () => ae(Sn), En = (e) => {
|
|
2265
2265
|
if (!(e.group || e.metaType)) {
|
|
2266
2266
|
if (e.parents?.folder) return e.parents.folder;
|
|
2267
2267
|
if (e.primary.entityType === "folder" && !e.isLoading) return e.primary;
|
|
2268
2268
|
}
|
|
2269
|
-
},
|
|
2269
|
+
}, Uo = (e) => {
|
|
2270
2270
|
const t = En(e);
|
|
2271
2271
|
return t?.label || t?.name;
|
|
2272
|
-
},
|
|
2272
|
+
}, Ko = async (e, t) => {
|
|
2273
2273
|
if (e.length)
|
|
2274
2274
|
try {
|
|
2275
2275
|
const n = e.map(
|
|
@@ -2290,7 +2290,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2290
2290
|
} catch (n) {
|
|
2291
2291
|
throw we.error(`Failed to remove links: ${n}`), n;
|
|
2292
2292
|
}
|
|
2293
|
-
},
|
|
2293
|
+
}, Vo = async (e, t) => {
|
|
2294
2294
|
if (e.length)
|
|
2295
2295
|
try {
|
|
2296
2296
|
const n = e.map(
|
|
@@ -2321,7 +2321,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2321
2321
|
} catch (n) {
|
|
2322
2322
|
throw we.error(`Failed to add links: ${n}`), n;
|
|
2323
2323
|
}
|
|
2324
|
-
},
|
|
2324
|
+
}, Go = ({ projectInfo: e }) => {
|
|
2325
2325
|
const { folderTypes: t = [], taskTypes: n = [], productTypes: o = [] } = e || {}, a = ee(() => {
|
|
2326
2326
|
const g = /* @__PURE__ */ new Map();
|
|
2327
2327
|
for (const d of t)
|
|
@@ -2352,7 +2352,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2352
2352
|
},
|
|
2353
2353
|
[a, i, l]
|
|
2354
2354
|
);
|
|
2355
|
-
}, le = "next-page", be = "_ungrouped", At = "__",
|
|
2355
|
+
}, le = "next-page", be = "_ungrouped", At = "__", Je = (e) => e ? Array.isArray(e) ? [...new Set(e.map((t) => t.toString()))] : [e.toString()] : [], jo = (e, t, n, o, a) => {
|
|
2356
2356
|
const i = o?.get(t), l = n?.find((g) => g.value === t), c = l ? {
|
|
2357
2357
|
value: l.value,
|
|
2358
2358
|
label: l.label || l.value,
|
|
@@ -2362,10 +2362,10 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2362
2362
|
img: e === "assignees" ? `/api/users/${l.value}/avatar` : void 0
|
|
2363
2363
|
} : { value: t, label: t };
|
|
2364
2364
|
return i ? (c.count = i.count, c.percentage = i.percentage) : o && a && (c.count = 0, c.percentage = void 0), c;
|
|
2365
|
-
},
|
|
2365
|
+
}, nt = "_GROUP_", Jt = (e) => `${nt}${e}`, Yo = (e) => e.startsWith(nt) ? e.slice(nt.length) : null, Ks = (e) => e.startsWith(nt), qo = (e, t, n = []) => {
|
|
2366
2366
|
const o = e.id.replace("attrib.", "");
|
|
2367
2367
|
return o === "status" ? t?.statuses?.map((a) => a.name) || [] : o === "taskType" ? t?.taskTypes?.map((a) => a.name) || [] : o === "folderType" ? t?.folderTypes?.map((a) => a.name) || [] : e.id.startsWith("attrib.") ? n.find((a) => a.name === o)?.data.enum?.map((a) => a.value.toString()) || [] : [];
|
|
2368
|
-
},
|
|
2368
|
+
}, Qo = (e, t, n, o, a) => {
|
|
2369
2369
|
const i = a(n, e.taskType), l = o.get(e.folderId), c = Hi(
|
|
2370
2370
|
e,
|
|
2371
2371
|
l?.entityType === "folder" ? l : void 0
|
|
@@ -2386,12 +2386,12 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2386
2386
|
groupCounts: l,
|
|
2387
2387
|
groupCountsComplete: c
|
|
2388
2388
|
}) => {
|
|
2389
|
-
const g = Be(), d =
|
|
2390
|
-
(
|
|
2391
|
-
const S = i ? i(
|
|
2392
|
-
return t === "task" && (S.primary.links = Fi(
|
|
2389
|
+
const g = Be(), d = Go({ projectInfo: g }), f = Y(
|
|
2390
|
+
(u, m) => {
|
|
2391
|
+
const S = i ? i(u) : Qo(u, m, t, e, d);
|
|
2392
|
+
return t === "task" && (S.primary.links = Fi(u.links, "task", g.anatomy)), {
|
|
2393
2393
|
...S,
|
|
2394
|
-
id:
|
|
2394
|
+
id: u.id + At + m,
|
|
2395
2395
|
// unique id for the task in the group
|
|
2396
2396
|
subRows: S.subRows || []
|
|
2397
2397
|
};
|
|
@@ -2399,22 +2399,22 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2399
2399
|
[i, d, t, e, g]
|
|
2400
2400
|
);
|
|
2401
2401
|
return Y(
|
|
2402
|
-
(
|
|
2402
|
+
(u) => {
|
|
2403
2403
|
const m = /* @__PURE__ */ new Map();
|
|
2404
|
-
for (const
|
|
2405
|
-
const
|
|
2406
|
-
|
|
2407
|
-
|
|
2404
|
+
for (const I of n) {
|
|
2405
|
+
const E = I.value?.toString(), T = Jt(E), z = jo(
|
|
2406
|
+
u.id,
|
|
2407
|
+
E,
|
|
2408
2408
|
n,
|
|
2409
2409
|
l,
|
|
2410
2410
|
c
|
|
2411
2411
|
);
|
|
2412
|
-
m.set(
|
|
2412
|
+
m.set(E, {
|
|
2413
2413
|
id: T,
|
|
2414
2414
|
primary: {
|
|
2415
2415
|
id: T,
|
|
2416
2416
|
entityType: "folder",
|
|
2417
|
-
name:
|
|
2417
|
+
name: E,
|
|
2418
2418
|
label: z.label,
|
|
2419
2419
|
subType: ""
|
|
2420
2420
|
},
|
|
@@ -2422,10 +2422,10 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2422
2422
|
group: z
|
|
2423
2423
|
});
|
|
2424
2424
|
}
|
|
2425
|
-
const S = Jt(be),
|
|
2426
|
-
let
|
|
2427
|
-
if (!
|
|
2428
|
-
const
|
|
2425
|
+
const S = Jt(be), p = () => {
|
|
2426
|
+
let I = m.get(be);
|
|
2427
|
+
if (!I) {
|
|
2428
|
+
const E = l?.get(be), T = {
|
|
2429
2429
|
id: S,
|
|
2430
2430
|
primary: {
|
|
2431
2431
|
id: S,
|
|
@@ -2438,33 +2438,36 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2438
2438
|
group: {
|
|
2439
2439
|
value: be,
|
|
2440
2440
|
label: "Ungrouped",
|
|
2441
|
-
count:
|
|
2442
|
-
percentage:
|
|
2441
|
+
count: E?.count,
|
|
2442
|
+
percentage: E?.percentage
|
|
2443
2443
|
}
|
|
2444
2444
|
};
|
|
2445
|
-
m.set(be, T),
|
|
2445
|
+
m.set(be, T), I = T;
|
|
2446
2446
|
}
|
|
2447
|
-
return
|
|
2447
|
+
return I;
|
|
2448
2448
|
};
|
|
2449
|
-
(
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2449
|
+
(u.id === "tags" || u.id === "assignees" || // folder groups come from the cached folder list, which can miss a folder's first version
|
|
2450
|
+
u.id === "folderId" || u.id.startsWith("attrib.")) && p();
|
|
2451
|
+
for (const [, I] of e) {
|
|
2452
|
+
if (I.entityType !== t) continue;
|
|
2453
|
+
let E = [];
|
|
2454
|
+
if (u.id.startsWith("attrib.")) {
|
|
2455
|
+
const T = u.id.split(".")[1];
|
|
2456
|
+
E = Je(I.attrib?.[T]);
|
|
2457
|
+
} else u.id === "folderType" && "folder" in I ? E = Je(
|
|
2458
|
+
I.folder?.folderType
|
|
2459
|
+
) : u.id === "folderId" && "product" in I ? E = Je(
|
|
2460
|
+
I.product?.folder?.id
|
|
2461
|
+
) : E = Je(I[u.id]);
|
|
2462
|
+
E.length === 0 && p().subRows?.push(f(I, be));
|
|
2463
|
+
for (const T of E) {
|
|
2461
2464
|
const z = m.get(T);
|
|
2462
|
-
z ? z.subRows?.push(f(
|
|
2463
|
-
f(
|
|
2465
|
+
z ? z.subRows?.push(f(I, T)) : p().subRows?.push(
|
|
2466
|
+
f(I, be)
|
|
2464
2467
|
);
|
|
2465
2468
|
}
|
|
2466
|
-
if ("groups" in
|
|
2467
|
-
for (const T of
|
|
2469
|
+
if ("groups" in I && Array.isArray(I.groups)) {
|
|
2470
|
+
for (const T of I.groups)
|
|
2468
2471
|
if (T.hasNextPage && m.has(T.value)) {
|
|
2469
2472
|
const H = m.get(T.value);
|
|
2470
2473
|
H && H.subRows?.push({
|
|
@@ -2482,18 +2485,18 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2482
2485
|
}
|
|
2483
2486
|
}
|
|
2484
2487
|
}
|
|
2485
|
-
const y = Array.from(m.values()), w =
|
|
2486
|
-
y.sort((
|
|
2487
|
-
if (
|
|
2488
|
-
if (
|
|
2488
|
+
const y = Array.from(m.values()), w = qo(u, g, o), R = u.desc ? -1 : 1;
|
|
2489
|
+
y.sort((I, E) => {
|
|
2490
|
+
if (I.group?.value === be) return 1;
|
|
2491
|
+
if (E.group?.value === be) return -1;
|
|
2489
2492
|
if (w.length) {
|
|
2490
|
-
const T = w.indexOf(
|
|
2491
|
-
return T !== -1 && z !== -1 ? (T - z) * R : T !== -1 ? -1 : z !== -1 ? 1 : (
|
|
2493
|
+
const T = w.indexOf(I.group?.value || ""), z = w.indexOf(E.group?.value || "");
|
|
2494
|
+
return T !== -1 && z !== -1 ? (T - z) * R : T !== -1 ? -1 : z !== -1 ? 1 : (I.group?.label?.localeCompare(E.group?.label || "") || 0) * R;
|
|
2492
2495
|
} else
|
|
2493
|
-
return (
|
|
2496
|
+
return (I.group?.label?.localeCompare(E.group?.label || "") || 0) * R;
|
|
2494
2497
|
});
|
|
2495
2498
|
const _ = y.filter(
|
|
2496
|
-
(
|
|
2499
|
+
(I) => I.group?.count === void 0 || I.group.count > 0 || (I.subRows?.length ?? 0) > 0 || I.group?.value === be
|
|
2497
2500
|
);
|
|
2498
2501
|
return a ? y : _;
|
|
2499
2502
|
},
|
|
@@ -2509,49 +2512,49 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2509
2512
|
g
|
|
2510
2513
|
]
|
|
2511
2514
|
);
|
|
2512
|
-
},
|
|
2513
|
-
const e =
|
|
2515
|
+
}, Jo = ye(void 0), Zo = () => {
|
|
2516
|
+
const e = ae(Jo);
|
|
2514
2517
|
if (!e)
|
|
2515
2518
|
throw new Error("useColumnSettingsContext must be used within a ColumnSettingsProvider");
|
|
2516
2519
|
return e;
|
|
2517
2520
|
}, Rn = ye(void 0), Pt = () => {
|
|
2518
|
-
const e =
|
|
2521
|
+
const e = ae(Rn);
|
|
2519
2522
|
if (!e)
|
|
2520
2523
|
throw new Error("useProjectTableContext must be used within a ProjectTableProvider");
|
|
2521
2524
|
return e;
|
|
2522
|
-
}, Gs = () =>
|
|
2523
|
-
const e =
|
|
2525
|
+
}, Gs = () => ae(Rn), Xo = (e) => e?.split(At)[0] || e, ei = ye(void 0), js = () => {
|
|
2526
|
+
const e = ae(ei);
|
|
2524
2527
|
if (e === void 0)
|
|
2525
2528
|
throw new Error("useClipboard must be used within a ClipboardProvider");
|
|
2526
2529
|
return e;
|
|
2527
2530
|
}, Ln = ye(
|
|
2528
2531
|
void 0
|
|
2529
|
-
),
|
|
2530
|
-
const e =
|
|
2532
|
+
), ti = () => {
|
|
2533
|
+
const e = ae(Ln);
|
|
2531
2534
|
if (!e)
|
|
2532
2535
|
throw new Error("useDetailsPanelEntityContext must be used within a DetailsPanelEntityProvider");
|
|
2533
2536
|
return e;
|
|
2534
|
-
},
|
|
2535
|
-
const e =
|
|
2537
|
+
}, Nn = ye(void 0), ni = () => {
|
|
2538
|
+
const e = ae(Nn);
|
|
2536
2539
|
if (!e)
|
|
2537
2540
|
throw new Error("useProjectDataContext must be used within a ProjectDataProvider");
|
|
2538
2541
|
return e;
|
|
2539
|
-
}, ri = ye(void 0),
|
|
2540
|
-
const e =
|
|
2542
|
+
}, Ys = () => ae(Nn), ri = ye(void 0), qs = () => {
|
|
2543
|
+
const e = ae(ri);
|
|
2541
2544
|
if (!e)
|
|
2542
2545
|
throw new Error(
|
|
2543
2546
|
"useProjectTableQueriesContext must be used within a ProjectTableQueriesProvider"
|
|
2544
2547
|
);
|
|
2545
2548
|
return e;
|
|
2546
|
-
},
|
|
2547
|
-
const e =
|
|
2549
|
+
}, Dn = ye(void 0), An = () => {
|
|
2550
|
+
const e = ae(Dn);
|
|
2548
2551
|
if (!e)
|
|
2549
2552
|
throw new Error("useSelectedRowsContext must be used within a SelectedRowsProvider");
|
|
2550
2553
|
return e;
|
|
2551
|
-
}, oi = () =>
|
|
2554
|
+
}, oi = () => ae(Dn), ii = "unknown", Qs = "restricted", Js = "Access Restricted - Insufficient Permissions", Zs = "lock", Ge = (e) => e === ii, Fe = "readonly", Xs = (e) => {
|
|
2552
2555
|
const t = e.target;
|
|
2553
2556
|
return t.tagName === "TD" ? t.classList.contains(Fe) || Array.from(t.children).some((n) => n.classList.contains(Fe)) : t.closest(`.${Fe}`) !== null;
|
|
2554
|
-
},
|
|
2557
|
+
}, Pn = ye(void 0), el = {
|
|
2555
2558
|
progress: {
|
|
2556
2559
|
fields: [
|
|
2557
2560
|
{ value: "hierarchy" },
|
|
@@ -2582,12 +2585,12 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2582
2585
|
{ value: "entityList" }
|
|
2583
2586
|
]
|
|
2584
2587
|
}
|
|
2585
|
-
},
|
|
2586
|
-
const e =
|
|
2588
|
+
}, tl = () => {
|
|
2589
|
+
const e = ae(Pn);
|
|
2587
2590
|
if (e === void 0)
|
|
2588
2591
|
throw new Error("useSlicerContext must be used within a SlicerProvider");
|
|
2589
2592
|
return e;
|
|
2590
|
-
},
|
|
2593
|
+
}, nl = () => ae(Pn), ai = x(cn)`
|
|
2591
2594
|
height: 28px;
|
|
2592
2595
|
|
|
2593
2596
|
.template-value {
|
|
@@ -2612,9 +2615,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2612
2615
|
}
|
|
2613
2616
|
}
|
|
2614
2617
|
}
|
|
2615
|
-
`,
|
|
2618
|
+
`, rl = Se(
|
|
2616
2619
|
({ sliceTypes: e, ...t }, n) => {
|
|
2617
|
-
const { setPowerpackDialog: o } =
|
|
2620
|
+
const { setPowerpackDialog: o } = mr(), a = [...t.options].map((l) => l.value === "hierarchy" ? l : {
|
|
2618
2621
|
...l,
|
|
2619
2622
|
icon: "bolt"
|
|
2620
2623
|
});
|
|
@@ -2632,7 +2635,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2632
2635
|
}
|
|
2633
2636
|
);
|
|
2634
2637
|
}
|
|
2635
|
-
), Ie = "inset 0 1px 0 0 var(--md-sys-color-primary)", Ee = "inset -1px 0 0 0 var(--md-sys-color-primary)", Re = "inset 0 -1px 0 0 var(--md-sys-color-primary)", Le = "inset 1px 0 0 0 var(--md-sys-color-primary)", ce = (e) => e ? "inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)" : "inset 1px -1px 0 0 var(--md-sys-color-surface-container)", xt = "drag-handle",
|
|
2638
|
+
), Ie = "inset 0 1px 0 0 var(--md-sys-color-primary)", Ee = "inset -1px 0 0 0 var(--md-sys-color-primary)", Re = "inset 0 -1px 0 0 var(--md-sys-color-primary)", Le = "inset 1px 0 0 0 var(--md-sys-color-primary)", ce = (e) => e ? "inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)" : "inset 1px -1px 0 0 var(--md-sys-color-surface-container)", xt = "drag-handle", ol = x.tr`
|
|
2636
2639
|
display: flex;
|
|
2637
2640
|
position: absolute;
|
|
2638
2641
|
width: 100%;
|
|
@@ -2702,7 +2705,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2702
2705
|
.resizing & {
|
|
2703
2706
|
cursor: col-resize !important;
|
|
2704
2707
|
}
|
|
2705
|
-
`,
|
|
2708
|
+
`, il = x.div`
|
|
2706
2709
|
position: absolute;
|
|
2707
2710
|
right: -1px;
|
|
2708
2711
|
top: 0;
|
|
@@ -2718,9 +2721,9 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2718
2721
|
opacity: 1;
|
|
2719
2722
|
cursor: col-resize !important;
|
|
2720
2723
|
}
|
|
2721
|
-
`,
|
|
2724
|
+
`, al = x.tr`
|
|
2722
2725
|
background-color: var(--md-sys-color-surface-container-low);
|
|
2723
|
-
`,
|
|
2726
|
+
`, sl = x.th`
|
|
2724
2727
|
position: relative;
|
|
2725
2728
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
2726
2729
|
box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);
|
|
@@ -2779,13 +2782,13 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2779
2782
|
cursor: grabbing;
|
|
2780
2783
|
}
|
|
2781
2784
|
}
|
|
2782
|
-
`,
|
|
2785
|
+
`, ll = x.span`
|
|
2783
2786
|
margin-left: -2px;
|
|
2784
2787
|
font-size: 11px;
|
|
2785
2788
|
line-height: 1;
|
|
2786
2789
|
color: var(--md-sys-color-outline);
|
|
2787
2790
|
user-select: none;
|
|
2788
|
-
`,
|
|
2791
|
+
`, cl = x.div`
|
|
2789
2792
|
display: none;
|
|
2790
2793
|
|
|
2791
2794
|
${({ $isOpen: e }) => e && `
|
|
@@ -2853,7 +2856,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
2853
2856
|
display: none !important;
|
|
2854
2857
|
}
|
|
2855
2858
|
}
|
|
2856
|
-
`,
|
|
2859
|
+
`, dl = x.td`
|
|
2857
2860
|
position: relative;
|
|
2858
2861
|
box-shadow: ${ce(!1)};
|
|
2859
2862
|
background-color: var(--color-table-row);
|
|
@@ -3011,8 +3014,8 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
3011
3014
|
pointer-events: none;
|
|
3012
3015
|
}
|
|
3013
3016
|
|
|
3014
|
-
/* read only fields are dimmed down for bg and border */
|
|
3015
|
-
&:has(> div.readonly) {
|
|
3017
|
+
/* read only fields are dimmed down for bg and border; a fully read-only table keeps the normal focus */
|
|
3018
|
+
&:has(> div.readonly):not(.table-readonly) {
|
|
3016
3019
|
&:not(.multiple-selected) {
|
|
3017
3020
|
&.focused {
|
|
3018
3021
|
background-color: var(--color-table-readonly-focused);
|
|
@@ -3061,7 +3064,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
3061
3064
|
}
|
|
3062
3065
|
}
|
|
3063
3066
|
}
|
|
3064
|
-
`,
|
|
3067
|
+
`, ul = x.div`
|
|
3065
3068
|
position: absolute;
|
|
3066
3069
|
inset: 0;
|
|
3067
3070
|
pointer-events: none;
|
|
@@ -3073,7 +3076,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
3073
3076
|
width: 1px;
|
|
3074
3077
|
background-color: var(--md-sys-color-surface-container);
|
|
3075
3078
|
}
|
|
3076
|
-
`,
|
|
3079
|
+
`, pl = x.thead`
|
|
3077
3080
|
display: grid !important;
|
|
3078
3081
|
position: sticky;
|
|
3079
3082
|
top: 0;
|
|
@@ -3084,14 +3087,14 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
3084
3087
|
.resizing & {
|
|
3085
3088
|
cursor: col-resize !important;
|
|
3086
3089
|
}
|
|
3087
|
-
`,
|
|
3090
|
+
`, ml = x.div`
|
|
3088
3091
|
overflow: hidden;
|
|
3089
3092
|
position: absolute;
|
|
3090
3093
|
inset: 0;
|
|
3091
3094
|
border-radius: var(--border-radius-m);
|
|
3092
3095
|
|
|
3093
3096
|
background-color: var(--md-sys-color-surface-container-low);
|
|
3094
|
-
`,
|
|
3097
|
+
`, gl = x.div`
|
|
3095
3098
|
position: relative;
|
|
3096
3099
|
display: flex;
|
|
3097
3100
|
|
|
@@ -3140,7 +3143,7 @@ const jt = new wo(), dt = "projectTreeTextPreviewOpen", ko = (e) => {
|
|
|
3140
3143
|
font-size: 18px;
|
|
3141
3144
|
color: var(--md-sys-color-outline);
|
|
3142
3145
|
}
|
|
3143
|
-
`,
|
|
3146
|
+
`, hl = x.div`
|
|
3144
3147
|
animation: fadeIn 20ms ease-in forwards;
|
|
3145
3148
|
animation-delay: 300ms;
|
|
3146
3149
|
opacity: 0;
|
|
@@ -3168,7 +3171,7 @@ x.span`
|
|
|
3168
3171
|
color: var(--md-sys-color-tertiary);
|
|
3169
3172
|
}
|
|
3170
3173
|
`;
|
|
3171
|
-
const
|
|
3174
|
+
const yl = x.div`
|
|
3172
3175
|
position: absolute;
|
|
3173
3176
|
bottom: 60px; // to go above the footer stats
|
|
3174
3177
|
left: 8px;
|
|
@@ -3181,7 +3184,7 @@ const hl = x.div`
|
|
|
3181
3184
|
box-shadow: var(--md-sys-shadow-level-2);
|
|
3182
3185
|
padding: var(--padding-s);
|
|
3183
3186
|
}
|
|
3184
|
-
`,
|
|
3187
|
+
`, fl = x.span`
|
|
3185
3188
|
position: absolute;
|
|
3186
3189
|
top: 0;
|
|
3187
3190
|
bottom: 0;
|
|
@@ -3209,7 +3212,7 @@ const hl = x.div`
|
|
|
3209
3212
|
display: none;
|
|
3210
3213
|
}
|
|
3211
3214
|
`, ci = Se(
|
|
3212
|
-
({ isSelected: e, ...t }, n) => /* @__PURE__ */ s(li, { ...t, ref: n, children: /* @__PURE__ */ s(
|
|
3215
|
+
({ isSelected: e, ...t }, n) => /* @__PURE__ */ s(li, { ...t, ref: n, children: /* @__PURE__ */ s(re, { icon: "check" }) })
|
|
3213
3216
|
), di = x.div`
|
|
3214
3217
|
position: absolute;
|
|
3215
3218
|
inset: 0;
|
|
@@ -3218,23 +3221,36 @@ const hl = x.div`
|
|
|
3218
3221
|
justify-content: center;
|
|
3219
3222
|
cursor: pointer;
|
|
3220
3223
|
|
|
3224
|
+
.icon {
|
|
3225
|
+
color: var(--md-sys-color-outline);
|
|
3226
|
+
/* the header cell is 18px wide and clips anything larger */
|
|
3227
|
+
font-size: 16px;
|
|
3228
|
+
}
|
|
3229
|
+
|
|
3221
3230
|
&:hover {
|
|
3222
3231
|
background-color: var(--md-sys-color-surface-container-high);
|
|
3232
|
+
|
|
3233
|
+
.icon {
|
|
3234
|
+
color: var(--md-sys-color-on-surface);
|
|
3235
|
+
}
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
&[data-selected='true'] .icon {
|
|
3239
|
+
color: var(--md-sys-color-on-surface);
|
|
3223
3240
|
}
|
|
3224
3241
|
`, ui = () => {
|
|
3225
|
-
const { areAllRowsSelected: e, areSomeRowsSelected: t, selectAllRows: n, clearRowsSelection: o } =
|
|
3226
|
-
return /* @__PURE__ */ s(
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
) });
|
|
3242
|
+
const { areAllRowsSelected: e, areSomeRowsSelected: t, selectAllRows: n, clearRowsSelection: o } = An(), a = e(), i = t();
|
|
3243
|
+
return /* @__PURE__ */ s(
|
|
3244
|
+
di,
|
|
3245
|
+
{
|
|
3246
|
+
onClick: () => {
|
|
3247
|
+
a || i ? o() : n();
|
|
3248
|
+
},
|
|
3249
|
+
"data-selected": a || i,
|
|
3250
|
+
title: a || i ? "Clear selection" : "Select all rows",
|
|
3251
|
+
children: /* @__PURE__ */ s(re, { icon: i && !a ? "remove" : "done_all" })
|
|
3252
|
+
}
|
|
3253
|
+
);
|
|
3238
3254
|
}, pi = kt(ui), mi = x.div`
|
|
3239
3255
|
position: absolute;
|
|
3240
3256
|
inset: 0;
|
|
@@ -3263,7 +3279,7 @@ const hl = x.div`
|
|
|
3263
3279
|
if (t in e)
|
|
3264
3280
|
return e[t];
|
|
3265
3281
|
}
|
|
3266
|
-
},
|
|
3282
|
+
}, bl = (e, t) => {
|
|
3267
3283
|
if (e)
|
|
3268
3284
|
return e[t];
|
|
3269
3285
|
}, hi = (e, t) => e ? e[t]?.display : void 0, yi = (e) => ["folder", "product"].includes(e), X = 50, fi = [
|
|
@@ -3272,7 +3288,7 @@ const hl = x.div`
|
|
|
3272
3288
|
"float",
|
|
3273
3289
|
"boolean",
|
|
3274
3290
|
"datetime"
|
|
3275
|
-
], bi = (e) =>
|
|
3291
|
+
], bi = (e) => qn(e) || fi.includes(e.type), J = {
|
|
3276
3292
|
thumbnail: "Thumbnail",
|
|
3277
3293
|
status: "Status",
|
|
3278
3294
|
entityType: "Entity type",
|
|
@@ -3309,17 +3325,17 @@ const hl = x.div`
|
|
|
3309
3325
|
folder_entity: Te("folder"),
|
|
3310
3326
|
task_entity: Te("task"),
|
|
3311
3327
|
version_entity: Te("version"),
|
|
3312
|
-
createdAt:
|
|
3328
|
+
createdAt: Xe("createdAt", "datetime"),
|
|
3313
3329
|
createdBy: "person",
|
|
3314
|
-
updatedAt:
|
|
3330
|
+
updatedAt: Xe("updatedAt", "datetime"),
|
|
3315
3331
|
updatedBy: "person",
|
|
3316
3332
|
subtasks: "checklist",
|
|
3317
|
-
comments:
|
|
3333
|
+
comments: Xe("comment"),
|
|
3318
3334
|
[$e]: Me[$e].icon,
|
|
3319
3335
|
[_e]: Me[_e].icon
|
|
3320
|
-
},
|
|
3336
|
+
}, vl = (e) => {
|
|
3321
3337
|
const t = ge(e);
|
|
3322
|
-
return vi[t] ??
|
|
3338
|
+
return vi[t] ?? Xe(t);
|
|
3323
3339
|
}, Pe = {
|
|
3324
3340
|
thumbnail: { enabled: !1, label: J.thumbnail },
|
|
3325
3341
|
name: { sortKey: "name", enabled: !0, label: "Name" },
|
|
@@ -3402,12 +3418,12 @@ const hl = x.div`
|
|
|
3402
3418
|
comments: { enabled: !1, label: J.comments },
|
|
3403
3419
|
[$e]: { enabled: !1, label: J[$e] },
|
|
3404
3420
|
[_e]: { enabled: !1, label: J[_e] }
|
|
3405
|
-
},
|
|
3421
|
+
}, xl = (e) => e.includes("version") ? "Version / Product" : e.map((t) => t.charAt(0).toUpperCase() + t.slice(1)).join(" / "), wl = (e, t = []) => Object.entries(Pe).filter(
|
|
3406
3422
|
([, n]) => n.enabled && (!n.scopes || !e || n.scopes.some((o) => e.includes(o)))
|
|
3407
3423
|
).map(([n, o]) => ({
|
|
3408
3424
|
id: n,
|
|
3409
3425
|
label: t.find((a) => ge(a.value) === n)?.label || oe(n, e)
|
|
3410
|
-
})), xi = (e) => Pe[ge(e)]?.enabled ?? !e.startsWith("link_"),
|
|
3426
|
+
})), xi = (e) => Pe[ge(e)]?.enabled ?? !e.startsWith("link_"), kl = (e, t = !0, n) => {
|
|
3411
3427
|
if (!e) return;
|
|
3412
3428
|
const o = ge(e);
|
|
3413
3429
|
if (Ce(o).scope === "primary") {
|
|
@@ -3419,7 +3435,7 @@ const hl = x.div`
|
|
|
3419
3435
|
}
|
|
3420
3436
|
return Pe[o]?.sortKey ?? o;
|
|
3421
3437
|
}
|
|
3422
|
-
}, ie = (e) => (t, n, ...o) => t.original.isLoading !== n.original.isLoading ? t.original.isLoading ? 1 : -1 : e(t, n, ...o),
|
|
3438
|
+
}, ie = (e) => (t, n, ...o) => t.original.isLoading !== n.original.isLoading ? t.original.isLoading ? 1 : -1 : e(t, n, ...o), _n = new Intl.Collator(void 0, { numeric: !0, sensitivity: "base" }), wi = (e, t) => {
|
|
3423
3439
|
const n = e.getAllCells()[0]?.getContext().table.getState().sorting;
|
|
3424
3440
|
return !n?.length || n[n.length - 1].id === t;
|
|
3425
3441
|
}, me = (e) => (t, n, ...o) => {
|
|
@@ -3427,10 +3443,10 @@ const hl = x.div`
|
|
|
3427
3443
|
if (a !== 0) return a;
|
|
3428
3444
|
if (!wi(t, o[0])) return 0;
|
|
3429
3445
|
const i = t.original.primary.label || t.original.primary.name || "", l = n.original.primary.label || n.original.primary.name || "";
|
|
3430
|
-
return
|
|
3446
|
+
return _n.compare(i, l);
|
|
3431
3447
|
}, ze = (e, t) => {
|
|
3432
3448
|
const n = e.original.primary.label || e.original.primary.path || e.original.primary.name || "", o = t.original.primary.label || t.original.primary.path || t.original.primary.name || "";
|
|
3433
|
-
return
|
|
3449
|
+
return _n.compare(n, o);
|
|
3434
3450
|
}, ve = (e) => {
|
|
3435
3451
|
const t = e.parents?.version;
|
|
3436
3452
|
return t?.entityType === "version" ? t : e.primary.entityType === "version" ? e.primary : void 0;
|
|
@@ -3439,29 +3455,29 @@ const hl = x.div`
|
|
|
3439
3455
|
const t = je(e);
|
|
3440
3456
|
return t?.entityType === "product" ? t.subType : void 0;
|
|
3441
3457
|
}
|
|
3442
|
-
return
|
|
3443
|
-
}, Ti = (e) => e.primary.entityType === "product" ? ve(e) : e.primary,
|
|
3458
|
+
return se(e, "primary", "subType");
|
|
3459
|
+
}, Ti = (e) => e.primary.entityType === "product" ? ve(e) : e.primary, $n = (e, t) => {
|
|
3444
3460
|
const n = t.scope?.length === 1 && t.scope[0] === "version";
|
|
3445
3461
|
return e.primary.entityType === "product" && n && ve(e) || e.primary;
|
|
3446
3462
|
}, Xt = (e, t) => {
|
|
3447
|
-
const n =
|
|
3448
|
-
return n === e.primary ?
|
|
3463
|
+
const n = $n(e, t);
|
|
3464
|
+
return n === e.primary ? se(e, "primary", t.name, !0) : n.attrib?.[t.name];
|
|
3449
3465
|
}, en = (e, t, n) => {
|
|
3450
3466
|
const o = e.getValue(n), a = t.getValue(n), i = Array.isArray(o) ? o.length : o ? String(o).length : 0, l = Array.isArray(a) ? a.length : a ? String(a).length : 0;
|
|
3451
3467
|
return i - l;
|
|
3452
|
-
},
|
|
3468
|
+
}, et = (e, t, n, o) => {
|
|
3453
3469
|
const a = e.getValue(n), i = t.getValue(n);
|
|
3454
3470
|
if (o?.enum?.length) {
|
|
3455
3471
|
const l = o.enum.findIndex((g) => g.value === a), c = o.enum.findIndex((g) => g.value === i);
|
|
3456
3472
|
return l - c;
|
|
3457
3473
|
} else return o?.type === "datetime" ? Ne.datetime(e, t, n) : o?.type === "boolean" ? (a === !0 ? 1 : 0) - (i === !0 ? 1 : 0) : Ne.alphanumeric(e, t, n);
|
|
3458
|
-
}, Ci = (e) => e.data.type === "list_of_strings", Si = (e, t) => `${e.linkType.charAt(0).toUpperCase() + e.linkType.slice(1)} (${t})`,
|
|
3459
|
-
const o = qe(n, t), a = typeof e.header == "string" ?
|
|
3474
|
+
}, Ci = (e) => e.data.type === "list_of_strings", Si = (e, t) => `${e.linkType.charAt(0).toUpperCase() + e.linkType.slice(1)} (${t})`, rt = (e, t) => `${e.name.replaceAll("_", "").replaceAll("-", "").replaceAll("|", "_")}_${t}`, Ii = (e, t) => `link_${rt(e, t)}`, Mn = (e, t) => e === "primary" ? t : `${He(e)} ${t}`, Ei = (e, t, n) => {
|
|
3475
|
+
const o = qe(n, t), a = typeof e.header == "string" ? Mn(n, e.header) : e.header;
|
|
3460
3476
|
return {
|
|
3461
3477
|
...e,
|
|
3462
3478
|
id: o,
|
|
3463
3479
|
header: a,
|
|
3464
|
-
accessorFn: (i) =>
|
|
3480
|
+
accessorFn: (i) => se(i, n, t),
|
|
3465
3481
|
cell: (i) => {
|
|
3466
3482
|
const l = De(i.row.original, n);
|
|
3467
3483
|
return !l || i.row.original.group || i.row.original.metaType ? null : Dt(t, l.entityType) ? typeof e.cell == "function" ? e.cell(i) : e.cell : /* @__PURE__ */ s("div", { className: "readonly" });
|
|
@@ -3473,7 +3489,7 @@ const hl = x.div`
|
|
|
3473
3489
|
return De(l, t) || (e.fallbackToPrimary && l.primary.entityType === t ? l.primary : void 0);
|
|
3474
3490
|
}, i = (l) => {
|
|
3475
3491
|
const c = a(l);
|
|
3476
|
-
return c ?
|
|
3492
|
+
return c ? se(l, c === l.primary ? "primary" : t, n) : void 0;
|
|
3477
3493
|
};
|
|
3478
3494
|
return {
|
|
3479
3495
|
id: o,
|
|
@@ -3489,24 +3505,24 @@ const hl = x.div`
|
|
|
3489
3505
|
const d = a(l.original);
|
|
3490
3506
|
if (!d || l.original.group || l.original.metaType) return null;
|
|
3491
3507
|
if (!Dt(n, d.entityType)) return /* @__PURE__ */ s("div", { className: "readonly" });
|
|
3492
|
-
const f = i(l.original),
|
|
3508
|
+
const f = i(l.original), u = g.options.meta, m = e.updateField || n, S = e.readOnly === !0 || u?.readOnly?.includes(c.id) || e.readOnly !== !1 && u?.readOnly?.includes(m);
|
|
3493
3509
|
return /* @__PURE__ */ s(
|
|
3494
|
-
|
|
3510
|
+
ne,
|
|
3495
3511
|
{
|
|
3496
3512
|
rowId: l.id,
|
|
3497
3513
|
className: W("parent-column", { loading: l.original.isLoading }),
|
|
3498
3514
|
columnId: c.id,
|
|
3499
3515
|
value: f,
|
|
3500
3516
|
attributeData: { type: e.dataType || "string" },
|
|
3501
|
-
options: e.optionKey ?
|
|
3517
|
+
options: e.optionKey ? u?.options?.[e.optionKey] : void 0,
|
|
3502
3518
|
isCollapsed: !!l.original.childOnlyMatch,
|
|
3503
3519
|
isReadOnly: S,
|
|
3504
|
-
onChange: (
|
|
3520
|
+
onChange: (p) => !S && u?.updateEntities?.({
|
|
3505
3521
|
id: d.id,
|
|
3506
3522
|
rowId: l.id,
|
|
3507
3523
|
type: d.entityType,
|
|
3508
3524
|
field: m,
|
|
3509
|
-
value:
|
|
3525
|
+
value: p,
|
|
3510
3526
|
entityData: d
|
|
3511
3527
|
})
|
|
3512
3528
|
}
|
|
@@ -3517,22 +3533,22 @@ const hl = x.div`
|
|
|
3517
3533
|
const n = qe(t, e.name, !0);
|
|
3518
3534
|
return {
|
|
3519
3535
|
id: n,
|
|
3520
|
-
header:
|
|
3521
|
-
accessorFn: (o) =>
|
|
3536
|
+
header: Mn(t, e.data.title || e.name),
|
|
3537
|
+
accessorFn: (o) => se(o, t, e.name, !0),
|
|
3522
3538
|
minSize: X,
|
|
3523
3539
|
enableSorting: !1,
|
|
3524
3540
|
enableResizing: !0,
|
|
3525
3541
|
enablePinning: !0,
|
|
3526
3542
|
enableHiding: !0,
|
|
3527
3543
|
sortingFn: ie(
|
|
3528
|
-
me((o, a, i) =>
|
|
3544
|
+
me((o, a, i) => et(o, a, i, e.data))
|
|
3529
3545
|
),
|
|
3530
3546
|
cell: ({ row: o, column: a, table: i }) => {
|
|
3531
3547
|
const l = De(o.original, t);
|
|
3532
3548
|
if (!l || o.original.group || o.original.metaType) return null;
|
|
3533
|
-
const c = i.options.meta, g =
|
|
3549
|
+
const c = i.options.meta, g = se(o.original, t, e.name, !0), d = !l.ownAttrib?.includes(e.name), f = e.readOnly || c?.readOnly?.includes(n) || c?.readOnly?.includes(`attrib_${e.name}`) || c?.readOnly?.includes("attrib");
|
|
3534
3550
|
return /* @__PURE__ */ s(
|
|
3535
|
-
|
|
3551
|
+
ne,
|
|
3536
3552
|
{
|
|
3537
3553
|
rowId: o.id,
|
|
3538
3554
|
className: W("attrib", { loading: o.original.isLoading }),
|
|
@@ -3545,12 +3561,12 @@ const hl = x.div`
|
|
|
3545
3561
|
options: e.data.enum || [],
|
|
3546
3562
|
isInherited: d,
|
|
3547
3563
|
isReadOnly: f,
|
|
3548
|
-
onChange: (
|
|
3564
|
+
onChange: (u) => !f && c?.updateEntities?.({
|
|
3549
3565
|
id: l.id,
|
|
3550
3566
|
rowId: o.id,
|
|
3551
3567
|
type: l.entityType,
|
|
3552
3568
|
field: e.name,
|
|
3553
|
-
value:
|
|
3569
|
+
value: u,
|
|
3554
3570
|
entityData: l,
|
|
3555
3571
|
isAttrib: !0
|
|
3556
3572
|
})
|
|
@@ -3582,7 +3598,7 @@ const hl = x.div`
|
|
|
3582
3598
|
}
|
|
3583
3599
|
);
|
|
3584
3600
|
}
|
|
3585
|
-
}),
|
|
3601
|
+
}), Tl = ({
|
|
3586
3602
|
scopes: e,
|
|
3587
3603
|
attribs: t,
|
|
3588
3604
|
links: n = [],
|
|
@@ -3594,12 +3610,12 @@ const hl = x.div`
|
|
|
3594
3610
|
excludedSorting: g,
|
|
3595
3611
|
extraColumns: d,
|
|
3596
3612
|
groupBy: f,
|
|
3597
|
-
nameLabel:
|
|
3613
|
+
nameLabel: u = "Entity",
|
|
3598
3614
|
includeParents: m = [],
|
|
3599
3615
|
parentColumns: S = []
|
|
3600
3616
|
}) => {
|
|
3601
|
-
const
|
|
3602
|
-
b(Bt) &&
|
|
3617
|
+
const p = [], b = (r) => !c?.some((h) => ge(h) === ge(r)), y = (r) => xi(r) && !g?.some((h) => ge(h) === ge(r));
|
|
3618
|
+
b(Bt) && p.push({
|
|
3603
3619
|
id: Bt,
|
|
3604
3620
|
enableResizing: !1,
|
|
3605
3621
|
enableSorting: !1,
|
|
@@ -3608,10 +3624,10 @@ const hl = x.div`
|
|
|
3608
3624
|
header: () => /* @__PURE__ */ s(pi, {}),
|
|
3609
3625
|
cell: ({ row: r }) => r.original.group || r.original.metaType ? null : /* @__PURE__ */ s(ci, {}),
|
|
3610
3626
|
size: 20
|
|
3611
|
-
}), b("thumbnail") &&
|
|
3627
|
+
}), b("thumbnail") && p.push(tn("primary")), b("name") && p.push({
|
|
3612
3628
|
id: "name",
|
|
3613
|
-
accessorFn: (r) =>
|
|
3614
|
-
header:
|
|
3629
|
+
accessorFn: (r) => se(r, "primary", "name"),
|
|
3630
|
+
header: u,
|
|
3615
3631
|
minSize: X,
|
|
3616
3632
|
sortingFn: ie(ze),
|
|
3617
3633
|
enableSorting: f && f.id !== "folder" ? !1 : y("name"),
|
|
@@ -3619,7 +3635,7 @@ const hl = x.div`
|
|
|
3619
3635
|
enablePinning: !0,
|
|
3620
3636
|
enableHiding: !(f && f.id !== "folder"),
|
|
3621
3637
|
cell: ({ row: r, column: h, table: v }) => {
|
|
3622
|
-
const { value: N, id: C, type: L } = pe(r, h.id), D = v.options.meta, { isEditing: k } = Nt(), { rowHeight: O = 40 } =
|
|
3638
|
+
const { value: N, id: C, type: L } = pe(r, h.id), D = v.options.meta, { isEditing: k } = Nt(), { rowHeight: O = 40 } = Zo(), F = Ye(r.id, h.id);
|
|
3623
3639
|
if (r.original.metaType)
|
|
3624
3640
|
return /* @__PURE__ */ s(
|
|
3625
3641
|
gt,
|
|
@@ -3648,7 +3664,7 @@ const hl = x.div`
|
|
|
3648
3664
|
onLoadMore: (ue) => D?.loadMoreRows?.(ue)
|
|
3649
3665
|
}
|
|
3650
3666
|
);
|
|
3651
|
-
const
|
|
3667
|
+
const te = r.getCanExpand() && !!r.originalSubRows && (yi(r.original.primary.entityType) || !!r.original.group);
|
|
3652
3668
|
return /* @__PURE__ */ M(
|
|
3653
3669
|
gt,
|
|
3654
3670
|
{
|
|
@@ -3662,7 +3678,7 @@ const hl = x.div`
|
|
|
3662
3678
|
}
|
|
3663
3679
|
),
|
|
3664
3680
|
style: {
|
|
3665
|
-
paddingLeft: `calc(${r.depth * 1}rem + ${
|
|
3681
|
+
paddingLeft: `calc(${r.depth * 1}rem + ${te || !r.getCanExpand() ? 0 : 32}px + 8px)`
|
|
3666
3682
|
},
|
|
3667
3683
|
tabIndex: 0,
|
|
3668
3684
|
children: [
|
|
@@ -3687,7 +3703,7 @@ const hl = x.div`
|
|
|
3687
3703
|
id: r.id,
|
|
3688
3704
|
entity: r.original.primary,
|
|
3689
3705
|
path: !a && !i ? r.original.primary.path : void 0,
|
|
3690
|
-
isExpandable:
|
|
3706
|
+
isExpandable: te,
|
|
3691
3707
|
isExpanded: r.getIsExpanded(),
|
|
3692
3708
|
toggleExpandAll: () => D?.toggleExpandAll?.([r.id]),
|
|
3693
3709
|
toggleExpanded: r.getToggleExpandedHandler(),
|
|
@@ -3696,7 +3712,7 @@ const hl = x.div`
|
|
|
3696
3712
|
}
|
|
3697
3713
|
),
|
|
3698
3714
|
!r.original.group && k(F) && /* @__PURE__ */ s(
|
|
3699
|
-
|
|
3715
|
+
ne,
|
|
3700
3716
|
{
|
|
3701
3717
|
rowId: C,
|
|
3702
3718
|
className: W("name", { loading: r.original.isLoading }),
|
|
@@ -3720,14 +3736,14 @@ const hl = x.div`
|
|
|
3720
3736
|
}
|
|
3721
3737
|
);
|
|
3722
3738
|
}
|
|
3723
|
-
}), b("status") &&
|
|
3739
|
+
}), b("status") && p.push({
|
|
3724
3740
|
id: "status",
|
|
3725
|
-
accessorFn: (r) =>
|
|
3741
|
+
accessorFn: (r) => se(r, "primary", "status"),
|
|
3726
3742
|
minSize: X,
|
|
3727
3743
|
header: oe("status"),
|
|
3728
3744
|
sortingFn: ie(
|
|
3729
3745
|
me(
|
|
3730
|
-
(r, h, v) =>
|
|
3746
|
+
(r, h, v) => et(r, h, v, { enum: l.status, type: "string" })
|
|
3731
3747
|
)
|
|
3732
3748
|
),
|
|
3733
3749
|
sortDescFirst: Pe.status.sortDescFirst,
|
|
@@ -3738,7 +3754,7 @@ const hl = x.div`
|
|
|
3738
3754
|
cell: ({ row: r, column: h, table: v }) => {
|
|
3739
3755
|
const { value: N, id: C, type: L } = pe(r, h.id), D = v.options.meta;
|
|
3740
3756
|
return ["group", le].includes(L) || r.original.metaType ? null : /* @__PURE__ */ s(
|
|
3741
|
-
|
|
3757
|
+
ne,
|
|
3742
3758
|
{
|
|
3743
3759
|
rowId: C,
|
|
3744
3760
|
className: W("status", { loading: r.original.isLoading }),
|
|
@@ -3770,7 +3786,7 @@ const hl = x.div`
|
|
|
3770
3786
|
}
|
|
3771
3787
|
);
|
|
3772
3788
|
}
|
|
3773
|
-
}), b("entityType") &&
|
|
3789
|
+
}), b("entityType") && p.push({
|
|
3774
3790
|
id: "entityType",
|
|
3775
3791
|
accessorFn: (r) => r.group ? void 0 : r.primary.entityType,
|
|
3776
3792
|
header: oe("entityType"),
|
|
@@ -3791,14 +3807,14 @@ const hl = x.div`
|
|
|
3791
3807
|
className: W("entityType", Fe, L, { loading: r.original.isLoading }),
|
|
3792
3808
|
tabIndex: 0,
|
|
3793
3809
|
children: [
|
|
3794
|
-
/* @__PURE__ */ s(
|
|
3810
|
+
/* @__PURE__ */ s(re, { icon: Te(L) }),
|
|
3795
3811
|
" ",
|
|
3796
3812
|
He(N)
|
|
3797
3813
|
]
|
|
3798
3814
|
}
|
|
3799
3815
|
);
|
|
3800
3816
|
}
|
|
3801
|
-
}), b("subType") &&
|
|
3817
|
+
}), b("subType") && p.push({
|
|
3802
3818
|
id: "subType",
|
|
3803
3819
|
accessorFn: ki,
|
|
3804
3820
|
header: oe("subType", e),
|
|
@@ -3810,7 +3826,7 @@ const hl = x.div`
|
|
|
3810
3826
|
sortDescFirst: Pe.taskType.sortDescFirst,
|
|
3811
3827
|
sortingFn: ie(
|
|
3812
3828
|
me(
|
|
3813
|
-
(r, h, v) =>
|
|
3829
|
+
(r, h, v) => et(r, h, v, {
|
|
3814
3830
|
enum: [...l.folderType, ...l.taskType],
|
|
3815
3831
|
type: "string"
|
|
3816
3832
|
})
|
|
@@ -3821,7 +3837,7 @@ const hl = x.div`
|
|
|
3821
3837
|
if (["group", le].includes(L) || r.original.metaType) return null;
|
|
3822
3838
|
const D = L === "product" || L === "version", k = L === "folder" ? "folderType" : D ? "productType" : "taskType", O = v.options.meta, F = L === "folder" && r.original.primary.entityType === "folder" && r.original.primary.hasVersions;
|
|
3823
3839
|
return /* @__PURE__ */ s(
|
|
3824
|
-
|
|
3840
|
+
ne,
|
|
3825
3841
|
{
|
|
3826
3842
|
rowId: C,
|
|
3827
3843
|
className: W("subType", { loading: r.original.isLoading }),
|
|
@@ -3830,8 +3846,8 @@ const hl = x.div`
|
|
|
3830
3846
|
attributeData: { type: "string" },
|
|
3831
3847
|
options: L === "folder" ? O?.options?.folderType : L === "task" ? O?.options?.taskType : D ? O?.options?.productType : [],
|
|
3832
3848
|
isCollapsed: !!r.original.childOnlyMatch,
|
|
3833
|
-
onChange: (
|
|
3834
|
-
{ field: k, value:
|
|
3849
|
+
onChange: (te) => O?.updateEntities?.(
|
|
3850
|
+
{ field: k, value: te, type: L, rowId: r.id },
|
|
3835
3851
|
{ selection: O?.selection }
|
|
3836
3852
|
),
|
|
3837
3853
|
isReadOnly: D || O?.readOnly?.includes(h.id) || O?.readOnly?.includes(k) || F || Ce(h.id).scope !== "primary",
|
|
@@ -3848,9 +3864,9 @@ const hl = x.div`
|
|
|
3848
3864
|
}
|
|
3849
3865
|
);
|
|
3850
3866
|
}
|
|
3851
|
-
}), b("assignees") &&
|
|
3867
|
+
}), b("assignees") && p.push({
|
|
3852
3868
|
id: "assignees",
|
|
3853
|
-
accessorFn: (r) =>
|
|
3869
|
+
accessorFn: (r) => se(r, "primary", "assignees"),
|
|
3854
3870
|
header: oe("assignees"),
|
|
3855
3871
|
minSize: X,
|
|
3856
3872
|
enableSorting: y("assignees"),
|
|
@@ -3861,7 +3877,7 @@ const hl = x.div`
|
|
|
3861
3877
|
cell: ({ row: r, column: h, table: v }) => {
|
|
3862
3878
|
const N = v.options.meta, { value: C, id: L, type: D } = pe(r, h.id);
|
|
3863
3879
|
return ["group", le].includes(D) || r.original.metaType ? null : D === "folder" ? /* @__PURE__ */ s(
|
|
3864
|
-
|
|
3880
|
+
ne,
|
|
3865
3881
|
{
|
|
3866
3882
|
rowId: L,
|
|
3867
3883
|
className: W("assignees", { loading: r.original.isLoading }),
|
|
@@ -3870,7 +3886,7 @@ const hl = x.div`
|
|
|
3870
3886
|
isPlaceholder: !0
|
|
3871
3887
|
}
|
|
3872
3888
|
) : /* @__PURE__ */ s(
|
|
3873
|
-
|
|
3889
|
+
ne,
|
|
3874
3890
|
{
|
|
3875
3891
|
rowId: L,
|
|
3876
3892
|
className: W("assignees", { loading: r.original.isLoading }),
|
|
@@ -3896,9 +3912,9 @@ const hl = x.div`
|
|
|
3896
3912
|
}
|
|
3897
3913
|
);
|
|
3898
3914
|
}
|
|
3899
|
-
}), b(de.folder) &&
|
|
3915
|
+
}), b(de.folder) && p.push({
|
|
3900
3916
|
id: de.folder,
|
|
3901
|
-
accessorFn: (r) =>
|
|
3917
|
+
accessorFn: (r) => Uo(r),
|
|
3902
3918
|
header: oe(de.folder),
|
|
3903
3919
|
minSize: X,
|
|
3904
3920
|
sortDescFirst: Pe.folder_entity.sortDescFirst,
|
|
@@ -3923,7 +3939,7 @@ const hl = x.div`
|
|
|
3923
3939
|
}
|
|
3924
3940
|
) : null;
|
|
3925
3941
|
}
|
|
3926
|
-
}), b(de.task) && ["version", "product"].some((r) => e.includes(r)) &&
|
|
3942
|
+
}), b(de.task) && ["version", "product"].some((r) => e.includes(r)) && p.push({
|
|
3927
3943
|
id: de.task,
|
|
3928
3944
|
accessorFn: (r) => r.parents?.task?.label || r.parents?.task?.name,
|
|
3929
3945
|
header: oe(de.task),
|
|
@@ -3949,7 +3965,7 @@ const hl = x.div`
|
|
|
3949
3965
|
}
|
|
3950
3966
|
);
|
|
3951
3967
|
}
|
|
3952
|
-
}), b("author") && ["version", "product"].some((r) => e.includes(r)) &&
|
|
3968
|
+
}), b("author") && ["version", "product"].some((r) => e.includes(r)) && p.push({
|
|
3953
3969
|
id: "author",
|
|
3954
3970
|
accessorFn: (r) => ve(r)?.author,
|
|
3955
3971
|
header: oe("author"),
|
|
@@ -3963,7 +3979,7 @@ const hl = x.div`
|
|
|
3963
3979
|
if (r.original.group || r.original.metaType) return null;
|
|
3964
3980
|
const N = v.options.meta, C = ve(r.original), L = C?.author || "", D = C?.entityType || r.original.primary.entityType;
|
|
3965
3981
|
return ["group", le].includes(D) ? null : /* @__PURE__ */ s(
|
|
3966
|
-
|
|
3982
|
+
ne,
|
|
3967
3983
|
{
|
|
3968
3984
|
rowId: r.id,
|
|
3969
3985
|
className: W("author", { loading: r.original.isLoading }),
|
|
@@ -3976,7 +3992,7 @@ const hl = x.div`
|
|
|
3976
3992
|
}
|
|
3977
3993
|
);
|
|
3978
3994
|
}
|
|
3979
|
-
}), b(de.version) && ["version", "product"].some((r) => e.includes(r)) &&
|
|
3995
|
+
}), b(de.version) && ["version", "product"].some((r) => e.includes(r)) && p.push({
|
|
3980
3996
|
id: de.version,
|
|
3981
3997
|
accessorFn: (r) => ve(r)?.versionName || ve(r)?.name,
|
|
3982
3998
|
header: oe(de.version),
|
|
@@ -4004,7 +4020,7 @@ const hl = x.div`
|
|
|
4004
4020
|
}
|
|
4005
4021
|
);
|
|
4006
4022
|
}
|
|
4007
|
-
}), b("version") && ["version", "product"].some((r) => e.includes(r)) &&
|
|
4023
|
+
}), b("version") && ["version", "product"].some((r) => e.includes(r)) && p.push({
|
|
4008
4024
|
id: "version",
|
|
4009
4025
|
accessorFn: (r) => ve(r)?.version,
|
|
4010
4026
|
header: oe("version"),
|
|
@@ -4019,7 +4035,7 @@ const hl = x.div`
|
|
|
4019
4035
|
if (r.original.group || r.original.metaType) return null;
|
|
4020
4036
|
const v = ve(r.original), N = v?.version ?? 0, C = v?.entityType || r.original.primary.entityType;
|
|
4021
4037
|
return ["group", le].includes(C) ? null : /* @__PURE__ */ s(
|
|
4022
|
-
|
|
4038
|
+
ne,
|
|
4023
4039
|
{
|
|
4024
4040
|
rowId: r.id,
|
|
4025
4041
|
className: W("version", { loading: r.original.isLoading }),
|
|
@@ -4030,7 +4046,7 @@ const hl = x.div`
|
|
|
4030
4046
|
}
|
|
4031
4047
|
);
|
|
4032
4048
|
}
|
|
4033
|
-
}), b("product") && ["version", "product"].some((r) => e.includes(r)) &&
|
|
4049
|
+
}), b("product") && ["version", "product"].some((r) => e.includes(r)) && p.push({
|
|
4034
4050
|
id: "product",
|
|
4035
4051
|
accessorFn: (r) => je(r)?.label || je(r)?.name,
|
|
4036
4052
|
header: oe("product"),
|
|
@@ -4044,7 +4060,7 @@ const hl = x.div`
|
|
|
4044
4060
|
if (r.original.group || r.original.metaType) return null;
|
|
4045
4061
|
const v = je(r.original), N = v?.label || v?.name || "", C = v?.entityType || r.original.primary.entityType;
|
|
4046
4062
|
return ["group", le].includes(C) ? null : /* @__PURE__ */ s(
|
|
4047
|
-
|
|
4063
|
+
ne,
|
|
4048
4064
|
{
|
|
4049
4065
|
rowId: r.id,
|
|
4050
4066
|
className: W("product", { loading: r.original.isLoading }),
|
|
@@ -4055,9 +4071,9 @@ const hl = x.div`
|
|
|
4055
4071
|
}
|
|
4056
4072
|
);
|
|
4057
4073
|
}
|
|
4058
|
-
}), b("tags") &&
|
|
4074
|
+
}), b("tags") && p.push({
|
|
4059
4075
|
id: "tags",
|
|
4060
|
-
accessorFn: (r) =>
|
|
4076
|
+
accessorFn: (r) => se(r, "primary", "tags"),
|
|
4061
4077
|
header: oe("tags"),
|
|
4062
4078
|
minSize: X,
|
|
4063
4079
|
enableSorting: y("tags"),
|
|
@@ -4068,7 +4084,7 @@ const hl = x.div`
|
|
|
4068
4084
|
cell: ({ row: r, column: h, table: v }) => {
|
|
4069
4085
|
const N = v.options.meta, { value: C, id: L, type: D } = pe(r, h.id);
|
|
4070
4086
|
return ["group", le].includes(D) || r.original.metaType ? null : /* @__PURE__ */ s(
|
|
4071
|
-
|
|
4087
|
+
ne,
|
|
4072
4088
|
{
|
|
4073
4089
|
rowId: L,
|
|
4074
4090
|
className: W("tags", { loading: r.original.isLoading }),
|
|
@@ -4086,9 +4102,9 @@ const hl = x.div`
|
|
|
4086
4102
|
}
|
|
4087
4103
|
);
|
|
4088
4104
|
}
|
|
4089
|
-
}), b("createdAt") &&
|
|
4105
|
+
}), b("createdAt") && p.push({
|
|
4090
4106
|
id: "createdAt",
|
|
4091
|
-
accessorFn: (r) =>
|
|
4107
|
+
accessorFn: (r) => se(r, "primary", "createdAt"),
|
|
4092
4108
|
header: oe("createdAt"),
|
|
4093
4109
|
minSize: X,
|
|
4094
4110
|
enableSorting: y("createdAt"),
|
|
@@ -4099,7 +4115,7 @@ const hl = x.div`
|
|
|
4099
4115
|
cell: ({ row: r, column: h }) => {
|
|
4100
4116
|
const { value: v, id: N, type: C } = pe(r, h.id);
|
|
4101
4117
|
return ["group", le].includes(C) || r.original.metaType ? null : /* @__PURE__ */ s(
|
|
4102
|
-
|
|
4118
|
+
ne,
|
|
4103
4119
|
{
|
|
4104
4120
|
rowId: N,
|
|
4105
4121
|
className: W("createdAt", { loading: r.original.isLoading }),
|
|
@@ -4112,9 +4128,9 @@ const hl = x.div`
|
|
|
4112
4128
|
}
|
|
4113
4129
|
);
|
|
4114
4130
|
}
|
|
4115
|
-
}), b("updatedAt") &&
|
|
4131
|
+
}), b("updatedAt") && p.push({
|
|
4116
4132
|
id: "updatedAt",
|
|
4117
|
-
accessorFn: (r) =>
|
|
4133
|
+
accessorFn: (r) => se(r, "primary", "updatedAt"),
|
|
4118
4134
|
header: oe("updatedAt"),
|
|
4119
4135
|
minSize: X,
|
|
4120
4136
|
enableSorting: y("updatedAt"),
|
|
@@ -4125,7 +4141,7 @@ const hl = x.div`
|
|
|
4125
4141
|
cell: ({ row: r, column: h }) => {
|
|
4126
4142
|
const { value: v, id: N, type: C } = pe(r, h.id);
|
|
4127
4143
|
return ["group", le].includes(C) || r.original.metaType ? null : /* @__PURE__ */ s(
|
|
4128
|
-
|
|
4144
|
+
ne,
|
|
4129
4145
|
{
|
|
4130
4146
|
rowId: N,
|
|
4131
4147
|
className: W("updatedAt", { loading: r.original.isLoading }),
|
|
@@ -4140,9 +4156,9 @@ const hl = x.div`
|
|
|
4140
4156
|
}
|
|
4141
4157
|
});
|
|
4142
4158
|
for (const r of ["createdBy", "updatedBy"])
|
|
4143
|
-
b(r) &&
|
|
4159
|
+
b(r) && p.push({
|
|
4144
4160
|
id: r,
|
|
4145
|
-
accessorFn: (h) =>
|
|
4161
|
+
accessorFn: (h) => se(h, "primary", r),
|
|
4146
4162
|
header: oe(r),
|
|
4147
4163
|
minSize: X,
|
|
4148
4164
|
enableSorting: y(r),
|
|
@@ -4162,7 +4178,7 @@ const hl = x.div`
|
|
|
4162
4178
|
}
|
|
4163
4179
|
] : k;
|
|
4164
4180
|
return /* @__PURE__ */ s(
|
|
4165
|
-
|
|
4181
|
+
ne,
|
|
4166
4182
|
{
|
|
4167
4183
|
rowId: L,
|
|
4168
4184
|
className: W(r, { loading: h.original.isLoading }),
|
|
@@ -4176,7 +4192,7 @@ const hl = x.div`
|
|
|
4176
4192
|
);
|
|
4177
4193
|
}
|
|
4178
4194
|
});
|
|
4179
|
-
b("subtasks") && e.includes("task") &&
|
|
4195
|
+
b("subtasks") && e.includes("task") && p.push({
|
|
4180
4196
|
id: "subtasks",
|
|
4181
4197
|
accessorFn: (r) => r.primary.entityType === "task" ? r.primary.subtasks : void 0,
|
|
4182
4198
|
header: oe("subtasks"),
|
|
@@ -4190,13 +4206,13 @@ const hl = x.div`
|
|
|
4190
4206
|
if (["group", le].includes(D) || r.original.metaType) return null;
|
|
4191
4207
|
if (D !== "task") return /* @__PURE__ */ s("div", { className: "readonly" });
|
|
4192
4208
|
const k = {
|
|
4193
|
-
taskId:
|
|
4209
|
+
taskId: Yo(r.id) || r.original.primary.id,
|
|
4194
4210
|
taskName: r.original.primary.name,
|
|
4195
4211
|
folderId: r.original.parents?.folder?.id ?? void 0,
|
|
4196
4212
|
subtasks: C || []
|
|
4197
4213
|
};
|
|
4198
4214
|
return /* @__PURE__ */ s(
|
|
4199
|
-
|
|
4215
|
+
ne,
|
|
4200
4216
|
{
|
|
4201
4217
|
rowId: L,
|
|
4202
4218
|
className: W("subtasks", { loading: r.original.isLoading }),
|
|
@@ -4208,7 +4224,7 @@ const hl = x.div`
|
|
|
4208
4224
|
}
|
|
4209
4225
|
);
|
|
4210
4226
|
}
|
|
4211
|
-
}), b("comments") && e.some((r) => ["task", "version", "product", "folder"].includes(r)) &&
|
|
4227
|
+
}), b("comments") && e.some((r) => ["task", "version", "product", "folder"].includes(r)) && p.push({
|
|
4212
4228
|
id: "comments",
|
|
4213
4229
|
accessorFn: (r) => r.group ? void 0 : r.primary.entityType === "product" ? r.parents?.version?.latestComments || [] : r.primary.latestComments || [],
|
|
4214
4230
|
header: oe("comments"),
|
|
@@ -4221,7 +4237,7 @@ const hl = x.div`
|
|
|
4221
4237
|
if (r.original.group || r.original.metaType) return null;
|
|
4222
4238
|
const v = r.original.primary.entityType === "product", N = v && r.original.parents?.version || r.original.primary, C = v ? r.original.parents?.version?.latestComments || [] : r.original.primary.latestComments || [], L = N.entityType;
|
|
4223
4239
|
return ["group", le].includes(L) ? null : !r.original.isLoading && !["task", "version", "product", "folder"].includes(L) ? /* @__PURE__ */ s("div", { className: "readonly" }) : /* @__PURE__ */ s(
|
|
4224
|
-
|
|
4240
|
+
ne,
|
|
4225
4241
|
{
|
|
4226
4242
|
rowId: r.id,
|
|
4227
4243
|
className: W("comments", { loading: r.original.isLoading }),
|
|
@@ -4235,8 +4251,8 @@ const hl = x.div`
|
|
|
4235
4251
|
);
|
|
4236
4252
|
}
|
|
4237
4253
|
});
|
|
4238
|
-
for (const r of
|
|
4239
|
-
!b(r) || !e.some((h) =>
|
|
4254
|
+
for (const r of Bo)
|
|
4255
|
+
!b(r) || !e.some((h) => pt(r, h)) || p.push({
|
|
4240
4256
|
id: r,
|
|
4241
4257
|
header: oe(r),
|
|
4242
4258
|
minSize: X,
|
|
@@ -4247,11 +4263,11 @@ const hl = x.div`
|
|
|
4247
4263
|
cell: ({ row: h, column: v }) => {
|
|
4248
4264
|
const { group: N, metaType: C, isLoading: L, primary: D } = h.original;
|
|
4249
4265
|
if (N || C) return null;
|
|
4250
|
-
if (!L && !
|
|
4266
|
+
if (!L && !pt(v.id, D.entityType))
|
|
4251
4267
|
return /* @__PURE__ */ s("div", { className: "readonly" });
|
|
4252
|
-
const k = !L &&
|
|
4268
|
+
const k = !L && pt(v.id, D.entityType) ? { entityId: D.id, entityType: D.entityType, columnId: v.id } : void 0;
|
|
4253
4269
|
return /* @__PURE__ */ s(
|
|
4254
|
-
|
|
4270
|
+
ne,
|
|
4255
4271
|
{
|
|
4256
4272
|
rowId: h.id,
|
|
4257
4273
|
className: W("lists", { loading: L }),
|
|
@@ -4275,7 +4291,7 @@ const hl = x.div`
|
|
|
4275
4291
|
minSize: X,
|
|
4276
4292
|
filterFn: "fuzzy",
|
|
4277
4293
|
sortingFn: ie(
|
|
4278
|
-
me((v, N, C) =>
|
|
4294
|
+
me((v, N, C) => et(v, N, C, r.data))
|
|
4279
4295
|
),
|
|
4280
4296
|
enableSorting: !Ci(r) && y(r.name) && y("attrib"),
|
|
4281
4297
|
enableResizing: !0,
|
|
@@ -4283,9 +4299,9 @@ const hl = x.div`
|
|
|
4283
4299
|
enableHiding: !0,
|
|
4284
4300
|
cell: ({ row: v, column: N, table: C }) => {
|
|
4285
4301
|
if (v.original.group || v.original.metaType) return null;
|
|
4286
|
-
const L = C.options.meta, D = N.id.replace("attrib_", ""), { type: k } = pe(v, D, "attrib"), O =
|
|
4302
|
+
const L = C.options.meta, D = N.id.replace("attrib_", ""), { type: k } = pe(v, D, "attrib"), O = $n(v.original, r), F = Xt(v.original, r), te = O.id, ue = O.entityType, ke = !O.ownAttrib?.includes(D);
|
|
4287
4303
|
return ["group", le].includes(ue) || v.original.metaType || !r.scope?.includes(k) && F == null ? null : /* @__PURE__ */ s(
|
|
4288
|
-
|
|
4304
|
+
ne,
|
|
4289
4305
|
{
|
|
4290
4306
|
rowId: v.id,
|
|
4291
4307
|
className: W("attrib", { loading: v.original.isLoading }),
|
|
@@ -4300,9 +4316,9 @@ const hl = x.div`
|
|
|
4300
4316
|
isLoadingOptions: !!r.enumIsLoading,
|
|
4301
4317
|
tooltip: r.enumError,
|
|
4302
4318
|
pt: {
|
|
4303
|
-
enum: { error:
|
|
4319
|
+
enum: { error: Yn(r.enumError) },
|
|
4304
4320
|
// markdown attributes can mention the users, tasks and versions of the entity
|
|
4305
|
-
text: { mentionEntity: { entityId:
|
|
4321
|
+
text: { mentionEntity: { entityId: te, entityType: ue } }
|
|
4306
4322
|
},
|
|
4307
4323
|
midnightExclusiveFields: v.original.midnightExclusiveFields,
|
|
4308
4324
|
isCollapsed: !!v.original.childOnlyMatch,
|
|
@@ -4319,7 +4335,7 @@ const hl = x.div`
|
|
|
4319
4335
|
field: D,
|
|
4320
4336
|
value: K,
|
|
4321
4337
|
type: ue,
|
|
4322
|
-
id:
|
|
4338
|
+
id: te,
|
|
4323
4339
|
isAttrib: !0,
|
|
4324
4340
|
rowId: v.id,
|
|
4325
4341
|
entityData: O
|
|
@@ -4337,13 +4353,13 @@ const hl = x.div`
|
|
|
4337
4353
|
const N = Ii(h, v);
|
|
4338
4354
|
return {
|
|
4339
4355
|
id: r === "primary" ? N : qe(r, N),
|
|
4340
|
-
accessorFn: (L) => L.group ? void 0 : De(L, r)?.links?.[
|
|
4356
|
+
accessorFn: (L) => L.group ? void 0 : De(L, r)?.links?.[rt(h, v)],
|
|
4341
4357
|
header: () => /* @__PURE__ */ M(si, { children: [
|
|
4342
4358
|
r === "primary" ? "" : `${He(r)} `,
|
|
4343
4359
|
Si(h, v),
|
|
4344
4360
|
" ",
|
|
4345
4361
|
/* @__PURE__ */ s(
|
|
4346
|
-
|
|
4362
|
+
re,
|
|
4347
4363
|
{
|
|
4348
4364
|
icon: Te(v === "in" ? h.inputType : h.outputType)
|
|
4349
4365
|
}
|
|
@@ -4356,7 +4372,7 @@ const hl = x.div`
|
|
|
4356
4372
|
enableHiding: !0,
|
|
4357
4373
|
cell: ({ row: L, column: D, table: k }) => {
|
|
4358
4374
|
if (L.original.group || L.original.metaType) return null;
|
|
4359
|
-
const { id: O, value: F } = pe(L, D.id, "links"),
|
|
4375
|
+
const { id: O, value: F } = pe(L, D.id, "links"), te = F?.map((K) => K.label), ue = De(L.original, r);
|
|
4360
4376
|
if (!ue) return null;
|
|
4361
4377
|
const ke = r === "primary" && !!k.options.meta?.loadingLinksEntityIds?.has(ue.id), Ae = {
|
|
4362
4378
|
links: F,
|
|
@@ -4370,12 +4386,12 @@ const hl = x.div`
|
|
|
4370
4386
|
}
|
|
4371
4387
|
};
|
|
4372
4388
|
return /* @__PURE__ */ s(
|
|
4373
|
-
|
|
4389
|
+
ne,
|
|
4374
4390
|
{
|
|
4375
4391
|
rowId: O,
|
|
4376
4392
|
className: W("links", { loading: L.original.isLoading }),
|
|
4377
4393
|
columnId: D.id,
|
|
4378
|
-
value:
|
|
4394
|
+
value: te,
|
|
4379
4395
|
valueData: Ae,
|
|
4380
4396
|
folderId: L.original.parents?.folder?.id,
|
|
4381
4397
|
attributeData: { type: "links" },
|
|
@@ -4385,7 +4401,7 @@ const hl = x.div`
|
|
|
4385
4401
|
}
|
|
4386
4402
|
};
|
|
4387
4403
|
})
|
|
4388
|
-
), _ = o ? R("primary") : [],
|
|
4404
|
+
), _ = o ? R("primary") : [], I = /* @__PURE__ */ new Set([
|
|
4389
4405
|
"status",
|
|
4390
4406
|
"assignees",
|
|
4391
4407
|
"author",
|
|
@@ -4395,11 +4411,11 @@ const hl = x.div`
|
|
|
4395
4411
|
"createdBy",
|
|
4396
4412
|
"updatedAt",
|
|
4397
4413
|
"updatedBy"
|
|
4398
|
-
]),
|
|
4414
|
+
]), E = new Set(
|
|
4399
4415
|
S.map((r) => `${r.scope}:${r.field}`)
|
|
4400
4416
|
), T = m.flatMap(
|
|
4401
|
-
(r) =>
|
|
4402
|
-
(h) =>
|
|
4417
|
+
(r) => p.filter(
|
|
4418
|
+
(h) => I.has(h.id) && !E.has(`${r}:${h.id}`)
|
|
4403
4419
|
).map((h) => Ei(h, h.id, r))
|
|
4404
4420
|
), z = S.filter((r) => m.includes(r.scope)).map(Ri), H = b("thumbnail") ? m.map((r) => tn(r)) : [], B = o ? m.flatMap((r) => R(r)) : [], A = new Set(
|
|
4405
4421
|
m.filter((r) => {
|
|
@@ -4409,7 +4425,7 @@ const hl = x.div`
|
|
|
4409
4425
|
), P = m.filter((r) => A.has(r)).flatMap(
|
|
4410
4426
|
(r) => t.flatMap((h) => h.scope && !h.scope.includes(r) ? [] : [Li(h, r)])
|
|
4411
4427
|
), U = [
|
|
4412
|
-
...
|
|
4428
|
+
...p,
|
|
4413
4429
|
...H,
|
|
4414
4430
|
...T,
|
|
4415
4431
|
...z,
|
|
@@ -4429,30 +4445,30 @@ const hl = x.div`
|
|
|
4429
4445
|
id: e.original.id,
|
|
4430
4446
|
type: "group"
|
|
4431
4447
|
};
|
|
4432
|
-
const { scope: o, field: a, isAttrib: i } = Ce(t), c = De(e.original, o) || e.original.primary, g = ve(e.original), d = je(e.original), f = e.original.primary.entityType === "product",
|
|
4433
|
-
let
|
|
4434
|
-
|
|
4448
|
+
const { scope: o, field: a, isAttrib: i } = Ce(t), c = De(e.original, o) || e.original.primary, g = ve(e.original), d = je(e.original), f = e.original.primary.entityType === "product", u = o === "primary" && !i && ["author", "version", "versionName"].includes(a), m = o === "primary" && !i && a === "product", S = o === "primary" && !i && a === "subType" && e.original.primary.entityType === "version";
|
|
4449
|
+
let p = c;
|
|
4450
|
+
u && g ? p = g : S && d || m && d ? p = d : n === "latestComments" && f && g && (p = g);
|
|
4435
4451
|
let b;
|
|
4436
4452
|
if (n === "attrib")
|
|
4437
|
-
b =
|
|
4453
|
+
b = se(e.original, o, a, !0);
|
|
4438
4454
|
else if (n === "links")
|
|
4439
|
-
b =
|
|
4455
|
+
b = p.links?.[a.replace(/^link_/, "")];
|
|
4440
4456
|
else if (n === "subtasks")
|
|
4441
|
-
b =
|
|
4457
|
+
b = p.entityType === "task" ? p.subtasks : void 0;
|
|
4442
4458
|
else if (n === "latestComments")
|
|
4443
4459
|
b = f ? g?.latestComments || e.original.primary.latestComments : c.latestComments;
|
|
4444
4460
|
else if (t === "folder")
|
|
4445
4461
|
b = e.original.parents?.folder?.label || e.original.parents?.folder?.name;
|
|
4446
4462
|
else if (t === "product")
|
|
4447
4463
|
b = d?.label || d?.name;
|
|
4448
|
-
else if (
|
|
4449
|
-
b =
|
|
4464
|
+
else if (p === c)
|
|
4465
|
+
b = se(e.original, o, a, i);
|
|
4450
4466
|
else {
|
|
4451
|
-
const y =
|
|
4452
|
-
b =
|
|
4467
|
+
const y = p.entityType === "version" ? "version" : "product";
|
|
4468
|
+
b = se(e.original, y, a, i);
|
|
4453
4469
|
}
|
|
4454
|
-
return { value: b, id: e.id, type:
|
|
4455
|
-
}, Ni = 200, Di = (e) =>
|
|
4470
|
+
return { value: b, id: e.id, type: p.entityType };
|
|
4471
|
+
}, Ni = 200, Di = (e) => er.includes(e), Cl = ({
|
|
4456
4472
|
projectName: e,
|
|
4457
4473
|
entities: t,
|
|
4458
4474
|
enabled: n
|
|
@@ -4462,24 +4478,24 @@ const hl = x.div`
|
|
|
4462
4478
|
const c = ee(() => {
|
|
4463
4479
|
const d = { folder: [], task: [], version: [] };
|
|
4464
4480
|
for (const f of a ? a.split(",") : []) {
|
|
4465
|
-
const [
|
|
4466
|
-
d[
|
|
4481
|
+
const [u, m] = f.split(":");
|
|
4482
|
+
d[u].push(m);
|
|
4467
4483
|
}
|
|
4468
4484
|
return d;
|
|
4469
4485
|
}, [a]), g = (d) => !n || !e || !c[d].length;
|
|
4470
|
-
|
|
4486
|
+
st(
|
|
4471
4487
|
{ projectName: e, entityType: "folder", entityIds: c.folder },
|
|
4472
4488
|
{ skip: g("folder") }
|
|
4473
|
-
),
|
|
4489
|
+
), st(
|
|
4474
4490
|
{ projectName: e, entityType: "task", entityIds: c.task },
|
|
4475
4491
|
{ skip: g("task") }
|
|
4476
|
-
),
|
|
4492
|
+
), st(
|
|
4477
4493
|
{ projectName: e, entityType: "version", entityIds: c.version },
|
|
4478
4494
|
{ skip: g("version") }
|
|
4479
4495
|
);
|
|
4480
4496
|
}, Ai = (e, t, n) => {
|
|
4481
4497
|
const o = ee(
|
|
4482
|
-
() =>
|
|
4498
|
+
() => tr.endpoints.getListsMembership.select({
|
|
4483
4499
|
projectName: e,
|
|
4484
4500
|
entityType: t,
|
|
4485
4501
|
entityIds: []
|
|
@@ -4491,7 +4507,7 @@ const hl = x.div`
|
|
|
4491
4507
|
return Tt(c.error) || "Unknown error";
|
|
4492
4508
|
});
|
|
4493
4509
|
return { lists: a, error: i };
|
|
4494
|
-
}, Pi = ye({}), _i = () =>
|
|
4510
|
+
}, Pi = ye({}), _i = () => ae(Pi);
|
|
4495
4511
|
var $i = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Top = 1] = "Top", e[e.Right = 2] = "Right", e[e.Bottom = 4] = "Bottom", e[e.Left = 8] = "Left", e[e.All = 15] = "All", e))($i || {});
|
|
4496
4512
|
const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
4497
4513
|
const t = e.match(/^cell-(.+)-(.+)$/);
|
|
@@ -4506,7 +4522,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4506
4522
|
field: i ? a.slice(7) : a,
|
|
4507
4523
|
isAttrib: i
|
|
4508
4524
|
};
|
|
4509
|
-
}, zi = (e) => !!e && typeof e == "object" && "primary" in e,
|
|
4525
|
+
}, zi = (e) => !!e && typeof e == "object" && "primary" in e, Sl = (e, t) => {
|
|
4510
4526
|
if (!e || !t) return;
|
|
4511
4527
|
if (zi(e)) {
|
|
4512
4528
|
const { scope: a, field: i, isAttrib: l } = Ce(t);
|
|
@@ -4520,7 +4536,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4520
4536
|
if (i === "product")
|
|
4521
4537
|
return e.parents?.product?.label || e.parents?.product?.name || (e.primary.entityType === "product" ? e.primary.label || e.primary.name : void 0);
|
|
4522
4538
|
}
|
|
4523
|
-
return
|
|
4539
|
+
return se(e, a, i, l);
|
|
4524
4540
|
}
|
|
4525
4541
|
const n = t.split("_");
|
|
4526
4542
|
let o = e;
|
|
@@ -4530,23 +4546,23 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4530
4546
|
else
|
|
4531
4547
|
return;
|
|
4532
4548
|
return o;
|
|
4533
|
-
},
|
|
4549
|
+
}, Il = (e, t) => {
|
|
4534
4550
|
const [n, o, a, i, l] = t.split("_"), c = e.filter(
|
|
4535
4551
|
(g) => g.linkType === o && g.direction === l
|
|
4536
4552
|
);
|
|
4537
4553
|
return c.length ? c.map((g) => g.node.id).join(",") : "";
|
|
4538
|
-
},
|
|
4554
|
+
}, El = (e, t, n) => {
|
|
4539
4555
|
if (!n[e]?.[t])
|
|
4540
4556
|
return 0;
|
|
4541
4557
|
let o = 0;
|
|
4542
4558
|
return (e === 0 || !n[e - 1]?.[t]) && (o |= 1), n[e]?.[t + 1] || (o |= 2), n[e + 1]?.[t] || (o |= 4), (t === 0 || !n[e]?.[t - 1]) && (o |= 8), o;
|
|
4543
|
-
},
|
|
4559
|
+
}, Rl = (e) => {
|
|
4544
4560
|
const t = [];
|
|
4545
4561
|
return e & 1 && t.push("shadow-top"), e & 2 && t.push("shadow-right"), e & 4 && t.push("shadow-bottom"), e & 8 && t.push("shadow-left"), t;
|
|
4546
|
-
},
|
|
4562
|
+
}, Ll = (e, t) => t.get(Xo(e)), Fi = (e, t, n) => e?.reduce((o, a) => {
|
|
4547
4563
|
const { linkType: i, direction: l, entityType: c, id: g, node: d, isRestricted: f } = a;
|
|
4548
4564
|
if (f || !d) {
|
|
4549
|
-
const
|
|
4565
|
+
const p = {
|
|
4550
4566
|
label: "",
|
|
4551
4567
|
parents: [],
|
|
4552
4568
|
linkId: g,
|
|
@@ -4555,10 +4571,10 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4555
4571
|
icon: yt(c, void 0, n),
|
|
4556
4572
|
color: void 0,
|
|
4557
4573
|
isRestricted: !0
|
|
4558
|
-
}, b = nn(i, t, c, l), y =
|
|
4559
|
-
return o[y] || (o[y] = []), o[y].includes(
|
|
4574
|
+
}, b = nn(i, t, c, l), y = rt({ name: b }, l);
|
|
4575
|
+
return o[y] || (o[y] = []), o[y].includes(p) || o[y].push(p), o;
|
|
4560
4576
|
}
|
|
4561
|
-
const
|
|
4577
|
+
const u = {
|
|
4562
4578
|
label: d.label || d.name,
|
|
4563
4579
|
parents: d.parents,
|
|
4564
4580
|
linkId: g,
|
|
@@ -4566,8 +4582,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4566
4582
|
entityType: c,
|
|
4567
4583
|
icon: yt(c, d.subType, n),
|
|
4568
4584
|
color: pn(c, d.subType, n)
|
|
4569
|
-
}, m = nn(i, t, c, l), S =
|
|
4570
|
-
return o[S] || (o[S] = []), o[S].includes(
|
|
4585
|
+
}, m = nn(i, t, c, l), S = rt({ name: m }, l);
|
|
4586
|
+
return o[S] || (o[S] = []), o[S].includes(u) || o[S].push(u), o;
|
|
4571
4587
|
}, {}) || {}, nn = (e, t, n, o) => `${e}|${o === "in" ? n : t}|${o === "in" ? t : n}`, _t = (e) => ({
|
|
4572
4588
|
id: e.id,
|
|
4573
4589
|
primary: {
|
|
@@ -4615,7 +4631,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4615
4631
|
},
|
|
4616
4632
|
parents: t ? { folder: _t(t).primary } : void 0,
|
|
4617
4633
|
midnightExclusiveFields: e.data?.schedulerSyncData?.allDay ? ["attrib_endDate"] : void 0
|
|
4618
|
-
}),
|
|
4634
|
+
}), Nl = (e, t) => {
|
|
4619
4635
|
const n = e;
|
|
4620
4636
|
return {
|
|
4621
4637
|
id: n.id,
|
|
@@ -4636,7 +4652,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4636
4652
|
},
|
|
4637
4653
|
parents: t ? { folder: _t(t).primary } : void 0
|
|
4638
4654
|
};
|
|
4639
|
-
},
|
|
4655
|
+
}, Dl = (e, t, n) => ({
|
|
4640
4656
|
id: e.id,
|
|
4641
4657
|
primary: {
|
|
4642
4658
|
id: e.id,
|
|
@@ -4667,12 +4683,12 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4667
4683
|
targetEntityType: a,
|
|
4668
4684
|
linkType: i
|
|
4669
4685
|
}) => {
|
|
4670
|
-
const l =
|
|
4671
|
-
async (
|
|
4686
|
+
const l = Fo()?.history, [c] = nr(), [g] = rr(), d = Y(
|
|
4687
|
+
async (u, m = !0) => {
|
|
4672
4688
|
try {
|
|
4673
|
-
if (
|
|
4689
|
+
if (u.some((b) => b.targetEntityId === n))
|
|
4674
4690
|
return we.error("You can't link an entity to itself"), !1;
|
|
4675
|
-
const
|
|
4691
|
+
const p = u.map((b) => ({
|
|
4676
4692
|
targetEntityId: b.targetEntityId,
|
|
4677
4693
|
linkId: b.linkId,
|
|
4678
4694
|
sourceEntityId: n,
|
|
@@ -4682,9 +4698,9 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4682
4698
|
direction: t,
|
|
4683
4699
|
projectName: e
|
|
4684
4700
|
}));
|
|
4685
|
-
return await
|
|
4701
|
+
return await Vo(p, g), m && l && l.pushHistory([
|
|
4686
4702
|
() => f(
|
|
4687
|
-
|
|
4703
|
+
u.map((b) => ({
|
|
4688
4704
|
id: b.linkId,
|
|
4689
4705
|
target: { entityId: b.targetEntityId, entityType: a }
|
|
4690
4706
|
})),
|
|
@@ -4697,13 +4713,13 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4697
4713
|
},
|
|
4698
4714
|
[g, e, n, o, a, i, t, l]
|
|
4699
4715
|
), f = Y(
|
|
4700
|
-
async (
|
|
4716
|
+
async (u, m = !0) => {
|
|
4701
4717
|
try {
|
|
4702
|
-
if (
|
|
4718
|
+
if (u.some((b) => b.target.entityId === n)) {
|
|
4703
4719
|
we.error("You can't link an entity to itself");
|
|
4704
4720
|
return;
|
|
4705
4721
|
}
|
|
4706
|
-
const
|
|
4722
|
+
const p = u.map((b) => ({
|
|
4707
4723
|
id: b.id,
|
|
4708
4724
|
target: b.target,
|
|
4709
4725
|
source: { entityType: o, entityId: n },
|
|
@@ -4711,8 +4727,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4711
4727
|
direction: t,
|
|
4712
4728
|
projectName: e
|
|
4713
4729
|
}));
|
|
4714
|
-
await
|
|
4715
|
-
|
|
4730
|
+
await Ko(p, c), m && l && l.pushHistory(
|
|
4731
|
+
u.map(
|
|
4716
4732
|
(b) => () => d([{ targetEntityId: b.target.entityId, linkId: b.id }], !1)
|
|
4717
4733
|
)
|
|
4718
4734
|
);
|
|
@@ -4755,14 +4771,14 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4755
4771
|
if (S !== 0)
|
|
4756
4772
|
switch (m.key) {
|
|
4757
4773
|
case "ArrowDown":
|
|
4758
|
-
m.preventDefault(), g((
|
|
4759
|
-
const b =
|
|
4774
|
+
m.preventDefault(), g((p) => {
|
|
4775
|
+
const b = p < S - 1 ? p + 1 : 0;
|
|
4760
4776
|
return b >= e.length ? 0 : b;
|
|
4761
4777
|
});
|
|
4762
4778
|
break;
|
|
4763
4779
|
case "ArrowUp":
|
|
4764
|
-
m.preventDefault(), g((
|
|
4765
|
-
const b =
|
|
4780
|
+
m.preventDefault(), g((p) => {
|
|
4781
|
+
const b = p > 0 ? p - 1 : S - 1;
|
|
4766
4782
|
return b >= e.length ? e.length - 1 : b;
|
|
4767
4783
|
});
|
|
4768
4784
|
break;
|
|
@@ -4782,7 +4798,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4782
4798
|
document.removeEventListener("keydown", f);
|
|
4783
4799
|
};
|
|
4784
4800
|
}, [o, f]);
|
|
4785
|
-
const
|
|
4801
|
+
const u = Y(
|
|
4786
4802
|
(m) => ({
|
|
4787
4803
|
"data-index": m,
|
|
4788
4804
|
className: c === m ? "selected" : "",
|
|
@@ -4795,16 +4811,16 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4795
4811
|
return {
|
|
4796
4812
|
selectedIndex: c,
|
|
4797
4813
|
containerRef: d,
|
|
4798
|
-
getItemProps:
|
|
4814
|
+
getItemProps: u
|
|
4799
4815
|
};
|
|
4800
4816
|
}, Ui = ({}) => Array.from({ length: 3 }, (e, t) => /* @__PURE__ */ M(Tn, { className: "loading", children: [
|
|
4801
4817
|
/* @__PURE__ */ s("div", { className: "icon", children: "•" }),
|
|
4802
4818
|
/* @__PURE__ */ s("div", { className: "label", children: "Loading..." }),
|
|
4803
4819
|
/* @__PURE__ */ s("div", { className: "type", children: "•" })
|
|
4804
|
-
] }, `loading-${t}`)),
|
|
4820
|
+
] }, `loading-${t}`)), at = ({ entity: e, icon: t, color: n, ...o }) => {
|
|
4805
4821
|
const { anatomy: a } = Be();
|
|
4806
4822
|
return /* @__PURE__ */ s(
|
|
4807
|
-
|
|
4823
|
+
re,
|
|
4808
4824
|
{
|
|
4809
4825
|
icon: t ?? yt(e.entityType, e.subType, a),
|
|
4810
4826
|
style: { color: n ?? pn(e.entityType, e.subType, a) },
|
|
@@ -4823,29 +4839,29 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4823
4839
|
const [i, l] = G(""), [c, g] = G(""), d = Q(null), f = ee(() => un(g, 300), []);
|
|
4824
4840
|
q(() => (f(i), () => f.cancel()), [i, f]);
|
|
4825
4841
|
const {
|
|
4826
|
-
data:
|
|
4842
|
+
data: u,
|
|
4827
4843
|
error: m,
|
|
4828
4844
|
isLoading: S,
|
|
4829
|
-
hasNextPage:
|
|
4845
|
+
hasNextPage: p,
|
|
4830
4846
|
isFetchingNextPage: b,
|
|
4831
4847
|
fetchNextPage: y
|
|
4832
|
-
} =
|
|
4848
|
+
} = or(
|
|
4833
4849
|
{
|
|
4834
4850
|
projectName: e,
|
|
4835
4851
|
entityType: t,
|
|
4836
4852
|
search: c
|
|
4837
4853
|
},
|
|
4838
4854
|
{ skip: !c }
|
|
4839
|
-
), w = ee(() =>
|
|
4855
|
+
), w = ee(() => u?.pages.flatMap((T) => T.entities) || [], [u]), R = (T) => {
|
|
4840
4856
|
a?.(T.id), l("");
|
|
4841
4857
|
}, _ = () => {
|
|
4842
4858
|
n?.();
|
|
4843
|
-
}, { containerRef:
|
|
4859
|
+
}, { containerRef: I, getItemProps: E } = Wi({
|
|
4844
4860
|
entities: w,
|
|
4845
4861
|
onSelect: R,
|
|
4846
4862
|
onClose: _,
|
|
4847
4863
|
isActive: !!(i && w.length > 0),
|
|
4848
|
-
hasNextPage:
|
|
4864
|
+
hasNextPage: p,
|
|
4849
4865
|
isFetchingNextPage: b,
|
|
4850
4866
|
fetchNextPage: y
|
|
4851
4867
|
});
|
|
@@ -4854,13 +4870,13 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4854
4870
|
d.current && d.current.focus();
|
|
4855
4871
|
}, 0);
|
|
4856
4872
|
return () => clearTimeout(T);
|
|
4857
|
-
}, [
|
|
4873
|
+
}, [u, i]), /* @__PURE__ */ M(Ao, { children: [
|
|
4858
4874
|
/* @__PURE__ */ s(xn, { children: "Add new link" }),
|
|
4859
|
-
/* @__PURE__ */ M(
|
|
4860
|
-
/* @__PURE__ */ M(
|
|
4861
|
-
/* @__PURE__ */ s(
|
|
4875
|
+
/* @__PURE__ */ M(Po, { children: [
|
|
4876
|
+
/* @__PURE__ */ M(_o, { children: [
|
|
4877
|
+
/* @__PURE__ */ s(re, { icon: "search", className: "input-search" }),
|
|
4862
4878
|
/* @__PURE__ */ s(
|
|
4863
|
-
|
|
4879
|
+
Mo,
|
|
4864
4880
|
{
|
|
4865
4881
|
ref: d,
|
|
4866
4882
|
value: i,
|
|
@@ -4873,7 +4889,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4873
4889
|
)
|
|
4874
4890
|
] }),
|
|
4875
4891
|
!i && /* @__PURE__ */ s(
|
|
4876
|
-
|
|
4892
|
+
$o,
|
|
4877
4893
|
{
|
|
4878
4894
|
label: `Pick ${t}s`,
|
|
4879
4895
|
icon: "table_rows",
|
|
@@ -4881,18 +4897,18 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4881
4897
|
}
|
|
4882
4898
|
)
|
|
4883
4899
|
] }),
|
|
4884
|
-
i &&
|
|
4885
|
-
|
|
4900
|
+
i && u && /* @__PURE__ */ M(zo, { ref: I, children: [
|
|
4901
|
+
u?.pages.map(
|
|
4886
4902
|
(T, z) => T.entities.map((H, B) => {
|
|
4887
|
-
const A =
|
|
4903
|
+
const A = u.pages.slice(0, z).reduce((P, U) => P + U.entities.length, 0) + B;
|
|
4888
4904
|
return /* @__PURE__ */ M(
|
|
4889
4905
|
Tn,
|
|
4890
4906
|
{
|
|
4891
4907
|
onClick: () => R(H),
|
|
4892
4908
|
tabIndex: 0,
|
|
4893
|
-
...
|
|
4909
|
+
...E(A),
|
|
4894
4910
|
children: [
|
|
4895
|
-
/* @__PURE__ */ s(
|
|
4911
|
+
/* @__PURE__ */ s(at, { entity: H }),
|
|
4896
4912
|
/* @__PURE__ */ M("span", { className: "label", children: [
|
|
4897
4913
|
H.parents?.map((P, U) => /* @__PURE__ */ M(wt, { children: [
|
|
4898
4914
|
/* @__PURE__ */ s("span", { children: P }, U + "-path"),
|
|
@@ -4907,9 +4923,9 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4907
4923
|
);
|
|
4908
4924
|
})
|
|
4909
4925
|
),
|
|
4910
|
-
(S || b ||
|
|
4926
|
+
(S || b || p) && /* @__PURE__ */ s(Ui, {})
|
|
4911
4927
|
] }),
|
|
4912
|
-
!S && m && /* @__PURE__ */ s(
|
|
4928
|
+
!S && m && /* @__PURE__ */ s(Oo, { children: m.message })
|
|
4913
4929
|
] });
|
|
4914
4930
|
}, Vi = ({
|
|
4915
4931
|
link: e,
|
|
@@ -4921,16 +4937,16 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4921
4937
|
isManager: l = !1,
|
|
4922
4938
|
readOnly: c = !1
|
|
4923
4939
|
}) => {
|
|
4924
|
-
const [g, d] = G(!1), [f,
|
|
4925
|
-
R.stopPropagation(), !(e.isRestricted || c) && (
|
|
4940
|
+
const [g, d] = G(!1), [f, u] = G(t), m = (R) => {
|
|
4941
|
+
R.stopPropagation(), !(e.isRestricted || c) && (u(t), d(!0));
|
|
4926
4942
|
}, S = () => {
|
|
4927
4943
|
const R = Math.max(1, f);
|
|
4928
4944
|
R !== t && i?.(R), d(!1);
|
|
4929
|
-
},
|
|
4930
|
-
|
|
4945
|
+
}, p = () => {
|
|
4946
|
+
u(t), d(!1);
|
|
4931
4947
|
}, b = (R) => {
|
|
4932
|
-
R.stopPropagation(), R.key === "Enter" ? R.currentTarget.blur() : R.key === "Escape" &&
|
|
4933
|
-
}, w =
|
|
4948
|
+
R.stopPropagation(), R.key === "Enter" ? R.currentTarget.blur() : R.key === "Escape" && p();
|
|
4949
|
+
}, w = ir.includes(e.entityType) && !e.isRestricted;
|
|
4934
4950
|
return /* @__PURE__ */ M(
|
|
4935
4951
|
kn,
|
|
4936
4952
|
{
|
|
@@ -4943,7 +4959,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4943
4959
|
unknown: e.isRestricted && l
|
|
4944
4960
|
}),
|
|
4945
4961
|
children: [
|
|
4946
|
-
/* @__PURE__ */ s(
|
|
4962
|
+
/* @__PURE__ */ s(at, { entity: { entityType: e.entityType }, icon: e?.icon, color: e.color }),
|
|
4947
4963
|
/* @__PURE__ */ s("span", { className: "title", children: e.isRestricted ? /* @__PURE__ */ s("span", { className: "label", children: l ? "Unknown" : "Access Restricted" }) : /* @__PURE__ */ M(he, { children: [
|
|
4948
4964
|
e.parents?.map((R, _) => /* @__PURE__ */ M(wt, { children: [
|
|
4949
4965
|
/* @__PURE__ */ s("span", { children: R }, _ + "-path"),
|
|
@@ -4952,12 +4968,12 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4952
4968
|
/* @__PURE__ */ s("span", { className: "label", children: e.label })
|
|
4953
4969
|
] }) }),
|
|
4954
4970
|
!e.isRestricted && (g ? /* @__PURE__ */ s(
|
|
4955
|
-
|
|
4971
|
+
Do,
|
|
4956
4972
|
{
|
|
4957
4973
|
value: f,
|
|
4958
4974
|
min: 1,
|
|
4959
4975
|
autoFocus: !0,
|
|
4960
|
-
onChange: (R) =>
|
|
4976
|
+
onChange: (R) => u(parseInt(R.target.value) || 1),
|
|
4961
4977
|
onFocus: (R) => R.target.select(),
|
|
4962
4978
|
onBlur: S,
|
|
4963
4979
|
onKeyDown: b,
|
|
@@ -4989,7 +5005,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
4989
5005
|
]
|
|
4990
5006
|
}
|
|
4991
5007
|
);
|
|
4992
|
-
},
|
|
5008
|
+
}, On = (e) => {
|
|
4993
5009
|
const t = /* @__PURE__ */ new Map(), n = [];
|
|
4994
5010
|
for (const o of e) {
|
|
4995
5011
|
const a = o.isRestricted ? `restricted_${o.linkId}` : o.entityId, i = t.get(a);
|
|
@@ -5014,27 +5030,27 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5014
5030
|
folderId: g,
|
|
5015
5031
|
selectedEntityIds: d = [],
|
|
5016
5032
|
onClose: f,
|
|
5017
|
-
onEntityClick:
|
|
5033
|
+
onEntityClick: u
|
|
5018
5034
|
}) => {
|
|
5019
|
-
const { user: m } = mn(), S = m?.data?.isAdmin || m?.data?.isManager,
|
|
5035
|
+
const { user: m } = mn(), S = m?.data?.isAdmin || m?.data?.isManager, p = Bi({
|
|
5020
5036
|
projectName: o,
|
|
5021
5037
|
direction: t,
|
|
5022
5038
|
entityId: a,
|
|
5023
5039
|
entityType: i,
|
|
5024
5040
|
targetEntityType: c,
|
|
5025
5041
|
linkType: l
|
|
5026
|
-
}), [b, y] = G(null), [w, R] = G(!1), [_,
|
|
5042
|
+
}), [b, y] = G(null), [w, R] = G(!1), [_, I] = G({}), E = On(n), T = (A) => {
|
|
5027
5043
|
const P = _[A.groupKey];
|
|
5028
5044
|
return P !== void 0 && P !== A.count ? P : A.count;
|
|
5029
5045
|
}, z = async (A) => {
|
|
5030
5046
|
if (w) return;
|
|
5031
5047
|
R(!0);
|
|
5032
|
-
const P = await
|
|
5033
|
-
A.map((U) => ({ targetEntityId: U, linkId:
|
|
5048
|
+
const P = await p.add(
|
|
5049
|
+
A.map((U) => ({ targetEntityId: U, linkId: ct() }))
|
|
5034
5050
|
);
|
|
5035
5051
|
R(!1), P && y(null);
|
|
5036
5052
|
}, H = (A, P) => {
|
|
5037
|
-
A.stopPropagation(),
|
|
5053
|
+
A.stopPropagation(), p.remove(
|
|
5038
5054
|
P.linkIds.map((U) => ({
|
|
5039
5055
|
id: U,
|
|
5040
5056
|
target: { entityId: P.entityId, entityType: P.representative.entityType }
|
|
@@ -5042,25 +5058,25 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5042
5058
|
);
|
|
5043
5059
|
}, B = (A, P) => {
|
|
5044
5060
|
const U = T(A);
|
|
5045
|
-
|
|
5061
|
+
I((h) => ({ ...h, [A.groupKey]: P }));
|
|
5046
5062
|
const r = P - U;
|
|
5047
5063
|
if (r > 0) {
|
|
5048
5064
|
const h = Array.from({ length: r }, () => ({
|
|
5049
5065
|
targetEntityId: A.entityId,
|
|
5050
|
-
linkId:
|
|
5066
|
+
linkId: ct()
|
|
5051
5067
|
}));
|
|
5052
|
-
|
|
5068
|
+
p.add(h);
|
|
5053
5069
|
} else if (r < 0) {
|
|
5054
5070
|
const h = A.linkIds.slice(r).map((v) => ({
|
|
5055
5071
|
id: v,
|
|
5056
5072
|
target: { entityId: A.entityId, entityType: A.representative.entityType }
|
|
5057
5073
|
}));
|
|
5058
|
-
|
|
5074
|
+
p.remove(h);
|
|
5059
5075
|
}
|
|
5060
5076
|
};
|
|
5061
5077
|
return /* @__PURE__ */ M(he, { children: [
|
|
5062
5078
|
/* @__PURE__ */ M(
|
|
5063
|
-
|
|
5079
|
+
it,
|
|
5064
5080
|
{
|
|
5065
5081
|
onMouseDown: (A) => {
|
|
5066
5082
|
A.target !== document.activeElement && document.activeElement instanceof HTMLInputElement && document.activeElement.blur();
|
|
@@ -5084,13 +5100,13 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5084
5100
|
)
|
|
5085
5101
|
] }),
|
|
5086
5102
|
/* @__PURE__ */ M(wn, { children: [
|
|
5087
|
-
|
|
5103
|
+
E.map((A) => /* @__PURE__ */ s(
|
|
5088
5104
|
Vi,
|
|
5089
5105
|
{
|
|
5090
5106
|
link: A.representative,
|
|
5091
5107
|
count: T(A),
|
|
5092
5108
|
isSelected: d.includes(A.entityId),
|
|
5093
|
-
onEntityClick:
|
|
5109
|
+
onEntityClick: u,
|
|
5094
5110
|
onRemove: (P) => H(P, A),
|
|
5095
5111
|
onCountChange: (P) => B(A, P),
|
|
5096
5112
|
isManager: S
|
|
@@ -5105,7 +5121,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5105
5121
|
targetEntityType: c,
|
|
5106
5122
|
projectName: o,
|
|
5107
5123
|
onClose: f,
|
|
5108
|
-
onAdd: (A) =>
|
|
5124
|
+
onAdd: (A) => p.add([{ targetEntityId: A, linkId: ct() }]),
|
|
5109
5125
|
onSearchTypeChange: y
|
|
5110
5126
|
}
|
|
5111
5127
|
)
|
|
@@ -5113,7 +5129,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5113
5129
|
}
|
|
5114
5130
|
),
|
|
5115
5131
|
b === "picker" && /* @__PURE__ */ s(
|
|
5116
|
-
|
|
5132
|
+
Nr,
|
|
5117
5133
|
{
|
|
5118
5134
|
onClose: () => y(null),
|
|
5119
5135
|
projectName: o,
|
|
@@ -5154,34 +5170,34 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5154
5170
|
isLoading: g
|
|
5155
5171
|
}) => {
|
|
5156
5172
|
const { user: d } = mn(), f = d?.data?.isAdmin || d?.data?.isManager;
|
|
5157
|
-
let
|
|
5173
|
+
let u, m;
|
|
5158
5174
|
const S = [];
|
|
5159
5175
|
try {
|
|
5160
|
-
const w =
|
|
5161
|
-
|
|
5176
|
+
const w = ti();
|
|
5177
|
+
u = w.setSelectedEntity, w.selectedEntity && S.push(w.selectedEntity.entityId);
|
|
5162
5178
|
} catch {
|
|
5163
5179
|
}
|
|
5164
5180
|
try {
|
|
5165
|
-
m =
|
|
5181
|
+
m = An().clearRowsSelection;
|
|
5166
5182
|
} catch {
|
|
5167
5183
|
}
|
|
5168
|
-
const
|
|
5169
|
-
Ge(R) || (m && m(),
|
|
5184
|
+
const p = (w, R) => {
|
|
5185
|
+
Ge(R) || (m && m(), u ? u({
|
|
5170
5186
|
entityId: w,
|
|
5171
5187
|
entityType: R
|
|
5172
5188
|
}) : console.log("Entity clicked:", w, R));
|
|
5173
|
-
}, b = e?.links ? ji(e.links) : [], y =
|
|
5189
|
+
}, b = e?.links ? ji(e.links) : [], y = On(b);
|
|
5174
5190
|
if (g) {
|
|
5175
5191
|
const w = e?.entityId ?? "", R = w.charCodeAt(0) % 3 + 1;
|
|
5176
|
-
return /* @__PURE__ */ s(qi, { children: Array.from({ length: R }, (_,
|
|
5192
|
+
return /* @__PURE__ */ s(qi, { children: Array.from({ length: R }, (_, I) => /* @__PURE__ */ s(
|
|
5177
5193
|
Qi,
|
|
5178
5194
|
{
|
|
5179
5195
|
className: "loading",
|
|
5180
5196
|
style: {
|
|
5181
|
-
width: rn[(w.charCodeAt(
|
|
5197
|
+
width: rn[(w.charCodeAt(I) ?? I * 13) % rn.length]
|
|
5182
5198
|
}
|
|
5183
5199
|
},
|
|
5184
|
-
|
|
5200
|
+
I
|
|
5185
5201
|
)) });
|
|
5186
5202
|
}
|
|
5187
5203
|
return /* @__PURE__ */ M(he, { children: [
|
|
@@ -5189,10 +5205,10 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5189
5205
|
Et,
|
|
5190
5206
|
{
|
|
5191
5207
|
values: y.map((w) => {
|
|
5192
|
-
const R = w.representative, _ = R.isRestricted ? f ? "Unknown" : "Restricted" : R.label,
|
|
5208
|
+
const R = w.representative, _ = R.isRestricted ? f ? "Unknown" : "Restricted" : R.label, I = R.isRestricted ? f ? "Unknown Link - Entity not found" : "Access Restricted - Insufficient Permissions to Entity" : R.parents.join("/") + "/" + R.label + (w.count > 1 ? ` (x${w.count})` : "");
|
|
5193
5209
|
return {
|
|
5194
5210
|
label: _,
|
|
5195
|
-
tooltip:
|
|
5211
|
+
tooltip: I,
|
|
5196
5212
|
icon: R.isRestricted ? f ? "help" : "lock" : void 0,
|
|
5197
5213
|
suffix: w.count > 1 ? /* @__PURE__ */ M(Lt, { style: { cursor: "default", pointerEvents: "none" }, children: [
|
|
5198
5214
|
"x",
|
|
@@ -5204,7 +5220,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5204
5220
|
disabled: a
|
|
5205
5221
|
}
|
|
5206
5222
|
),
|
|
5207
|
-
t && e && /* @__PURE__ */ s(We, { isEditing: t, anchorId: n, onClose: c, children: a ? /* @__PURE__ */ s(
|
|
5223
|
+
t && e && /* @__PURE__ */ s(We, { isEditing: t, anchorId: n, onClose: c, children: a ? /* @__PURE__ */ s(it, { style: { color: "var(--md-sys-color-outline)" }, children: `${e.link.label || ""} ${e.direction} link is not of type ${e.entityType}` }) : /* @__PURE__ */ s(
|
|
5208
5224
|
Gi,
|
|
5209
5225
|
{
|
|
5210
5226
|
projectName: o,
|
|
@@ -5216,7 +5232,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5216
5232
|
targetEntityType: e.link.targetEntityType,
|
|
5217
5233
|
linkType: e.link.linkType,
|
|
5218
5234
|
selectedEntityIds: S,
|
|
5219
|
-
onEntityClick:
|
|
5235
|
+
onEntityClick: p,
|
|
5220
5236
|
folderId: i,
|
|
5221
5237
|
onClose: c
|
|
5222
5238
|
}
|
|
@@ -5227,7 +5243,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5227
5243
|
dispatch: t,
|
|
5228
5244
|
...n
|
|
5229
5245
|
}) => {
|
|
5230
|
-
const [o] =
|
|
5246
|
+
const [o] = ar(), [a] = sr(), { data: i = [] } = lr({ projectName: n.projectName }), l = Be();
|
|
5231
5247
|
return /* @__PURE__ */ s(
|
|
5232
5248
|
e,
|
|
5233
5249
|
{
|
|
@@ -5237,8 +5253,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5237
5253
|
projectContext: l,
|
|
5238
5254
|
onLink: (g) => {
|
|
5239
5255
|
g.outputType === "product" && t?.(
|
|
5240
|
-
|
|
5241
|
-
|
|
5256
|
+
Qn.util.invalidateTags([
|
|
5257
|
+
cr,
|
|
5242
5258
|
{ type: "productColumnStats", id: n.projectName },
|
|
5243
5259
|
{ type: "link", id: g.output },
|
|
5244
5260
|
{ type: "link", id: g.input },
|
|
@@ -5258,10 +5274,10 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5258
5274
|
onChange: i,
|
|
5259
5275
|
onCancelEdit: l
|
|
5260
5276
|
}) => {
|
|
5261
|
-
const { SubtasksManager: c, useNavigate: g, dispatch: d } = Pt(), [f,
|
|
5262
|
-
label:
|
|
5263
|
-
tooltip:
|
|
5264
|
-
prefix: /* @__PURE__ */ s(St, { checked:
|
|
5277
|
+
const { SubtasksManager: c, useNavigate: g, dispatch: d } = Pt(), [f, u] = G([]), m = e?.subtasks || [], S = m.map((p) => ({
|
|
5278
|
+
label: p.label || p.name,
|
|
5279
|
+
tooltip: p.description || p.label || p.name,
|
|
5280
|
+
prefix: /* @__PURE__ */ s(St, { checked: p.isDone, isReadOnly: !0, style: { fontSize: 20 } })
|
|
5265
5281
|
}));
|
|
5266
5282
|
return /* @__PURE__ */ M(he, { children: [
|
|
5267
5283
|
/* @__PURE__ */ s(
|
|
@@ -5272,7 +5288,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5272
5288
|
disabled: a
|
|
5273
5289
|
}
|
|
5274
5290
|
),
|
|
5275
|
-
t && e && c && /* @__PURE__ */ s(We, { isEditing: t, anchorId: n, onClose: l, children: a ? /* @__PURE__ */ s(
|
|
5291
|
+
t && e && c && /* @__PURE__ */ s(We, { isEditing: t, anchorId: n, onClose: l, children: a ? /* @__PURE__ */ s(it, { style: { color: "var(--md-sys-color-outline)" }, children: "Subtasks are disabled for this task" }) : /* @__PURE__ */ s(
|
|
5276
5292
|
Zi,
|
|
5277
5293
|
{
|
|
5278
5294
|
projectName: o,
|
|
@@ -5281,7 +5297,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5281
5297
|
folderId: e.folderId,
|
|
5282
5298
|
subtasks: m,
|
|
5283
5299
|
selectedSubtaskIds: f,
|
|
5284
|
-
onSelectSubtasks:
|
|
5300
|
+
onSelectSubtasks: u,
|
|
5285
5301
|
onClose: l,
|
|
5286
5302
|
SubtasksManager: c,
|
|
5287
5303
|
useNavigate: g,
|
|
@@ -5386,16 +5402,16 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5386
5402
|
),
|
|
5387
5403
|
a: ({ href: e, children: t }) => {
|
|
5388
5404
|
const [n, o] = e?.split(":") ?? [];
|
|
5389
|
-
if (n && o &&
|
|
5405
|
+
if (n && o && vr.includes(n)) {
|
|
5390
5406
|
const a = String(t ?? "").replace("@", "");
|
|
5391
5407
|
return /* @__PURE__ */ M(na, { children: [
|
|
5392
|
-
/* @__PURE__ */ s(
|
|
5408
|
+
/* @__PURE__ */ s(re, { icon: ra(n) }),
|
|
5393
5409
|
a
|
|
5394
5410
|
] });
|
|
5395
5411
|
}
|
|
5396
5412
|
return /* @__PURE__ */ s("span", { children: t });
|
|
5397
5413
|
}
|
|
5398
|
-
}, ia = (e) =>
|
|
5414
|
+
}, ia = (e) => xr(e).replace(/<br\s*\/?>/gi, `
|
|
5399
5415
|
`), aa = kt(({ body: e }) => /* @__PURE__ */ s("div", { className: "body", children: /* @__PURE__ */ s(
|
|
5400
5416
|
gn,
|
|
5401
5417
|
{
|
|
@@ -5405,12 +5421,12 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5405
5421
|
children: ia(e)
|
|
5406
5422
|
}
|
|
5407
5423
|
) })), sa = (e) => {
|
|
5408
|
-
const t = e.createdAt ?
|
|
5424
|
+
const t = e.createdAt ? kr(new Date(e.createdAt)) : "";
|
|
5409
5425
|
return [e.author, t].filter(Boolean).join(" • ");
|
|
5410
5426
|
}, la = ({ value: e }) => {
|
|
5411
5427
|
const t = e || [];
|
|
5412
5428
|
return t.length ? /* @__PURE__ */ s(ea, { className: "comments-list", children: t.map((n) => /* @__PURE__ */ M(ta, { children: [
|
|
5413
|
-
/* @__PURE__ */ s("span", { className: "author", "data-tooltip": sa(n), "data-tooltip-delay": 0, children: /* @__PURE__ */ s(
|
|
5429
|
+
/* @__PURE__ */ s("span", { className: "author", "data-tooltip": sa(n), "data-tooltip-delay": 0, children: /* @__PURE__ */ s(wr, { name: n.author || "", size: 18 }) }),
|
|
5414
5430
|
/* @__PURE__ */ s(aa, { body: n.body })
|
|
5415
5431
|
] }, n.activityId)) }) : null;
|
|
5416
5432
|
}, ca = x(Et)`
|
|
@@ -5461,12 +5477,12 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5461
5477
|
isEditing: i,
|
|
5462
5478
|
onCancelEdit: l
|
|
5463
5479
|
}) => {
|
|
5464
|
-
const { useNavigate: c = ma, hiddenListIds: g } = Pt(), d = c(), { lists: f, error:
|
|
5480
|
+
const { useNavigate: c = ma, hiddenListIds: g } = Pt(), d = c(), { lists: f, error: u } = Ai(o, t, e), m = Me[n], S = ee(
|
|
5465
5481
|
() => f?.filter(
|
|
5466
5482
|
(y) => y.entityListType === m?.listType && !g?.includes(y.id)
|
|
5467
5483
|
),
|
|
5468
5484
|
[f, m, g]
|
|
5469
|
-
),
|
|
5485
|
+
), p = ee(
|
|
5470
5486
|
() => (S || []).map((y) => {
|
|
5471
5487
|
const w = pa(o, y);
|
|
5472
5488
|
return { list: y, open: w && d ? (_) => {
|
|
@@ -5475,16 +5491,16 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5475
5491
|
}),
|
|
5476
5492
|
[S, o, d]
|
|
5477
5493
|
), b = ee(
|
|
5478
|
-
() =>
|
|
5494
|
+
() => p.map(({ list: y, open: w }) => ({
|
|
5479
5495
|
label: y.label,
|
|
5480
5496
|
tooltip: y.itemIds.length > 1 ? `${y.label} (x${y.itemIds.length})` : y.label,
|
|
5481
5497
|
suffix: /* @__PURE__ */ M(he, { children: [
|
|
5482
5498
|
/* @__PURE__ */ s(on, { count: y.itemIds.length }),
|
|
5483
|
-
w && /* @__PURE__ */ s(
|
|
5499
|
+
w && /* @__PURE__ */ s(re, { icon: "open_in_new", className: "open-icon" })
|
|
5484
5500
|
] }),
|
|
5485
5501
|
onClick: w
|
|
5486
5502
|
})),
|
|
5487
|
-
[
|
|
5503
|
+
[p]
|
|
5488
5504
|
);
|
|
5489
5505
|
return q(() => {
|
|
5490
5506
|
if (!i) return;
|
|
@@ -5492,15 +5508,15 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5492
5508
|
w.key === "Escape" && l?.();
|
|
5493
5509
|
};
|
|
5494
5510
|
return document.addEventListener("keydown", y), () => document.removeEventListener("keydown", y);
|
|
5495
|
-
}, [i, l]),
|
|
5496
|
-
/* @__PURE__ */ s(
|
|
5511
|
+
}, [i, l]), u ? /* @__PURE__ */ M(da, { "data-tooltip": `Lists failed to load, sync to try again: ${u}`, children: [
|
|
5512
|
+
/* @__PURE__ */ s(re, { icon: "error" }),
|
|
5497
5513
|
"Failed to load"
|
|
5498
5514
|
] }) : S ? S.length ? /* @__PURE__ */ M(he, { children: [
|
|
5499
5515
|
/* @__PURE__ */ s(ca, { values: b, pt: { chip: { className: $t } } }),
|
|
5500
|
-
i && /* @__PURE__ */ s(We, { isEditing: i, anchorId: a, onClose: l, children: /* @__PURE__ */ M(
|
|
5516
|
+
i && /* @__PURE__ */ s(We, { isEditing: i, anchorId: a, onClose: l, children: /* @__PURE__ */ M(it, { onMouseDown: (y) => y.stopPropagation(), children: [
|
|
5501
5517
|
/* @__PURE__ */ s(vn, { children: m?.label }),
|
|
5502
|
-
/* @__PURE__ */ s(wn, { children:
|
|
5503
|
-
/* @__PURE__ */ s(
|
|
5518
|
+
/* @__PURE__ */ s(wn, { children: p.map(({ list: y, open: w }) => /* @__PURE__ */ M(kn, { className: W({ clickable: !!w }), onClick: w, children: [
|
|
5519
|
+
/* @__PURE__ */ s(re, { icon: Dr({ entityListType: y.entityListType, entityType: t }) }),
|
|
5504
5520
|
/* @__PURE__ */ s("span", { className: "title", children: y.label }),
|
|
5505
5521
|
/* @__PURE__ */ s(on, { count: y.itemIds.length })
|
|
5506
5522
|
] }, y.id)) })
|
|
@@ -5545,30 +5561,30 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5545
5561
|
nameDisabled: l = !1,
|
|
5546
5562
|
labelDisabled: c = !1
|
|
5547
5563
|
}) => {
|
|
5548
|
-
const { anatomy: g } = Be(), { entity_naming: d = { capitalization: "lower", separator: "_" } } = g, [f,
|
|
5564
|
+
const { anatomy: g } = Be(), { entity_naming: d = { capitalization: "lower", separator: "_" } } = g, [f, u] = G(o), [m, S] = G(n), { setEditingCellId: p, updateEntities: b } = Nt(), y = Q(null), w = Q(null), R = Ft(f, d), _ = m === R || !m;
|
|
5549
5565
|
q(() => {
|
|
5550
5566
|
const C = setTimeout(() => {
|
|
5551
5567
|
!c && y.current ? (y.current.focus(), y.current.select()) : !l && w.current && (w.current.focus(), w.current.select());
|
|
5552
5568
|
}, 0);
|
|
5553
5569
|
return () => clearTimeout(C);
|
|
5554
5570
|
}, [c, l]), q(() => {
|
|
5555
|
-
|
|
5571
|
+
u(o), S(n);
|
|
5556
5572
|
}, [o, n]);
|
|
5557
|
-
const
|
|
5573
|
+
const I = Y(async () => {
|
|
5558
5574
|
if (m !== n || f !== o) {
|
|
5559
5575
|
if (f !== o && !c) {
|
|
5560
|
-
const D =
|
|
5576
|
+
const D = ur(f);
|
|
5561
5577
|
if (!D.valid) {
|
|
5562
5578
|
console.error("Invalid label:", D.error), we.error(`Invalid label: ${D.error}`);
|
|
5563
5579
|
return;
|
|
5564
5580
|
}
|
|
5565
5581
|
}
|
|
5566
|
-
const L =
|
|
5582
|
+
const L = pr(m);
|
|
5567
5583
|
if (!L.valid || !m) {
|
|
5568
5584
|
console.error("Invalid name:", L.error), we.error(`Invalid name: ${L.error}`);
|
|
5569
5585
|
return;
|
|
5570
5586
|
}
|
|
5571
|
-
|
|
5587
|
+
p(null), a?.();
|
|
5572
5588
|
try {
|
|
5573
5589
|
const { entityRowId: D } = i || {}, k = D, O = t, F = [];
|
|
5574
5590
|
m !== n && !l && F.push({ field: "name", value: m, type: O, rowId: k, id: k }), f !== o && !c && F.push({ field: "label", value: f.trim(), type: O, rowId: k, id: k }), F.length && await b(F, !0);
|
|
@@ -5576,25 +5592,25 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5576
5592
|
console.error("Failed to update entity:", D);
|
|
5577
5593
|
}
|
|
5578
5594
|
} else
|
|
5579
|
-
|
|
5595
|
+
p(null), a?.();
|
|
5580
5596
|
}, [
|
|
5581
5597
|
f,
|
|
5582
5598
|
m,
|
|
5583
5599
|
n,
|
|
5584
5600
|
o,
|
|
5585
5601
|
i,
|
|
5586
|
-
|
|
5602
|
+
p,
|
|
5587
5603
|
a,
|
|
5588
5604
|
l,
|
|
5589
5605
|
c,
|
|
5590
5606
|
b,
|
|
5591
5607
|
t
|
|
5592
|
-
]),
|
|
5593
|
-
|
|
5594
|
-
}, [
|
|
5608
|
+
]), E = Y(() => {
|
|
5609
|
+
p(null), a?.();
|
|
5610
|
+
}, [p, a]), T = Y(
|
|
5595
5611
|
(C) => {
|
|
5596
5612
|
const L = C.target.value;
|
|
5597
|
-
|
|
5613
|
+
u(L), _ && !l && S(Ft(L, d));
|
|
5598
5614
|
},
|
|
5599
5615
|
[_, l]
|
|
5600
5616
|
), z = Y((C) => {
|
|
@@ -5608,9 +5624,9 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5608
5624
|
const L = w.current.value.length;
|
|
5609
5625
|
w.current.setSelectionRange(L, L);
|
|
5610
5626
|
}
|
|
5611
|
-
} else C.key === "Enter" && (C.preventDefault(),
|
|
5627
|
+
} else C.key === "Enter" && (C.preventDefault(), I());
|
|
5612
5628
|
},
|
|
5613
|
-
[
|
|
5629
|
+
[I, E, l]
|
|
5614
5630
|
), B = Y(
|
|
5615
5631
|
(C) => {
|
|
5616
5632
|
if (C.key === "ArrowUp") {
|
|
@@ -5619,9 +5635,9 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5619
5635
|
const L = y.current.value.length;
|
|
5620
5636
|
y.current.setSelectionRange(L, L);
|
|
5621
5637
|
}
|
|
5622
|
-
} else C.key === "Enter" && (C.preventDefault(),
|
|
5638
|
+
} else C.key === "Enter" && (C.preventDefault(), I());
|
|
5623
5639
|
},
|
|
5624
|
-
[
|
|
5640
|
+
[I, E, c]
|
|
5625
5641
|
), A = Y((C) => {
|
|
5626
5642
|
C.stopPropagation();
|
|
5627
5643
|
}, []), P = Y((C) => {
|
|
@@ -5711,16 +5727,16 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5711
5727
|
const l = [], c = [], g = /* @__PURE__ */ new Set();
|
|
5712
5728
|
if (o.has(e))
|
|
5713
5729
|
for (const f of o) {
|
|
5714
|
-
const { rowId:
|
|
5715
|
-
if (!
|
|
5716
|
-
const S = a(
|
|
5730
|
+
const { rowId: u, colId: m } = Mi(f) || {};
|
|
5731
|
+
if (!u || m !== t) continue;
|
|
5732
|
+
const S = a(u);
|
|
5717
5733
|
S && (l.push(f), c.push(xa(S, t)), g.add(S.entityType));
|
|
5718
5734
|
}
|
|
5719
5735
|
const [d] = g;
|
|
5720
5736
|
return i.current = {
|
|
5721
5737
|
value: l.length > 1 ? {
|
|
5722
5738
|
cellIds: l,
|
|
5723
|
-
counts:
|
|
5739
|
+
counts: Vn(c),
|
|
5724
5740
|
total: l.length,
|
|
5725
5741
|
label: g.size === 1 ? `${d}s` : "items"
|
|
5726
5742
|
} : void 0
|
|
@@ -5728,7 +5744,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5728
5744
|
}, ka = x.div`
|
|
5729
5745
|
position: absolute;
|
|
5730
5746
|
inset: 0;
|
|
5731
|
-
padding: ${
|
|
5747
|
+
padding: ${Er}px 8px;
|
|
5732
5748
|
display: flex;
|
|
5733
5749
|
align-items: center;
|
|
5734
5750
|
overflow: hidden;
|
|
@@ -5782,18 +5798,18 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5782
5798
|
isPlaceholder: g,
|
|
5783
5799
|
isReadOnly: d,
|
|
5784
5800
|
enableCustomValues: f,
|
|
5785
|
-
isLoadingOptions:
|
|
5801
|
+
isLoadingOptions: u,
|
|
5786
5802
|
isLinksLoading: m,
|
|
5787
5803
|
folderId: S,
|
|
5788
|
-
midnightExclusiveFields:
|
|
5804
|
+
midnightExclusiveFields: p,
|
|
5789
5805
|
tooltip: b,
|
|
5790
5806
|
mark: y,
|
|
5791
5807
|
onChange: w,
|
|
5792
5808
|
entityType: R,
|
|
5793
5809
|
pt: _,
|
|
5794
|
-
...
|
|
5810
|
+
...I
|
|
5795
5811
|
}) => {
|
|
5796
|
-
const
|
|
5812
|
+
const E = Q(null), T = a?.type, { projectName: z } = Be(), { isEditing: H, setEditingCellId: B, getEditingDraft: A, setEditingDraft: P } = Nt(), { isCellFocused: U, gridMap: r, selectCell: h, focusCell: v, selectedCells: N } = In(), C = Ye(e, t), L = p?.includes(t) ?? !1, D = H(C), k = U(C), O = wa(
|
|
5797
5813
|
C,
|
|
5798
5814
|
t,
|
|
5799
5815
|
D && !d && T === "list_of_strings"
|
|
@@ -5809,7 +5825,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5809
5825
|
h(Z, !1, !1), v(Z), B(Z);
|
|
5810
5826
|
} else
|
|
5811
5827
|
B(null);
|
|
5812
|
-
},
|
|
5828
|
+
}, te = ($, j) => {
|
|
5813
5829
|
if (d) {
|
|
5814
5830
|
B(null);
|
|
5815
5831
|
return;
|
|
@@ -5817,13 +5833,13 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5817
5833
|
const Z = N.size > 1 && N.has(C);
|
|
5818
5834
|
if (j === "Enter" && (Z || T === "boolean")) {
|
|
5819
5835
|
B(null), w?.($, j);
|
|
5820
|
-
const fe =
|
|
5836
|
+
const fe = E.current?.closest("td");
|
|
5821
5837
|
fe && fe.focus();
|
|
5822
5838
|
} else j === "Enter" ? (F(), w?.($, j)) : j === "Click" && Ca($, n) ? (B(null), w?.($, j)) : B(null);
|
|
5823
5839
|
}, ue = ($) => {
|
|
5824
5840
|
if (B(null), d || !O) return;
|
|
5825
5841
|
const j = (Array.isArray(n) ? n : [n]).map(String).filter(Boolean);
|
|
5826
|
-
w?.(
|
|
5842
|
+
w?.(Gn(j, $), "Click", { ...$, cellIds: O.cellIds });
|
|
5827
5843
|
}, ke = O && Object.keys(O.counts), Ae = O && {
|
|
5828
5844
|
mixedCounts: O.counts,
|
|
5829
5845
|
mixedTotal: O.total,
|
|
@@ -5831,11 +5847,11 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5831
5847
|
onMixedChange: ue
|
|
5832
5848
|
}, K = () => {
|
|
5833
5849
|
B(null);
|
|
5834
|
-
const $ =
|
|
5850
|
+
const $ = E.current?.closest("td");
|
|
5835
5851
|
$ && $.focus();
|
|
5836
5852
|
}, V = ee(() => {
|
|
5837
5853
|
const $ = {
|
|
5838
|
-
onChange:
|
|
5854
|
+
onChange: te,
|
|
5839
5855
|
onCancelEdit: K,
|
|
5840
5856
|
isEditing: D,
|
|
5841
5857
|
isReadOnly: d
|
|
@@ -5846,7 +5862,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5846
5862
|
const fe = (T?.includes("list") ? i.find(
|
|
5847
5863
|
(Qe) => Array.isArray(n) ? n.includes(Qe.value) : n === Qe.value
|
|
5848
5864
|
) : void 0)?.color;
|
|
5849
|
-
return /* @__PURE__ */ s(
|
|
5865
|
+
return /* @__PURE__ */ s(zr, { color: fe });
|
|
5850
5866
|
}
|
|
5851
5867
|
case T === "name":
|
|
5852
5868
|
return /* @__PURE__ */ s(
|
|
@@ -5903,7 +5919,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5903
5919
|
);
|
|
5904
5920
|
case a?.widget === "tags":
|
|
5905
5921
|
return /* @__PURE__ */ s(
|
|
5906
|
-
|
|
5922
|
+
ao,
|
|
5907
5923
|
{
|
|
5908
5924
|
value: ke || (Array.isArray(n) ? n : [n]),
|
|
5909
5925
|
options: i,
|
|
@@ -5944,14 +5960,14 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5944
5960
|
);
|
|
5945
5961
|
}
|
|
5946
5962
|
return /* @__PURE__ */ s(
|
|
5947
|
-
|
|
5963
|
+
Xr,
|
|
5948
5964
|
{
|
|
5949
5965
|
value: ke || Z,
|
|
5950
5966
|
options: i,
|
|
5951
5967
|
type: T,
|
|
5952
5968
|
onOpen: () => B(C),
|
|
5953
5969
|
enableCustomValues: f,
|
|
5954
|
-
isLoadingOptions:
|
|
5970
|
+
isLoadingOptions: u,
|
|
5955
5971
|
...Ae,
|
|
5956
5972
|
...$,
|
|
5957
5973
|
..._?.enum
|
|
@@ -5978,7 +5994,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5978
5994
|
);
|
|
5979
5995
|
case T === "datetime":
|
|
5980
5996
|
return /* @__PURE__ */ s(
|
|
5981
|
-
|
|
5997
|
+
Ur,
|
|
5982
5998
|
{
|
|
5983
5999
|
value: n || void 0,
|
|
5984
6000
|
isInherited: c,
|
|
@@ -5988,7 +6004,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
5988
6004
|
}
|
|
5989
6005
|
);
|
|
5990
6006
|
case T === "boolean":
|
|
5991
|
-
return /* @__PURE__ */ s(
|
|
6007
|
+
return /* @__PURE__ */ s(No, { value: n, ...$, ..._?.boolean });
|
|
5992
6008
|
case g:
|
|
5993
6009
|
return null;
|
|
5994
6010
|
default:
|
|
@@ -6002,7 +6018,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6002
6018
|
i,
|
|
6003
6019
|
l,
|
|
6004
6020
|
L,
|
|
6005
|
-
|
|
6021
|
+
te,
|
|
6006
6022
|
O
|
|
6007
6023
|
]);
|
|
6008
6024
|
return /* @__PURE__ */ M(he, { children: [
|
|
@@ -6015,17 +6031,17 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6015
6031
|
/* @__PURE__ */ s(
|
|
6016
6032
|
ka,
|
|
6017
6033
|
{
|
|
6018
|
-
...
|
|
6034
|
+
...I,
|
|
6019
6035
|
onKeyDown: ($) => {
|
|
6020
|
-
|
|
6036
|
+
I.onKeyDown?.($), !($.defaultPrevented || $.key !== "Enter" || T !== "boolean" || i.length || a?.enumResolver || d || l) && ($.preventDefault(), $.stopPropagation(), te(!n, "Enter"));
|
|
6021
6037
|
},
|
|
6022
|
-
className: W(
|
|
6038
|
+
className: W(I.className, {
|
|
6023
6039
|
inherited: c && !D,
|
|
6024
6040
|
[Fe]: d,
|
|
6025
6041
|
editable: !d,
|
|
6026
6042
|
warning: y?.warning
|
|
6027
6043
|
}),
|
|
6028
|
-
ref:
|
|
6044
|
+
ref: E,
|
|
6029
6045
|
id: C,
|
|
6030
6046
|
"data-tooltip": b || !D && y?.tooltip || (c && !D && k ? "Inherited" : void 0),
|
|
6031
6047
|
"data-tooltip-delay": 200,
|
|
@@ -6033,7 +6049,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6033
6049
|
}
|
|
6034
6050
|
)
|
|
6035
6051
|
] });
|
|
6036
|
-
},
|
|
6052
|
+
}, ne = ({ mark: e, isReadOnly: t, ...n }) => {
|
|
6037
6053
|
const { mark: o, isRowReadOnly: a } = _i(), i = o && e ? { ...o, ...e } : e || o;
|
|
6038
6054
|
return i?.placeholder ? /* @__PURE__ */ s(
|
|
6039
6055
|
sn,
|
|
@@ -6168,8 +6184,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6168
6184
|
rowHeight: c = 40,
|
|
6169
6185
|
columnDisplayConfig: g
|
|
6170
6186
|
}) => {
|
|
6171
|
-
const d = Ge(t.entityType), f = c <
|
|
6172
|
-
return /* @__PURE__ */ M(Ia, { className:
|
|
6187
|
+
const d = Ge(t.entityType), f = c < Rr, u = f ? "compact" : "stacked", m = Zt(g, "path", "compact") ?? !0, S = Zt(g, "path", "full") ?? !0, p = f ? m : S;
|
|
6188
|
+
return /* @__PURE__ */ M(Ia, { className: u, children: [
|
|
6173
6189
|
o ? /* @__PURE__ */ s(
|
|
6174
6190
|
Sa,
|
|
6175
6191
|
{
|
|
@@ -6180,9 +6196,9 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6180
6196
|
icon: a ? "expand_more" : "chevron_right"
|
|
6181
6197
|
}
|
|
6182
6198
|
) : null,
|
|
6183
|
-
/* @__PURE__ */ s(Ea, { className:
|
|
6199
|
+
/* @__PURE__ */ s(Ea, { className: u, children: /* @__PURE__ */ s(Ra, { children: /* @__PURE__ */ M(La, { className: u, children: [
|
|
6184
6200
|
/* @__PURE__ */ s(
|
|
6185
|
-
|
|
6201
|
+
at,
|
|
6186
6202
|
{
|
|
6187
6203
|
entity: {
|
|
6188
6204
|
entityType: t.entityType,
|
|
@@ -6192,8 +6208,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6192
6208
|
color: t.color || void 0
|
|
6193
6209
|
}
|
|
6194
6210
|
),
|
|
6195
|
-
/* @__PURE__ */ M(Na, { className:
|
|
6196
|
-
|
|
6211
|
+
/* @__PURE__ */ M(Na, { className: u, children: [
|
|
6212
|
+
p && !d && /* @__PURE__ */ M("span", { className: "path", children: [
|
|
6197
6213
|
n,
|
|
6198
6214
|
f && n ? "/" : ""
|
|
6199
6215
|
] }),
|
|
@@ -6212,7 +6228,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6212
6228
|
border-radius: 4px;
|
|
6213
6229
|
opacity: 1;
|
|
6214
6230
|
}
|
|
6215
|
-
`,
|
|
6231
|
+
`, zn = x.div`
|
|
6216
6232
|
display: flex;
|
|
6217
6233
|
align-items: center;
|
|
6218
6234
|
gap: var(--base-gap-small);
|
|
@@ -6223,10 +6239,10 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6223
6239
|
&:hover {
|
|
6224
6240
|
background-color: var(--md-sys-color-surface-container-high-hover);
|
|
6225
6241
|
}
|
|
6226
|
-
`, Pa = x(
|
|
6242
|
+
`, Pa = x(re)`
|
|
6227
6243
|
opacity: 0;
|
|
6228
6244
|
|
|
6229
|
-
${
|
|
6245
|
+
${zn}:hover & {
|
|
6230
6246
|
opacity: 1;
|
|
6231
6247
|
}
|
|
6232
6248
|
`, _a = "entity-widget", ht = ({
|
|
@@ -6239,9 +6255,9 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6239
6255
|
className: l,
|
|
6240
6256
|
isLoading: c
|
|
6241
6257
|
}) => {
|
|
6242
|
-
const g =
|
|
6258
|
+
const g = ae(Ln), d = oi(), f = (m) => {
|
|
6243
6259
|
m.button !== 0 || !o || !g || (d?.clearRowsSelection(), g.setSelectedEntity({ entityId: o, entityType: a }), m.preventDefault());
|
|
6244
|
-
},
|
|
6260
|
+
}, u = (m) => {
|
|
6245
6261
|
m.detail === 2 && f(m);
|
|
6246
6262
|
};
|
|
6247
6263
|
return /* @__PURE__ */ s(
|
|
@@ -6249,10 +6265,10 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6249
6265
|
{
|
|
6250
6266
|
id: `${e}-${t}`,
|
|
6251
6267
|
className: W(_a, Fe, l, { loading: c }),
|
|
6252
|
-
onMouseDown:
|
|
6268
|
+
onMouseDown: u,
|
|
6253
6269
|
"data-tooltip-delay": 200,
|
|
6254
|
-
children: /* @__PURE__ */ M(
|
|
6255
|
-
i && /* @__PURE__ */ s(
|
|
6270
|
+
children: /* @__PURE__ */ M(zn, { onMouseDown: f, children: [
|
|
6271
|
+
i && /* @__PURE__ */ s(at, { entity: { entityType: a, subType: i } }),
|
|
6256
6272
|
String(n ?? ""),
|
|
6257
6273
|
/* @__PURE__ */ s(Pa, { icon: "dock_to_left" })
|
|
6258
6274
|
] })
|
|
@@ -6320,6 +6336,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6320
6336
|
object-fit: cover;
|
|
6321
6337
|
`, ln = x.span`
|
|
6322
6338
|
color: var(--md-sys-color-outline);
|
|
6339
|
+
white-space: nowrap;
|
|
6340
|
+
flex-shrink: 0;
|
|
6323
6341
|
`, Wa = ({
|
|
6324
6342
|
id: e,
|
|
6325
6343
|
label: t,
|
|
@@ -6336,8 +6354,8 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6336
6354
|
/* @__PURE__ */ s(
|
|
6337
6355
|
$a,
|
|
6338
6356
|
{
|
|
6339
|
-
onClick: (
|
|
6340
|
-
|
|
6357
|
+
onClick: (u) => {
|
|
6358
|
+
u.stopPropagation(), f();
|
|
6341
6359
|
},
|
|
6342
6360
|
className: "expander",
|
|
6343
6361
|
icon: g ? "expand_more" : "chevron_right"
|
|
@@ -6345,11 +6363,11 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6345
6363
|
),
|
|
6346
6364
|
/* @__PURE__ */ s(Oa, { children: /* @__PURE__ */ s(za, { children: /* @__PURE__ */ M(Fa, { children: [
|
|
6347
6365
|
a && /* @__PURE__ */ s(Ba, { src: a, alt: n, className: "img" }),
|
|
6348
|
-
o && /* @__PURE__ */ s(
|
|
6366
|
+
o && /* @__PURE__ */ s(re, { icon: o, style: { color: c || void 0 } }),
|
|
6349
6367
|
/* @__PURE__ */ s(Ha, { style: { color: c || void 0 }, children: /* @__PURE__ */ s("span", { className: "label", children: t || n }) }),
|
|
6350
6368
|
i !== void 0 && i > 0 ? /* @__PURE__ */ M(ln, { children: [
|
|
6351
6369
|
i,
|
|
6352
|
-
l !== void 0 && ` (${l}%)`
|
|
6370
|
+
l !== void 0 && ` (${l === 0 ? "<1" : l}%)`
|
|
6353
6371
|
] }) : d ? /* @__PURE__ */ s(ln, { children: "(Empty)" }) : null
|
|
6354
6372
|
] }) }) })
|
|
6355
6373
|
] }), Ua = x.div`
|
|
@@ -6376,7 +6394,7 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6376
6394
|
height: 100%;
|
|
6377
6395
|
object-fit: contain;
|
|
6378
6396
|
z-index: 20;
|
|
6379
|
-
`, Ga = x(
|
|
6397
|
+
`, Ga = x(Tr)`
|
|
6380
6398
|
right: 5px;
|
|
6381
6399
|
top: 5px;
|
|
6382
6400
|
`, ja = ({
|
|
@@ -6390,14 +6408,14 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6390
6408
|
id: c,
|
|
6391
6409
|
...g
|
|
6392
6410
|
}) => {
|
|
6393
|
-
const d = e && t && n && t !== "product", f =
|
|
6411
|
+
const d = e && t && n && t !== "product", f = Ar({ projectName: e, entityType: t, entityId: n, thumbnailHash: o });
|
|
6394
6412
|
return /* @__PURE__ */ M(Ua, { className: "thumbnail-widget", id: c, children: [
|
|
6395
6413
|
/* @__PURE__ */ M(Ka, { ...g, children: [
|
|
6396
6414
|
d && /* @__PURE__ */ s(Va, { src: l || f || void 0 }),
|
|
6397
6415
|
d && i && /* @__PURE__ */ s(
|
|
6398
|
-
|
|
6416
|
+
Cr,
|
|
6399
6417
|
{
|
|
6400
|
-
src:
|
|
6418
|
+
src: Pr({ projectName: e, entityType: t, entityId: n, thumbnailHash: o }),
|
|
6401
6419
|
fit: "contain",
|
|
6402
6420
|
style: { zIndex: 20 }
|
|
6403
6421
|
}
|
|
@@ -6434,54 +6452,54 @@ const Ye = (e, t) => `cell-${e}-${t}`, Mi = (e) => {
|
|
|
6434
6452
|
}
|
|
6435
6453
|
};
|
|
6436
6454
|
export {
|
|
6437
|
-
|
|
6455
|
+
ti as $,
|
|
6438
6456
|
Ki as A,
|
|
6439
|
-
|
|
6457
|
+
No as B,
|
|
6440
6458
|
Cn as C,
|
|
6441
|
-
|
|
6442
|
-
|
|
6443
|
-
|
|
6459
|
+
Ur as D,
|
|
6460
|
+
Xr as E,
|
|
6461
|
+
Ll as F,
|
|
6444
6462
|
Vs as G,
|
|
6445
|
-
|
|
6463
|
+
Xo as H,
|
|
6446
6464
|
Rn as I,
|
|
6447
6465
|
Nt as J,
|
|
6448
|
-
|
|
6466
|
+
Ko as K,
|
|
6449
6467
|
Vi as L,
|
|
6450
6468
|
Bs as M,
|
|
6451
|
-
|
|
6469
|
+
Vo as N,
|
|
6452
6470
|
In as O,
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6471
|
+
Nn as P,
|
|
6472
|
+
Il as Q,
|
|
6473
|
+
Sl as R,
|
|
6474
|
+
rl as S,
|
|
6457
6475
|
Qt as T,
|
|
6458
6476
|
be as U,
|
|
6459
|
-
|
|
6460
|
-
|
|
6477
|
+
Uo as V,
|
|
6478
|
+
ei as W,
|
|
6461
6479
|
Ws as X,
|
|
6462
|
-
|
|
6480
|
+
Jo as Y,
|
|
6463
6481
|
Ln as Z,
|
|
6464
6482
|
ri as _,
|
|
6465
|
-
|
|
6483
|
+
Zo as a,
|
|
6466
6484
|
ci as a$,
|
|
6467
6485
|
Ye as a0,
|
|
6468
|
-
|
|
6469
|
-
|
|
6486
|
+
Dn as a1,
|
|
6487
|
+
qs as a2,
|
|
6470
6488
|
js as a3,
|
|
6471
|
-
|
|
6489
|
+
nt as a4,
|
|
6472
6490
|
Ge as a5,
|
|
6473
|
-
|
|
6491
|
+
kl as a6,
|
|
6474
6492
|
Ks as a7,
|
|
6475
6493
|
$i as a8,
|
|
6476
|
-
|
|
6494
|
+
Rl as a9,
|
|
6477
6495
|
vi as aA,
|
|
6478
6496
|
J as aB,
|
|
6479
6497
|
X as aC,
|
|
6480
6498
|
Pe as aD,
|
|
6481
|
-
|
|
6482
|
-
|
|
6499
|
+
ne as aE,
|
|
6500
|
+
zr as aF,
|
|
6483
6501
|
de as aG,
|
|
6484
|
-
|
|
6502
|
+
Ho as aH,
|
|
6485
6503
|
_a as aI,
|
|
6486
6504
|
Qa as aJ,
|
|
6487
6505
|
Da as aK,
|
|
@@ -6489,15 +6507,15 @@ export {
|
|
|
6489
6507
|
Ve as aM,
|
|
6490
6508
|
Za as aN,
|
|
6491
6509
|
Wa as aO,
|
|
6492
|
-
|
|
6510
|
+
Wo as aP,
|
|
6493
6511
|
Me as aQ,
|
|
6494
6512
|
Ji as aR,
|
|
6495
6513
|
ga as aS,
|
|
6496
6514
|
Xa as aT,
|
|
6497
6515
|
le as aU,
|
|
6498
|
-
|
|
6499
|
-
|
|
6500
|
-
|
|
6516
|
+
Zs as aV,
|
|
6517
|
+
Js as aW,
|
|
6518
|
+
Qs as aX,
|
|
6501
6519
|
ii as aY,
|
|
6502
6520
|
At as aZ,
|
|
6503
6521
|
pi as a_,
|
|
@@ -6505,83 +6523,84 @@ export {
|
|
|
6505
6523
|
Fe as ab,
|
|
6506
6524
|
gt as ac,
|
|
6507
6525
|
xa as ad,
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
|
|
6520
|
-
|
|
6526
|
+
Tl as ae,
|
|
6527
|
+
ml as af,
|
|
6528
|
+
gl as ag,
|
|
6529
|
+
yl as ah,
|
|
6530
|
+
ol as ai,
|
|
6531
|
+
dl as aj,
|
|
6532
|
+
xl as ak,
|
|
6533
|
+
pl as al,
|
|
6534
|
+
Cl as am,
|
|
6535
|
+
ul as an,
|
|
6536
|
+
hl as ao,
|
|
6537
|
+
An as ap,
|
|
6538
|
+
bl as aq,
|
|
6521
6539
|
Pi as ar,
|
|
6522
|
-
|
|
6523
|
-
|
|
6540
|
+
fl as as,
|
|
6541
|
+
Xs as at,
|
|
6524
6542
|
yi as au,
|
|
6525
|
-
|
|
6526
|
-
|
|
6527
|
-
|
|
6528
|
-
|
|
6529
|
-
|
|
6543
|
+
sl as av,
|
|
6544
|
+
al as aw,
|
|
6545
|
+
cl as ax,
|
|
6546
|
+
ll as ay,
|
|
6547
|
+
il as az,
|
|
6530
6548
|
Pt as b,
|
|
6531
6549
|
fn as b0,
|
|
6532
6550
|
Xi as b1,
|
|
6533
6551
|
Ya as b2,
|
|
6534
6552
|
Jt as b3,
|
|
6535
|
-
|
|
6536
|
-
|
|
6537
|
-
|
|
6538
|
-
|
|
6553
|
+
Nl as b4,
|
|
6554
|
+
Dl as b5,
|
|
6555
|
+
El as b6,
|
|
6556
|
+
vl as b7,
|
|
6539
6557
|
oe as b8,
|
|
6540
6558
|
Ii as b9,
|
|
6541
|
-
|
|
6559
|
+
rt as ba,
|
|
6542
6560
|
Si as bb,
|
|
6543
6561
|
qe as bc,
|
|
6544
6562
|
De as bd,
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6563
|
+
Mn as be,
|
|
6564
|
+
se as bf,
|
|
6565
|
+
wl as bg,
|
|
6548
6566
|
pe as bh,
|
|
6549
6567
|
xi as bi,
|
|
6550
6568
|
Dt as bj,
|
|
6551
6569
|
Yi as bk,
|
|
6552
|
-
|
|
6570
|
+
pt as bl,
|
|
6553
6571
|
Di as bm,
|
|
6554
6572
|
Ci as bn,
|
|
6555
6573
|
ge as bo,
|
|
6556
|
-
|
|
6557
|
-
|
|
6574
|
+
mt as bp,
|
|
6575
|
+
Yo as bq,
|
|
6558
6576
|
Ce as br,
|
|
6559
6577
|
ji as bs,
|
|
6560
6578
|
Ai as bt,
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6564
|
-
|
|
6565
|
-
|
|
6566
|
-
|
|
6567
|
-
|
|
6579
|
+
Fo as bu,
|
|
6580
|
+
Ys as bv,
|
|
6581
|
+
oi as bw,
|
|
6582
|
+
_i as bx,
|
|
6583
|
+
Pn as c,
|
|
6584
|
+
tl as d,
|
|
6585
|
+
el as e,
|
|
6586
|
+
eo as f,
|
|
6568
6587
|
ni as g,
|
|
6569
6588
|
Us as h,
|
|
6570
6589
|
Gs as i,
|
|
6571
6590
|
$t as j,
|
|
6572
6591
|
Et as k,
|
|
6573
|
-
|
|
6574
|
-
|
|
6575
|
-
|
|
6592
|
+
Io as l,
|
|
6593
|
+
at as m,
|
|
6594
|
+
ro as n,
|
|
6576
6595
|
Gi as o,
|
|
6577
6596
|
Mi as p,
|
|
6578
6597
|
Zi as q,
|
|
6579
|
-
|
|
6598
|
+
On as r,
|
|
6580
6599
|
Bi as s,
|
|
6581
|
-
|
|
6582
|
-
|
|
6583
|
-
|
|
6584
|
-
|
|
6600
|
+
ao as t,
|
|
6601
|
+
nl as u,
|
|
6602
|
+
Bo as v,
|
|
6603
|
+
Go as w,
|
|
6585
6604
|
Hi as x,
|
|
6586
6605
|
Fi as y,
|
|
6587
6606
|
_t as z
|