@affino/datagrid-vue 0.2.0 → 0.3.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/README.md +31 -0
- package/dist/advanced.d.ts +5 -0
- package/dist/advanced.d.ts.map +1 -1
- package/dist/advanced.js +4 -0
- package/dist/composables/useAffinoDataGrid.d.ts.map +1 -1
- package/dist/composables/useAffinoDataGrid.js +70 -3
- package/dist/composables/useDataGridColumnFilterOrchestration.d.ts +3 -0
- package/dist/composables/useDataGridColumnFilterOrchestration.d.ts.map +1 -1
- package/dist/composables/useDataGridColumnFilterOrchestration.js +1 -0
- package/dist/composables/useDataGridRuntime.d.ts +17 -1
- package/dist/composables/useDataGridRuntime.d.ts.map +1 -1
- package/dist/composables/useDataGridRuntime.js +25 -0
- package/dist/public.d.ts +4 -0
- package/dist/public.d.ts.map +1 -1
- package/dist/public.js +3 -0
- package/package.json +27 -21
- package/LICENSE +0 -21
package/README.md
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Vue adapter surface for `@affino/datagrid-core`.
|
|
4
4
|
|
|
5
|
+
For normal Vue usage, install and import only `@affino/datagrid-vue`.
|
|
6
|
+
`@affino/datagrid-core` and `@affino/datagrid-orchestration` are internal dependencies of this adapter.
|
|
7
|
+
|
|
5
8
|
## Stable API (`@affino/datagrid-vue`)
|
|
6
9
|
|
|
7
10
|
- `createDataGridVueRuntime`
|
|
@@ -135,6 +138,34 @@ const { api, columnSnapshot } = useDataGridRuntime({
|
|
|
135
138
|
})
|
|
136
139
|
```
|
|
137
140
|
|
|
141
|
+
`useDataGridRuntime` also exposes `patchRows(updates, options?)` for partial row updates without mandatory sort/filter/group recompute on every cell change:
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
const runtime = useDataGridRuntime({ rows, columns })
|
|
145
|
+
runtime.patchRows(
|
|
146
|
+
[{ rowId: "r-42", data: { tested_at: "2026-02-21T10:15:00Z" } }],
|
|
147
|
+
{ recomputeSort: false, recomputeFilter: false, recomputeGroup: false },
|
|
148
|
+
)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Use `setRows` for full data replacement; use `patchRows` for interactive/streaming cell updates when you want to avoid immediate projection jumps.
|
|
152
|
+
In no-recompute mode (`recomputeSort/filter/group = false`), row order/filter/group visibility can remain temporarily stale by design until a recompute pass is requested.
|
|
153
|
+
|
|
154
|
+
For app-level editing flows, prefer the higher-level `applyEdits()` + `reapplyView()` API:
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
const runtime = useDataGridRuntime({ rows, columns })
|
|
158
|
+
|
|
159
|
+
// default Excel-style behavior: update values, keep current view stable
|
|
160
|
+
runtime.applyEdits([{ rowId: "r-42", data: { tested_at: "2026-02-21T10:15:00Z" } }])
|
|
161
|
+
|
|
162
|
+
// explicit reapply when the user clicks "Reapply" or leaves edit mode
|
|
163
|
+
runtime.reapplyView()
|
|
164
|
+
|
|
165
|
+
// optional live-reapply mode
|
|
166
|
+
runtime.autoReapply.value = true
|
|
167
|
+
```
|
|
168
|
+
|
|
138
169
|
## Managed wheel scroll (advanced)
|
|
139
170
|
|
|
140
171
|
Use `useDataGridManagedWheelScroll` when you want deterministic wheel ownership (axis lock, preventDefault policy, and consistent header/body horizontal sync).
|
package/dist/advanced.d.ts
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
import { type Ref } from "vue";
|
|
7
7
|
import type { DataGridSortDirection, DataGridSortState } from "@affino/datagrid-core";
|
|
8
8
|
import type { DataGridOverlayTransform, DataGridOverlayTransformInput } from "./types";
|
|
9
|
+
export { createDataGridViewportController, } from "@affino/datagrid-core/advanced";
|
|
10
|
+
export type { DataGridImperativeRowUpdatePayload, DataGridVirtualWindowSnapshot, } from "@affino/datagrid-core/advanced";
|
|
9
11
|
export { useDataGridClipboardValuePolicy, type UseDataGridClipboardValuePolicyResult, } from "./composables/useDataGridClipboardValuePolicy";
|
|
10
12
|
export { useDataGridCopyRangeHelpers, type DataGridCopyRangeCoord, type DataGridCopyRange, type UseDataGridCopyRangeHelpersOptions, type UseDataGridCopyRangeHelpersResult, } from "./composables/useDataGridCopyRangeHelpers";
|
|
11
13
|
export { useDataGridCellDatasetResolver, type DataGridDatasetCellCoord, type UseDataGridCellDatasetResolverOptions, type UseDataGridCellDatasetResolverResult, } from "./composables/useDataGridCellDatasetResolver";
|
|
@@ -37,6 +39,7 @@ export { type DataGridHeaderLayerViewportGeometryInput, type DataGridHeaderLayer
|
|
|
37
39
|
export { useDataGridViewportMeasureScheduler, type DataGridViewportMeasuredState, type UseDataGridViewportMeasureSchedulerOptions, type UseDataGridViewportMeasureSchedulerResult, } from "./composables/useDataGridViewportMeasureScheduler";
|
|
38
40
|
export { useDataGridVisibleRowsSyncScheduler, type DataGridVisibleRowsRange, type UseDataGridVisibleRowsSyncSchedulerOptions, type UseDataGridVisibleRowsSyncSchedulerResult, } from "./composables/useDataGridVisibleRowsSyncScheduler";
|
|
39
41
|
export { useDataGridColumnLayoutOrchestration, type DataGridColumnLayoutColumn, type DataGridColumnLayoutMetric, type DataGridVisibleColumnsWindow, type DataGridColumnLayerKey, type DataGridColumnLayer, type UseDataGridColumnLayoutOrchestrationOptions, type UseDataGridColumnLayoutOrchestrationResult, } from "./composables/useDataGridColumnLayoutOrchestration";
|
|
42
|
+
export { setsEqual, } from "@affino/datagrid-orchestration";
|
|
40
43
|
export { useDataGridSelectionOverlayOrchestration, type DataGridOverlayRange, type DataGridOverlayColumnLike, type DataGridOverlayColumnMetricLike, type DataGridSelectionOverlaySegment, type UseDataGridSelectionOverlayOrchestrationOptions, type UseDataGridSelectionOverlayOrchestrationResult, } from "./composables/useDataGridSelectionOverlayOrchestration";
|
|
41
44
|
export { useDataGridRowsProjection, type UseDataGridRowsProjectionOptions, type UseDataGridRowsProjectionResult, } from "./composables/useDataGridRowsProjection";
|
|
42
45
|
export { useDataGridRowSelectionOrchestration, type UseDataGridRowSelectionOrchestrationOptions, type UseDataGridRowSelectionOrchestrationResult, } from "./composables/useDataGridRowSelectionOrchestration";
|
|
@@ -95,10 +98,12 @@ export declare function useDataGridHeaderOrchestration(options?: UseDataGridHead
|
|
|
95
98
|
sortState: Ref<readonly {
|
|
96
99
|
key: string;
|
|
97
100
|
field?: string | undefined;
|
|
101
|
+
dependencyFields?: readonly string[] | undefined;
|
|
98
102
|
direction: DataGridSortDirection;
|
|
99
103
|
}[], readonly DataGridSortState[] | readonly {
|
|
100
104
|
key: string;
|
|
101
105
|
field?: string | undefined;
|
|
106
|
+
dependencyFields?: readonly string[] | undefined;
|
|
102
107
|
direction: DataGridSortDirection;
|
|
103
108
|
}[]>;
|
|
104
109
|
setSortState: (nextState: readonly DataGridSortState[]) => void;
|
package/dist/advanced.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../src/advanced.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAIrF,OAAO,KAAK,EACV,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../src/advanced.ts"],"names":[],"mappings":"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"}
|
package/dist/advanced.js
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { computed, ref } from "vue";
|
|
7
7
|
import { buildDataGridOverlayTransformFromSnapshot, } from "./composables/selectionOverlayTransform";
|
|
8
|
+
// Curated advanced core facade exports for Vue consumers that need lower-level viewport/runtime
|
|
9
|
+
// primitives without importing @affino/datagrid-core/advanced directly.
|
|
10
|
+
export { createDataGridViewportController, } from "@affino/datagrid-core/advanced";
|
|
8
11
|
export { useDataGridClipboardValuePolicy, } from "./composables/useDataGridClipboardValuePolicy";
|
|
9
12
|
export { useDataGridCopyRangeHelpers, } from "./composables/useDataGridCopyRangeHelpers";
|
|
10
13
|
export { useDataGridCellDatasetResolver, } from "./composables/useDataGridCellDatasetResolver";
|
|
@@ -36,6 +39,7 @@ export { resolveDataGridHeaderScrollSyncLeft, resolveDataGridHeaderLayerViewport
|
|
|
36
39
|
export { useDataGridViewportMeasureScheduler, } from "./composables/useDataGridViewportMeasureScheduler";
|
|
37
40
|
export { useDataGridVisibleRowsSyncScheduler, } from "./composables/useDataGridVisibleRowsSyncScheduler";
|
|
38
41
|
export { useDataGridColumnLayoutOrchestration, } from "./composables/useDataGridColumnLayoutOrchestration";
|
|
42
|
+
export { setsEqual, } from "@affino/datagrid-orchestration";
|
|
39
43
|
export { useDataGridSelectionOverlayOrchestration, } from "./composables/useDataGridSelectionOverlayOrchestration";
|
|
40
44
|
export { useDataGridRowsProjection, } from "./composables/useDataGridRowsProjection";
|
|
41
45
|
export { useDataGridRowSelectionOrchestration, } from "./composables/useDataGridRowSelectionOrchestration";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAffinoDataGrid.d.ts","sourceRoot":"","sources":["../../src/composables/useAffinoDataGrid.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAffinoDataGrid.d.ts","sourceRoot":"","sources":["../../src/composables/useAffinoDataGrid.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EASV,wBAAwB,EACxB,uBAAuB,EAGxB,MAAM,2BAA2B,CAAA;AA2TlC,YAAY,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,sCAAsC,EACtC,iCAAiC,EACjC,kCAAkC,EAClC,6BAA6B,EAC7B,8BAA8B,EAC9B,oCAAoC,EACpC,uCAAuC,EACvC,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,EACzB,8BAA8B,EAC9B,uCAAuC,EACvC,6BAA6B,EAC7B,gCAAgC,EAChC,8BAA8B,EAC9B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,0BAA0B,EAC1B,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAA;AAElC,wBAAgB,iBAAiB,CAAC,IAAI,EACpC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,GACtC,uBAAuB,CAAC,IAAI,CAAC,CA2gD/B"}
|
|
@@ -40,8 +40,18 @@ function isFilteringModelActive(snapshot) {
|
|
|
40
40
|
}
|
|
41
41
|
const filterSnapshot = snapshot;
|
|
42
42
|
const columnFilters = filterSnapshot.columnFilters ?? {};
|
|
43
|
-
for (const
|
|
44
|
-
if (Array.isArray(
|
|
43
|
+
for (const entry of Object.values(columnFilters)) {
|
|
44
|
+
if (Array.isArray(entry) && entry.length > 0) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (!entry || typeof entry !== "object") {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const valueSetEntry = entry;
|
|
51
|
+
if (valueSetEntry.kind === "valueSet" && Array.isArray(valueSetEntry.tokens) && valueSetEntry.tokens.length > 0) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
if (valueSetEntry.kind === "predicate") {
|
|
45
55
|
return true;
|
|
46
56
|
}
|
|
47
57
|
}
|
|
@@ -364,7 +374,19 @@ export function useAffinoDataGrid(options) {
|
|
|
364
374
|
}, { immediate: true, flush: "sync" });
|
|
365
375
|
watch(() => featureSuite.filterModel.value, nextFilterModel => {
|
|
366
376
|
const nextColumnFilters = nextFilterModel?.columnFilters ?? {};
|
|
367
|
-
const hasColumnFilters = Object.values(nextColumnFilters).some(
|
|
377
|
+
const hasColumnFilters = Object.values(nextColumnFilters).some(entry => {
|
|
378
|
+
if (Array.isArray(entry)) {
|
|
379
|
+
return entry.length > 0;
|
|
380
|
+
}
|
|
381
|
+
if (!entry || typeof entry !== "object") {
|
|
382
|
+
return false;
|
|
383
|
+
}
|
|
384
|
+
const valueSetEntry = entry;
|
|
385
|
+
if (valueSetEntry.kind === "valueSet") {
|
|
386
|
+
return Array.isArray(valueSetEntry.tokens) && valueSetEntry.tokens.length > 0;
|
|
387
|
+
}
|
|
388
|
+
return valueSetEntry.kind === "predicate";
|
|
389
|
+
});
|
|
368
390
|
const hasAdvancedFilters = Boolean(nextFilterModel?.advancedExpression)
|
|
369
391
|
|| Boolean(nextFilterModel?.advancedFilters && Object.keys(nextFilterModel.advancedFilters).length > 0);
|
|
370
392
|
if (!hasColumnFilters && !hasAdvancedFilters) {
|
|
@@ -635,6 +657,50 @@ export function useAffinoDataGrid(options) {
|
|
|
635
657
|
commitEdit: commitEditWithEvents,
|
|
636
658
|
runAction,
|
|
637
659
|
});
|
|
660
|
+
const resolveCellRefreshValue = (batch, rowKey, columnKey) => {
|
|
661
|
+
const targetKey = String(rowKey);
|
|
662
|
+
const directHit = batch.cells.find(cell => String(cell.rowKey) === targetKey && cell.columnKey === columnKey);
|
|
663
|
+
if (!directHit) {
|
|
664
|
+
return null;
|
|
665
|
+
}
|
|
666
|
+
const directNode = runtime.api.getRow(directHit.rowIndex);
|
|
667
|
+
let resolvedRow = directNode?.row;
|
|
668
|
+
if (!resolvedRow || String(directNode?.rowId ?? "") !== targetKey) {
|
|
669
|
+
const viewportRange = runtime.api.getRowModelSnapshot().viewportRange;
|
|
670
|
+
const visibleRows = runtime.api.getRowsInRange(viewportRange);
|
|
671
|
+
resolvedRow = visibleRows.find(node => String(node.rowId) === targetKey)?.row;
|
|
672
|
+
}
|
|
673
|
+
if (!resolvedRow || typeof resolvedRow !== "object") {
|
|
674
|
+
return null;
|
|
675
|
+
}
|
|
676
|
+
const value = resolvedRow[columnKey];
|
|
677
|
+
if (value == null) {
|
|
678
|
+
return "";
|
|
679
|
+
}
|
|
680
|
+
return String(value);
|
|
681
|
+
};
|
|
682
|
+
const unsubscribeCellRefresh = runtime.api.onCellsRefresh(batch => {
|
|
683
|
+
for (const cell of batch.cells) {
|
|
684
|
+
const cellElement = bindingSuite.findCellElement(String(cell.rowKey), cell.columnKey);
|
|
685
|
+
if (!cellElement) {
|
|
686
|
+
continue;
|
|
687
|
+
}
|
|
688
|
+
cellElement.setAttribute("data-affino-cell-refresh-ts", String(batch.timestamp));
|
|
689
|
+
const nextValue = resolveCellRefreshValue(batch, cell.rowKey, cell.columnKey);
|
|
690
|
+
if (nextValue != null && cellElement.childElementCount === 0) {
|
|
691
|
+
cellElement.textContent = nextValue;
|
|
692
|
+
}
|
|
693
|
+
if (typeof CustomEvent === "function") {
|
|
694
|
+
cellElement.dispatchEvent(new CustomEvent("affino-datagrid:cell-refresh", {
|
|
695
|
+
detail: {
|
|
696
|
+
...cell,
|
|
697
|
+
timestamp: batch.timestamp,
|
|
698
|
+
reason: batch.reason,
|
|
699
|
+
},
|
|
700
|
+
}));
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
});
|
|
638
704
|
const applyAdvancedExpression = (expression, options = {}) => {
|
|
639
705
|
const mergeMode = options.mergeMode ?? "replace";
|
|
640
706
|
const currentExpression = featureSuite.filterModel.value?.advancedExpression ?? null;
|
|
@@ -865,6 +931,7 @@ export function useAffinoDataGrid(options) {
|
|
|
865
931
|
stopRowResize();
|
|
866
932
|
unsubscribeRowModel();
|
|
867
933
|
unsubscribeColumnModel();
|
|
934
|
+
unsubscribeCellRefresh();
|
|
868
935
|
});
|
|
869
936
|
const baseResult = assembleAffinoDataGridResult({
|
|
870
937
|
runtime,
|
|
@@ -22,6 +22,9 @@ export interface UseDataGridColumnFilterOrchestrationResult<TRow> {
|
|
|
22
22
|
onFilterEnumValueChange: (value: string | number) => void;
|
|
23
23
|
onFilterValueInput: (value: string | number | Event) => void;
|
|
24
24
|
onFilterSecondValueInput: (value: string | number | Event) => void;
|
|
25
|
+
setActiveValueSetTokens: (tokens: readonly string[], options?: {
|
|
26
|
+
operator?: "in-list" | "not-in-list";
|
|
27
|
+
}) => void;
|
|
25
28
|
doesOperatorNeedSecondValue: (kind: DataGridColumnFilterKind, operator: string) => boolean;
|
|
26
29
|
doesFilterDraftHaveRequiredValues: (draft: DataGridColumnFilterDraft) => boolean;
|
|
27
30
|
applyActiveColumnFilter: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataGridColumnFilterOrchestration.d.ts","sourceRoot":"","sources":["../../src/composables/useDataGridColumnFilterOrchestration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EACL,sCAAsC,EACtC,wCAAwC,EACxC,sCAAsC,EAEtC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAE7B,KAAK,4BAA4B,EACjC,KAAK,2CAA2C,IAAI,+CAA+C,EACpG,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,GAC7B,CAAA;AAED,MAAM,WAAW,2CAA2C,CAAC,IAAI,CAC/D,SAAQ,+CAA+C,CAAC,IAAI,CAAC;CAAG;AAElE,MAAM,WAAW,0CAA0C,CAAC,IAAI;IAC9D,qBAAqB,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzC,iBAAiB,EAAE,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACxD,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAA;IACtE,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACtC,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C,2BAA2B,EAAE,WAAW,CAAC,SAAS,4BAA4B,EAAE,CAAC,CAAA;IACjF,6BAA6B,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IACpD,0BAA0B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAChD,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACpD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,0BAA0B,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,sBAAsB,EAAE,MAAM,IAAI,CAAA;IAClC,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IACxD,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IACzD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,KAAK,IAAI,CAAA;IAC5D,wBAAwB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,KAAK,IAAI,CAAA;IAClE,2BAA2B,EAAE,CAAC,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;IAC1F,iCAAiC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAA;IAChF,uBAAuB,EAAE,MAAM,IAAI,CAAA;IACnC,uBAAuB,EAAE,MAAM,IAAI,CAAA;IACnC,qBAAqB,EAAE,MAAM,IAAI,CAAA;IACjC,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,sBAAsB,GAAG,IAAI,CAAA;IAC5G,uBAAuB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,OAAO,CAAA;CACtG;AAED,OAAO,EACL,sCAAsC,EACtC,sCAAsC,EACtC,wCAAwC,GACzC,CAAA;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EACvD,OAAO,EAAE,2CAA2C,CAAC,IAAI,CAAC,GACzD,0CAA0C,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"useDataGridColumnFilterOrchestration.d.ts","sourceRoot":"","sources":["../../src/composables/useDataGridColumnFilterOrchestration.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ export function useDataGridColumnFilterOrchestration(options) {
|
|
|
36
36
|
onFilterEnumValueChange: core.onFilterEnumValueChange,
|
|
37
37
|
onFilterValueInput: core.onFilterValueInput,
|
|
38
38
|
onFilterSecondValueInput: core.onFilterSecondValueInput,
|
|
39
|
+
setActiveValueSetTokens: core.setActiveValueSetTokens,
|
|
39
40
|
doesOperatorNeedSecondValue: core.doesOperatorNeedSecondValue,
|
|
40
41
|
doesFilterDraftHaveRequiredValues: core.doesFilterDraftHaveRequiredValues,
|
|
41
42
|
applyActiveColumnFilter: core.applyActiveColumnFilter,
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { type Ref } from "vue";
|
|
2
|
-
import type { CreateDataGridCoreOptions, DataGridColumnDef, DataGridColumnModelSnapshot, DataGridRowNode, DataGridRowModel, DataGridViewportRange } from "@affino/datagrid-core";
|
|
2
|
+
import type { CreateDataGridCoreOptions, DataGridAggregationModel, DataGridClientRowPatch, DataGridClientRowPatchOptions, DataGridColumnDef, DataGridColumnModelSnapshot, DataGridRowNode, DataGridRowModel, DataGridViewportRange } from "@affino/datagrid-core";
|
|
3
3
|
import { type DataGridRuntimeVirtualWindowSnapshot, type DataGridRuntimeOverrides } from "@affino/datagrid-orchestration";
|
|
4
4
|
import type { DataGridVueRuntime } from "../runtime/createDataGridVueRuntime";
|
|
5
5
|
export type { DataGridRuntimeVirtualWindowSnapshot, };
|
|
6
6
|
type MaybeRef<T> = T | Ref<T>;
|
|
7
|
+
export interface DataGridEditOptions extends Omit<DataGridClientRowPatchOptions, "recomputeSort" | "recomputeFilter" | "recomputeGroup"> {
|
|
8
|
+
/**
|
|
9
|
+
* Excel-style default: freeze sort/filter/group projection during edit patches.
|
|
10
|
+
*/
|
|
11
|
+
freezeView?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Explicitly reapply projection after patch (sort/filter/group).
|
|
14
|
+
*/
|
|
15
|
+
reapplyView?: boolean;
|
|
16
|
+
}
|
|
7
17
|
export interface UseDataGridRuntimeOptions<TRow = unknown> {
|
|
8
18
|
rows?: MaybeRef<readonly TRow[]>;
|
|
9
19
|
rowModel?: DataGridRowModel<TRow>;
|
|
@@ -16,6 +26,12 @@ export interface UseDataGridRuntimeResult<TRow = unknown> extends DataGridVueRun
|
|
|
16
26
|
columnSnapshot: Ref<DataGridColumnModelSnapshot>;
|
|
17
27
|
virtualWindow: Ref<DataGridRuntimeVirtualWindowSnapshot | null>;
|
|
18
28
|
setRows: (rows: readonly TRow[]) => void;
|
|
29
|
+
setAggregationModel: (aggregationModel: DataGridAggregationModel<TRow> | null) => void;
|
|
30
|
+
getAggregationModel: () => DataGridAggregationModel<TRow> | null;
|
|
31
|
+
patchRows: (updates: readonly DataGridClientRowPatch<TRow>[], options?: DataGridClientRowPatchOptions) => void;
|
|
32
|
+
applyEdits: (updates: readonly DataGridClientRowPatch<TRow>[], options?: DataGridEditOptions) => void;
|
|
33
|
+
reapplyView: () => void;
|
|
34
|
+
autoReapply: Ref<boolean>;
|
|
19
35
|
start: () => Promise<void>;
|
|
20
36
|
stop: () => void;
|
|
21
37
|
syncRowsInRange: (range: DataGridViewportRange) => readonly DataGridRowNode<TRow>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataGridRuntime.d.ts","sourceRoot":"","sources":["../../src/composables/useDataGridRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEL,KAAK,oCAAoC,EACzC,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAE7E,YAAY,EACV,oCAAoC,GACrC,CAAA;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAM7B,MAAM,WAAW,yBAAyB,CAAC,IAAI,GAAG,OAAO;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,EAAE,QAAQ,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAA;IAC/C,QAAQ,CAAC,EAAE,wBAAwB,CAAA;IACnC,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IACxF,cAAc,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAChD,aAAa,EAAE,GAAG,CAAC,oCAAoC,GAAG,IAAI,CAAC,CAAA;IAC/D,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,CAAA;IACxC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,eAAe,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;CACpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAC/C,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC,GACvC,wBAAwB,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"useDataGridRuntime.d.ts","sourceRoot":"","sources":["../../src/composables/useDataGridRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEL,KAAK,oCAAoC,EACzC,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAE7E,YAAY,EACV,oCAAoC,GACrC,CAAA;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAM7B,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,6BAA6B,EAC7B,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CACvD;IACC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,yBAAyB,CAAC,IAAI,GAAG,OAAO;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,EAAE,QAAQ,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAA;IAC/C,QAAQ,CAAC,EAAE,wBAAwB,CAAA;IACnC,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IACxF,cAAc,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAChD,aAAa,EAAE,GAAG,CAAC,oCAAoC,GAAG,IAAI,CAAC,CAAA;IAC/D,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,CAAA;IACxC,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;IACtF,mBAAmB,EAAE,MAAM,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAChE,SAAS,EAAE,CACT,OAAO,EAAE,SAAS,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE,6BAA6B,KACpC,IAAI,CAAA;IACT,UAAU,EAAE,CACV,OAAO,EAAE,SAAS,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE,mBAAmB,KAC1B,IAAI,CAAA;IACT,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACzB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,eAAe,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;CACpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAC/C,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC,GACvC,wBAAwB,CAAC,IAAI,CAAC,CAuHhC"}
|
|
@@ -34,6 +34,7 @@ export function useDataGridRuntime(options) {
|
|
|
34
34
|
virtualWindow.value = next ?? buildFallbackVirtualWindow();
|
|
35
35
|
});
|
|
36
36
|
const shouldAutoStart = options.autoStart !== false;
|
|
37
|
+
const autoReapply = ref(false);
|
|
37
38
|
if (options.rows && isRef(options.rows)) {
|
|
38
39
|
watch(options.rows, rows => {
|
|
39
40
|
if (runtime.isDisposed()) {
|
|
@@ -66,6 +67,24 @@ export function useDataGridRuntime(options) {
|
|
|
66
67
|
onBeforeUnmount(() => {
|
|
67
68
|
stop();
|
|
68
69
|
});
|
|
70
|
+
function reapplyView() {
|
|
71
|
+
api.reapplyView();
|
|
72
|
+
}
|
|
73
|
+
function patchRows(updates, options) {
|
|
74
|
+
runtime.patchRows(updates, options);
|
|
75
|
+
}
|
|
76
|
+
function applyEdits(updates, options = {}) {
|
|
77
|
+
const freezeView = options.freezeView ?? !autoReapply.value;
|
|
78
|
+
runtime.patchRows(updates, {
|
|
79
|
+
emit: options.emit,
|
|
80
|
+
recomputeSort: freezeView ? false : true,
|
|
81
|
+
recomputeFilter: freezeView ? false : true,
|
|
82
|
+
recomputeGroup: freezeView ? false : true,
|
|
83
|
+
});
|
|
84
|
+
if (options.reapplyView) {
|
|
85
|
+
reapplyView();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
69
88
|
return {
|
|
70
89
|
rowModel,
|
|
71
90
|
columnModel,
|
|
@@ -74,6 +93,12 @@ export function useDataGridRuntime(options) {
|
|
|
74
93
|
columnSnapshot,
|
|
75
94
|
virtualWindow,
|
|
76
95
|
setRows: runtime.setRows,
|
|
96
|
+
setAggregationModel: api.setAggregationModel,
|
|
97
|
+
getAggregationModel: api.getAggregationModel,
|
|
98
|
+
patchRows,
|
|
99
|
+
applyEdits,
|
|
100
|
+
reapplyView,
|
|
101
|
+
autoReapply,
|
|
77
102
|
start: runtime.start,
|
|
78
103
|
stop,
|
|
79
104
|
syncRowsInRange: runtime.syncRowsInRange,
|
package/dist/public.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Stable public API for @affino/datagrid-vue.
|
|
3
3
|
*/
|
|
4
|
+
export { createClientRowModel, createDataGridColumnModel, createDataGridSelectionSummary, createInMemoryDataGridSettingsAdapter, buildDataGridAdvancedFilterExpressionFromLegacyFilters, cloneDataGridFilterSnapshot, evaluateColumnPredicateFilter, evaluateDataGridAdvancedFilterExpression, normalizeDataGridAdvancedFilterExpression, serializeColumnValueToToken, } from "@affino/datagrid-core";
|
|
5
|
+
export type { CreateDataGridCoreOptions, DataGridAggregationModel, DataGridAdvancedFilterExpression, DataGridAdvancedFilterCondition, DataGridColumnModel, DataGridColumnDef, DataGridColumnModelSnapshot, DataGridColumnPin, DataGridColumnSnapshot, DataGridColumnStateSnapshot, DataGridClientRowPatch, DataGridClientRowPatchOptions, DataGridClientRowReorderInput, DataGridCoreServiceContext, DataGridEventEnvelope, DataGridEventPhase, DataGridEventSource, DataGridEventTier, DataGridFilterSnapshot, DataGridGroupBySpec, DataGridGroupExpansionSnapshot, DataGridPaginationInput, DataGridPaginationSnapshot, DataGridProjectionDiagnostics, DataGridRowId, DataGridRowModel, DataGridRowNode, DataGridSettingsAdapter, DataGridSelectionAggregationKind, DataGridSelectionSummaryColumnConfig, DataGridSelectionSummarySnapshot, DataGridSortDirection, DataGridSortState, DataGridViewportRange, } from "@affino/datagrid-core";
|
|
6
|
+
export type { DataGridTransactionSnapshot, } from "@affino/datagrid-core/advanced";
|
|
7
|
+
export type { DataGridRuntimeOverrides, } from "@affino/datagrid-orchestration";
|
|
4
8
|
export { createDataGridSettingsAdapter, } from "./dataGridSettingsAdapter";
|
|
5
9
|
export { useDataGridSettingsStore, type DataGridSettingsStore, } from "./dataGridSettingsStore";
|
|
6
10
|
export { buildDataGridOverlayTransform, buildDataGridOverlayTransformFromSnapshot, } from "./composables/selectionOverlayTransform";
|
package/dist/public.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,EAC9B,qCAAqC,EACrC,sDAAsD,EACtD,2BAA2B,EAC3B,6BAA6B,EAC7B,wCAAwC,EACxC,yCAAyC,EACzC,2BAA2B,GAC5B,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,+BAA+B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,EAC7B,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,gCAAgC,EAChC,oCAAoC,EACpC,gCAAgC,EAChC,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EACV,2BAA2B,GAC5B,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACV,wBAAwB,GACzB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EACL,6BAA6B,GAC9B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,6BAA6B,EAC7B,yCAAyC,GAC1C,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACL,6BAA6B,EAC7B,KAAK,oCAAoC,GAC1C,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACL,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,GAClC,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EACL,kBAAkB,EAClB,KAAK,oCAAoC,EACzC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,GACpC,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EACL,mBAAmB,EACnB,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACL,wBAAwB,EACxB,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,GACxB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACL,QAAQ,EACR,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,SAAS,CAAA"}
|
package/dist/public.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Stable public API for @affino/datagrid-vue.
|
|
3
3
|
*/
|
|
4
|
+
// Curated core facade exports so Vue consumers can stay on @affino/datagrid-vue
|
|
5
|
+
// for common configuration/state/filter/sort/row-model typing and helper functions.
|
|
6
|
+
export { createClientRowModel, createDataGridColumnModel, createDataGridSelectionSummary, createInMemoryDataGridSettingsAdapter, buildDataGridAdvancedFilterExpressionFromLegacyFilters, cloneDataGridFilterSnapshot, evaluateColumnPredicateFilter, evaluateDataGridAdvancedFilterExpression, normalizeDataGridAdvancedFilterExpression, serializeColumnValueToToken, } from "@affino/datagrid-core";
|
|
4
7
|
export { createDataGridSettingsAdapter, } from "./dataGridSettingsAdapter";
|
|
5
8
|
export { useDataGridSettingsStore, } from "./dataGridSettingsStore";
|
|
6
9
|
export { buildDataGridOverlayTransform, buildDataGridOverlayTransformFromSnapshot, } from "./composables/selectionOverlayTransform";
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@affino/datagrid-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"author": "Anton Pavlov <a.pavlov@affino.dev>",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"description": "Vue adapter and UI layer for @affino/datagrid-core
|
|
6
|
+
"description": "Vue adapter and UI layer for @affino/datagrid-core",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
9
|
"types": "./dist/index.d.ts",
|
|
@@ -32,23 +32,40 @@
|
|
|
32
32
|
"dist"
|
|
33
33
|
],
|
|
34
34
|
"sideEffects": false,
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc -p tsconfig.public.json",
|
|
37
|
+
"type-check": "tsc -p tsconfig.json --noEmit",
|
|
38
|
+
"type-check:public": "tsc -p tsconfig.public.json --noEmit",
|
|
39
|
+
"test:unit": "vitest run --config vitest.config.ts --passWithNoTests",
|
|
40
|
+
"test:contracts": "vitest run --config vitest.config.ts --testNamePattern=\"contract\"",
|
|
41
|
+
"test:strict-contracts": "vitest run --config vitest.config.ts --testNamePattern=\"contract|lifecycle|property|stress|determinism\" --passWithNoTests",
|
|
42
|
+
"test:integration": "vitest run --config vitest.config.ts --testNamePattern=\"contract|integration|property|stress\" --passWithNoTests",
|
|
43
|
+
"test:coverage": "vitest run --config vitest.config.ts --coverage",
|
|
44
|
+
"test": "npm run type-check"
|
|
45
|
+
},
|
|
35
46
|
"peerDependencies": {
|
|
36
47
|
"pinia": "^2.1.0 || ^3.0.0",
|
|
37
48
|
"vue": "^3.3.0",
|
|
38
|
-
"@affino/datagrid-theme": "
|
|
49
|
+
"@affino/datagrid-theme": "workspace:^"
|
|
50
|
+
},
|
|
51
|
+
"peerDependenciesMeta": {
|
|
52
|
+
"@affino/datagrid-theme": {
|
|
53
|
+
"optional": true
|
|
54
|
+
}
|
|
39
55
|
},
|
|
40
56
|
"dependencies": {
|
|
41
|
-
"@affino/datagrid-
|
|
42
|
-
"@affino/datagrid-
|
|
57
|
+
"@affino/datagrid-core": "workspace:*",
|
|
58
|
+
"@affino/datagrid-orchestration": "workspace:*"
|
|
43
59
|
},
|
|
44
60
|
"devDependencies": {
|
|
45
|
-
"@affino/datagrid-theme": "
|
|
61
|
+
"@affino/datagrid-theme": "workspace:^"
|
|
46
62
|
},
|
|
47
63
|
"repository": {
|
|
48
64
|
"type": "git",
|
|
49
|
-
"url": "https://github.com/affinio/affinio
|
|
65
|
+
"url": "git+https://github.com/affinio/affinio.git",
|
|
66
|
+
"directory": "packages/datagrid-vue"
|
|
50
67
|
},
|
|
51
|
-
"homepage": "https://
|
|
68
|
+
"homepage": "https://github.com/affinio/affinio/tree/main/packages/datagrid-vue#readme",
|
|
52
69
|
"license": "MIT",
|
|
53
70
|
"keywords": [
|
|
54
71
|
"datagrid",
|
|
@@ -60,16 +77,5 @@
|
|
|
60
77
|
"bugs": {
|
|
61
78
|
"url": "https://github.com/affinio/affinio/issues"
|
|
62
79
|
},
|
|
63
|
-
"module": "dist/index.js"
|
|
64
|
-
|
|
65
|
-
"build": "tsc -p tsconfig.public.json",
|
|
66
|
-
"type-check": "tsc -p tsconfig.json --noEmit",
|
|
67
|
-
"type-check:public": "tsc -p tsconfig.public.json --noEmit",
|
|
68
|
-
"test:unit": "vitest run --config vitest.config.ts --passWithNoTests",
|
|
69
|
-
"test:contracts": "vitest run --config vitest.config.ts --testNamePattern=\"contract\"",
|
|
70
|
-
"test:strict-contracts": "vitest run --config vitest.config.ts --testNamePattern=\"contract|lifecycle|property|stress|determinism\" --passWithNoTests",
|
|
71
|
-
"test:integration": "vitest run --config vitest.config.ts --testNamePattern=\"contract|integration|property|stress\" --passWithNoTests",
|
|
72
|
-
"test:coverage": "vitest run --config vitest.config.ts --coverage",
|
|
73
|
-
"test": "npm run type-check"
|
|
74
|
-
}
|
|
75
|
-
}
|
|
80
|
+
"module": "dist/index.js"
|
|
81
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 affino
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|