@stonecrop/atable 0.12.2 → 0.12.4
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/assets/index.css +1 -1
- package/dist/atable.d.ts +22 -1
- package/dist/atable.js +1401 -1367
- package/dist/atable.js.map +1 -1
- package/dist/src/schemaToColumns.d.ts +5 -0
- package/dist/src/schemaToColumns.d.ts.map +1 -1
- package/dist/src/schemaToColumns.js +29 -4
- package/dist/src/stores/table.d.ts +11 -1
- package/dist/src/stores/table.d.ts.map +1 -1
- package/dist/src/stores/table.js +3 -0
- package/dist/src/types/index.d.ts +6 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/components/ACell.vue +34 -5
- package/src/components/ATable.vue +13 -2
- package/src/schemaToColumns.ts +30 -4
- package/src/stores/table.ts +5 -0
- package/src/types/index.ts +7 -0
|
@@ -10,6 +10,11 @@ import type { TableColumn } from './types';
|
|
|
10
10
|
* `fieldname` is renamed to `name`; `hidden` is stripped. All other `ColumnSchema` properties
|
|
11
11
|
* spread through automatically.
|
|
12
12
|
*
|
|
13
|
+
* For `fieldtype: 'Link'` fields without an explicit `cellComponent`:
|
|
14
|
+
* - `linkDoctype` is set from the field's `doctype` property (used by ACell's async resolver).
|
|
15
|
+
* - A synchronous `format` function is added (unless the field already has one) that handles
|
|
16
|
+
* both bare ID strings and pre-resolved `{ id, displayText }` objects.
|
|
17
|
+
*
|
|
13
18
|
* @public
|
|
14
19
|
*/
|
|
15
20
|
export declare function schemaToColumns(schema: ColumnSchema[]): TableColumn[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaToColumns.d.ts","sourceRoot":"","sources":["../../src/schemaToColumns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C
|
|
1
|
+
{"version":3,"file":"schemaToColumns.d.ts","sourceRoot":"","sources":["../../src/schemaToColumns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CA4BrE"}
|
|
@@ -8,13 +8,38 @@
|
|
|
8
8
|
* `fieldname` is renamed to `name`; `hidden` is stripped. All other `ColumnSchema` properties
|
|
9
9
|
* spread through automatically.
|
|
10
10
|
*
|
|
11
|
+
* For `fieldtype: 'Link'` fields without an explicit `cellComponent`:
|
|
12
|
+
* - `linkDoctype` is set from the field's `doctype` property (used by ACell's async resolver).
|
|
13
|
+
* - A synchronous `format` function is added (unless the field already has one) that handles
|
|
14
|
+
* both bare ID strings and pre-resolved `{ id, displayText }` objects.
|
|
15
|
+
*
|
|
11
16
|
* @public
|
|
12
17
|
*/
|
|
13
18
|
export function schemaToColumns(schema) {
|
|
14
19
|
return schema
|
|
15
20
|
.filter(f => !f.hidden && f.fieldtype)
|
|
16
|
-
.map(({ fieldname, hidden: _hidden, ...rest }) =>
|
|
17
|
-
name: fieldname,
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
.map(({ fieldname, hidden: _hidden, ...rest }) => {
|
|
22
|
+
const col = { name: fieldname, ...rest };
|
|
23
|
+
// Link fields: store the linked doctype for async resolution by ACell,
|
|
24
|
+
// and add a sync format that handles pre-resolved AFormLinkValue objects.
|
|
25
|
+
if (rest.fieldtype === 'Link' && !rest.cellComponent) {
|
|
26
|
+
const fields = rest;
|
|
27
|
+
const linkedDoctype = typeof fields.doctype === 'string' ? fields.doctype : undefined;
|
|
28
|
+
if (linkedDoctype)
|
|
29
|
+
col.linkDoctype = linkedDoctype;
|
|
30
|
+
if (!rest.format) {
|
|
31
|
+
col.format = (v) => {
|
|
32
|
+
if (v === null || v === undefined)
|
|
33
|
+
return '';
|
|
34
|
+
if (typeof v === 'object') {
|
|
35
|
+
const rec = v;
|
|
36
|
+
const display = rec.displayText ?? rec.id ?? '';
|
|
37
|
+
return typeof display === 'string' || typeof display === 'number' ? String(display) : '';
|
|
38
|
+
}
|
|
39
|
+
return String(v);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return col;
|
|
44
|
+
});
|
|
20
45
|
}
|
|
@@ -29,12 +29,14 @@ export declare const createTableStore: (initData: {
|
|
|
29
29
|
id?: string;
|
|
30
30
|
config?: TableConfig;
|
|
31
31
|
modal?: TableModal;
|
|
32
|
+
linkResolver?: ((doctype: string, id: string) => Promise<string | undefined>) | null;
|
|
32
33
|
}) => import("pinia").Store<`table-${string}`, Pick<{
|
|
33
34
|
columns: import("vue").Ref<{
|
|
34
35
|
name: string;
|
|
35
36
|
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
36
37
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
37
38
|
mask?: ((value: any) => any) | undefined;
|
|
39
|
+
linkDoctype?: string | undefined;
|
|
38
40
|
readonly originalIndex?: number | undefined;
|
|
39
41
|
fieldtype?: string | undefined;
|
|
40
42
|
label?: string | undefined;
|
|
@@ -59,6 +61,7 @@ export declare const createTableStore: (initData: {
|
|
|
59
61
|
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
60
62
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
61
63
|
mask?: ((value: any) => any) | undefined;
|
|
64
|
+
linkDoctype?: string | undefined;
|
|
62
65
|
readonly originalIndex?: number | undefined;
|
|
63
66
|
fieldtype?: string | undefined;
|
|
64
67
|
label?: string | undefined;
|
|
@@ -612,6 +615,7 @@ export declare const createTableStore: (initData: {
|
|
|
612
615
|
isDependencyGraphEnabled: import("vue").ComputedRef<boolean>;
|
|
613
616
|
numberedRowWidth: import("vue").ComputedRef<string>;
|
|
614
617
|
zeroColumn: import("vue").ComputedRef<boolean>;
|
|
618
|
+
linkResolver: ((doctype: string, id: string) => Promise<string | undefined>) | null;
|
|
615
619
|
addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
|
|
616
620
|
clearFilter: (colIndex: number) => void;
|
|
617
621
|
closeModal: (event: MouseEvent) => void;
|
|
@@ -673,12 +677,13 @@ export declare const createTableStore: (initData: {
|
|
|
673
677
|
unregisterGanttBar: (barId: string) => void;
|
|
674
678
|
updateGanttBar: (event: GanttDragEvent) => void;
|
|
675
679
|
updateRows: (newRows: TableRow[]) => void;
|
|
676
|
-
}, "columns" | "config" | "connectionHandles" | "connectionPaths" | "filterState" | "ganttBars" | "modal" | "rows" | "sortState" | "updates">, Pick<{
|
|
680
|
+
}, "columns" | "config" | "connectionHandles" | "connectionPaths" | "filterState" | "ganttBars" | "modal" | "rows" | "sortState" | "updates" | "linkResolver">, Pick<{
|
|
677
681
|
columns: import("vue").Ref<{
|
|
678
682
|
name: string;
|
|
679
683
|
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
680
684
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
681
685
|
mask?: ((value: any) => any) | undefined;
|
|
686
|
+
linkDoctype?: string | undefined;
|
|
682
687
|
readonly originalIndex?: number | undefined;
|
|
683
688
|
fieldtype?: string | undefined;
|
|
684
689
|
label?: string | undefined;
|
|
@@ -703,6 +708,7 @@ export declare const createTableStore: (initData: {
|
|
|
703
708
|
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
704
709
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
705
710
|
mask?: ((value: any) => any) | undefined;
|
|
711
|
+
linkDoctype?: string | undefined;
|
|
706
712
|
readonly originalIndex?: number | undefined;
|
|
707
713
|
fieldtype?: string | undefined;
|
|
708
714
|
label?: string | undefined;
|
|
@@ -1256,6 +1262,7 @@ export declare const createTableStore: (initData: {
|
|
|
1256
1262
|
isDependencyGraphEnabled: import("vue").ComputedRef<boolean>;
|
|
1257
1263
|
numberedRowWidth: import("vue").ComputedRef<string>;
|
|
1258
1264
|
zeroColumn: import("vue").ComputedRef<boolean>;
|
|
1265
|
+
linkResolver: ((doctype: string, id: string) => Promise<string | undefined>) | null;
|
|
1259
1266
|
addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
|
|
1260
1267
|
clearFilter: (colIndex: number) => void;
|
|
1261
1268
|
closeModal: (event: MouseEvent) => void;
|
|
@@ -1323,6 +1330,7 @@ export declare const createTableStore: (initData: {
|
|
|
1323
1330
|
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
1324
1331
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
1325
1332
|
mask?: ((value: any) => any) | undefined;
|
|
1333
|
+
linkDoctype?: string | undefined;
|
|
1326
1334
|
readonly originalIndex?: number | undefined;
|
|
1327
1335
|
fieldtype?: string | undefined;
|
|
1328
1336
|
label?: string | undefined;
|
|
@@ -1347,6 +1355,7 @@ export declare const createTableStore: (initData: {
|
|
|
1347
1355
|
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
1348
1356
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
1349
1357
|
mask?: ((value: any) => any) | undefined;
|
|
1358
|
+
linkDoctype?: string | undefined;
|
|
1350
1359
|
readonly originalIndex?: number | undefined;
|
|
1351
1360
|
fieldtype?: string | undefined;
|
|
1352
1361
|
label?: string | undefined;
|
|
@@ -1900,6 +1909,7 @@ export declare const createTableStore: (initData: {
|
|
|
1900
1909
|
isDependencyGraphEnabled: import("vue").ComputedRef<boolean>;
|
|
1901
1910
|
numberedRowWidth: import("vue").ComputedRef<string>;
|
|
1902
1911
|
zeroColumn: import("vue").ComputedRef<boolean>;
|
|
1912
|
+
linkResolver: ((doctype: string, id: string) => Promise<string | undefined>) | null;
|
|
1903
1913
|
addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
|
|
1904
1914
|
clearFilter: (colIndex: number) => void;
|
|
1905
1915
|
closeModal: (event: MouseEvent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/stores/table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,KAAK,CAAA;AAEvD,OAAO,KAAK,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,MAAM,UAAU,CAAA;AAGjB;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,4BAA4B;IAC5B,KAAK,EAAE,GAAG,CAAA;IACV,yCAAyC;IACzC,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,GAAG,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU;IAC1C,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/stores/table.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stores/table.js
CHANGED
|
@@ -9,6 +9,7 @@ import { generateHash } from '../utils';
|
|
|
9
9
|
*/
|
|
10
10
|
export const createTableStore = (initData) => {
|
|
11
11
|
const id = initData.id || generateHash();
|
|
12
|
+
const linkResolver = initData.linkResolver ?? null;
|
|
12
13
|
const createStore = defineStore(`table-${id}`, () => {
|
|
13
14
|
const createDisplayObject = () => {
|
|
14
15
|
const defaultDisplay = [Object.assign({}, { rowModified: false })];
|
|
@@ -759,6 +760,8 @@ export const createTableStore = (initData) => {
|
|
|
759
760
|
isDependencyGraphEnabled,
|
|
760
761
|
numberedRowWidth,
|
|
761
762
|
zeroColumn,
|
|
763
|
+
// resolver
|
|
764
|
+
linkResolver,
|
|
762
765
|
// actions
|
|
763
766
|
addRow,
|
|
764
767
|
clearFilter,
|
|
@@ -37,6 +37,12 @@ export interface TableColumn extends Omit<ColumnSchema, 'fieldname' | 'hidden' |
|
|
|
37
37
|
* masks cannot be serialized to JSON so they are absent from `ColumnSchema`.
|
|
38
38
|
*/
|
|
39
39
|
mask?: (value: any) => any;
|
|
40
|
+
/**
|
|
41
|
+
* For `fieldtype: 'Link'` columns: the target doctype slug used by the `linkResolver`
|
|
42
|
+
* to look up display text for bare ID values. Set automatically by `schemaToColumns`
|
|
43
|
+
* from the field's `doctype` property.
|
|
44
|
+
*/
|
|
45
|
+
linkDoctype?: string;
|
|
40
46
|
/**
|
|
41
47
|
* Runtime Gantt column index (excluding pinned columns). Set automatically during
|
|
42
48
|
* Gantt table rendering.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IAC5G,wGAAwG;IACxG,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,CAAA;IAEhE;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,CAAA;IAE5D;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,GAAG,EAAE,QAAQ,CAAA;IAEb;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IAEnB;;OAEG;IACH,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAA;AAEnG;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,KAAK,IAAI,GAAG,OAAO,CAAA;CAC1F;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,KAAK,CAAA;IAEjD;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;QAChC,MAAM,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;QACnC,SAAS,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;QACtC,WAAW,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;QACxC,WAAW,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;KACjC,CAAA;CACD;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACxD;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAA;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACvD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACxD;;OAEG;IACH,IAAI,EAAE,OAAO,CAAA;IAEb;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC5D;;OAEG;IACH,IAAI,EAAE,YAAY,CAAA;IAElB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IAEjD;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,eAAe,GAAG,gBAAgB,GAAG,oBAAoB,CAAA;AAEtG;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAElB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACb,GAAG,CACD;IACA,IAAI,EAAE,KAAK,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CACd,GACD;IACA,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACjB,GACD;IACA,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACjB,CACH,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAElC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAEpC;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAA;IAExD;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAA;IAExD;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;IAEpD;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAA;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAEvB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAErB;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAElB;;OAEG;IACH,QAAQ,EAAE;QACT,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;KACrB,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEtB;;OAEG;IACH,QAAQ,EAAE;QACT,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;KACrB,CAAA;IAED;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAErB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KACtB,CAAA;IAED;;OAEG;IACH,EAAE,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KACtB,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,UAAU,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,QAAQ,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,QAAQ,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,QAAQ,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,QAAQ,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CACf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stonecrop/atable",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@vueuse/components": "^14.2.1",
|
|
37
37
|
"@vueuse/core": "^14.2.1",
|
|
38
|
-
"@stonecrop/schema": "0.12.
|
|
39
|
-
"@stonecrop/
|
|
40
|
-
"@stonecrop/
|
|
38
|
+
"@stonecrop/schema": "0.12.4",
|
|
39
|
+
"@stonecrop/themes": "0.12.4",
|
|
40
|
+
"@stonecrop/utilities": "0.12.4"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"pinia": "^3.0.4",
|
package/src/components/ACell.vue
CHANGED
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
<component
|
|
18
18
|
:is="column.cellComponent"
|
|
19
19
|
v-if="column.cellComponent"
|
|
20
|
-
:value="
|
|
20
|
+
:value="renderedValue"
|
|
21
21
|
v-bind="column.cellComponentProps" />
|
|
22
|
-
<span v-else-if="isHtmlValue" v-html="
|
|
23
|
-
<span v-else>{{
|
|
22
|
+
<span v-else-if="isHtmlValue" v-html="renderedValue" />
|
|
23
|
+
<span v-else>{{ renderedValue }}</span>
|
|
24
24
|
</td>
|
|
25
25
|
</template>
|
|
26
26
|
|
|
27
27
|
<script setup lang="ts">
|
|
28
28
|
import { KeypressHandlers, defaultKeypressHandlers, useKeyboardNav } from '@stonecrop/utilities'
|
|
29
29
|
import { useDebounceFn, useElementBounding } from '@vueuse/core'
|
|
30
|
-
import { computed, type CSSProperties, ref, useTemplateRef, nextTick } from 'vue'
|
|
30
|
+
import { computed, type CSSProperties, onMounted, ref, useTemplateRef, nextTick } from 'vue'
|
|
31
31
|
|
|
32
32
|
import { createTableStore } from '../stores/table'
|
|
33
33
|
import { isHtmlString } from '../utils'
|
|
@@ -64,9 +64,38 @@ const textAlign = column.align || 'center'
|
|
|
64
64
|
const cellWidth = column.width || '40ch'
|
|
65
65
|
|
|
66
66
|
const displayValue = computed(() => store.getCellDisplayValue(colIndex, rowIndex))
|
|
67
|
+
|
|
68
|
+
// Resolved display text for Link columns with bare string IDs.
|
|
69
|
+
// null = not yet resolved or not applicable; non-null overrides displayValue.
|
|
70
|
+
const resolvedText = ref<string | null>(null)
|
|
71
|
+
|
|
72
|
+
onMounted(() => {
|
|
73
|
+
if (!column.linkDoctype) return
|
|
74
|
+
const raw = store.getCellData(colIndex, rowIndex)
|
|
75
|
+
|
|
76
|
+
// Pre-resolved AFormLinkValue object — extract display text directly.
|
|
77
|
+
if (raw !== null && raw !== undefined && typeof raw === 'object') {
|
|
78
|
+
const obj = raw as Record<string, unknown>
|
|
79
|
+
const display = obj.displayText ?? obj.id
|
|
80
|
+
if (typeof display === 'string' || typeof display === 'number') {
|
|
81
|
+
resolvedText.value = String(display)
|
|
82
|
+
}
|
|
83
|
+
return
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Bare string ID — call the resolver if available.
|
|
87
|
+
const resolver = store.linkResolver
|
|
88
|
+
if (!resolver || typeof raw !== 'string' || raw === '') return
|
|
89
|
+
void resolver(column.linkDoctype, raw).then(text => {
|
|
90
|
+
if (text != null) resolvedText.value = text
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
const renderedValue = computed(() => resolvedText.value ?? displayValue.value)
|
|
95
|
+
|
|
67
96
|
const isHtmlValue = computed(() => {
|
|
68
97
|
// TODO: check if display value is a native DOM element
|
|
69
|
-
return typeof
|
|
98
|
+
return typeof renderedValue.value === 'string' ? isHtmlString(renderedValue.value) : false
|
|
70
99
|
})
|
|
71
100
|
|
|
72
101
|
const cellStyle = computed((): CSSProperties => {
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
<script setup lang="ts">
|
|
86
86
|
import { vOnClickOutside } from '@vueuse/components'
|
|
87
87
|
import { useMutationObserver } from '@vueuse/core'
|
|
88
|
-
import { computed, nextTick, onMounted, useTemplateRef, watch } from 'vue'
|
|
88
|
+
import { computed, inject, nextTick, onMounted, useTemplateRef, watch } from 'vue'
|
|
89
89
|
|
|
90
90
|
import AGanttConnection from './AGanttConnection.vue'
|
|
91
91
|
import ARow from './ARow.vue'
|
|
@@ -114,14 +114,18 @@ const rows = defineModel<TableRow[]>('rows', { required: true })
|
|
|
114
114
|
// TODO: convert columns from defineModel to a regular prop
|
|
115
115
|
const columns = defineModel<TableColumn[]>('columns')
|
|
116
116
|
|
|
117
|
+
type LinkResolverFn = (doctype: string, id: string) => Promise<string | undefined>
|
|
118
|
+
|
|
117
119
|
const {
|
|
118
120
|
id = '',
|
|
119
121
|
config = new Object(),
|
|
120
122
|
schema = [],
|
|
123
|
+
linkResolver = undefined,
|
|
121
124
|
} = defineProps<{
|
|
122
125
|
id?: string
|
|
123
126
|
config?: TableConfig
|
|
124
127
|
schema?: ColumnSchema[]
|
|
128
|
+
linkResolver?: LinkResolverFn
|
|
125
129
|
}>()
|
|
126
130
|
|
|
127
131
|
const emit = defineEmits<{
|
|
@@ -139,7 +143,14 @@ const emit = defineEmits<{
|
|
|
139
143
|
|
|
140
144
|
const tableRef = useTemplateRef<HTMLTableElement>('table')
|
|
141
145
|
const resolvedColumns = columns.value?.length ? columns.value : schemaToColumns(schema ?? [])
|
|
142
|
-
const
|
|
146
|
+
const injectedLinkResolver = inject<LinkResolverFn | null>('aformLinkResolver', null)
|
|
147
|
+
const store = createTableStore({
|
|
148
|
+
columns: resolvedColumns,
|
|
149
|
+
rows: rows.value,
|
|
150
|
+
id,
|
|
151
|
+
config,
|
|
152
|
+
linkResolver: linkResolver ?? injectedLinkResolver,
|
|
153
|
+
})
|
|
143
154
|
|
|
144
155
|
store.$onAction(({ name, store, args, after }) => {
|
|
145
156
|
if (name === 'setCellData' || name === 'setCellText') {
|
package/src/schemaToColumns.ts
CHANGED
|
@@ -12,13 +12,39 @@ import type { TableColumn } from './types'
|
|
|
12
12
|
* `fieldname` is renamed to `name`; `hidden` is stripped. All other `ColumnSchema` properties
|
|
13
13
|
* spread through automatically.
|
|
14
14
|
*
|
|
15
|
+
* For `fieldtype: 'Link'` fields without an explicit `cellComponent`:
|
|
16
|
+
* - `linkDoctype` is set from the field's `doctype` property (used by ACell's async resolver).
|
|
17
|
+
* - A synchronous `format` function is added (unless the field already has one) that handles
|
|
18
|
+
* both bare ID strings and pre-resolved `{ id, displayText }` objects.
|
|
19
|
+
*
|
|
15
20
|
* @public
|
|
16
21
|
*/
|
|
17
22
|
export function schemaToColumns(schema: ColumnSchema[]): TableColumn[] {
|
|
18
23
|
return schema
|
|
19
24
|
.filter(f => !f.hidden && f.fieldtype)
|
|
20
|
-
.map(({ fieldname, hidden: _hidden, ...rest }) =>
|
|
21
|
-
name: fieldname,
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
.map(({ fieldname, hidden: _hidden, ...rest }) => {
|
|
26
|
+
const col: TableColumn = { name: fieldname, ...rest }
|
|
27
|
+
|
|
28
|
+
// Link fields: store the linked doctype for async resolution by ACell,
|
|
29
|
+
// and add a sync format that handles pre-resolved AFormLinkValue objects.
|
|
30
|
+
if (rest.fieldtype === 'Link' && !rest.cellComponent) {
|
|
31
|
+
const fields = rest as Record<string, unknown>
|
|
32
|
+
const linkedDoctype = typeof fields.doctype === 'string' ? fields.doctype : undefined
|
|
33
|
+
if (linkedDoctype) col.linkDoctype = linkedDoctype
|
|
34
|
+
|
|
35
|
+
if (!rest.format) {
|
|
36
|
+
col.format = (v: any): string => {
|
|
37
|
+
if (v === null || v === undefined) return ''
|
|
38
|
+
if (typeof v === 'object') {
|
|
39
|
+
const rec = v as Record<string, unknown>
|
|
40
|
+
const display = rec.displayText ?? rec.id ?? ''
|
|
41
|
+
return typeof display === 'string' || typeof display === 'number' ? String(display) : ''
|
|
42
|
+
}
|
|
43
|
+
return String(v)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return col
|
|
49
|
+
})
|
|
24
50
|
}
|
package/src/stores/table.ts
CHANGED
|
@@ -46,8 +46,10 @@ export const createTableStore = (initData: {
|
|
|
46
46
|
id?: string
|
|
47
47
|
config?: TableConfig
|
|
48
48
|
modal?: TableModal
|
|
49
|
+
linkResolver?: ((doctype: string, id: string) => Promise<string | undefined>) | null
|
|
49
50
|
}) => {
|
|
50
51
|
const id = initData.id || generateHash()
|
|
52
|
+
const linkResolver = initData.linkResolver ?? null
|
|
51
53
|
const createStore = defineStore(`table-${id}`, () => {
|
|
52
54
|
const createDisplayObject = () => {
|
|
53
55
|
const defaultDisplay: TableDisplay[] = [Object.assign({}, { rowModified: false })]
|
|
@@ -903,6 +905,9 @@ export const createTableStore = (initData: {
|
|
|
903
905
|
numberedRowWidth,
|
|
904
906
|
zeroColumn,
|
|
905
907
|
|
|
908
|
+
// resolver
|
|
909
|
+
linkResolver,
|
|
910
|
+
|
|
906
911
|
// actions
|
|
907
912
|
addRow,
|
|
908
913
|
clearFilter,
|
package/src/types/index.ts
CHANGED
|
@@ -44,6 +44,13 @@ export interface TableColumn extends Omit<ColumnSchema, 'fieldname' | 'hidden' |
|
|
|
44
44
|
*/
|
|
45
45
|
mask?: (value: any) => any
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
* For `fieldtype: 'Link'` columns: the target doctype slug used by the `linkResolver`
|
|
49
|
+
* to look up display text for bare ID values. Set automatically by `schemaToColumns`
|
|
50
|
+
* from the field's `doctype` property.
|
|
51
|
+
*/
|
|
52
|
+
linkDoctype?: string
|
|
53
|
+
|
|
47
54
|
/**
|
|
48
55
|
* Runtime Gantt column index (excluding pinned columns). Set automatically during
|
|
49
56
|
* Gantt table rendering.
|