tabulator-tables 5.1.6 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +3 -2
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +1 -1
  3. package/bower.json +1 -1
  4. package/dist/css/tabulator.css +59 -51
  5. package/dist/css/tabulator.css.map +1 -1
  6. package/dist/css/tabulator.min.css +1 -1
  7. package/dist/css/tabulator.min.css.map +1 -1
  8. package/dist/css/tabulator_bootstrap3.css +59 -51
  9. package/dist/css/tabulator_bootstrap3.css.map +1 -1
  10. package/dist/css/tabulator_bootstrap3.min.css +1 -1
  11. package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
  12. package/dist/css/tabulator_bootstrap4.css +59 -51
  13. package/dist/css/tabulator_bootstrap4.css.map +1 -1
  14. package/dist/css/tabulator_bootstrap4.min.css +1 -1
  15. package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
  16. package/dist/css/tabulator_bootstrap5.css +1575 -0
  17. package/dist/css/tabulator_bootstrap5.css.map +1 -0
  18. package/dist/css/tabulator_bootstrap5.min.css +2 -0
  19. package/dist/css/tabulator_bootstrap5.min.css.map +1 -0
  20. package/dist/css/tabulator_bulma.css +59 -51
  21. package/dist/css/tabulator_bulma.css.map +1 -1
  22. package/dist/css/tabulator_bulma.min.css +1 -1
  23. package/dist/css/tabulator_bulma.min.css.map +1 -1
  24. package/dist/css/tabulator_materialize.css +59 -51
  25. package/dist/css/tabulator_materialize.css.map +1 -1
  26. package/dist/css/tabulator_materialize.min.css +1 -1
  27. package/dist/css/tabulator_materialize.min.css.map +1 -1
  28. package/dist/css/tabulator_midnight.css +59 -51
  29. package/dist/css/tabulator_midnight.css.map +1 -1
  30. package/dist/css/tabulator_midnight.min.css +1 -1
  31. package/dist/css/tabulator_midnight.min.css.map +1 -1
  32. package/dist/css/tabulator_modern.css +59 -51
  33. package/dist/css/tabulator_modern.css.map +1 -1
  34. package/dist/css/tabulator_modern.min.css +1 -1
  35. package/dist/css/tabulator_modern.min.css.map +1 -1
  36. package/dist/css/tabulator_semanticui.css +59 -51
  37. package/dist/css/tabulator_semanticui.css.map +1 -1
  38. package/dist/css/tabulator_semanticui.min.css +1 -1
  39. package/dist/css/tabulator_semanticui.min.css.map +1 -1
  40. package/dist/css/tabulator_simple.css +59 -51
  41. package/dist/css/tabulator_simple.css.map +1 -1
  42. package/dist/css/tabulator_simple.min.css +1 -1
  43. package/dist/css/tabulator_simple.min.css.map +1 -1
  44. package/dist/css/tabulator_site.css +59 -51
  45. package/dist/css/tabulator_site.css.map +1 -1
  46. package/dist/css/tabulator_site.min.css +1 -1
  47. package/dist/css/tabulator_site.min.css.map +1 -1
  48. package/dist/js/tabulator.js +2550 -1663
  49. package/dist/js/tabulator.js.map +1 -1
  50. package/dist/js/tabulator.min.js +2 -2
  51. package/dist/js/tabulator.min.js.map +1 -1
  52. package/dist/js/tabulator_esm.js +2827 -2147
  53. package/dist/js/tabulator_esm.js.map +1 -1
  54. package/dist/js/tabulator_esm.min.js +2 -2
  55. package/dist/js/tabulator_esm.min.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/js/core/FooterManager.js +6 -13
  58. package/src/js/core/Module.js +44 -2
  59. package/src/js/core/Tabulator.js +341 -289
  60. package/src/js/core/cell/Cell.js +9 -38
  61. package/src/js/core/column/Column.js +8 -44
  62. package/src/js/core/column/defaults/options.js +0 -2
  63. package/src/js/core/defaults/options.js +5 -2
  64. package/src/js/core/modules/optional.js +2 -0
  65. package/src/js/core/rendering/renderers/VirtualDomHorizontal.js +6 -3
  66. package/src/js/core/row/Row.js +127 -118
  67. package/src/js/core/tools/Alert.js +63 -0
  68. package/src/js/core/tools/ComponentFunctionBinder.js +3 -3
  69. package/src/js/core/tools/DataLoader.js +12 -84
  70. package/src/js/core/tools/InteractionMonitor.js +1 -1
  71. package/src/js/core/tools/ModuleBinder.js +30 -23
  72. package/src/js/core/tools/Popup.js +251 -0
  73. package/src/js/modules/ColumnCalcs/ColumnCalcs.js +2 -2
  74. package/src/js/modules/Edit/Edit.js +6 -25
  75. package/src/js/modules/Edit/List.js +997 -0
  76. package/src/js/modules/Edit/defaults/editors/autocomplete.js +6 -446
  77. package/src/js/modules/Edit/defaults/editors/input.js +4 -0
  78. package/src/js/modules/Edit/defaults/editors/list.js +7 -0
  79. package/src/js/modules/Edit/defaults/editors/number.js +4 -0
  80. package/src/js/modules/Edit/defaults/editors/select.js +5 -584
  81. package/src/js/modules/Edit/defaults/editors/textarea.js +4 -0
  82. package/src/js/modules/Edit/defaults/editors/tickCross.js +17 -5
  83. package/src/js/modules/Edit/defaults/editors.js +2 -0
  84. package/src/js/modules/Filter/Filter.js +7 -4
  85. package/src/js/modules/Format/defaults/formatters/datetime.js +10 -4
  86. package/src/js/modules/Format/defaults/formatters/datetimediff.js +10 -3
  87. package/src/js/modules/Format/defaults/formatters/link.js +12 -1
  88. package/src/js/modules/Format/defaults/formatters/money.js +5 -3
  89. package/src/js/modules/Format/defaults/formatters/tickCross.js +2 -1
  90. package/src/js/modules/FrozenColumns/FrozenColumns.js +30 -8
  91. package/src/js/modules/HtmlTableImport/HtmlTableImport.js +5 -1
  92. package/src/js/modules/Menu/Menu.js +59 -157
  93. package/src/js/modules/Mutator/Mutator.js +20 -0
  94. package/src/js/modules/Page/Page.js +7 -3
  95. package/src/js/modules/Persistence/Persistence.js +1 -1
  96. package/src/js/modules/Popup/Popup.js +194 -0
  97. package/src/js/modules/ResizeColumns/ResizeColumns.js +138 -81
  98. package/src/js/modules/Sort/defaults/sorters/datetime.js +15 -2
  99. package/src/js/modules/Tooltip/Tooltip.js +132 -0
  100. package/src/js/modules/Validate/Validate.js +107 -71
  101. package/src/scss/tabulator.scss +349 -349
  102. package/src/scss/themes/bootstrap/functions5.scss +302 -0
  103. package/src/scss/themes/bootstrap/tabulator_bootstrap5.scss +546 -0
  104. package/src/scss/themes/bootstrap/variables5.scss +1641 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabulator-tables",
