tabulator-tables 5.5.4 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/bower.json +1 -1
  2. package/dist/css/tabulator.css +72 -2
  3. package/dist/css/tabulator.css.map +1 -1
  4. package/dist/css/tabulator.min.css +1 -1
  5. package/dist/css/tabulator.min.css.map +1 -1
  6. package/dist/css/tabulator_bootstrap3.css +72 -2
  7. package/dist/css/tabulator_bootstrap3.css.map +1 -1
  8. package/dist/css/tabulator_bootstrap3.min.css +1 -1
  9. package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
  10. package/dist/css/tabulator_bootstrap4.css +72 -2
  11. package/dist/css/tabulator_bootstrap4.css.map +1 -1
  12. package/dist/css/tabulator_bootstrap4.min.css +1 -1
  13. package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
  14. package/dist/css/tabulator_bootstrap5.css +72 -2
  15. package/dist/css/tabulator_bootstrap5.css.map +1 -1
  16. package/dist/css/tabulator_bootstrap5.min.css +1 -1
  17. package/dist/css/tabulator_bootstrap5.min.css.map +1 -1
  18. package/dist/css/tabulator_bulma.css +72 -2
  19. package/dist/css/tabulator_bulma.css.map +1 -1
  20. package/dist/css/tabulator_bulma.min.css +1 -1
  21. package/dist/css/tabulator_bulma.min.css.map +1 -1
  22. package/dist/css/tabulator_materialize.css +72 -2
  23. package/dist/css/tabulator_materialize.css.map +1 -1
  24. package/dist/css/tabulator_materialize.min.css +1 -1
  25. package/dist/css/tabulator_materialize.min.css.map +1 -1
  26. package/dist/css/tabulator_midnight.css +72 -2
  27. package/dist/css/tabulator_midnight.css.map +1 -1
  28. package/dist/css/tabulator_midnight.min.css +1 -1
  29. package/dist/css/tabulator_midnight.min.css.map +1 -1
  30. package/dist/css/tabulator_modern.css +72 -2
  31. package/dist/css/tabulator_modern.css.map +1 -1
  32. package/dist/css/tabulator_modern.min.css +1 -1
  33. package/dist/css/tabulator_modern.min.css.map +1 -1
  34. package/dist/css/tabulator_semanticui.css +72 -2
  35. package/dist/css/tabulator_semanticui.css.map +1 -1
  36. package/dist/css/tabulator_semanticui.min.css +1 -1
  37. package/dist/css/tabulator_semanticui.min.css.map +1 -1
  38. package/dist/css/tabulator_simple.css +72 -2
  39. package/dist/css/tabulator_simple.css.map +1 -1
  40. package/dist/css/tabulator_simple.min.css +1 -1
  41. package/dist/css/tabulator_simple.min.css.map +1 -1
  42. package/dist/css/tabulator_site.css +74 -4
  43. package/dist/css/tabulator_site.css.map +1 -1
  44. package/dist/css/tabulator_site.min.css +1 -1
  45. package/dist/css/tabulator_site.min.css.map +1 -1
  46. package/dist/js/tabulator.js +1868 -245
  47. package/dist/js/tabulator.js.map +1 -1
  48. package/dist/js/tabulator.min.js +2 -2
  49. package/dist/js/tabulator.min.js.map +1 -1
  50. package/dist/js/tabulator_esm.js +1948 -323
  51. package/dist/js/tabulator_esm.js.map +1 -1
  52. package/dist/js/tabulator_esm.min.js +2 -2
  53. package/dist/js/tabulator_esm.min.js.map +1 -1
  54. package/package.json +2 -2
  55. package/src/js/core/ColumnManager.js +4 -0
  56. package/src/js/core/CoreFeature.js +2 -2
  57. package/src/js/core/RowManager.js +12 -6
  58. package/src/js/core/Tabulator.js +2 -1
  59. package/src/js/core/TabulatorFull.js +1 -1
  60. package/src/js/core/column/Column.js +10 -0
  61. package/src/js/core/modules/optional.js +2 -1
  62. package/src/js/core/rendering/renderers/BasicVertical.js +4 -2
  63. package/src/js/core/rendering/renderers/VirtualDomHorizontal.js +1 -1
  64. package/src/js/core/row/PseudoRow.js +2 -0
  65. package/src/js/core/tools/Alert.js +4 -0
  66. package/src/js/core/tools/DeprecationAdvisor.js +5 -1
  67. package/src/js/core/tools/Helpers.js +1 -1
  68. package/src/js/core/tools/InteractionMonitor.js +3 -3
  69. package/src/js/modules/Clipboard/Clipboard.js +5 -3
  70. package/src/js/modules/Clipboard/defaults/pasteActions.js +49 -6
  71. package/src/js/modules/Clipboard/defaults/pasteParsers.js +69 -14
  72. package/src/js/modules/ColumnCalcs/ColumnCalcs.js +7 -1
  73. package/src/js/modules/Edit/Edit.js +71 -25
  74. package/src/js/modules/Edit/defaults/editors/datetime.js +1 -1
  75. package/src/js/modules/Edit/defaults/editors/time.js +3 -1
  76. package/src/js/modules/Export/Export.js +38 -18
  77. package/src/js/modules/Format/defaults/formatters/rowSelection.js +2 -2
  78. package/src/js/modules/Format/defaults/formatters/rownum.js +5 -1
  79. package/src/js/modules/FrozenColumns/FrozenColumns.js +11 -11
  80. package/src/js/modules/FrozenRows/FrozenRows.js +6 -1
  81. package/src/js/modules/History/History.js +2 -2
  82. package/src/js/modules/History/defaults/redoers.js +4 -0
  83. package/src/js/modules/History/defaults/undoers.js +4 -0
  84. package/src/js/modules/Keybindings/defaults/actions.js +38 -1
  85. package/src/js/modules/Keybindings/defaults/bindings.js +16 -1
  86. package/src/js/modules/Menu/Menu.js +3 -1
  87. package/src/js/modules/MoveColumns/MoveColumns.js +5 -0
  88. package/src/js/modules/Popup/Popup.js +1 -1
  89. package/src/js/modules/ResizeTable/ResizeTable.js +3 -3
  90. package/src/js/modules/SelectRange/Range.js +354 -0
  91. package/src/js/modules/SelectRange/RangeComponent.js +93 -0
  92. package/src/js/modules/SelectRange/SelectRange.js +870 -0
  93. package/src/js/modules/SelectRow/SelectRow.js +46 -26
  94. package/src/js/modules/Sort/Sort.js +111 -105
  95. package/src/js/modules/Validate/defaults/validators.js +11 -0
  96. package/src/scss/tabulator.scss +95 -13
  97. package/src/scss/themes/bulma/tabulator_bulma.scss +7 -0
  98. package/src/scss/themes/materialize/tabulator_materialize.scss +7 -1
  99. package/src/scss/themes/tabulator_midnight.scss +13 -0
  100. package/src/scss/themes/tabulator_modern.scss +9 -0
  101. package/src/scss/themes/tabulator_site.scss +13 -2
