@object-ui/plugin-kanban 3.1.5 → 3.3.1
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/CHANGELOG.md +28 -0
- package/README.md +24 -0
- package/dist/{KanbanEnhanced-CvxO2soF.js → KanbanEnhanced-Do9ZB1Mh.js} +36 -33
- package/dist/{KanbanImpl-ii52_k8g.js → KanbanImpl-BdocXM5T.js} +2 -2
- package/dist/{chevron-down-DpXJN6OX.js → chevron-down-C0JUlGjk.js} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +35 -26
- package/dist/index.umd.cjs +4 -4
- package/dist/packages/plugin-kanban/src/CardTemplates.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/InlineQuickAdd.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/KanbanEnhanced.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/KanbanImpl.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/ObjectKanban.EdgeCases.stories.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/ObjectKanban.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/ObjectKanban.stories.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/index.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/types.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/useColumnWidths.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/useCrossSwimlaneMove.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/useQuickAddReorder.d.ts.map +1 -0
- package/dist/{plus-CAtTu4zt.js → plus-CHsXVJSY.js} +39 -36
- package/dist/{sortable.esm-DzUCoMzQ.js → sortable.esm-LJG1TjKd.js} +4 -4
- package/package.json +35 -12
- package/.turbo/turbo-build.log +0 -32
- package/dist/src/CardTemplates.d.ts.map +0 -1
- package/dist/src/InlineQuickAdd.d.ts.map +0 -1
- package/dist/src/KanbanEnhanced.d.ts.map +0 -1
- package/dist/src/KanbanImpl.d.ts.map +0 -1
- package/dist/src/ObjectKanban.EdgeCases.stories.d.ts.map +0 -1
- package/dist/src/ObjectKanban.d.ts.map +0 -1
- package/dist/src/ObjectKanban.stories.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/useColumnWidths.d.ts.map +0 -1
- package/dist/src/useCrossSwimlaneMove.d.ts.map +0 -1
- package/dist/src/useQuickAddReorder.d.ts.map +0 -1
- package/src/CardTemplates.tsx +0 -123
- package/src/InlineQuickAdd.tsx +0 -189
- package/src/KanbanEnhanced.tsx +0 -525
- package/src/KanbanImpl.tsx +0 -597
- package/src/ObjectKanban.EdgeCases.stories.tsx +0 -168
- package/src/ObjectKanban.msw.test.tsx +0 -91
- package/src/ObjectKanban.stories.tsx +0 -152
- package/src/ObjectKanban.tsx +0 -262
- package/src/__tests__/KanbanEnhanced.test.tsx +0 -260
- package/src/__tests__/KanbanGrouping.test.tsx +0 -164
- package/src/__tests__/KanbanSwimlanes.test.tsx +0 -194
- package/src/__tests__/ObjectKanbanTitle.test.tsx +0 -93
- package/src/__tests__/SwimlanePersistence.test.tsx +0 -159
- package/src/__tests__/accessibility.test.tsx +0 -296
- package/src/__tests__/dnd-undo-integration.test.tsx +0 -525
- package/src/__tests__/performance-benchmark.test.tsx +0 -306
- package/src/__tests__/phase13-features.test.tsx +0 -387
- package/src/__tests__/view-states.test.tsx +0 -403
- package/src/index.test.ts +0 -112
- package/src/index.tsx +0 -327
- package/src/registration.test.tsx +0 -26
- package/src/types.ts +0 -185
- package/src/useColumnWidths.ts +0 -125
- package/src/useCrossSwimlaneMove.ts +0 -116
- package/src/useQuickAddReorder.ts +0 -107
- package/tsconfig.json +0 -19
- package/vite.config.ts +0 -61
- package/vitest.config.ts +0 -12
- package/vitest.setup.ts +0 -1
- /package/dist/{src → packages/plugin-kanban/src}/CardTemplates.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/InlineQuickAdd.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/KanbanEnhanced.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/KanbanImpl.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.EdgeCases.stories.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.stories.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/index.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/types.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/useColumnWidths.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/useCrossSwimlaneMove.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/useQuickAddReorder.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @object-ui/plugin-kanban
|
|
2
2
|
|
|
3
|
+
## 3.3.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [b429568]
|
|
8
|
+
- @object-ui/components@3.3.1
|
|
9
|
+
- @object-ui/types@3.3.1
|
|
10
|
+
- @object-ui/core@3.3.1
|
|
11
|
+
- @object-ui/react@3.3.1
|
|
12
|
+
|
|
13
|
+
## 3.3.0
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- @object-ui/types@3.3.0
|
|
18
|
+
- @object-ui/core@3.3.0
|
|
19
|
+
- @object-ui/react@3.3.0
|
|
20
|
+
- @object-ui/components@3.3.0
|
|
21
|
+
|
|
22
|
+
## 3.2.0
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- @object-ui/types@3.2.0
|
|
27
|
+
- @object-ui/core@3.2.0
|
|
28
|
+
- @object-ui/react@3.2.0
|
|
29
|
+
- @object-ui/components@3.2.0
|
|
30
|
+
|
|
3
31
|
## 3.1.5
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -168,3 +168,27 @@ const schema = {
|
|
|
168
168
|
}
|
|
169
169
|
};
|
|
170
170
|
```
|
|
171
|
+
|
|
172
|
+
<!-- release-metadata:v3.3.0 -->
|
|
173
|
+
|
|
174
|
+
## Compatibility
|
|
175
|
+
|
|
176
|
+
- **React:** 18.x or 19.x
|
|
177
|
+
- **Node.js:** ≥ 18
|
|
178
|
+
- **TypeScript:** ≥ 5.0 (strict mode)
|
|
179
|
+
- **`@objectstack/spec`:** ^3.3.0
|
|
180
|
+
- **`@objectstack/client`:** ^3.3.0
|
|
181
|
+
- **Tailwind CSS:** ≥ 3.4 (for packages with UI)
|
|
182
|
+
|
|
183
|
+
## Links
|
|
184
|
+
|
|
185
|
+
- 📚 [Documentation](https://www.objectui.org/docs/plugins/plugin-kanban)
|
|
186
|
+
- 📦 [npm package](https://www.npmjs.com/package/@object-ui/plugin-kanban)
|
|
187
|
+
- 📝 [Changelog](./CHANGELOG.md)
|
|
188
|
+
- 🐛 [Report an issue](https://github.com/objectstack-ai/objectui/issues)
|
|
189
|
+
- 🤝 [Contributing Guide](https://github.com/objectstack-ai/objectui/blob/main/CONTRIBUTING.md)
|
|
190
|
+
- 🗺️ [Roadmap](https://github.com/objectstack-ai/objectui/blob/main/ROADMAP.md)
|
|
191
|
+
|
|
192
|
+
## License
|
|
193
|
+
|
|
194
|
+
MIT — see [LICENSE](./LICENSE).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "./plus-
|
|
2
|
-
import { t as r } from "./chevron-down-
|
|
3
|
-
import { a as i, d as a, f as o, i as s, l as c, n as l, o as u, r as d, s as f, t as p, u as m } from "./sortable.esm-
|
|
1
|
+
import { n as e, r as t, t as n } from "./plus-CHsXVJSY.js";
|
|
2
|
+
import { t as r } from "./chevron-down-C0JUlGjk.js";
|
|
3
|
+
import { a as i, d as a, f as o, i as s, l as c, n as l, o as u, r as d, s as f, t as p, u as m } from "./sortable.esm-LJG1TjKd.js";
|
|
4
4
|
import * as h from "react";
|
|
5
5
|
import { Badge as g, Button as _, Card as v, CardContent as y, CardDescription as b, CardHeader as x, CardTitle as S, Input as C } from "@object-ui/components";
|
|
6
6
|
import { flushSync as w } from "react-dom";
|
|
@@ -22,7 +22,7 @@ var T = e("chevron-right", [["path", {
|
|
|
22
22
|
}]
|
|
23
23
|
]);
|
|
24
24
|
//#endregion
|
|
25
|
-
//#region ../../node_modules/.pnpm/@tanstack+virtual-core@3.
|
|
25
|
+
//#region ../../node_modules/.pnpm/@tanstack+virtual-core@3.14.0/node_modules/@tanstack/virtual-core/dist/esm/utils.js
|
|
26
26
|
function D(e, t, n) {
|
|
27
27
|
let r = n.initialDeps ?? [], i, a = !0;
|
|
28
28
|
function o() {
|
|
@@ -186,6 +186,7 @@ var k = (e, t) => Math.abs(e - t) < 1.01, A = (e, t, n) => {
|
|
|
186
186
|
isRtl: !1,
|
|
187
187
|
useScrollendEvent: !1,
|
|
188
188
|
useAnimationFrameWithResizeObserver: !1,
|
|
189
|
+
laneAssignmentMode: "estimate",
|
|
189
190
|
...e
|
|
190
191
|
};
|
|
191
192
|
}, this.notify = (e) => {
|
|
@@ -242,48 +243,50 @@ var k = (e, t) => Math.abs(e - t) < 1.01, A = (e, t, n) => {
|
|
|
242
243
|
this.options.scrollMargin,
|
|
243
244
|
this.options.getItemKey,
|
|
244
245
|
this.options.enabled,
|
|
245
|
-
this.options.lanes
|
|
246
|
-
|
|
246
|
+
this.options.lanes,
|
|
247
|
+
this.options.laneAssignmentMode
|
|
248
|
+
], (e, t, n, r, i, a, o) => (this.prevLanes !== void 0 && this.prevLanes !== a && (this.lanesChangedFlag = !0), this.prevLanes = a, this.pendingMeasuredCacheIndexes = [], {
|
|
247
249
|
count: e,
|
|
248
250
|
paddingStart: t,
|
|
249
251
|
scrollMargin: n,
|
|
250
252
|
getItemKey: r,
|
|
251
253
|
enabled: i,
|
|
252
|
-
lanes: a
|
|
253
|
-
|
|
254
|
+
lanes: a,
|
|
255
|
+
laneAssignmentMode: o
|
|
256
|
+
}), { key: !1 }), this.getMeasurements = D(() => [this.getMeasurementOptions(), this.itemSizeCache], ({ count: e, paddingStart: t, scrollMargin: n, getItemKey: r, enabled: i, lanes: a, laneAssignmentMode: o }, s) => {
|
|
254
257
|
if (!i) return this.measurementsCache = [], this.itemSizeCache.clear(), this.laneAssignments.clear(), [];
|
|
255
258
|
if (this.laneAssignments.size > e) for (let t of this.laneAssignments.keys()) t >= e && this.laneAssignments.delete(t);
|
|
256
259
|
this.lanesChangedFlag && (this.lanesChangedFlag = !1, this.lanesSettling = !0, this.measurementsCache = [], this.itemSizeCache.clear(), this.laneAssignments.clear(), this.pendingMeasuredCacheIndexes = []), this.measurementsCache.length === 0 && !this.lanesSettling && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((e) => {
|
|
257
260
|
this.itemSizeCache.set(e.key, e.size);
|
|
258
261
|
}));
|
|
259
|
-
let
|
|
262
|
+
let c = this.lanesSettling ? 0 : this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
|
|
260
263
|
this.pendingMeasuredCacheIndexes = [], this.lanesSettling && this.measurementsCache.length === e && (this.lanesSettling = !1);
|
|
261
|
-
let
|
|
262
|
-
for (let e = 0; e <
|
|
263
|
-
let t =
|
|
264
|
-
t && (
|
|
264
|
+
let l = this.measurementsCache.slice(0, c), u = Array(a).fill(void 0);
|
|
265
|
+
for (let e = 0; e < c; e++) {
|
|
266
|
+
let t = l[e];
|
|
267
|
+
t && (u[t.lane] = e);
|
|
265
268
|
}
|
|
266
|
-
for (let i =
|
|
267
|
-
let e = r(i), a = this.laneAssignments.get(i),
|
|
269
|
+
for (let i = c; i < e; i++) {
|
|
270
|
+
let e = r(i), a = this.laneAssignments.get(i), c, d, f = o === "estimate" || s.has(e);
|
|
268
271
|
if (a !== void 0 && this.options.lanes > 1) {
|
|
269
|
-
|
|
270
|
-
let e =
|
|
271
|
-
|
|
272
|
+
c = a;
|
|
273
|
+
let e = u[c], r = e === void 0 ? void 0 : l[e];
|
|
274
|
+
d = r ? r.end + this.options.gap : t + n;
|
|
272
275
|
} else {
|
|
273
|
-
let e = this.options.lanes === 1 ?
|
|
274
|
-
|
|
276
|
+
let e = this.options.lanes === 1 ? l[i - 1] : this.getFurthestMeasurement(l, i);
|
|
277
|
+
d = e ? e.end + this.options.gap : t + n, c = e ? e.lane : i % this.options.lanes, this.options.lanes > 1 && f && this.laneAssignments.set(i, c);
|
|
275
278
|
}
|
|
276
|
-
let
|
|
277
|
-
|
|
279
|
+
let p = s.get(e), m = typeof p == "number" ? p : this.options.estimateSize(i), h = d + m;
|
|
280
|
+
l[i] = {
|
|
278
281
|
index: i,
|
|
279
|
-
start:
|
|
280
|
-
size:
|
|
281
|
-
end:
|
|
282
|
+
start: d,
|
|
283
|
+
size: m,
|
|
284
|
+
end: h,
|
|
282
285
|
key: e,
|
|
283
|
-
lane:
|
|
284
|
-
},
|
|
286
|
+
lane: c
|
|
287
|
+
}, u[c] = i;
|
|
285
288
|
}
|
|
286
|
-
return this.measurementsCache =
|
|
289
|
+
return this.measurementsCache = l, l;
|
|
287
290
|
}, {
|
|
288
291
|
key: process.env.NODE_ENV !== "production" && "getMeasurements",
|
|
289
292
|
debug: () => this.options.debug
|
|
@@ -386,12 +389,12 @@ var k = (e, t) => Math.abs(e - t) < 1.01, A = (e, t, n) => {
|
|
|
386
389
|
let a = t === "end" ? i.end + this.options.scrollPaddingEnd : i.start - this.options.scrollPaddingStart;
|
|
387
390
|
return [this.getOffsetForAlignment(a, t, i.size), t];
|
|
388
391
|
}, this.scrollToOffset = (e, { align: t = "start", behavior: n = "auto" } = {}) => {
|
|
389
|
-
let r = this.getOffsetForAlignment(e, t);
|
|
392
|
+
let r = this.getOffsetForAlignment(e, t), i = this.now();
|
|
390
393
|
this.scrollState = {
|
|
391
394
|
index: null,
|
|
392
395
|
align: t,
|
|
393
396
|
behavior: n,
|
|
394
|
-
startedAt:
|
|
397
|
+
startedAt: i,
|
|
395
398
|
lastTargetOffset: r,
|
|
396
399
|
stableFrames: 0
|
|
397
400
|
}, this._scrollToOffset(r, {
|
|
@@ -415,12 +418,12 @@ var k = (e, t) => Math.abs(e - t) < 1.01, A = (e, t, n) => {
|
|
|
415
418
|
behavior: n
|
|
416
419
|
}), this.scheduleScrollReconcile();
|
|
417
420
|
}, this.scrollBy = (e, { behavior: t = "auto" } = {}) => {
|
|
418
|
-
let n = this.getScrollOffset() + e;
|
|
421
|
+
let n = this.getScrollOffset() + e, r = this.now();
|
|
419
422
|
this.scrollState = {
|
|
420
423
|
index: null,
|
|
421
424
|
align: "start",
|
|
422
425
|
behavior: t,
|
|
423
|
-
startedAt:
|
|
426
|
+
startedAt: r,
|
|
424
427
|
lastTargetOffset: n,
|
|
425
428
|
stableFrames: 0
|
|
426
429
|
}, this._scrollToOffset(n, {
|
|
@@ -512,7 +515,7 @@ function H({ measurements: e, outerSize: t, scrollOffset: n, lanes: r }) {
|
|
|
512
515
|
};
|
|
513
516
|
}
|
|
514
517
|
//#endregion
|
|
515
|
-
//#region ../../node_modules/.pnpm/@tanstack+react-virtual@3.13.
|
|
518
|
+
//#region ../../node_modules/.pnpm/@tanstack+react-virtual@3.13.24_react-dom@19.2.5_react@19.2.5__react@19.2.5/node_modules/@tanstack/react-virtual/dist/esm/index.js
|
|
516
519
|
var U = typeof document < "u" ? h.useLayoutEffect : h.useEffect;
|
|
517
520
|
function W({ useFlushSync: e = !0, ...t }) {
|
|
518
521
|
let n = h.useReducer(() => ({}), {})[1], r = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as e, t } from "./plus-
|
|
2
|
-
import { a as n, c as r, d as i, f as a, i as o, l as s, n as c, o as l, r as u, s as d, t as f, u as p } from "./sortable.esm-
|
|
1
|
+
import { r as e, t } from "./plus-CHsXVJSY.js";
|
|
2
|
+
import { a as n, c as r, d as i, f as a, i as o, l as s, n as c, o as l, r as u, s as d, t as f, u as p } from "./sortable.esm-LJG1TjKd.js";
|
|
3
3
|
import * as m from "react";
|
|
4
4
|
import { useDnd as h, useHasDndProvider as g } from "@object-ui/react";
|
|
5
5
|
import { Badge as _, Button as v, Card as y, CardContent as b, CardDescription as x, CardHeader as S, CardTitle as C, Input as w, ScrollArea as T } from "@object-ui/components";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './src/index'
|
|
1
|
+
export * from './packages/plugin-kanban/src/index'
|
|
2
2
|
export {}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "./plus-
|
|
2
|
-
import { t as r } from "./chevron-down-
|
|
1
|
+
import { n as e, r as t, t as n } from "./plus-CHsXVJSY.js";
|
|
2
|
+
import { t as r } from "./chevron-down-C0JUlGjk.js";
|
|
3
3
|
import * as i from "react";
|
|
4
4
|
import a, { Suspense as o, useCallback as s, useEffect as c, useMemo as l, useState as u } from "react";
|
|
5
5
|
import { ComponentRegistry as d, buildExpandFields as f, extractRecords as p } from "@object-ui/core";
|
|
@@ -7,8 +7,16 @@ import { useDataScope as m, useNavigationOverlay as h, useSchemaContext as g } f
|
|
|
7
7
|
import { Button as _, Input as v, NavigationOverlay as y, Skeleton as b } from "@object-ui/components";
|
|
8
8
|
//#region src/ObjectKanban.tsx
|
|
9
9
|
var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i, onRowClick: a, onCardClick: o, ...s }) => {
|
|
10
|
-
let d = Array.isArray(r), [g, _] = u([]), [v, b] = u(null), [S, C] = u(d ? i ?? !1 : !1), [w, T] = u(null), E = m(e.bind);
|
|
10
|
+
let d = Array.isArray(r), [g, _] = u([]), [v, b] = u(null), [S, C] = u(d ? i ?? !1 : !1), [w, T] = u(null), [E, D] = u(0), O = m(e.bind);
|
|
11
11
|
c(() => {
|
|
12
|
+
if (!d && !(!t?.onMutation || !e.objectName)) return t.onMutation((t) => {
|
|
13
|
+
t.resource === e.objectName && D((e) => e + 1);
|
|
14
|
+
});
|
|
15
|
+
}, [
|
|
16
|
+
t,
|
|
17
|
+
e.objectName,
|
|
18
|
+
d
|
|
19
|
+
]), c(() => {
|
|
12
20
|
d && i !== void 0 && C(i);
|
|
13
21
|
}, [i, d]), c(() => {
|
|
14
22
|
let n = !0;
|
|
@@ -25,7 +33,7 @@ var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i,
|
|
|
25
33
|
}, [e.objectName, t]), c(() => {
|
|
26
34
|
if (d) return;
|
|
27
35
|
let n = !0;
|
|
28
|
-
return e.objectName && !
|
|
36
|
+
return e.objectName && !O && !e.data && (async () => {
|
|
29
37
|
if (!(!t || typeof t.find != "function" || !e.objectName)) {
|
|
30
38
|
n && C(!0);
|
|
31
39
|
try {
|
|
@@ -47,14 +55,15 @@ var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i,
|
|
|
47
55
|
}, [
|
|
48
56
|
e.objectName,
|
|
49
57
|
t,
|
|
50
|
-
|
|
58
|
+
O,
|
|
51
59
|
e.data,
|
|
52
60
|
e.filter,
|
|
53
61
|
d,
|
|
54
|
-
v
|
|
62
|
+
v,
|
|
63
|
+
E
|
|
55
64
|
]);
|
|
56
|
-
let
|
|
57
|
-
if (!Array.isArray(
|
|
65
|
+
let k = (d ? r : void 0) || O || e.data || g, A = l(() => {
|
|
66
|
+
if (!Array.isArray(k)) return [];
|
|
58
67
|
let t = e.cardTitle || e.titleField;
|
|
59
68
|
if (!t && v) {
|
|
60
69
|
if (v.titleFormat) {
|
|
@@ -70,7 +79,7 @@ var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i,
|
|
|
70
79
|
"label",
|
|
71
80
|
"display_name"
|
|
72
81
|
];
|
|
73
|
-
return
|
|
82
|
+
return k.map((e) => {
|
|
74
83
|
let r = t ? e[t] : void 0;
|
|
75
84
|
if (!r) {
|
|
76
85
|
for (let t of n) if (e[t]) {
|
|
@@ -85,10 +94,10 @@ var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i,
|
|
|
85
94
|
};
|
|
86
95
|
});
|
|
87
96
|
}, [
|
|
88
|
-
|
|
97
|
+
k,
|
|
89
98
|
e,
|
|
90
99
|
v
|
|
91
|
-
]),
|
|
100
|
+
]), j = l(() => {
|
|
92
101
|
if (e.columns && e.columns.length > 0) if (typeof e.columns[0] == "string") {
|
|
93
102
|
if (!e.groupBy) return e.columns.map((e) => ({
|
|
94
103
|
id: e,
|
|
@@ -99,8 +108,8 @@ var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i,
|
|
|
99
108
|
id: e.value,
|
|
100
109
|
title: e.label
|
|
101
110
|
}));
|
|
102
|
-
if (e.groupBy &&
|
|
103
|
-
let t = new Set(
|
|
111
|
+
if (e.groupBy && A.length > 0) {
|
|
112
|
+
let t = new Set(A.map((t) => t[e.groupBy]));
|
|
104
113
|
return Array.from(t).map((e) => ({
|
|
105
114
|
id: String(e),
|
|
106
115
|
title: String(e)
|
|
@@ -110,15 +119,15 @@ var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i,
|
|
|
110
119
|
}, [
|
|
111
120
|
e.columns,
|
|
112
121
|
e.groupBy,
|
|
113
|
-
|
|
122
|
+
A,
|
|
114
123
|
v
|
|
115
|
-
]),
|
|
124
|
+
]), M = e.swimlaneField || e.grouping?.fields?.[0]?.field, N = {
|
|
116
125
|
...e,
|
|
117
|
-
data:
|
|
118
|
-
columns:
|
|
126
|
+
data: A,
|
|
127
|
+
columns: j,
|
|
119
128
|
className: n || e.className,
|
|
120
|
-
...
|
|
121
|
-
},
|
|
129
|
+
...M ? { swimlaneField: M } : {}
|
|
130
|
+
}, P = h({
|
|
122
131
|
navigation: e.navigation,
|
|
123
132
|
objectName: e.objectName,
|
|
124
133
|
onRowClick: a ?? o
|
|
@@ -127,15 +136,15 @@ var x = t(), S = ({ schema: e, dataSource: t, className: n, data: r, loading: i,
|
|
|
127
136
|
className: "p-4 border border-destructive/50 rounded bg-destructive/10 text-destructive",
|
|
128
137
|
children: ["Error loading kanban data: ", w.message]
|
|
129
138
|
});
|
|
130
|
-
let
|
|
139
|
+
let F = e.objectName ? `${e.objectName.charAt(0).toUpperCase() + e.objectName.slice(1).replace(/_/g, " ")} Detail` : "Card Details";
|
|
131
140
|
return /* @__PURE__ */ (0, x.jsxs)(x.Fragment, { children: [/* @__PURE__ */ (0, x.jsx)(B, { schema: {
|
|
132
|
-
...
|
|
141
|
+
...N,
|
|
133
142
|
onCardClick: (e) => {
|
|
134
|
-
|
|
143
|
+
P.handleClick(e), o?.(e);
|
|
135
144
|
}
|
|
136
|
-
} }),
|
|
137
|
-
...
|
|
138
|
-
title:
|
|
145
|
+
} }), P.isOverlay && /* @__PURE__ */ (0, x.jsx)(y, {
|
|
146
|
+
...P,
|
|
147
|
+
title: F,
|
|
139
148
|
children: (e) => /* @__PURE__ */ (0, x.jsx)("div", {
|
|
140
149
|
className: "space-y-3",
|
|
141
150
|
children: Object.entries(e).map(([e, t]) => /* @__PURE__ */ (0, x.jsxs)("div", {
|
|
@@ -458,7 +467,7 @@ function L(e, t) {
|
|
|
458
467
|
}
|
|
459
468
|
//#endregion
|
|
460
469
|
//#region src/index.tsx
|
|
461
|
-
var R = a.lazy(() => import("./KanbanImpl-
|
|
470
|
+
var R = a.lazy(() => import("./KanbanImpl-BdocXM5T.js")), z = a.lazy(() => import("./KanbanEnhanced-Do9ZB1Mh.js")), B = ({ schema: e }) => {
|
|
462
471
|
let t = a.useMemo(() => {
|
|
463
472
|
let { columns: t = [], data: n, groupBy: r, coverImageField: i } = e, a = (e) => {
|
|
464
473
|
if (!i) return e;
|