3
- "version": "5.1.6",
3
+ "version": "5.2.0",
4
4
  "description": "Interactive table generation JavaScript library",
5
5
  "style": "dist/css/tabulator.css",
6
6
  "main": "dist/js/tabulator.js",
@@ -9,7 +9,6 @@ export default class FooterManager extends CoreFeature{
9
9
  this.element = this.createElement(); //containing element
10
10
  this.containerElement = this.createContainerElement(); //containing element
11
11
  this.external = false;
12
- this.links = [];
13
12
  }
14
13
 
15
14
  initialize(){
@@ -59,15 +58,15 @@ export default class FooterManager extends CoreFeature{
59
58
  return this.element;
60
59
  }
61
60
 
62
- append(element, parent){
63
- this.activate(parent);
61
+ append(element){
62
+ this.activate();
64
63
 
65
64
  this.containerElement.appendChild(element);
66
65
  this.table.rowManager.adjustTableSize();
67
66
  }
68
67
 
69
- prepend(element, parent){
70
- this.activate(parent);
68
+ prepend(element){
69
+ this.activate();
71
70
 
72
71
  this.element.insertBefore(element, this.element.firstChild);
73
72
  this.table.rowManager.adjustTableSize();
@@ -87,7 +86,7 @@ export default class FooterManager extends CoreFeature{
87
86
  }
88
87
  }
89
88
 
90
- activate(parent){
89
+ activate(){
91
90
  if(!this.active){
92
91
  this.active = true;
93
92
  if(!this.external){
@@ -95,15 +94,9 @@ export default class FooterManager extends CoreFeature{
95
94
  this.table.element.style.display = '';
96
95
  }
97
96
  }
98
-
99
- if(parent){
100
- this.links.push(parent);
101
- }
102
97
  }
103
98
 
104
99
  redraw(){
105
- this.links.forEach(function(link){
106
- link.footerRedraw();
107
- });
100
+ this.dispatch("footer-redraw")
108
101
  }
109
102
  }
@@ -1,4 +1,5 @@
1
1
  import CoreFeature from './CoreFeature.js';
2
+ import Popup from './tools/Popup.js';
2
3
 
3
4
  class Module extends CoreFeature{
4
5
 
@@ -26,12 +27,16 @@ class Module extends CoreFeature{
26
27
  }
27
28
 
28
29
  ///////////////////////////////////
29
- /// Public Function Registation ///
30
+ /// Public Function Registration ///
30
31
  ///////////////////////////////////
31
32
 
32
33
  registerTableFunction(name, func){
33
34
  if(typeof this.table[name] === "undefined"){
34
- this.table[name] = func;
35
+ this.table[name] = (...args) => {
36
+ this.table.initGuard(name);
37
+
38
+ return func(...args);
39
+ }
35
40
  }else{
36
41
  console.warn("Unable to bind table function, name already in use", name)
37
42
  }
@@ -64,6 +69,43 @@ class Module extends CoreFeature{
64
69
  this.table.rowManager.refreshActiveData(handler, false, renderInPosition);
65
70
  }
66
71
  }
72
+
73
+ ///////////////////////////////////
74
+ //////// Footer Management ////////
75
+ ///////////////////////////////////
76
+
77
+ footerAppend(element){
78
+ return this.table.footerManager.append(element)
79
+ }
80
+
81
+ footerPrepend(element){
82
+ return this.table.footerManager.prepend(element)
83
+ }
84
+
85
+ footerRemove(element){
86
+ return this.table.footerManager.remove(element)
87
+ }
88
+
89
+ ///////////////////////////////////
90
+ //////// Popups Management ////////
91
+ ///////////////////////////////////
92
+
93
+ popup(menuEl, menuContainer){
94
+ return new Popup(this.table, menuEl, menuContainer);
95
+ }
96
+
97
+ ///////////////////////////////////
98
+ //////// Alert Management ////////
99
+ ///////////////////////////////////
100
+
101
+ alert(content, type){
102
+ return this.table.alertManager.alert(content, type);
103
+ }
104
+
105
+ clearAlert(){
106
+ return this.table.alertManager.clear();
107
+ }
108
+
67
109
  }
68
110
 
69
111
  export default Module;