@@ -37,6 +37,13 @@ $footerSeparatorColor:#999 !default; //footer bottom separator color
37
37
  $footerActiveColor:#d00 !default; //footer bottom active text color
38
38
 
39
39
 
40
+ //range selection
41
+ $rangeBorderColor: #2975DD !default; //range border color
42
+ $rangeHandleColor: $rangeBorderColor !default; //range handle color
43
+ $rangeHeaderSelectedBackground: #3876ca !default; //header background color when selected
44
+ $rangeHeaderSelectedTextColor: #FFFFFF !default; //header text color when selected
45
+ $rangeHeaderHighlightBackground: #D6D6D6 !default; //header background color when highlighted
46
+ $rangeHeaderTextHighlightBackground: #000000 !default; //header text color when highlighted
40
47
 
41
48
  //Tabulator Containing Element
42
49
  .tabulator{
@@ -72,6 +79,13 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
72
79
  user-select: none;
73
80
  }
74
81
 
82
+ &.tabulator-ranges{
83
+ .tabulator-cell:not(.tabulator-editing){
84
+ user-select: none;
85
+ }
86
+ }
87
+
88
+
75
89
  //column header containing element
76
90
  .tabulator-header{
77
91
  position:relative;
@@ -92,6 +106,8 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
92
106
  -webkit-user-select: none;
93
107
  -o-user-select: none;
94
108
 
109
+ outline: none;
110
+
95
111
  &.tabulator-header-hidden{
96
112
  display:none;
97
113
  }
@@ -128,6 +144,16 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
128
144
  pointer-events: none;
129
145
  }
