@stonecrop/aform 0.8.1 → 0.8.2

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/aform.d.ts CHANGED
@@ -76,6 +76,10 @@ export declare interface BaseTableConfig {
76
76
  * @defaultValue false
77
77
  */
78
78
  fullWidth?: boolean;
79
+ /**
80
+ * Configuration for row-level actions (add, delete, duplicate, etc.).
81
+ */
82
+ rowActions?: RowActionsConfig;
79
83
  }
80
84
 
81
85
  /**
@@ -307,35 +311,387 @@ originalIndex?: number | undefined;
307
311
  config: Ref< {
308
312
  view?: "uncounted" | "list" | "list-expansion" | undefined;
309
313
  fullWidth?: boolean | undefined;
314
+ rowActions?: {
315
+ enabled: boolean;
316
+ position?: "before-index" | "after-index" | "end" | undefined;
317
+ dropdownThreshold?: number | undefined;
318
+ forceDropdown?: boolean | undefined;
319
+ actions?: {
320
+ add?: boolean | {
321
+ enabled?: boolean | undefined;
322
+ label?: string | undefined;
323
+ icon?: string | undefined;
324
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
325
+ } | undefined;
326
+ delete?: boolean | {
327
+ enabled?: boolean | undefined;
328
+ label?: string | undefined;
329
+ icon?: string | undefined;
330
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
331
+ } | undefined;
332
+ duplicate?: boolean | {
333
+ enabled?: boolean | undefined;
334
+ label?: string | undefined;
335
+ icon?: string | undefined;
336
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
337
+ } | undefined;
338
+ insertAbove?: boolean | {
339
+ enabled?: boolean | undefined;
340
+ label?: string | undefined;
341
+ icon?: string | undefined;
342
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
343
+ } | undefined;
344
+ insertBelow?: boolean | {
345
+ enabled?: boolean | undefined;
346
+ label?: string | undefined;
347
+ icon?: string | undefined;
348
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
349
+ } | undefined;
350
+ move?: boolean | {
351
+ enabled?: boolean | undefined;
352
+ label?: string | undefined;
353
+ icon?: string | undefined;
354
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
355
+ } | undefined;
356
+ } | undefined;
357
+ } | undefined;
310
358
  } | {
311
359
  view: "tree";
312
360
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
313
361
  fullWidth?: boolean | undefined;
362
+ rowActions?: {
363
+ enabled: boolean;
364
+ position?: "before-index" | "after-index" | "end" | undefined;
365
+ dropdownThreshold?: number | undefined;
366
+ forceDropdown?: boolean | undefined;
367
+ actions?: {
368
+ add?: boolean | {
369
+ enabled?: boolean | undefined;
370
+ label?: string | undefined;
371
+ icon?: string | undefined;
372
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
373
+ } | undefined;
374
+ delete?: boolean | {
375
+ enabled?: boolean | undefined;
376
+ label?: string | undefined;
377
+ icon?: string | undefined;
378
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
379
+ } | undefined;
380
+ duplicate?: boolean | {
381
+ enabled?: boolean | undefined;
382
+ label?: string | undefined;
383
+ icon?: string | undefined;
384
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
385
+ } | undefined;
386
+ insertAbove?: boolean | {
387
+ enabled?: boolean | undefined;
388
+ label?: string | undefined;
389
+ icon?: string | undefined;
390
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
391
+ } | undefined;
392
+ insertBelow?: boolean | {
393
+ enabled?: boolean | undefined;
394
+ label?: string | undefined;
395
+ icon?: string | undefined;
396
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
397
+ } | undefined;
398
+ move?: boolean | {
399
+ enabled?: boolean | undefined;
400
+ label?: string | undefined;
401
+ icon?: string | undefined;
402
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
403
+ } | undefined;
404
+ } | undefined;
405
+ } | undefined;
314
406
  } | {
315
407
  view: "gantt";
316
408
  dependencyGraph?: boolean | undefined;
317
409
  fullWidth?: boolean | undefined;
410
+ rowActions?: {
411
+ enabled: boolean;
412
+ position?: "before-index" | "after-index" | "end" | undefined;
413
+ dropdownThreshold?: number | undefined;
414
+ forceDropdown?: boolean | undefined;
415
+ actions?: {
416
+ add?: boolean | {
417
+ enabled?: boolean | undefined;
418
+ label?: string | undefined;
419
+ icon?: string | undefined;
420
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
421
+ } | undefined;
422
+ delete?: boolean | {
423
+ enabled?: boolean | undefined;
424
+ label?: string | undefined;
425
+ icon?: string | undefined;
426
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
427
+ } | undefined;
428
+ duplicate?: boolean | {
429
+ enabled?: boolean | undefined;
430
+ label?: string | undefined;
431
+ icon?: string | undefined;
432
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
433
+ } | undefined;
434
+ insertAbove?: boolean | {
435
+ enabled?: boolean | undefined;
436
+ label?: string | undefined;
437
+ icon?: string | undefined;
438
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
439
+ } | undefined;
440
+ insertBelow?: boolean | {
441
+ enabled?: boolean | undefined;
442
+ label?: string | undefined;
443
+ icon?: string | undefined;
444
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
445
+ } | undefined;
446
+ move?: boolean | {
447
+ enabled?: boolean | undefined;
448
+ label?: string | undefined;
449
+ icon?: string | undefined;
450
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
451
+ } | undefined;
452
+ } | undefined;
453
+ } | undefined;
318
454
  } | {
319
455
  view: "tree-gantt";
320
456
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
321
457
  dependencyGraph?: boolean | undefined;
322
458
  fullWidth?: boolean | undefined;
459
+ rowActions?: {
460
+ enabled: boolean;
461
+ position?: "before-index" | "after-index" | "end" | undefined;
462
+ dropdownThreshold?: number | undefined;
463
+ forceDropdown?: boolean | undefined;
464
+ actions?: {
465
+ add?: boolean | {
466
+ enabled?: boolean | undefined;
467
+ label?: string | undefined;
468
+ icon?: string | undefined;
469
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
470
+ } | undefined;
471
+ delete?: boolean | {
472
+ enabled?: boolean | undefined;
473
+ label?: string | undefined;
474
+ icon?: string | undefined;
475
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
476
+ } | undefined;
477
+ duplicate?: boolean | {
478
+ enabled?: boolean | undefined;
479
+ label?: string | undefined;
480
+ icon?: string | undefined;
481
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
482
+ } | undefined;
483
+ insertAbove?: boolean | {
484
+ enabled?: boolean | undefined;
485
+ label?: string | undefined;
486
+ icon?: string | undefined;
487
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
488
+ } | undefined;
489
+ insertBelow?: boolean | {
490
+ enabled?: boolean | undefined;
491
+ label?: string | undefined;
492
+ icon?: string | undefined;
493
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
494
+ } | undefined;
495
+ move?: boolean | {
496
+ enabled?: boolean | undefined;
497
+ label?: string | undefined;
498
+ icon?: string | undefined;
499
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
500
+ } | undefined;
501
+ } | undefined;
502
+ } | undefined;
323
503
  }, TableConfig | {
324
504
  view?: "uncounted" | "list" | "list-expansion" | undefined;
325
505
  fullWidth?: boolean | undefined;
506
+ rowActions?: {
507
+ enabled: boolean;
508
+ position?: "before-index" | "after-index" | "end" | undefined;
509
+ dropdownThreshold?: number | undefined;
510
+ forceDropdown?: boolean | undefined;
511
+ actions?: {
512
+ add?: boolean | {
513
+ enabled?: boolean | undefined;
514
+ label?: string | undefined;
515
+ icon?: string | undefined;
516
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
517
+ } | undefined;
518
+ delete?: boolean | {
519
+ enabled?: boolean | undefined;
520
+ label?: string | undefined;
521
+ icon?: string | undefined;
522
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
523
+ } | undefined;
524
+ duplicate?: boolean | {
525
+ enabled?: boolean | undefined;
526
+ label?: string | undefined;
527
+ icon?: string | undefined;
528
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
529
+ } | undefined;
530
+ insertAbove?: boolean | {
531
+ enabled?: boolean | undefined;
532
+ label?: string | undefined;
533
+ icon?: string | undefined;
534
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
535
+ } | undefined;
536
+ insertBelow?: boolean | {
537
+ enabled?: boolean | undefined;
538
+ label?: string | undefined;
539
+ icon?: string | undefined;
540
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
541
+ } | undefined;
542
+ move?: boolean | {
543
+ enabled?: boolean | undefined;
544
+ label?: string | undefined;
545
+ icon?: string | undefined;
546
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
547
+ } | undefined;
548
+ } | undefined;
549
+ } | undefined;
326
550
  } | {
327
551
  view: "tree";
328
552
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
329
553
  fullWidth?: boolean | undefined;
554
+ rowActions?: {
555
+ enabled: boolean;
556
+ position?: "before-index" | "after-index" | "end" | undefined;
557
+ dropdownThreshold?: number | undefined;
558
+ forceDropdown?: boolean | undefined;
559
+ actions?: {
560
+ add?: boolean | {
561
+ enabled?: boolean | undefined;
562
+ label?: string | undefined;
563
+ icon?: string | undefined;
564
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
565
+ } | undefined;
566
+ delete?: boolean | {
567
+ enabled?: boolean | undefined;
568
+ label?: string | undefined;
569
+ icon?: string | undefined;
570
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
571
+ } | undefined;
572
+ duplicate?: boolean | {
573
+ enabled?: boolean | undefined;
574
+ label?: string | undefined;
575
+ icon?: string | undefined;
576
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
577
+ } | undefined;
578
+ insertAbove?: boolean | {
579
+ enabled?: boolean | undefined;
580
+ label?: string | undefined;
581
+ icon?: string | undefined;
582
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
583
+ } | undefined;
584
+ insertBelow?: boolean | {
585
+ enabled?: boolean | undefined;
586
+ label?: string | undefined;
587
+ icon?: string | undefined;
588
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
589
+ } | undefined;
590
+ move?: boolean | {
591
+ enabled?: boolean | undefined;
592
+ label?: string | undefined;
593
+ icon?: string | undefined;
594
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
595
+ } | undefined;
596
+ } | undefined;
597
+ } | undefined;
330
598
  } | {
331
599
  view: "gantt";
332
600
  dependencyGraph?: boolean | undefined;
333
601
  fullWidth?: boolean | undefined;
602
+ rowActions?: {
603
+ enabled: boolean;
604
+ position?: "before-index" | "after-index" | "end" | undefined;
605
+ dropdownThreshold?: number | undefined;
606
+ forceDropdown?: boolean | undefined;
607
+ actions?: {
608
+ add?: boolean | {
609
+ enabled?: boolean | undefined;
610
+ label?: string | undefined;
611
+ icon?: string | undefined;
612
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
613
+ } | undefined;
614
+ delete?: boolean | {
615
+ enabled?: boolean | undefined;
616
+ label?: string | undefined;
617
+ icon?: string | undefined;
618
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
619
+ } | undefined;
620
+ duplicate?: boolean | {
621
+ enabled?: boolean | undefined;
622
+ label?: string | undefined;
623
+ icon?: string | undefined;
624
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
625
+ } | undefined;
626
+ insertAbove?: boolean | {
627
+ enabled?: boolean | undefined;
628
+ label?: string | undefined;
629
+ icon?: string | undefined;
630
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
631
+ } | undefined;
632
+ insertBelow?: boolean | {
633
+ enabled?: boolean | undefined;
634
+ label?: string | undefined;
635
+ icon?: string | undefined;
636
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
637
+ } | undefined;
638
+ move?: boolean | {
639
+ enabled?: boolean | undefined;
640
+ label?: string | undefined;
641
+ icon?: string | undefined;
642
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
643
+ } | undefined;
644
+ } | undefined;
645
+ } | undefined;
334
646
  } | {
335
647
  view: "tree-gantt";
336
648
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
337
649
  dependencyGraph?: boolean | undefined;
338
650
  fullWidth?: boolean | undefined;
651
+ rowActions?: {
652
+ enabled: boolean;
653
+ position?: "before-index" | "after-index" | "end" | undefined;
654
+ dropdownThreshold?: number | undefined;
655
+ forceDropdown?: boolean | undefined;
656
+ actions?: {
657
+ add?: boolean | {
658
+ enabled?: boolean | undefined;
659
+ label?: string | undefined;
660
+ icon?: string | undefined;
661
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
662
+ } | undefined;
663
+ delete?: boolean | {
664
+ enabled?: boolean | undefined;
665
+ label?: string | undefined;
666
+ icon?: string | undefined;
667
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
668
+ } | undefined;
669
+ duplicate?: boolean | {
670
+ enabled?: boolean | undefined;
671
+ label?: string | undefined;
672
+ icon?: string | undefined;
673
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
674
+ } | undefined;
675
+ insertAbove?: boolean | {
676
+ enabled?: boolean | undefined;
677
+ label?: string | undefined;
678
+ icon?: string | undefined;
679
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
680
+ } | undefined;
681
+ insertBelow?: boolean | {
682
+ enabled?: boolean | undefined;
683
+ label?: string | undefined;
684
+ icon?: string | undefined;
685
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
686
+ } | undefined;
687
+ move?: boolean | {
688
+ enabled?: boolean | undefined;
689
+ label?: string | undefined;
690
+ icon?: string | undefined;
691
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
692
+ } | undefined;
693
+ } | undefined;
694
+ } | undefined;
339
695
  }>;
340
696
  connectionHandles: Ref< {
341
697
  id: string;
@@ -493,6 +849,7 @@ isTreeView: ComputedRef<boolean>;
493
849
  isDependencyGraphEnabled: ComputedRef<boolean>;
494
850
  numberedRowWidth: ComputedRef<string>;
495
851
  zeroColumn: ComputedRef<boolean>;
852
+ addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
496
853
  clearFilter: (colIndex: number) => void;
497
854
  closeModal: (event: MouseEvent) => void;
498
855
  createConnection: (fromHandleId: string, toHandleId: string, options?: {
@@ -500,6 +857,8 @@ style?: ConnectionPath["style"];
500
857
  label?: string;
501
858
  }) => ConnectionPath | null;
502
859
  deleteConnection: (connectionId: string) => boolean;
860
+ deleteRow: (rowIndex: number) => TableRow | null;
861
+ duplicateRow: (rowIndex: number) => number;
503
862
  getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
504
863
  getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
505
864
  getConnectionsForBar: (barId: string) => {
@@ -534,8 +893,11 @@ barId: string;
534
893
  getHeaderCellStyle: (column: TableColumn) => CSSProperties;
535
894
  getIndent: (colIndex: number, indentLevel?: number) => string;
536
895
  getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
896
+ insertRowAbove: (rowIndex: number, rowData?: Partial<TableRow>) => number;
897
+ insertRowBelow: (rowIndex: number, rowData?: Partial<TableRow>) => number;
537
898
  isRowGantt: (rowIndex: number) => boolean;
538
899
  isRowVisible: (rowIndex: number) => boolean | undefined;
900
+ moveRow: (fromIndex: number, toIndex: number) => boolean;
539
901
  registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
540
902
  registerGanttBar: (barInfo: GanttBarInfo) => void;
541
903
  resizeColumn: (colIndex: number, newWidth: number) => void;
@@ -601,35 +963,387 @@ originalIndex?: number | undefined;
601
963
  config: Ref< {
602
964
  view?: "uncounted" | "list" | "list-expansion" | undefined;
603
965
  fullWidth?: boolean | undefined;
966
+ rowActions?: {
967
+ enabled: boolean;
968
+ position?: "before-index" | "after-index" | "end" | undefined;
969
+ dropdownThreshold?: number | undefined;
970
+ forceDropdown?: boolean | undefined;
971
+ actions?: {
972
+ add?: boolean | {
973
+ enabled?: boolean | undefined;
974
+ label?: string | undefined;
975
+ icon?: string | undefined;
976
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
977
+ } | undefined;
978
+ delete?: boolean | {
979
+ enabled?: boolean | undefined;
980
+ label?: string | undefined;
981
+ icon?: string | undefined;
982
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
983
+ } | undefined;
984
+ duplicate?: boolean | {
985
+ enabled?: boolean | undefined;
986
+ label?: string | undefined;
987
+ icon?: string | undefined;
988
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
989
+ } | undefined;
990
+ insertAbove?: boolean | {
991
+ enabled?: boolean | undefined;
992
+ label?: string | undefined;
993
+ icon?: string | undefined;
994
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
995
+ } | undefined;
996
+ insertBelow?: boolean | {
997
+ enabled?: boolean | undefined;
998
+ label?: string | undefined;
999
+ icon?: string | undefined;
1000
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1001
+ } | undefined;
1002
+ move?: boolean | {
1003
+ enabled?: boolean | undefined;
1004
+ label?: string | undefined;
1005
+ icon?: string | undefined;
1006
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1007
+ } | undefined;
1008
+ } | undefined;
1009
+ } | undefined;
604
1010
  } | {
605
1011
  view: "tree";
606
1012
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
607
1013
  fullWidth?: boolean | undefined;
1014
+ rowActions?: {
1015
+ enabled: boolean;
1016
+ position?: "before-index" | "after-index" | "end" | undefined;
1017
+ dropdownThreshold?: number | undefined;
1018
+ forceDropdown?: boolean | undefined;
1019
+ actions?: {
1020
+ add?: boolean | {
1021
+ enabled?: boolean | undefined;
1022
+ label?: string | undefined;
1023
+ icon?: string | undefined;
1024
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1025
+ } | undefined;
1026
+ delete?: boolean | {
1027
+ enabled?: boolean | undefined;
1028
+ label?: string | undefined;
1029
+ icon?: string | undefined;
1030
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1031
+ } | undefined;
1032
+ duplicate?: boolean | {
1033
+ enabled?: boolean | undefined;
1034
+ label?: string | undefined;
1035
+ icon?: string | undefined;
1036
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1037
+ } | undefined;
1038
+ insertAbove?: boolean | {
1039
+ enabled?: boolean | undefined;
1040
+ label?: string | undefined;
1041
+ icon?: string | undefined;
1042
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1043
+ } | undefined;
1044
+ insertBelow?: boolean | {
1045
+ enabled?: boolean | undefined;
1046
+ label?: string | undefined;
1047
+ icon?: string | undefined;
1048
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1049
+ } | undefined;
1050
+ move?: boolean | {
1051
+ enabled?: boolean | undefined;
1052
+ label?: string | undefined;
1053
+ icon?: string | undefined;
1054
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1055
+ } | undefined;
1056
+ } | undefined;
1057
+ } | undefined;
608
1058
  } | {
609
1059
  view: "gantt";
610
1060
  dependencyGraph?: boolean | undefined;
611
1061
  fullWidth?: boolean | undefined;
1062
+ rowActions?: {
1063
+ enabled: boolean;
1064
+ position?: "before-index" | "after-index" | "end" | undefined;
1065
+ dropdownThreshold?: number | undefined;
1066
+ forceDropdown?: boolean | undefined;
1067
+ actions?: {
1068
+ add?: boolean | {
1069
+ enabled?: boolean | undefined;
1070
+ label?: string | undefined;
1071
+ icon?: string | undefined;
1072
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1073
+ } | undefined;
1074
+ delete?: boolean | {
1075
+ enabled?: boolean | undefined;
1076
+ label?: string | undefined;
1077
+ icon?: string | undefined;
1078
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1079
+ } | undefined;
1080
+ duplicate?: boolean | {
1081
+ enabled?: boolean | undefined;
1082
+ label?: string | undefined;
1083
+ icon?: string | undefined;
1084
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1085
+ } | undefined;
1086
+ insertAbove?: boolean | {
1087
+ enabled?: boolean | undefined;
1088
+ label?: string | undefined;
1089
+ icon?: string | undefined;
1090
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1091
+ } | undefined;
1092
+ insertBelow?: boolean | {
1093
+ enabled?: boolean | undefined;
1094
+ label?: string | undefined;
1095
+ icon?: string | undefined;
1096
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1097
+ } | undefined;
1098
+ move?: boolean | {
1099
+ enabled?: boolean | undefined;
1100
+ label?: string | undefined;
1101
+ icon?: string | undefined;
1102
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1103
+ } | undefined;
1104
+ } | undefined;
1105
+ } | undefined;
612
1106
  } | {
613
1107
  view: "tree-gantt";
614
1108
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
615
1109
  dependencyGraph?: boolean | undefined;
616
1110
  fullWidth?: boolean | undefined;
1111
+ rowActions?: {
1112
+ enabled: boolean;
1113
+ position?: "before-index" | "after-index" | "end" | undefined;
1114
+ dropdownThreshold?: number | undefined;
1115
+ forceDropdown?: boolean | undefined;
1116
+ actions?: {
1117
+ add?: boolean | {
1118
+ enabled?: boolean | undefined;
1119
+ label?: string | undefined;
1120
+ icon?: string | undefined;
1121
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1122
+ } | undefined;
1123
+ delete?: boolean | {
1124
+ enabled?: boolean | undefined;
1125
+ label?: string | undefined;
1126
+ icon?: string | undefined;
1127
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1128
+ } | undefined;
1129
+ duplicate?: boolean | {
1130
+ enabled?: boolean | undefined;
1131
+ label?: string | undefined;
1132
+ icon?: string | undefined;
1133
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1134
+ } | undefined;
1135
+ insertAbove?: boolean | {
1136
+ enabled?: boolean | undefined;
1137
+ label?: string | undefined;
1138
+ icon?: string | undefined;
1139
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1140
+ } | undefined;
1141
+ insertBelow?: boolean | {
1142
+ enabled?: boolean | undefined;
1143
+ label?: string | undefined;
1144
+ icon?: string | undefined;
1145
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1146
+ } | undefined;
1147
+ move?: boolean | {
1148
+ enabled?: boolean | undefined;
1149
+ label?: string | undefined;
1150
+ icon?: string | undefined;
1151
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1152
+ } | undefined;
1153
+ } | undefined;
1154
+ } | undefined;
617
1155
  }, TableConfig | {
618
1156
  view?: "uncounted" | "list" | "list-expansion" | undefined;
619
1157
  fullWidth?: boolean | undefined;
1158
+ rowActions?: {
1159
+ enabled: boolean;
1160
+ position?: "before-index" | "after-index" | "end" | undefined;
1161
+ dropdownThreshold?: number | undefined;
1162
+ forceDropdown?: boolean | undefined;
1163
+ actions?: {
1164
+ add?: boolean | {
1165
+ enabled?: boolean | undefined;
1166
+ label?: string | undefined;
1167
+ icon?: string | undefined;
1168
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1169
+ } | undefined;
1170
+ delete?: boolean | {
1171
+ enabled?: boolean | undefined;
1172
+ label?: string | undefined;
1173
+ icon?: string | undefined;
1174
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1175
+ } | undefined;
1176
+ duplicate?: boolean | {
1177
+ enabled?: boolean | undefined;
1178
+ label?: string | undefined;
1179
+ icon?: string | undefined;
1180
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1181
+ } | undefined;
1182
+ insertAbove?: boolean | {
1183
+ enabled?: boolean | undefined;
1184
+ label?: string | undefined;
1185
+ icon?: string | undefined;
1186
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1187
+ } | undefined;
1188
+ insertBelow?: boolean | {
1189
+ enabled?: boolean | undefined;
1190
+ label?: string | undefined;
1191
+ icon?: string | undefined;
1192
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1193
+ } | undefined;
1194
+ move?: boolean | {
1195
+ enabled?: boolean | undefined;
1196
+ label?: string | undefined;
1197
+ icon?: string | undefined;
1198
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1199
+ } | undefined;
1200
+ } | undefined;
1201
+ } | undefined;
620
1202
  } | {
621
1203
  view: "tree";
622
1204
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
623
1205
  fullWidth?: boolean | undefined;
1206
+ rowActions?: {
1207
+ enabled: boolean;
1208
+ position?: "before-index" | "after-index" | "end" | undefined;
1209
+ dropdownThreshold?: number | undefined;
1210
+ forceDropdown?: boolean | undefined;
1211
+ actions?: {
1212
+ add?: boolean | {
1213
+ enabled?: boolean | undefined;
1214
+ label?: string | undefined;
1215
+ icon?: string | undefined;
1216
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1217
+ } | undefined;
1218
+ delete?: boolean | {
1219
+ enabled?: boolean | undefined;
1220
+ label?: string | undefined;
1221
+ icon?: string | undefined;
1222
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1223
+ } | undefined;
1224
+ duplicate?: boolean | {
1225
+ enabled?: boolean | undefined;
1226
+ label?: string | undefined;
1227
+ icon?: string | undefined;
1228
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1229
+ } | undefined;
1230
+ insertAbove?: boolean | {
1231
+ enabled?: boolean | undefined;
1232
+ label?: string | undefined;
1233
+ icon?: string | undefined;
1234
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1235
+ } | undefined;
1236
+ insertBelow?: boolean | {
1237
+ enabled?: boolean | undefined;
1238
+ label?: string | undefined;
1239
+ icon?: string | undefined;
1240
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1241
+ } | undefined;
1242
+ move?: boolean | {
1243
+ enabled?: boolean | undefined;
1244
+ label?: string | undefined;
1245
+ icon?: string | undefined;
1246
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1247
+ } | undefined;
1248
+ } | undefined;
1249
+ } | undefined;
624
1250
  } | {
625
1251
  view: "gantt";
626
1252
  dependencyGraph?: boolean | undefined;
627
1253
  fullWidth?: boolean | undefined;
1254
+ rowActions?: {
1255
+ enabled: boolean;
1256
+ position?: "before-index" | "after-index" | "end" | undefined;
1257
+ dropdownThreshold?: number | undefined;
1258
+ forceDropdown?: boolean | undefined;
1259
+ actions?: {
1260
+ add?: boolean | {
1261
+ enabled?: boolean | undefined;
1262
+ label?: string | undefined;
1263
+ icon?: string | undefined;
1264
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1265
+ } | undefined;
1266
+ delete?: boolean | {
1267
+ enabled?: boolean | undefined;
1268
+ label?: string | undefined;
1269
+ icon?: string | undefined;
1270
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1271
+ } | undefined;
1272
+ duplicate?: boolean | {
1273
+ enabled?: boolean | undefined;
1274
+ label?: string | undefined;
1275
+ icon?: string | undefined;
1276
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1277
+ } | undefined;
1278
+ insertAbove?: boolean | {
1279
+ enabled?: boolean | undefined;
1280
+ label?: string | undefined;
1281
+ icon?: string | undefined;
1282
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1283
+ } | undefined;
1284
+ insertBelow?: boolean | {
1285
+ enabled?: boolean | undefined;
1286
+ label?: string | undefined;
1287
+ icon?: string | undefined;
1288
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1289
+ } | undefined;
1290
+ move?: boolean | {
1291
+ enabled?: boolean | undefined;
1292
+ label?: string | undefined;
1293
+ icon?: string | undefined;
1294
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1295
+ } | undefined;
1296
+ } | undefined;
1297
+ } | undefined;
628
1298
  } | {
629
1299
  view: "tree-gantt";
630
1300
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
631
1301
  dependencyGraph?: boolean | undefined;
632
1302
  fullWidth?: boolean | undefined;
1303
+ rowActions?: {
1304
+ enabled: boolean;
1305
+ position?: "before-index" | "after-index" | "end" | undefined;
1306
+ dropdownThreshold?: number | undefined;
1307
+ forceDropdown?: boolean | undefined;
1308
+ actions?: {
1309
+ add?: boolean | {
1310
+ enabled?: boolean | undefined;
1311
+ label?: string | undefined;
1312
+ icon?: string | undefined;
1313
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1314
+ } | undefined;
1315
+ delete?: boolean | {
1316
+ enabled?: boolean | undefined;
1317
+ label?: string | undefined;
1318
+ icon?: string | undefined;
1319
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1320
+ } | undefined;
1321
+ duplicate?: boolean | {
1322
+ enabled?: boolean | undefined;
1323
+ label?: string | undefined;
1324
+ icon?: string | undefined;
1325
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1326
+ } | undefined;
1327
+ insertAbove?: boolean | {
1328
+ enabled?: boolean | undefined;
1329
+ label?: string | undefined;
1330
+ icon?: string | undefined;
1331
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1332
+ } | undefined;
1333
+ insertBelow?: boolean | {
1334
+ enabled?: boolean | undefined;
1335
+ label?: string | undefined;
1336
+ icon?: string | undefined;
1337
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1338
+ } | undefined;
1339
+ move?: boolean | {
1340
+ enabled?: boolean | undefined;
1341
+ label?: string | undefined;
1342
+ icon?: string | undefined;
1343
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1344
+ } | undefined;
1345
+ } | undefined;
1346
+ } | undefined;
633
1347
  }>;
634
1348
  connectionHandles: Ref< {
635
1349
  id: string;
@@ -787,6 +1501,7 @@ isTreeView: ComputedRef<boolean>;
787
1501
  isDependencyGraphEnabled: ComputedRef<boolean>;
788
1502
  numberedRowWidth: ComputedRef<string>;
789
1503
  zeroColumn: ComputedRef<boolean>;
1504
+ addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
790
1505
  clearFilter: (colIndex: number) => void;
791
1506
  closeModal: (event: MouseEvent) => void;
792
1507
  createConnection: (fromHandleId: string, toHandleId: string, options?: {
@@ -794,6 +1509,8 @@ style?: ConnectionPath["style"];
794
1509
  label?: string;
795
1510
  }) => ConnectionPath | null;
796
1511
  deleteConnection: (connectionId: string) => boolean;
1512
+ deleteRow: (rowIndex: number) => TableRow | null;
1513
+ duplicateRow: (rowIndex: number) => number;
797
1514
  getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
798
1515
  getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
799
1516
  getConnectionsForBar: (barId: string) => {
@@ -828,8 +1545,11 @@ barId: string;
828
1545
  getHeaderCellStyle: (column: TableColumn) => CSSProperties;
829
1546
  getIndent: (colIndex: number, indentLevel?: number) => string;
830
1547
  getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
1548
+ insertRowAbove: (rowIndex: number, rowData?: Partial<TableRow>) => number;
1549
+ insertRowBelow: (rowIndex: number, rowData?: Partial<TableRow>) => number;
831
1550
  isRowGantt: (rowIndex: number) => boolean;
832
1551
  isRowVisible: (rowIndex: number) => boolean | undefined;
1552
+ moveRow: (fromIndex: number, toIndex: number) => boolean;
833
1553
  registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
834
1554
  registerGanttBar: (barInfo: GanttBarInfo) => void;
835
1555
  resizeColumn: (colIndex: number, newWidth: number) => void;
@@ -895,35 +1615,387 @@ originalIndex?: number | undefined;
895
1615
  config: Ref< {
896
1616
  view?: "uncounted" | "list" | "list-expansion" | undefined;
897
1617
  fullWidth?: boolean | undefined;
1618
+ rowActions?: {
1619
+ enabled: boolean;
1620
+ position?: "before-index" | "after-index" | "end" | undefined;
1621
+ dropdownThreshold?: number | undefined;
1622
+ forceDropdown?: boolean | undefined;
1623
+ actions?: {
1624
+ add?: boolean | {
1625
+ enabled?: boolean | undefined;
1626
+ label?: string | undefined;
1627
+ icon?: string | undefined;
1628
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1629
+ } | undefined;
1630
+ delete?: boolean | {
1631
+ enabled?: boolean | undefined;
1632
+ label?: string | undefined;
1633
+ icon?: string | undefined;
1634
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1635
+ } | undefined;
1636
+ duplicate?: boolean | {
1637
+ enabled?: boolean | undefined;
1638
+ label?: string | undefined;
1639
+ icon?: string | undefined;
1640
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1641
+ } | undefined;
1642
+ insertAbove?: boolean | {
1643
+ enabled?: boolean | undefined;
1644
+ label?: string | undefined;
1645
+ icon?: string | undefined;
1646
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1647
+ } | undefined;
1648
+ insertBelow?: boolean | {
1649
+ enabled?: boolean | undefined;
1650
+ label?: string | undefined;
1651
+ icon?: string | undefined;
1652
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1653
+ } | undefined;
1654
+ move?: boolean | {
1655
+ enabled?: boolean | undefined;
1656
+ label?: string | undefined;
1657
+ icon?: string | undefined;
1658
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1659
+ } | undefined;
1660
+ } | undefined;
1661
+ } | undefined;
898
1662
  } | {
899
1663
  view: "tree";
900
1664
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
901
1665
  fullWidth?: boolean | undefined;
1666
+ rowActions?: {
1667
+ enabled: boolean;
1668
+ position?: "before-index" | "after-index" | "end" | undefined;
1669
+ dropdownThreshold?: number | undefined;
1670
+ forceDropdown?: boolean | undefined;
1671
+ actions?: {
1672
+ add?: boolean | {
1673
+ enabled?: boolean | undefined;
1674
+ label?: string | undefined;
1675
+ icon?: string | undefined;
1676
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1677
+ } | undefined;
1678
+ delete?: boolean | {
1679
+ enabled?: boolean | undefined;
1680
+ label?: string | undefined;
1681
+ icon?: string | undefined;
1682
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1683
+ } | undefined;
1684
+ duplicate?: boolean | {
1685
+ enabled?: boolean | undefined;
1686
+ label?: string | undefined;
1687
+ icon?: string | undefined;
1688
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1689
+ } | undefined;
1690
+ insertAbove?: boolean | {
1691
+ enabled?: boolean | undefined;
1692
+ label?: string | undefined;
1693
+ icon?: string | undefined;
1694
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1695
+ } | undefined;
1696
+ insertBelow?: boolean | {
1697
+ enabled?: boolean | undefined;
1698
+ label?: string | undefined;
1699
+ icon?: string | undefined;
1700
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1701
+ } | undefined;
1702
+ move?: boolean | {
1703
+ enabled?: boolean | undefined;
1704
+ label?: string | undefined;
1705
+ icon?: string | undefined;
1706
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1707
+ } | undefined;
1708
+ } | undefined;
1709
+ } | undefined;
902
1710
  } | {
903
1711
  view: "gantt";
904
1712
  dependencyGraph?: boolean | undefined;
905
1713
  fullWidth?: boolean | undefined;
1714
+ rowActions?: {
1715
+ enabled: boolean;
1716
+ position?: "before-index" | "after-index" | "end" | undefined;
1717
+ dropdownThreshold?: number | undefined;
1718
+ forceDropdown?: boolean | undefined;
1719
+ actions?: {
1720
+ add?: boolean | {
1721
+ enabled?: boolean | undefined;
1722
+ label?: string | undefined;
1723
+ icon?: string | undefined;
1724
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1725
+ } | undefined;
1726
+ delete?: boolean | {
1727
+ enabled?: boolean | undefined;
1728
+ label?: string | undefined;
1729
+ icon?: string | undefined;
1730
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1731
+ } | undefined;
1732
+ duplicate?: boolean | {
1733
+ enabled?: boolean | undefined;
1734
+ label?: string | undefined;
1735
+ icon?: string | undefined;
1736
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1737
+ } | undefined;
1738
+ insertAbove?: boolean | {
1739
+ enabled?: boolean | undefined;
1740
+ label?: string | undefined;
1741
+ icon?: string | undefined;
1742
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1743
+ } | undefined;
1744
+ insertBelow?: boolean | {
1745
+ enabled?: boolean | undefined;
1746
+ label?: string | undefined;
1747
+ icon?: string | undefined;
1748
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1749
+ } | undefined;
1750
+ move?: boolean | {
1751
+ enabled?: boolean | undefined;
1752
+ label?: string | undefined;
1753
+ icon?: string | undefined;
1754
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1755
+ } | undefined;
1756
+ } | undefined;
1757
+ } | undefined;
906
1758
  } | {
907
1759
  view: "tree-gantt";
908
1760
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
909
1761
  dependencyGraph?: boolean | undefined;
910
1762
  fullWidth?: boolean | undefined;
1763
+ rowActions?: {
1764
+ enabled: boolean;
1765
+ position?: "before-index" | "after-index" | "end" | undefined;
1766
+ dropdownThreshold?: number | undefined;
1767
+ forceDropdown?: boolean | undefined;
1768
+ actions?: {
1769
+ add?: boolean | {
1770
+ enabled?: boolean | undefined;
1771
+ label?: string | undefined;
1772
+ icon?: string | undefined;
1773
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1774
+ } | undefined;
1775
+ delete?: boolean | {
1776
+ enabled?: boolean | undefined;
1777
+ label?: string | undefined;
1778
+ icon?: string | undefined;
1779
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1780
+ } | undefined;
1781
+ duplicate?: boolean | {
1782
+ enabled?: boolean | undefined;
1783
+ label?: string | undefined;
1784
+ icon?: string | undefined;
1785
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1786
+ } | undefined;
1787
+ insertAbove?: boolean | {
1788
+ enabled?: boolean | undefined;
1789
+ label?: string | undefined;
1790
+ icon?: string | undefined;
1791
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1792
+ } | undefined;
1793
+ insertBelow?: boolean | {
1794
+ enabled?: boolean | undefined;
1795
+ label?: string | undefined;
1796
+ icon?: string | undefined;
1797
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1798
+ } | undefined;
1799
+ move?: boolean | {
1800
+ enabled?: boolean | undefined;
1801
+ label?: string | undefined;
1802
+ icon?: string | undefined;
1803
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1804
+ } | undefined;
1805
+ } | undefined;
1806
+ } | undefined;
911
1807
  }, TableConfig | {
912
1808
  view?: "uncounted" | "list" | "list-expansion" | undefined;
913
1809
  fullWidth?: boolean | undefined;
1810
+ rowActions?: {
1811
+ enabled: boolean;
1812
+ position?: "before-index" | "after-index" | "end" | undefined;
1813
+ dropdownThreshold?: number | undefined;
1814
+ forceDropdown?: boolean | undefined;
1815
+ actions?: {
1816
+ add?: boolean | {
1817
+ enabled?: boolean | undefined;
1818
+ label?: string | undefined;
1819
+ icon?: string | undefined;
1820
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1821
+ } | undefined;
1822
+ delete?: boolean | {
1823
+ enabled?: boolean | undefined;
1824
+ label?: string | undefined;
1825
+ icon?: string | undefined;
1826
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1827
+ } | undefined;
1828
+ duplicate?: boolean | {
1829
+ enabled?: boolean | undefined;
1830
+ label?: string | undefined;
1831
+ icon?: string | undefined;
1832
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1833
+ } | undefined;
1834
+ insertAbove?: boolean | {
1835
+ enabled?: boolean | undefined;
1836
+ label?: string | undefined;
1837
+ icon?: string | undefined;
1838
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1839
+ } | undefined;
1840
+ insertBelow?: boolean | {
1841
+ enabled?: boolean | undefined;
1842
+ label?: string | undefined;
1843
+ icon?: string | undefined;
1844
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1845
+ } | undefined;
1846
+ move?: boolean | {
1847
+ enabled?: boolean | undefined;
1848
+ label?: string | undefined;
1849
+ icon?: string | undefined;
1850
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1851
+ } | undefined;
1852
+ } | undefined;
1853
+ } | undefined;
914
1854
  } | {
915
1855
  view: "tree";
916
1856
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
917
1857
  fullWidth?: boolean | undefined;
1858
+ rowActions?: {
1859
+ enabled: boolean;
1860
+ position?: "before-index" | "after-index" | "end" | undefined;
1861
+ dropdownThreshold?: number | undefined;
1862
+ forceDropdown?: boolean | undefined;
1863
+ actions?: {
1864
+ add?: boolean | {
1865
+ enabled?: boolean | undefined;
1866
+ label?: string | undefined;
1867
+ icon?: string | undefined;
1868
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1869
+ } | undefined;
1870
+ delete?: boolean | {
1871
+ enabled?: boolean | undefined;
1872
+ label?: string | undefined;
1873
+ icon?: string | undefined;
1874
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1875
+ } | undefined;
1876
+ duplicate?: boolean | {
1877
+ enabled?: boolean | undefined;
1878
+ label?: string | undefined;
1879
+ icon?: string | undefined;
1880
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1881
+ } | undefined;
1882
+ insertAbove?: boolean | {
1883
+ enabled?: boolean | undefined;
1884
+ label?: string | undefined;
1885
+ icon?: string | undefined;
1886
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1887
+ } | undefined;
1888
+ insertBelow?: boolean | {
1889
+ enabled?: boolean | undefined;
1890
+ label?: string | undefined;
1891
+ icon?: string | undefined;
1892
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1893
+ } | undefined;
1894
+ move?: boolean | {
1895
+ enabled?: boolean | undefined;
1896
+ label?: string | undefined;
1897
+ icon?: string | undefined;
1898
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1899
+ } | undefined;
1900
+ } | undefined;
1901
+ } | undefined;
918
1902
  } | {
919
1903
  view: "gantt";
920
1904
  dependencyGraph?: boolean | undefined;
921
1905
  fullWidth?: boolean | undefined;
1906
+ rowActions?: {
1907
+ enabled: boolean;
1908
+ position?: "before-index" | "after-index" | "end" | undefined;
1909
+ dropdownThreshold?: number | undefined;
1910
+ forceDropdown?: boolean | undefined;
1911
+ actions?: {
1912
+ add?: boolean | {
1913
+ enabled?: boolean | undefined;
1914
+ label?: string | undefined;
1915
+ icon?: string | undefined;
1916
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1917
+ } | undefined;
1918
+ delete?: boolean | {
1919
+ enabled?: boolean | undefined;
1920
+ label?: string | undefined;
1921
+ icon?: string | undefined;
1922
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1923
+ } | undefined;
1924
+ duplicate?: boolean | {
1925
+ enabled?: boolean | undefined;
1926
+ label?: string | undefined;
1927
+ icon?: string | undefined;
1928
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1929
+ } | undefined;
1930
+ insertAbove?: boolean | {
1931
+ enabled?: boolean | undefined;
1932
+ label?: string | undefined;
1933
+ icon?: string | undefined;
1934
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1935
+ } | undefined;
1936
+ insertBelow?: boolean | {
1937
+ enabled?: boolean | undefined;
1938
+ label?: string | undefined;
1939
+ icon?: string | undefined;
1940
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1941
+ } | undefined;
1942
+ move?: boolean | {
1943
+ enabled?: boolean | undefined;
1944
+ label?: string | undefined;
1945
+ icon?: string | undefined;
1946
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1947
+ } | undefined;
1948
+ } | undefined;
1949
+ } | undefined;
922
1950
  } | {
923
1951
  view: "tree-gantt";
924
1952
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
925
1953
  dependencyGraph?: boolean | undefined;
926
1954
  fullWidth?: boolean | undefined;
1955
+ rowActions?: {
1956
+ enabled: boolean;
1957
+ position?: "before-index" | "after-index" | "end" | undefined;
1958
+ dropdownThreshold?: number | undefined;
1959
+ forceDropdown?: boolean | undefined;
1960
+ actions?: {
1961
+ add?: boolean | {
1962
+ enabled?: boolean | undefined;
1963
+ label?: string | undefined;
1964
+ icon?: string | undefined;
1965
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1966
+ } | undefined;
1967
+ delete?: boolean | {
1968
+ enabled?: boolean | undefined;
1969
+ label?: string | undefined;
1970
+ icon?: string | undefined;
1971
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1972
+ } | undefined;
1973
+ duplicate?: boolean | {
1974
+ enabled?: boolean | undefined;
1975
+ label?: string | undefined;
1976
+ icon?: string | undefined;
1977
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1978
+ } | undefined;
1979
+ insertAbove?: boolean | {
1980
+ enabled?: boolean | undefined;
1981
+ label?: string | undefined;
1982
+ icon?: string | undefined;
1983
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1984
+ } | undefined;
1985
+ insertBelow?: boolean | {
1986
+ enabled?: boolean | undefined;
1987
+ label?: string | undefined;
1988
+ icon?: string | undefined;
1989
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1990
+ } | undefined;
1991
+ move?: boolean | {
1992
+ enabled?: boolean | undefined;
1993
+ label?: string | undefined;
1994
+ icon?: string | undefined;
1995
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1996
+ } | undefined;
1997
+ } | undefined;
1998
+ } | undefined;
927
1999
  }>;
928
2000
  connectionHandles: Ref< {
929
2001
  id: string;
@@ -1081,6 +2153,7 @@ isTreeView: ComputedRef<boolean>;
1081
2153
  isDependencyGraphEnabled: ComputedRef<boolean>;
1082
2154
  numberedRowWidth: ComputedRef<string>;
1083
2155
  zeroColumn: ComputedRef<boolean>;
2156
+ addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
1084
2157
  clearFilter: (colIndex: number) => void;
1085
2158
  closeModal: (event: MouseEvent) => void;
1086
2159
  createConnection: (fromHandleId: string, toHandleId: string, options?: {
@@ -1088,6 +2161,8 @@ style?: ConnectionPath["style"];
1088
2161
  label?: string;
1089
2162
  }) => ConnectionPath | null;
1090
2163
  deleteConnection: (connectionId: string) => boolean;
2164
+ deleteRow: (rowIndex: number) => TableRow | null;
2165
+ duplicateRow: (rowIndex: number) => number;
1091
2166
  getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
1092
2167
  getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
1093
2168
  getConnectionsForBar: (barId: string) => {
@@ -1122,8 +2197,11 @@ barId: string;
1122
2197
  getHeaderCellStyle: (column: TableColumn) => CSSProperties;
1123
2198
  getIndent: (colIndex: number, indentLevel?: number) => string;
1124
2199
  getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
2200
+ insertRowAbove: (rowIndex: number, rowData?: Partial<TableRow>) => number;
2201
+ insertRowBelow: (rowIndex: number, rowData?: Partial<TableRow>) => number;
1125
2202
  isRowGantt: (rowIndex: number) => boolean;
1126
2203
  isRowVisible: (rowIndex: number) => boolean | undefined;
2204
+ moveRow: (fromIndex: number, toIndex: number) => boolean;
1127
2205
  registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
1128
2206
  registerGanttBar: (barInfo: GanttBarInfo) => void;
1129
2207
  resizeColumn: (colIndex: number, newWidth: number) => void;
@@ -1136,7 +2214,7 @@ unregisterConnectionHandle: (handleId: string) => void;
1136
2214
  unregisterGanttBar: (barId: string) => void;
1137
2215
  updateGanttBar: (event: GanttDragEvent) => void;
1138
2216
  updateRows: (newRows: TableRow[]) => void;
1139
- }, "clearFilter" | "closeModal" | "createConnection" | "deleteConnection" | "getCellData" | "getCellDisplayValue" | "getConnectionsForBar" | "getFormattedValue" | "getHandlesForBar" | "getHeaderCellStyle" | "getIndent" | "getRowExpandSymbol" | "isRowGantt" | "isRowVisible" | "registerConnectionHandle" | "registerGanttBar" | "resizeColumn" | "setCellData" | "setCellText" | "setFilter" | "sortByColumn" | "toggleRowExpand" | "unregisterConnectionHandle" | "unregisterGanttBar" | "updateGanttBar" | "updateRows">>;
2217
+ }, "addRow" | "clearFilter" | "closeModal" | "createConnection" | "deleteConnection" | "deleteRow" | "duplicateRow" | "getCellData" | "getCellDisplayValue" | "getConnectionsForBar" | "getFormattedValue" | "getHandlesForBar" | "getHeaderCellStyle" | "getIndent" | "getRowExpandSymbol" | "insertRowAbove" | "insertRowBelow" | "isRowGantt" | "isRowVisible" | "moveRow" | "registerConnectionHandle" | "registerGanttBar" | "resizeColumn" | "setCellData" | "setCellText" | "setFilter" | "sortByColumn" | "toggleRowExpand" | "unregisterConnectionHandle" | "unregisterGanttBar" | "updateGanttBar" | "updateRows">>;
1140
2218
 
1141
2219
  /**
1142
2220
  * Schema structure for defining nested doctype fields inside AForm
@@ -1407,6 +2485,132 @@ export declare function install(app: App): void;
1407
2485
 
1408
2486
  export { Login }
1409
2487
 
2488
+ /**
2489
+ * Options for configuring individual row actions.
2490
+ * @public
2491
+ */
2492
+ export declare interface RowActionOptions {
2493
+ /**
2494
+ * Whether the action is enabled.
2495
+ *
2496
+ * @defaultValue true
2497
+ */
2498
+ enabled?: boolean;
2499
+ /**
2500
+ * Custom label for the action (used in dropdown mode).
2501
+ */
2502
+ label?: string;
2503
+ /**
2504
+ * Custom icon override (raw SVG string).
2505
+ */
2506
+ icon?: string;
2507
+ /**
2508
+ * Custom handler for the action. Return false to prevent the default behavior.
2509
+ *
2510
+ * @param rowIndex - The index of the row the action is being performed on
2511
+ * @param store - The table store instance
2512
+ * @returns void or false to prevent default behavior
2513
+ */
2514
+ handler?: (rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean;
2515
+ }
2516
+
2517
+ /**
2518
+ * Configuration for row-level actions (add, delete, duplicate, etc.).
2519
+ * @public
2520
+ */
2521
+ export declare interface RowActionsConfig {
2522
+ /**
2523
+ * Whether row actions are enabled.
2524
+ *
2525
+ * @defaultValue false
2526
+ */
2527
+ enabled: boolean;
2528
+ /**
2529
+ * Position of the row actions column relative to the index column.
2530
+ *
2531
+ * @defaultValue 'before-index'
2532
+ */
2533
+ position?: 'before-index' | 'after-index' | 'end';
2534
+ /**
2535
+ * Pixel width threshold at which to switch from icons to dropdown mode.
2536
+ * Set to 0 to always use icons, or a large number to always use dropdown.
2537
+ *
2538
+ * @defaultValue 150
2539
+ */
2540
+ dropdownThreshold?: number;
2541
+ /**
2542
+ * Force dropdown mode regardless of available width.
2543
+ *
2544
+ * @defaultValue false
2545
+ */
2546
+ forceDropdown?: boolean;
2547
+ /**
2548
+ * Configuration for individual actions. Set to true to enable with defaults,
2549
+ * false to disable, or provide RowActionOptions for custom configuration.
2550
+ */
2551
+ actions?: {
2552
+ add?: boolean | RowActionOptions;
2553
+ delete?: boolean | RowActionOptions;
2554
+ duplicate?: boolean | RowActionOptions;
2555
+ insertAbove?: boolean | RowActionOptions;
2556
+ insertBelow?: boolean | RowActionOptions;
2557
+ move?: boolean | RowActionOptions;
2558
+ };
2559
+ }
2560
+
2561
+ /**
2562
+ * Row action type identifiers.
2563
+ * @public
2564
+ */
2565
+ export declare type RowActionType = 'add' | 'delete' | 'duplicate' | 'insertAbove' | 'insertBelow' | 'move';
2566
+
2567
+ /**
2568
+ * Event payload for row:add event.
2569
+ * @public
2570
+ */
2571
+ export declare interface RowAddEvent {
2572
+ rowIndex: number;
2573
+ row: TableRow;
2574
+ }
2575
+
2576
+ /**
2577
+ * Event payload for row:delete event.
2578
+ * @public
2579
+ */
2580
+ export declare interface RowDeleteEvent {
2581
+ rowIndex: number;
2582
+ row: TableRow;
2583
+ }
2584
+
2585
+ /**
2586
+ * Event payload for row:duplicate event.
2587
+ * @public
2588
+ */
2589
+ export declare interface RowDuplicateEvent {
2590
+ sourceIndex: number;
2591
+ newIndex: number;
2592
+ row: TableRow;
2593
+ }
2594
+
2595
+ /**
2596
+ * Event payload for row:insert-above and row:insert-below events.
2597
+ * @public
2598
+ */
2599
+ export declare interface RowInsertEvent {
2600
+ targetIndex: number;
2601
+ newIndex: number;
2602
+ row: TableRow;
2603
+ }
2604
+
2605
+ /**
2606
+ * Event payload for row:move event.
2607
+ * @public
2608
+ */
2609
+ export declare interface RowMoveEvent {
2610
+ fromIndex: number;
2611
+ toIndex: number;
2612
+ }
2613
+
1410
2614
  /**
1411
2615
  * Superset of all schema types for AForm
1412
2616
  * @public