@stonecrop/atable 0.4.22 → 0.4.24
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 +511 -25
- package/dist/atable.js +1327 -1060
- package/dist/atable.js.map +1 -1
- package/dist/atable.umd.cjs +2 -2
- package/dist/atable.umd.cjs.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/stores/table.d.ts +370 -16
- package/dist/src/stores/table.d.ts.map +1 -1
- package/dist/src/types/index.d.ts +138 -10
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/stores/table.js +116 -14
- package/package.json +3 -3
- package/src/components/AGanttCell.vue +444 -170
- package/src/components/AGanttConnection.vue +164 -0
- package/src/components/ARow.vue +1 -1
- package/src/components/ATable.vue +107 -77
- package/src/components/ATableHeader.vue +1 -1
- package/src/index.ts +4 -0
- package/src/stores/table.ts +134 -14
- package/src/types/index.ts +159 -10
package/dist/atable.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import ATableModal from './components/ATableModal.vue';
|
|
|
11
11
|
import { ComputedRef } from 'vue';
|
|
12
12
|
import { CSSProperties } from 'vue';
|
|
13
13
|
import { Ref } from 'vue';
|
|
14
|
+
import type { ShallowRef } from 'vue';
|
|
14
15
|
import { Store } from 'pinia';
|
|
15
16
|
import { useElementBounding } from '@vueuse/core';
|
|
16
17
|
|
|
@@ -53,6 +54,89 @@ export declare interface CellContext {
|
|
|
53
54
|
};
|
|
54
55
|
}
|
|
55
56
|
|
|
57
|
+
/**
|
|
58
|
+
* Connection event for handling connection creation/deletion.
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export declare type ConnectionEvent = {
|
|
62
|
+
type: 'create' | 'delete';
|
|
63
|
+
connection: ConnectionPath;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Connection handle information for gantt bar connections.
|
|
68
|
+
* @public
|
|
69
|
+
*/
|
|
70
|
+
export declare interface ConnectionHandle {
|
|
71
|
+
/**
|
|
72
|
+
* Unique identifier for the connection handle.
|
|
73
|
+
*/
|
|
74
|
+
id: string;
|
|
75
|
+
/**
|
|
76
|
+
* The row index of the gantt bar this handle belongs to.
|
|
77
|
+
*/
|
|
78
|
+
rowIndex: number;
|
|
79
|
+
/**
|
|
80
|
+
* The column index of the gantt bar this handle belongs to.
|
|
81
|
+
*/
|
|
82
|
+
colIndex: number;
|
|
83
|
+
/**
|
|
84
|
+
* The side of the gantt bar where this handle is located.
|
|
85
|
+
*/
|
|
86
|
+
side: 'left' | 'right';
|
|
87
|
+
/**
|
|
88
|
+
* The position of the connection handle.
|
|
89
|
+
*/
|
|
90
|
+
position: {
|
|
91
|
+
x: ShallowRef<number>;
|
|
92
|
+
y: ShallowRef<number>;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Whether the handle is currently visible (on hover).
|
|
96
|
+
*/
|
|
97
|
+
visible: Ref<boolean>;
|
|
98
|
+
/**
|
|
99
|
+
* Reference to the gantt bar this handle belongs to.
|
|
100
|
+
*/
|
|
101
|
+
barId: string;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Connection path between two gantt bars.
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
export declare interface ConnectionPath {
|
|
109
|
+
/**
|
|
110
|
+
* Unique identifier for the connection path.
|
|
111
|
+
*/
|
|
112
|
+
id: string;
|
|
113
|
+
/**
|
|
114
|
+
* The source connection handle.
|
|
115
|
+
*/
|
|
116
|
+
from: {
|
|
117
|
+
barId: string;
|
|
118
|
+
side: 'left' | 'right';
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* The target connection handle.
|
|
122
|
+
*/
|
|
123
|
+
to: {
|
|
124
|
+
barId: string;
|
|
125
|
+
side: 'left' | 'right';
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Optional styling for the connection path.
|
|
129
|
+
*/
|
|
130
|
+
style?: {
|
|
131
|
+
color?: string;
|
|
132
|
+
width?: number;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Optional label for the connection.
|
|
136
|
+
*/
|
|
137
|
+
label?: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
56
140
|
/**
|
|
57
141
|
* Create a table store
|
|
58
142
|
* @param initData - Initial data for the table store
|
|
@@ -110,12 +194,66 @@ colspan?: number | undefined;
|
|
|
110
194
|
originalIndex?: number | undefined;
|
|
111
195
|
}[]>;
|
|
112
196
|
config: Ref< {
|
|
113
|
-
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | undefined;
|
|
197
|
+
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
|
|
114
198
|
fullWidth?: boolean | undefined;
|
|
115
199
|
}, TableConfig | {
|
|
116
|
-
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | undefined;
|
|
200
|
+
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
|
|
117
201
|
fullWidth?: boolean | undefined;
|
|
118
202
|
}>;
|
|
203
|
+
connectionHandles: Ref< {
|
|
204
|
+
id: string;
|
|
205
|
+
rowIndex: number;
|
|
206
|
+
colIndex: number;
|
|
207
|
+
side: "left" | "right";
|
|
208
|
+
position: {
|
|
209
|
+
x: number;
|
|
210
|
+
y: number;
|
|
211
|
+
};
|
|
212
|
+
visible: boolean;
|
|
213
|
+
barId: string;
|
|
214
|
+
}[], ConnectionHandle[] | {
|
|
215
|
+
id: string;
|
|
216
|
+
rowIndex: number;
|
|
217
|
+
colIndex: number;
|
|
218
|
+
side: "left" | "right";
|
|
219
|
+
position: {
|
|
220
|
+
x: number;
|
|
221
|
+
y: number;
|
|
222
|
+
};
|
|
223
|
+
visible: boolean;
|
|
224
|
+
barId: string;
|
|
225
|
+
}[]>;
|
|
226
|
+
connectionPaths: Ref< {
|
|
227
|
+
id: string;
|
|
228
|
+
from: {
|
|
229
|
+
barId: string;
|
|
230
|
+
side: "left" | "right";
|
|
231
|
+
};
|
|
232
|
+
to: {
|
|
233
|
+
barId: string;
|
|
234
|
+
side: "left" | "right";
|
|
235
|
+
};
|
|
236
|
+
style?: {
|
|
237
|
+
color?: string | undefined;
|
|
238
|
+
width?: number | undefined;
|
|
239
|
+
} | undefined;
|
|
240
|
+
label?: string | undefined;
|
|
241
|
+
}[], ConnectionPath[] | {
|
|
242
|
+
id: string;
|
|
243
|
+
from: {
|
|
244
|
+
barId: string;
|
|
245
|
+
side: "left" | "right";
|
|
246
|
+
};
|
|
247
|
+
to: {
|
|
248
|
+
barId: string;
|
|
249
|
+
side: "left" | "right";
|
|
250
|
+
};
|
|
251
|
+
style?: {
|
|
252
|
+
color?: string | undefined;
|
|
253
|
+
width?: number | undefined;
|
|
254
|
+
} | undefined;
|
|
255
|
+
label?: string | undefined;
|
|
256
|
+
}[]>;
|
|
119
257
|
display: Ref< {
|
|
120
258
|
expanded?: boolean | undefined;
|
|
121
259
|
childrenOpen?: boolean | undefined;
|
|
@@ -135,6 +273,31 @@ indent?: number | undefined;
|
|
|
135
273
|
parent?: number | undefined;
|
|
136
274
|
rowModified?: boolean | undefined;
|
|
137
275
|
}[]>;
|
|
276
|
+
ganttBars: Ref< {
|
|
277
|
+
id: string;
|
|
278
|
+
rowIndex: number;
|
|
279
|
+
colIndex: number;
|
|
280
|
+
startIndex: number;
|
|
281
|
+
endIndex: number;
|
|
282
|
+
color: string;
|
|
283
|
+
position: {
|
|
284
|
+
x: number;
|
|
285
|
+
y: number;
|
|
286
|
+
};
|
|
287
|
+
label?: string | undefined;
|
|
288
|
+
}[], GanttBarInfo[] | {
|
|
289
|
+
id: string;
|
|
290
|
+
rowIndex: number;
|
|
291
|
+
colIndex: number;
|
|
292
|
+
startIndex: number;
|
|
293
|
+
endIndex: number;
|
|
294
|
+
color: string;
|
|
295
|
+
position: {
|
|
296
|
+
x: number;
|
|
297
|
+
y: number;
|
|
298
|
+
};
|
|
299
|
+
label?: string | undefined;
|
|
300
|
+
}[]>;
|
|
138
301
|
modal: Ref< {
|
|
139
302
|
visible?: boolean | undefined;
|
|
140
303
|
cell?: (HTMLTableCellElement | null) | undefined;
|
|
@@ -184,23 +347,62 @@ colspan?: number | undefined;
|
|
|
184
347
|
table: Ref< {}, {}>;
|
|
185
348
|
updates: Ref<Record<string, string>, Record<string, string>>;
|
|
186
349
|
hasPinnedColumns: ComputedRef<boolean>;
|
|
350
|
+
isGanttView: ComputedRef<boolean>;
|
|
351
|
+
isTreeView: ComputedRef<boolean>;
|
|
187
352
|
numberedRowWidth: ComputedRef<string>;
|
|
188
353
|
zeroColumn: ComputedRef<boolean>;
|
|
189
354
|
closeModal: (event: MouseEvent) => void;
|
|
355
|
+
createConnection: (fromHandleId: string, toHandleId: string, options?: {
|
|
356
|
+
style?: ConnectionPath["style"];
|
|
357
|
+
label?: string;
|
|
358
|
+
}) => ConnectionPath | null;
|
|
359
|
+
deleteConnection: (connectionId: string) => boolean;
|
|
190
360
|
getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
|
|
191
361
|
getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
|
|
362
|
+
getConnectionsForBar: (barId: string) => {
|
|
363
|
+
id: string;
|
|
364
|
+
from: {
|
|
365
|
+
barId: string;
|
|
366
|
+
side: "left" | "right";
|
|
367
|
+
};
|
|
368
|
+
to: {
|
|
369
|
+
barId: string;
|
|
370
|
+
side: "left" | "right";
|
|
371
|
+
};
|
|
372
|
+
style?: {
|
|
373
|
+
color?: string | undefined;
|
|
374
|
+
width?: number | undefined;
|
|
375
|
+
} | undefined;
|
|
376
|
+
label?: string | undefined;
|
|
377
|
+
}[];
|
|
192
378
|
getFormattedValue: (colIndex: number, rowIndex: number, value: any) => any;
|
|
379
|
+
getHandlesForBar: (barId: string) => {
|
|
380
|
+
id: string;
|
|
381
|
+
rowIndex: number;
|
|
382
|
+
colIndex: number;
|
|
383
|
+
side: "left" | "right";
|
|
384
|
+
position: {
|
|
385
|
+
x: number;
|
|
386
|
+
y: number;
|
|
387
|
+
};
|
|
388
|
+
visible: boolean;
|
|
389
|
+
barId: string;
|
|
390
|
+
}[];
|
|
193
391
|
getHeaderCellStyle: (column: TableColumn) => CSSProperties;
|
|
194
|
-
resizeColumn: (colIndex: number, newWidth: number) => void;
|
|
195
392
|
getIndent: (colIndex: number, indentLevel?: number) => string;
|
|
196
|
-
getRowExpandSymbol: (rowIndex: number) => "" | "
|
|
393
|
+
getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
|
|
197
394
|
isRowGantt: (rowIndex: number) => boolean;
|
|
198
395
|
isRowVisible: (rowIndex: number) => boolean | undefined;
|
|
396
|
+
registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
|
|
397
|
+
registerGanttBar: (barInfo: GanttBarInfo) => void;
|
|
398
|
+
resizeColumn: (colIndex: number, newWidth: number) => void;
|
|
199
399
|
setCellData: (colIndex: number, rowIndex: number, value: any) => void;
|
|
200
400
|
setCellText: (colIndex: number, rowIndex: number, value: string) => void;
|
|
201
401
|
toggleRowExpand: (rowIndex: number) => void;
|
|
402
|
+
unregisterConnectionHandle: (handleId: string) => void;
|
|
403
|
+
unregisterGanttBar: (barId: string) => void;
|
|
202
404
|
updateGanttBar: (event: GanttDragEvent) => void;
|
|
203
|
-
}, "columns" | "config" | "display" | "modal" | "rows" | "table" | "updates">, Pick<{
|
|
405
|
+
}, "columns" | "config" | "connectionHandles" | "connectionPaths" | "display" | "ganttBars" | "modal" | "rows" | "table" | "updates">, Pick<{
|
|
204
406
|
columns: Ref< {
|
|
205
407
|
name: string;
|
|
206
408
|
align?: CanvasTextAlign | undefined;
|
|
@@ -241,12 +443,66 @@ colspan?: number | undefined;
|
|
|
241
443
|
originalIndex?: number | undefined;
|
|
242
444
|
}[]>;
|
|
243
445
|
config: Ref< {
|
|
244
|
-
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | undefined;
|
|
446
|
+
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
|
|
245
447
|
fullWidth?: boolean | undefined;
|
|
246
448
|
}, TableConfig | {
|
|
247
|
-
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | undefined;
|
|
449
|
+
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
|
|
248
450
|
fullWidth?: boolean | undefined;
|
|
249
451
|
}>;
|
|
452
|
+
connectionHandles: Ref< {
|
|
453
|
+
id: string;
|
|
454
|
+
rowIndex: number;
|
|
455
|
+
colIndex: number;
|
|
456
|
+
side: "left" | "right";
|
|
457
|
+
position: {
|
|
458
|
+
x: number;
|
|
459
|
+
y: number;
|
|
460
|
+
};
|
|
461
|
+
visible: boolean;
|
|
462
|
+
barId: string;
|
|
463
|
+
}[], ConnectionHandle[] | {
|
|
464
|
+
id: string;
|
|
465
|
+
rowIndex: number;
|
|
466
|
+
colIndex: number;
|
|
467
|
+
side: "left" | "right";
|
|
468
|
+
position: {
|
|
469
|
+
x: number;
|
|
470
|
+
y: number;
|
|
471
|
+
};
|
|
472
|
+
visible: boolean;
|
|
473
|
+
barId: string;
|
|
474
|
+
}[]>;
|
|
475
|
+
connectionPaths: Ref< {
|
|
476
|
+
id: string;
|
|
477
|
+
from: {
|
|
478
|
+
barId: string;
|
|
479
|
+
side: "left" | "right";
|
|
480
|
+
};
|
|
481
|
+
to: {
|
|
482
|
+
barId: string;
|
|
483
|
+
side: "left" | "right";
|
|
484
|
+
};
|
|
485
|
+
style?: {
|
|
486
|
+
color?: string | undefined;
|
|
487
|
+
width?: number | undefined;
|
|
488
|
+
} | undefined;
|
|
489
|
+
label?: string | undefined;
|
|
490
|
+
}[], ConnectionPath[] | {
|
|
491
|
+
id: string;
|
|
492
|
+
from: {
|
|
493
|
+
barId: string;
|
|
494
|
+
side: "left" | "right";
|
|
495
|
+
};
|
|
496
|
+
to: {
|
|
497
|
+
barId: string;
|
|
498
|
+
side: "left" | "right";
|
|
499
|
+
};
|
|
500
|
+
style?: {
|
|
501
|
+
color?: string | undefined;
|
|
502
|
+
width?: number | undefined;
|
|
503
|
+
} | undefined;
|
|
504
|
+
label?: string | undefined;
|
|
505
|
+
}[]>;
|
|
250
506
|
display: Ref< {
|
|
251
507
|
expanded?: boolean | undefined;
|
|
252
508
|
childrenOpen?: boolean | undefined;
|
|
@@ -266,6 +522,31 @@ indent?: number | undefined;
|
|
|
266
522
|
parent?: number | undefined;
|
|
267
523
|
rowModified?: boolean | undefined;
|
|
268
524
|
}[]>;
|
|
525
|
+
ganttBars: Ref< {
|
|
526
|
+
id: string;
|
|
527
|
+
rowIndex: number;
|
|
528
|
+
colIndex: number;
|
|
529
|
+
startIndex: number;
|
|
530
|
+
endIndex: number;
|
|
531
|
+
color: string;
|
|
532
|
+
position: {
|
|
533
|
+
x: number;
|
|
534
|
+
y: number;
|
|
535
|
+
};
|
|
536
|
+
label?: string | undefined;
|
|
537
|
+
}[], GanttBarInfo[] | {
|
|
538
|
+
id: string;
|
|
539
|
+
rowIndex: number;
|
|
540
|
+
colIndex: number;
|
|
541
|
+
startIndex: number;
|
|
542
|
+
endIndex: number;
|
|
543
|
+
color: string;
|
|
544
|
+
position: {
|
|
545
|
+
x: number;
|
|
546
|
+
y: number;
|
|
547
|
+
};
|
|
548
|
+
label?: string | undefined;
|
|
549
|
+
}[]>;
|
|
269
550
|
modal: Ref< {
|
|
270
551
|
visible?: boolean | undefined;
|
|
271
552
|
cell?: (HTMLTableCellElement | null) | undefined;
|
|
@@ -315,23 +596,62 @@ colspan?: number | undefined;
|
|
|
315
596
|
table: Ref< {}, {}>;
|
|
316
597
|
updates: Ref<Record<string, string>, Record<string, string>>;
|
|
317
598
|
hasPinnedColumns: ComputedRef<boolean>;
|
|
599
|
+
isGanttView: ComputedRef<boolean>;
|
|
600
|
+
isTreeView: ComputedRef<boolean>;
|
|
318
601
|
numberedRowWidth: ComputedRef<string>;
|
|
319
602
|
zeroColumn: ComputedRef<boolean>;
|
|
320
603
|
closeModal: (event: MouseEvent) => void;
|
|
604
|
+
createConnection: (fromHandleId: string, toHandleId: string, options?: {
|
|
605
|
+
style?: ConnectionPath["style"];
|
|
606
|
+
label?: string;
|
|
607
|
+
}) => ConnectionPath | null;
|
|
608
|
+
deleteConnection: (connectionId: string) => boolean;
|
|
321
609
|
getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
|
|
322
610
|
getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
|
|
611
|
+
getConnectionsForBar: (barId: string) => {
|
|
612
|
+
id: string;
|
|
613
|
+
from: {
|
|
614
|
+
barId: string;
|
|
615
|
+
side: "left" | "right";
|
|
616
|
+
};
|
|
617
|
+
to: {
|
|
618
|
+
barId: string;
|
|
619
|
+
side: "left" | "right";
|
|
620
|
+
};
|
|
621
|
+
style?: {
|
|
622
|
+
color?: string | undefined;
|
|
623
|
+
width?: number | undefined;
|
|
624
|
+
} | undefined;
|
|
625
|
+
label?: string | undefined;
|
|
626
|
+
}[];
|
|
323
627
|
getFormattedValue: (colIndex: number, rowIndex: number, value: any) => any;
|
|
628
|
+
getHandlesForBar: (barId: string) => {
|
|
629
|
+
id: string;
|
|
630
|
+
rowIndex: number;
|
|
631
|
+
colIndex: number;
|
|
632
|
+
side: "left" | "right";
|
|
633
|
+
position: {
|
|
634
|
+
x: number;
|
|
635
|
+
y: number;
|
|
636
|
+
};
|
|
637
|
+
visible: boolean;
|
|
638
|
+
barId: string;
|
|
639
|
+
}[];
|
|
324
640
|
getHeaderCellStyle: (column: TableColumn) => CSSProperties;
|
|
325
|
-
resizeColumn: (colIndex: number, newWidth: number) => void;
|
|
326
641
|
getIndent: (colIndex: number, indentLevel?: number) => string;
|
|
327
|
-
getRowExpandSymbol: (rowIndex: number) => "" | "
|
|
642
|
+
getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
|
|
328
643
|
isRowGantt: (rowIndex: number) => boolean;
|
|
329
644
|
isRowVisible: (rowIndex: number) => boolean | undefined;
|
|
645
|
+
registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
|
|
646
|
+
registerGanttBar: (barInfo: GanttBarInfo) => void;
|
|
647
|
+
resizeColumn: (colIndex: number, newWidth: number) => void;
|
|
330
648
|
setCellData: (colIndex: number, rowIndex: number, value: any) => void;
|
|
331
649
|
setCellText: (colIndex: number, rowIndex: number, value: string) => void;
|
|
332
650
|
toggleRowExpand: (rowIndex: number) => void;
|
|
651
|
+
unregisterConnectionHandle: (handleId: string) => void;
|
|
652
|
+
unregisterGanttBar: (barId: string) => void;
|
|
333
653
|
updateGanttBar: (event: GanttDragEvent) => void;
|
|
334
|
-
}, "hasPinnedColumns" | "numberedRowWidth" | "zeroColumn">, Pick<{
|
|
654
|
+
}, "hasPinnedColumns" | "isGanttView" | "isTreeView" | "numberedRowWidth" | "zeroColumn">, Pick<{
|
|
335
655
|
columns: Ref< {
|
|
336
656
|
name: string;
|
|
337
657
|
align?: CanvasTextAlign | undefined;
|
|
@@ -372,12 +692,66 @@ colspan?: number | undefined;
|
|
|
372
692
|
originalIndex?: number | undefined;
|
|
373
693
|
}[]>;
|
|
374
694
|
config: Ref< {
|
|
375
|
-
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | undefined;
|
|
695
|
+
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
|
|
376
696
|
fullWidth?: boolean | undefined;
|
|
377
697
|
}, TableConfig | {
|
|
378
|
-
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | undefined;
|
|
698
|
+
view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
|
|
379
699
|
fullWidth?: boolean | undefined;
|
|
380
700
|
}>;
|
|
701
|
+
connectionHandles: Ref< {
|
|
702
|
+
id: string;
|
|
703
|
+
rowIndex: number;
|
|
704
|
+
colIndex: number;
|
|
705
|
+
side: "left" | "right";
|
|
706
|
+
position: {
|
|
707
|
+
x: number;
|
|
708
|
+
y: number;
|
|
709
|
+
};
|
|
710
|
+
visible: boolean;
|
|
711
|
+
barId: string;
|
|
712
|
+
}[], ConnectionHandle[] | {
|
|
713
|
+
id: string;
|
|
714
|
+
rowIndex: number;
|
|
715
|
+
colIndex: number;
|
|
716
|
+
side: "left" | "right";
|
|
717
|
+
position: {
|
|
718
|
+
x: number;
|
|
719
|
+
y: number;
|
|
720
|
+
};
|
|
721
|
+
visible: boolean;
|
|
722
|
+
barId: string;
|
|
723
|
+
}[]>;
|
|
724
|
+
connectionPaths: Ref< {
|
|
725
|
+
id: string;
|
|
726
|
+
from: {
|
|
727
|
+
barId: string;
|
|
728
|
+
side: "left" | "right";
|
|
729
|
+
};
|
|
730
|
+
to: {
|
|
731
|
+
barId: string;
|
|
732
|
+
side: "left" | "right";
|
|
733
|
+
};
|
|
734
|
+
style?: {
|
|
735
|
+
color?: string | undefined;
|
|
736
|
+
width?: number | undefined;
|
|
737
|
+
} | undefined;
|
|
738
|
+
label?: string | undefined;
|
|
739
|
+
}[], ConnectionPath[] | {
|
|
740
|
+
id: string;
|
|
741
|
+
from: {
|
|
742
|
+
barId: string;
|
|
743
|
+
side: "left" | "right";
|
|
744
|
+
};
|
|
745
|
+
to: {
|
|
746
|
+
barId: string;
|
|
747
|
+
side: "left" | "right";
|
|
748
|
+
};
|
|
749
|
+
style?: {
|
|
750
|
+
color?: string | undefined;
|
|
751
|
+
width?: number | undefined;
|
|
752
|
+
} | undefined;
|
|
753
|
+
label?: string | undefined;
|
|
754
|
+
}[]>;
|
|
381
755
|
display: Ref< {
|
|
382
756
|
expanded?: boolean | undefined;
|
|
383
757
|
childrenOpen?: boolean | undefined;
|
|
@@ -397,6 +771,31 @@ indent?: number | undefined;
|
|
|
397
771
|
parent?: number | undefined;
|
|
398
772
|
rowModified?: boolean | undefined;
|
|
399
773
|
}[]>;
|
|
774
|
+
ganttBars: Ref< {
|
|
775
|
+
id: string;
|
|
776
|
+
rowIndex: number;
|
|
777
|
+
colIndex: number;
|
|
778
|
+
startIndex: number;
|
|
779
|
+
endIndex: number;
|
|
780
|
+
color: string;
|
|
781
|
+
position: {
|
|
782
|
+
x: number;
|
|
783
|
+
y: number;
|
|
784
|
+
};
|
|
785
|
+
label?: string | undefined;
|
|
786
|
+
}[], GanttBarInfo[] | {
|
|
787
|
+
id: string;
|
|
788
|
+
rowIndex: number;
|
|
789
|
+
colIndex: number;
|
|
790
|
+
startIndex: number;
|
|
791
|
+
endIndex: number;
|
|
792
|
+
color: string;
|
|
793
|
+
position: {
|
|
794
|
+
x: number;
|
|
795
|
+
y: number;
|
|
796
|
+
};
|
|
797
|
+
label?: string | undefined;
|
|
798
|
+
}[]>;
|
|
400
799
|
modal: Ref< {
|
|
401
800
|
visible?: boolean | undefined;
|
|
402
801
|
cell?: (HTMLTableCellElement | null) | undefined;
|
|
@@ -446,23 +845,104 @@ colspan?: number | undefined;
|
|
|
446
845
|
table: Ref< {}, {}>;
|
|
447
846
|
updates: Ref<Record<string, string>, Record<string, string>>;
|
|
448
847
|
hasPinnedColumns: ComputedRef<boolean>;
|
|
848
|
+
isGanttView: ComputedRef<boolean>;
|
|
849
|
+
isTreeView: ComputedRef<boolean>;
|
|
449
850
|
numberedRowWidth: ComputedRef<string>;
|
|
450
851
|
zeroColumn: ComputedRef<boolean>;
|
|
451
852
|
closeModal: (event: MouseEvent) => void;
|
|
853
|
+
createConnection: (fromHandleId: string, toHandleId: string, options?: {
|
|
854
|
+
style?: ConnectionPath["style"];
|
|
855
|
+
label?: string;
|
|
856
|
+
}) => ConnectionPath | null;
|
|
857
|
+
deleteConnection: (connectionId: string) => boolean;
|
|
452
858
|
getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
|
|
453
859
|
getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
|
|
860
|
+
getConnectionsForBar: (barId: string) => {
|
|
861
|
+
id: string;
|
|
862
|
+
from: {
|
|
863
|
+
barId: string;
|
|
864
|
+
side: "left" | "right";
|
|
865
|
+
};
|
|
866
|
+
to: {
|
|
867
|
+
barId: string;
|
|
868
|
+
side: "left" | "right";
|
|
869
|
+
};
|
|
870
|
+
style?: {
|
|
871
|
+
color?: string | undefined;
|
|
872
|
+
width?: number | undefined;
|
|
873
|
+
} | undefined;
|
|
874
|
+
label?: string | undefined;
|
|
875
|
+
}[];
|
|
454
876
|
getFormattedValue: (colIndex: number, rowIndex: number, value: any) => any;
|
|
877
|
+
getHandlesForBar: (barId: string) => {
|
|
878
|
+
id: string;
|
|
879
|
+
rowIndex: number;
|
|
880
|
+
colIndex: number;
|
|
881
|
+
side: "left" | "right";
|
|
882
|
+
position: {
|
|
883
|
+
x: number;
|
|
884
|
+
y: number;
|
|
885
|
+
};
|
|
886
|
+
visible: boolean;
|
|
887
|
+
barId: string;
|
|
888
|
+
}[];
|
|
455
889
|
getHeaderCellStyle: (column: TableColumn) => CSSProperties;
|
|
456
|
-
resizeColumn: (colIndex: number, newWidth: number) => void;
|
|
457
890
|
getIndent: (colIndex: number, indentLevel?: number) => string;
|
|
458
|
-
getRowExpandSymbol: (rowIndex: number) => "" | "
|
|
891
|
+
getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
|
|
459
892
|
isRowGantt: (rowIndex: number) => boolean;
|
|
460
893
|
isRowVisible: (rowIndex: number) => boolean | undefined;
|
|
894
|
+
registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
|
|
895
|
+
registerGanttBar: (barInfo: GanttBarInfo) => void;
|
|
896
|
+
resizeColumn: (colIndex: number, newWidth: number) => void;
|
|
461
897
|
setCellData: (colIndex: number, rowIndex: number, value: any) => void;
|
|
462
898
|
setCellText: (colIndex: number, rowIndex: number, value: string) => void;
|
|
463
899
|
toggleRowExpand: (rowIndex: number) => void;
|
|
900
|
+
unregisterConnectionHandle: (handleId: string) => void;
|
|
901
|
+
unregisterGanttBar: (barId: string) => void;
|
|
464
902
|
updateGanttBar: (event: GanttDragEvent) => void;
|
|
465
|
-
}, "closeModal" | "getCellData" | "getCellDisplayValue" | "getFormattedValue" | "
|
|
903
|
+
}, "closeModal" | "createConnection" | "deleteConnection" | "getCellData" | "getCellDisplayValue" | "getConnectionsForBar" | "getFormattedValue" | "getHandlesForBar" | "getHeaderCellStyle" | "getIndent" | "getRowExpandSymbol" | "isRowGantt" | "isRowVisible" | "registerConnectionHandle" | "registerGanttBar" | "resizeColumn" | "setCellData" | "setCellText" | "toggleRowExpand" | "unregisterConnectionHandle" | "unregisterGanttBar" | "updateGanttBar">>;
|
|
904
|
+
|
|
905
|
+
/**
|
|
906
|
+
* Gantt bar information for VueFlow integration.
|
|
907
|
+
* @public
|
|
908
|
+
*/
|
|
909
|
+
export declare interface GanttBarInfo {
|
|
910
|
+
/**
|
|
911
|
+
* Unique identifier for the gantt bar.
|
|
912
|
+
*/
|
|
913
|
+
id: string;
|
|
914
|
+
/**
|
|
915
|
+
* The row index of the gantt bar.
|
|
916
|
+
*/
|
|
917
|
+
rowIndex: number;
|
|
918
|
+
/**
|
|
919
|
+
* The primary column index of the gantt bar (typically the start index).
|
|
920
|
+
*/
|
|
921
|
+
colIndex: number;
|
|
922
|
+
/**
|
|
923
|
+
* Starting column index of the gantt bar.
|
|
924
|
+
*/
|
|
925
|
+
startIndex: Ref<number>;
|
|
926
|
+
/**
|
|
927
|
+
* Ending column index of the gantt bar.
|
|
928
|
+
*/
|
|
929
|
+
endIndex: Ref<number>;
|
|
930
|
+
/**
|
|
931
|
+
* Color of the gantt bar.
|
|
932
|
+
*/
|
|
933
|
+
color: Ref<string>;
|
|
934
|
+
/**
|
|
935
|
+
* The position of the gantt bar in the ATable component.
|
|
936
|
+
*/
|
|
937
|
+
position: {
|
|
938
|
+
x: ShallowRef<number>;
|
|
939
|
+
y: ShallowRef<number>;
|
|
940
|
+
};
|
|
941
|
+
/**
|
|
942
|
+
* Display label for the gantt bar.
|
|
943
|
+
*/
|
|
944
|
+
label?: string;
|
|
945
|
+
}
|
|
466
946
|
|
|
467
947
|
/**
|
|
468
948
|
* Gantt table drag event definition.
|
|
@@ -498,26 +978,30 @@ export declare type GanttDragEvent = {
|
|
|
498
978
|
});
|
|
499
979
|
|
|
500
980
|
/**
|
|
501
|
-
*
|
|
981
|
+
* Gantt chart options for table rows.
|
|
502
982
|
* @public
|
|
503
983
|
*/
|
|
504
984
|
export declare interface GanttOptions {
|
|
505
985
|
/**
|
|
506
|
-
* The
|
|
986
|
+
* The color to be applied to the row's gantt bar.
|
|
987
|
+
*
|
|
988
|
+
* @defaultValue '#cccccc'
|
|
507
989
|
*/
|
|
508
990
|
color?: string;
|
|
509
991
|
/**
|
|
510
992
|
* The starting column index for the gantt bar.
|
|
993
|
+
*
|
|
994
|
+
* @defaultValue 0
|
|
511
995
|
*/
|
|
512
996
|
startIndex?: number;
|
|
513
997
|
/**
|
|
514
|
-
* The ending column index for the gantt bar. If
|
|
998
|
+
* The ending column index for the gantt bar. If endIndex and colspan are not provided,
|
|
515
999
|
* the bar will stretch to the end of the table.
|
|
516
1000
|
*/
|
|
517
1001
|
endIndex?: number;
|
|
518
1002
|
/**
|
|
519
|
-
* The length of the gantt bar. Useful when only the start index is provided.
|
|
520
|
-
* colspan and endIndex are not provided, the bar will stretch to the end of the table.
|
|
1003
|
+
* The length of the gantt bar in columns. Useful when only the start index is provided.
|
|
1004
|
+
* If colspan and endIndex are not provided, the bar will stretch to the end of the table.
|
|
521
1005
|
*/
|
|
522
1006
|
colspan?: number;
|
|
523
1007
|
}
|
|
@@ -644,8 +1128,8 @@ export declare interface TableColumn {
|
|
|
644
1128
|
*/
|
|
645
1129
|
ganttComponent?: string;
|
|
646
1130
|
/**
|
|
647
|
-
* The colspan of the Gantt
|
|
648
|
-
* the Gantt
|
|
1131
|
+
* The colspan of the Gantt bar for the column. This determines how many columns
|
|
1132
|
+
* the Gantt bar should span across.
|
|
649
1133
|
*
|
|
650
1134
|
* Only applicable for Gantt tables.
|
|
651
1135
|
*
|
|
@@ -653,8 +1137,8 @@ export declare interface TableColumn {
|
|
|
653
1137
|
*/
|
|
654
1138
|
colspan?: number;
|
|
655
1139
|
/**
|
|
656
|
-
* The
|
|
657
|
-
* evaluated automatically while rendering the table.
|
|
1140
|
+
* The original column index for the Gantt bar, excluding any pinned columns.
|
|
1141
|
+
* This is evaluated automatically while rendering the table.
|
|
658
1142
|
*
|
|
659
1143
|
* Only applicable for Gantt tables.
|
|
660
1144
|
*
|
|
@@ -674,8 +1158,10 @@ export declare interface TableConfig {
|
|
|
674
1158
|
* - `list` - row numbers are displayed in the table
|
|
675
1159
|
* - `list-expansion` - carets are displayed in the number column that expand/collapse the row inline
|
|
676
1160
|
* - `tree` - carets are displayed in the number column that expand/collapse grouped rows
|
|
1161
|
+
* - `gantt` - view that allows specific rows to be displayed with Gantt functionality
|
|
1162
|
+
* - `tree-gantt` - similar to `gantt`, but allows for tree functionality as well
|
|
677
1163
|
*/
|
|
678
|
-
view?: 'uncounted' | 'list' | 'list-expansion' | 'tree' | 'gantt';
|
|
1164
|
+
view?: 'uncounted' | 'list' | 'list-expansion' | 'tree' | 'gantt' | 'tree-gantt';
|
|
679
1165
|
/**
|
|
680
1166
|
* Control whether the table should be allowed to use the full width of its container.
|
|
681
1167
|
*
|