130
146
 
147
+ &.tabulator-range-highlight{
148
+ background-color: $rangeHeaderHighlightBackground;
149
+ color: $rangeHeaderTextHighlightBackground;
150
+ }
151
+
152
+ &.tabulator-range-selected{
153
+ background-color: $rangeHeaderSelectedBackground;
154
+ color: $rangeHeaderSelectedTextColor;
155
+ }
156
+
131
157
  //hold content of column header
132
158
  .tabulator-col-content{
133
159
  box-sizing:border-box;
@@ -158,7 +184,7 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
158
184
  overflow: hidden;
159
185
  text-overflow: ellipsis;
160
186
  vertical-align:bottom;
161
-
187
+
162
188
  &.tabulator-col-title-wrap{
163
189
  white-space: normal;
164
190
  text-overflow: initial;
@@ -295,7 +321,7 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
295
321
  &[aria-sort="descending"]{
296
322
  .tabulator-col-content .tabulator-col-sorter{
297
323
  color: $sortArrowActive;
298
-
324
+
299
325
  @media (hover:hover) and (pointer:fine){
300
326
  &.tabulator-col-sorter-element .tabulator-arrow:hover{
301
327
  cursor:pointer;
@@ -376,6 +402,7 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
376
402
 
377
403
  .tabulator-calcs-holder{
378
404
  box-sizing:border-box;
405
+ display: inline-block;
379
406
 
380
407
  background:lighten($headerBackgroundColor, 5%) !important;
381
408
 
@@ -393,7 +420,8 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
393
420
  }
394
421
  }
395
422
 
396
- .tabulator-frozen-rows-holder{
423
+ .tabulator-frozen-rows-holder{
424
+ display: inline-block;
397
425
  &:empty{
398
426
  display: none;
399
427
  }
@@ -419,13 +447,13 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
419
447
  align-items:center;
420
448
  justify-content: center;
421
449
 
450
+ min-width:100%;
451
+ width:100%;
452
+
422
453
  &[tabulator-render-mode="virtual"]{
423
454
  min-height:100%;
424
- min-width:100%;
425
455
  }
426
456
 
427
- width:100%;
428
-
429
457
  .tabulator-placeholder-contents {
430
458
  display: inline-block;
431
459
  text-align: center;
@@ -466,6 +494,36 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
466
494
  }
467
495
 
468
496
  }
497
+
498
+ .tabulator-range-overlay {
499
+ position: absolute;
500
+ inset: 0;
501
+ z-index: 10;
502
+ pointer-events: none;
503
+
504
+ & .tabulator-range {
505
+ position: absolute;
506
+ box-sizing: border-box;
507
+ border: 1px solid $rangeBorderColor;
508
+
509
+ &.tabulator-range-active::after {
510
+ content: '';
511
+ position: absolute;
512
+ right: -3px;
513
+ bottom: -3px;
514
+ width: 6px;
515
+ height: 6px;
516
+ background-color: $rangeHandleColor;
517
+ border-radius: 999px;
518
+ }
519
+ }
520
+
521
+ & .tabulator-range-cell-active {
522
+ position: absolute;
523
+ box-sizing: border-box;
524
+ border: 2px solid $rangeBorderColor;
525
+ }
526
+ }
469
527
  }
470
528
 
471
529
  //footer element
@@ -599,7 +657,7 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
599
657
  margin-left: -3px;
600
658
  margin-right: -3px;
601
659
 
602
- z-index: 10;
660
+ z-index: 11;
603
661
  vertical-align: middle;
604
662
 
605
663
  @media (hover:hover) and (pointer:fine){
@@ -703,6 +761,28 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
703
761
  z-index:15;
704
762
  }
705
763
 
764
+ &.tabulator-range-highlight{
765
+ .tabulator-cell.tabulator-range-row-header{
766
+ background-color: $rangeHeaderHighlightBackground;
767
+ color: $rangeHeaderTextHighlightBackground;
768
+ }
769
+
770
+ &.tabulator-range-selected{
771
+ .tabulator-cell.tabulator-range-row-header{
772
+ background-color: $rangeHeaderSelectedBackground;
773
+ color: $rangeHeaderSelectedTextColor;
774
+ }
775
+ }
776
+ }
777
+
778
+
779
+ &.tabulator-range-selected{
780
+ .tabulator-cell.tabulator-range-row-header{
781
+ background-color: $rangeHeaderSelectedBackground;
782
+ color: $rangeHeaderSelectedTextColor;
783
+ }
784
+ }
785
+
706
786
  //row resize handles
707
787
  .tabulator-row-resize-handle{
708
788
  position:absolute;
@@ -723,8 +803,6 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
723
803
  }
724
804
  }
725
805
 
726
-
727
-
728
806
  .tabulator-responsive-collapse{
729
807
  box-sizing:border-box;
730
808
 
@@ -763,6 +841,7 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
763
841
  white-space:nowrap;
764
842
  overflow:hidden;
765
843
  text-overflow:ellipsis;
844
+ outline:none;
766
845
 
767
846
  &.tabulator-frozen{
768
847
  display: inline-block;
@@ -831,7 +910,11 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
831
910
  }
832
911
  }
833
912
  }
834
-
913
+
914
+ &.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){
915
+ background-color: $rowSelectedBackground;
916
+ }
917
+
835
918
  .tabulator-data-tree-branch-empty{
836
919
  display:inline-block;
837
920
  width:7px;
@@ -960,7 +1043,7 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
960
1043
  display:none;
961
1044
  }
962
1045
  }
963
-
1046
+
964
1047
  svg{
965
1048
  stroke:$rowBackgroundColor;
966
1049
  }
@@ -1497,5 +1580,4 @@ body.tabulator-print-fullscreen-hide>*:not(.tabulator-print-fullscreen){
1497
1580
  }
1498
1581
  }
1499
1582
  }
1500
- }
1501
-
1583
+ }
@@ -38,6 +38,13 @@ $footerBorderColor:$grey-lighter !default; //footer border color
38
38
  // $footerSeparatorColor:#999 !default; //footer bottom separator color
39
39
  // $footerActiveColor:#d00 !default; //footer bottom active text color
40
40
 
41
+ //range selection
42
+ $rangeBorderColor: #{darken($rowSelectedBackground, 10%)} !default; //range border color
43
+ $rangeHandleColor: $rangeBorderColor !default; //range handle color
44
+ $rangeHeaderSelectedBackground: $rangeBorderColor !default; //header background color when selected
45
+ $rangeHeaderSelectedTextColor: #FFFFFF !default; //header text color when selected
46
+
47
+
41
48
  @import "../../tabulator.scss";
42
49
 
43
50
  .tabulator{
@@ -26,7 +26,6 @@ $rowHoverBackground:$table-striped-color !default; //row background color on hov
26
26
  $rowSelectedBackground:$primary-color !default; //row background color when selected
27
27
  $rowSelectedBackgroundHover: $primary-color !default;//row background color when selected and hovered
28
28
 
29
-
30
29
  $editBoxColor:$primary-color !default; //border color for edit boxes
31
30
  $errorColor:#dd0000 !default; //error indication
32
31
 
@@ -35,6 +34,13 @@ $footerBorderColor:$table-border-color !default; //footer border color
35
34
  $footerSeparatorColor:$table-border-color !default; //footer bottom separator color
36
35
  $footerActiveColor:$primary-color !default; //footer bottom active text color
37
36
 
37
+ //range selection
38
+ $rangeBorderColor: #{darken($primary-color, 10%)} !default; //range border color
39
+ $rangeHandleColor: $rangeBorderColor !default; //range handle color
40
+ $rangeHeaderSelectedBackground: $rangeBorderColor !default; //header background color when selected
41
+ $rangeHeaderSelectedTextColor: #FFFFFF !default; //header text color when selected
42
+
43
+
38
44
  @import "../../tabulator.scss";
39
45
 
40
46
  .tabulator{
@@ -35,6 +35,19 @@ $footerBorderColor:#aaa !default; //footer border color
35
35
  $footerSeparatorColor:#999 !default; //footer bottom separator color
36
36
  $footerActiveColor:#fff !default; //footer bottom active text color
37
37
 
38
+ $headerHighlightBackground: #777 !default; //header background color when highlighted
39
+ $headerTextHighlightBackground: #fff !default; //header background color when highlighted
40
+
41
+ //range selection
42
+ $rangeBorderColor: #ccc !default; //range border color
43
+ $rangeHandleColor: $rangeBorderColor !default; //range handle color
44
+ $rangeHeaderSelectedBackground: $rangeBorderColor !default; //header background color when selected
45
+ $rangeHeaderSelectedTextColor: #333 !default; //header text color when selected
46
+ $rangeHeaderHighlightBackground: #999 !default; //header background color when highlighted
47
+ $rangeHeaderTextHighlightBackground: #000000 !default; //header text color when highlighted
48
+
49
+
50
+
38
51
  @import "../tabulator.scss";
39
52
 
40
53
  //Tabulator Containing Element
@@ -41,6 +41,15 @@ $handleWidth:10px !default; //width of the row handle
41
41
  $handleColor: $primary !default; //color for odd numbered rows
42
42
  $handleColorAlt: lighten($primary, 10%) !default; //color for even numbered rows
43
43
 
44
+ //range selection
45
+ $rangeBorderColor: #{darken($primary, 10%)} !default; //range border color
46
+ $rangeHandleColor: $rangeBorderColor !default; //range handle color
47
+ $rangeHeaderSelectedBackground: $rangeBorderColor !default; //header background color when selected
48
+ $rangeHeaderHighlightBackground: $primary !default; //header background color when highlighted
49
+ $rangeHeaderTextHighlightBackground: #fff !default; //header text color when highlighted
50
+
51
+
52
+
44
53
  @import "../tabulator.scss";
45
54
 
46
55
  .tabulator{
@@ -22,8 +22,9 @@ $rowBorderColor:#aaa !default; //table border color
22
22
  $rowTextColor:#333 !default; //table text color
23
23
  $rowHoverBackground:#bbb !default; //row background color on hover
24
24
 
25
- $rowSelectedBackground: #9ABCEA !default; //row background color when selected
26
- $rowSelectedBackgroundHover: #769BCC !default;//row background color when selected and hovered
25
+ $rowSelectedBackground: #70c28e !default; //row background color when selected
26
+ $rowSelectedBackgroundHover: #269b51 !default;//row background color when selected and hovered
27
+
27
28
 
28
29
  $editBoxColor:#1D68CD !default; //border color for edit boxes
29
30
  $errorColor:#dd0000 !default; //error indication
@@ -35,6 +36,14 @@ $footerBorderColor:#aaa !default; //footer border color
35
36
  $footerSeparatorColor:#3FB449 !default; //footer bottom separator color
36
37
  $footerActiveColor:$footerSeparatorColor !default; //footer bottom active text color
37
38
 
39
+ //range selection
40
+ $rangeBorderColor: $rowSelectedBackgroundHover !default; //range border color
41
+ $rangeHandleColor: $rangeBorderColor !default; //range handle color
42
+ $rangeHeaderSelectedBackground: $rangeBorderColor !default; //header background color when selected
43
+ $rangeHeaderSelectedTextColor: #FFFFFF !default; //header text color when selected
44
+ $rangeHeaderHighlightBackground: $rowSelectedBackground !default; //header background color when highlighted
45
+ $rangeHeaderTextHighlightBackground: #000000 !default; //header text color when highlighted
46
+
38
47
  @import "../tabulator.scss";
39
48
 
40
49
  .tabulator{
@@ -56,10 +65,12 @@ $footerActiveColor:$footerSeparatorColor !default; //footer bottom active text c
56
65
 
57
66
  .tabulator-col{
58
67
  background-color: $headerBackgroundColor;
68
+
59
69
 
60
70
  .tabulator-col-content{
61
71
  padding:8px;
62
72
  }
73
+
63
74
  }
64
75
 
65
76
  .tabulator-calcs-holder{