tabulator-tables 5.5.3 → 5.6.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 (100) hide show
  1. package/LICENSE +1 -1
  2. package/bower.json +1 -1
  3. package/dist/css/tabulator.css +72 -2
  4. package/dist/css/tabulator.css.map +1 -1
  5. package/dist/css/tabulator.min.css +1 -1
  6. package/dist/css/tabulator.min.css.map +1 -1
  7. package/dist/css/tabulator_bootstrap3.css +72 -2
  8. package/dist/css/tabulator_bootstrap3.css.map +1 -1
  9. package/dist/css/tabulator_bootstrap3.min.css +1 -1
  10. package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
  11. package/dist/css/tabulator_bootstrap4.css +72 -2
  12. package/dist/css/tabulator_bootstrap4.css.map +1 -1
  13. package/dist/css/tabulator_bootstrap4.min.css +1 -1
  14. package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
  15. package/dist/css/tabulator_bootstrap5.css +72 -2
  16. package/dist/css/tabulator_bootstrap5.css.map +1 -1
  17. package/dist/css/tabulator_bootstrap5.min.css +1 -1
  18. package/dist/css/tabulator_bootstrap5.min.css.map +1 -1
  19. package/dist/css/tabulator_bulma.css +72 -2
  20. package/dist/css/tabulator_bulma.css.map +1 -1
  21. package/dist/css/tabulator_bulma.min.css +1 -1
  22. package/dist/css/tabulator_bulma.min.css.map +1 -1
  23. package/dist/css/tabulator_materialize.css +72 -2
  24. package/dist/css/tabulator_materialize.css.map +1 -1
  25. package/dist/css/tabulator_materialize.min.css +1 -1
  26. package/dist/css/tabulator_materialize.min.css.map +1 -1
  27. package/dist/css/tabulator_midnight.css +72 -2
  28. package/dist/css/tabulator_midnight.css.map +1 -1
  29. package/dist/css/tabulator_midnight.min.css +1 -1
  30. package/dist/css/tabulator_midnight.min.css.map +1 -1
  31. package/dist/css/tabulator_modern.css +72 -2
  32. package/dist/css/tabulator_modern.css.map +1 -1
  33. package/dist/css/tabulator_modern.min.css +1 -1
  34. package/dist/css/tabulator_modern.min.css.map +1 -1
  35. package/dist/css/tabulator_semanticui.css +72 -2
  36. package/dist/css/tabulator_semanticui.css.map +1 -1
  37. package/dist/css/tabulator_semanticui.min.css +1 -1
  38. package/dist/css/tabulator_semanticui.min.css.map +1 -1
  39. package/dist/css/tabulator_simple.css +72 -2
  40. package/dist/css/tabulator_simple.css.map +1 -1
  41. package/dist/css/tabulator_simple.min.css +1 -1
  42. package/dist/css/tabulator_simple.min.css.map +1 -1
  43. package/dist/css/tabulator_site.css +74 -4
  44. package/dist/css/tabulator_site.css.map +1 -1
  45. package/dist/css/tabulator_site.min.css +1 -1
  46. package/dist/css/tabulator_site.min.css.map +1 -1
  47. package/dist/js/tabulator.js +1830 -244
  48. package/dist/js/tabulator.js.map +1 -1
  49. package/dist/js/tabulator.min.js +2 -2
  50. package/dist/js/tabulator.min.js.map +1 -1
  51. package/dist/js/tabulator_esm.js +1900 -312
  52. package/dist/js/tabulator_esm.js.map +1 -1
  53. package/dist/js/tabulator_esm.min.js +2 -2
  54. package/dist/js/tabulator_esm.min.js.map +1 -1
  55. package/package.json +3 -5
  56. package/src/js/core/ColumnManager.js +4 -0
  57. package/src/js/core/CoreFeature.js +2 -2
  58. package/src/js/core/RowManager.js +9 -1
  59. package/src/js/core/Tabulator.js +1 -0
  60. package/src/js/core/TabulatorFull.js +1 -1
  61. package/src/js/core/column/Column.js +6 -0
  62. package/src/js/core/modules/optional.js +2 -1
  63. package/src/js/core/rendering/renderers/BasicVertical.js +4 -2
  64. package/src/js/core/rendering/renderers/VirtualDomHorizontal.js +1 -1
  65. package/src/js/core/row/PseudoRow.js +2 -0
  66. package/src/js/core/tools/Alert.js +4 -0
  67. package/src/js/core/tools/DeprecationAdvisor.js +5 -1
  68. package/src/js/core/tools/Helpers.js +1 -1
  69. package/src/js/core/tools/InteractionMonitor.js +3 -3
  70. package/src/js/modules/Clipboard/Clipboard.js +5 -3
  71. package/src/js/modules/Clipboard/defaults/pasteActions.js +49 -6
  72. package/src/js/modules/Clipboard/defaults/pasteParsers.js +69 -14
  73. package/src/js/modules/ColumnCalcs/ColumnCalcs.js +7 -1
  74. package/src/js/modules/Edit/Edit.js +55 -19
  75. package/src/js/modules/Export/Export.js +38 -18
  76. package/src/js/modules/Format/defaults/formatters/rowSelection.js +2 -2
  77. package/src/js/modules/Format/defaults/formatters/rownum.js +5 -1
  78. package/src/js/modules/FrozenColumns/FrozenColumns.js +10 -11
  79. package/src/js/modules/FrozenRows/FrozenRows.js +6 -1
  80. package/src/js/modules/History/History.js +2 -2
  81. package/src/js/modules/History/defaults/redoers.js +4 -0
  82. package/src/js/modules/History/defaults/undoers.js +4 -0
  83. package/src/js/modules/Keybindings/defaults/actions.js +38 -1
  84. package/src/js/modules/Keybindings/defaults/bindings.js +16 -1
  85. package/src/js/modules/Menu/Menu.js +3 -1
  86. package/src/js/modules/MoveColumns/MoveColumns.js +5 -0
  87. package/src/js/modules/Popup/Popup.js +1 -1
  88. package/src/js/modules/ResizeTable/ResizeTable.js +3 -3
  89. package/src/js/modules/SelectRange/Range.js +347 -0
  90. package/src/js/modules/SelectRange/RangeComponent.js +93 -0
  91. package/src/js/modules/SelectRange/SelectRange.js +855 -0
  92. package/src/js/modules/SelectRow/SelectRow.js +46 -26
  93. package/src/js/modules/Sort/Sort.js +111 -105
  94. package/src/js/modules/Validate/defaults/validators.js +11 -0
  95. package/src/scss/tabulator.scss +95 -13
  96. package/src/scss/themes/bulma/tabulator_bulma.scss +7 -0
  97. package/src/scss/themes/materialize/tabulator_materialize.scss +7 -1
  98. package/src/scss/themes/tabulator_midnight.scss +13 -0
  99. package/src/scss/themes/tabulator_modern.scss +9 -0
  100. package/src/scss/themes/tabulator_site.scss +13 -2
@@ -35,10 +35,20 @@ class Export extends Module{
35
35
  this.cloneTableStyle = style;
36
36
  this.config = config || {};
37
37
  this.colVisProp = colVisProp;
38
-
39
- var headers = this.config.columnHeaders !== false ? this.headersToExportRows(this.generateColumnGroupHeaders()) : [];
40
- var body = this.bodyToExportRows(this.rowLookup(range));
41
-
38
+
39
+ var headers, body;
40
+
41
+ if (range === 'range') {
42
+ var columns = this.table.modules.selectRange.selectedColumns();
43
+ headers = this.config.columnHeaders !== false
44
+ ? this.headersToExportRows(this.generateColumnGroupHeaders(columns))
45
+ : [];
46
+ body = this.bodyToExportRows(this.rowLookup(range), this.table.modules.selectRange.selectedColumns(true));
47
+ } else {
48
+ headers = this.config.columnHeaders !== false ? this.headersToExportRows(this.generateColumnGroupHeaders()) : [];
49
+ body = this.bodyToExportRows(this.rowLookup(range));
50
+ }
51
+
42
52
  return headers.concat(body);
43
53
  }
44
54
 
@@ -73,7 +83,11 @@ class Export extends Module{
73
83
  case "selected":
74
84
  rows = this.table.modules.selectRow.selectedRows;
75
85
  break;
76
-
86
+
87
+ case "range":
88
+ rows = this.table.modules.selectRange.selectedRows();
89
+ break;
90
+
77
91
  case "active":
78
92
  default:
79
93
  if(this.table.options.pagination){
@@ -87,10 +101,12 @@ class Export extends Module{
87
101
  return Object.assign([], rows);
88
102
  }
89
103
 
90
- generateColumnGroupHeaders(){
104
+ generateColumnGroupHeaders(columns){
91
105
  var output = [];
92
106
 
93
- var columns = this.config.columnGroups !== false ? this.table.columnManager.columns : this.table.columnManager.columnsByIndex;
107
+ if (!columns) {
108
+ columns = this.config.columnGroups !== false ? this.table.columnManager.columns : this.table.columnManager.columnsByIndex;
109
+ }
94
110
 
95
111
  columns.forEach((column) => {
96
112
  var colData = this.processColumnGroup(column);
@@ -99,7 +115,7 @@ class Export extends Module{
99
115
  output.push(colData);
100
116
  }
101
117
  });
102
-
118
+
103
119
  return output;
104
120
  }
105
121
 
@@ -227,16 +243,16 @@ class Export extends Module{
227
243
  return exportRows;
228
244
  }
229
245
 
230
- bodyToExportRows(rows){
231
-
232
- var columns = [];
246
+ bodyToExportRows(rows, columns = []){
233
247
  var exportRows = [];
234
248
 
235
- this.table.columnManager.columnsByIndex.forEach((column) => {
236
- if (this.columnVisCheck(column)) {
237
- columns.push(column.getComponent());
238
- }
239
- });
249
+ if (columns.length === 0) {
250
+ this.table.columnManager.columnsByIndex.forEach((column) => {
251
+ if (this.columnVisCheck(column)) {
252
+ columns.push(column.getComponent());
253
+ }
254
+ });
255
+ }
240
256
 
241
257
  if(this.config.columnCalcs !== false && this.table.modExists("columnCalcs")){
242
258
  if(this.table.modules.columnCalcs.topInitialized){
@@ -247,7 +263,7 @@ class Export extends Module{
247
263
  rows.push(this.table.modules.columnCalcs.botRow);
248
264
  }
249
265
  }
250
-
266
+
251
267
  rows = rows.filter((row) => {
252
268
  switch(row.type){
253
269
  case "group":
@@ -474,7 +490,8 @@ class Export extends Module{
474
490
  if(col){
475
491
  var cellEl = document.createElement("td"),
476
492
  column = col.component._column,
477
- index = this.table.columnManager.findColumnIndex(column),
493
+ table = this.table,
494
+ index = table.columnManager.findColumnIndex(column),
478
495
  value = col.value,
479
496
  cellStyle;
480
497
 
@@ -501,6 +518,9 @@ class Export extends Module{
501
518
  getRow:function(){
502
519
  return row.component;
503
520
  },
521
+ getTable:function(){
522
+ return table;
523
+ },
504
524
  getComponent:function(){
505
525
  return cellWrapper;
506
526
  },
@@ -20,7 +20,7 @@ export default function(cell, formatterParams, onRendered){
20
20
  if(row instanceof RowComponent){
21
21
 
22
22
  checkbox.addEventListener("change", (e) => {
23
- if(this.table.options.selectableRangeMode === "click"){
23
+ if(this.table.options.selectableRowsRangeMode === "click"){
24
24
  if(!blocked){
25
25
  row.toggleSelect();
26
26
  }else{
@@ -31,7 +31,7 @@ export default function(cell, formatterParams, onRendered){
31
31
  }
32
32
  });
33
33
 
34
- if(this.table.options.selectableRangeMode === "click"){
34
+ if(this.table.options.selectableRowsRangeMode === "click"){
35
35
  checkbox.addEventListener("click", (e) => {
36
36
  blocked = true;
37
37
  this.table.modules.selectRow.handleComplexRowClick(row._row, e);
@@ -1,10 +1,14 @@
1
1
  export default function(cell, formatterParams, onRendered){
2
2
  var content = document.createElement("span");
3
3
  var row = cell.getRow();
4
+ var table = cell.getTable();
4
5
 
5
6
  row.watchPosition((position) => {
7
+ if (formatterParams.relativeToPage) {
8
+ position += table.modules.page.getPageSize() * (table.modules.page.getPage() - 1);
9
+ }
6
10
  content.innerText = position;
7
11
  });
8
12
 
9
13
  return content;
10
- }
14
+ }
@@ -31,7 +31,9 @@ class FrozenColumns extends Module{
31
31
  this.subscribe("columns-loading", this.reset.bind(this));
32
32
 
33
33
  this.subscribe("column-add", this.reinitializeColumns.bind(this));
34
- this.subscribe("column-delete", this.reinitializeColumns.bind(this));
34
+ this.subscribe("column-deleted", this.reinitializeColumns.bind(this));
35
+ this.subscribe("column-hide", this.reinitializeColumns.bind(this));
36
+ this.subscribe("column-show", this.reinitializeColumns.bind(this));
35
37
 
36
38
  this.subscribe("table-redraw", this.layout.bind(this));
37
39
  this.subscribe("layout-refreshing", this.blockLayout.bind(this));
@@ -57,16 +59,16 @@ class FrozenColumns extends Module{
57
59
  this.table.columnManager.columnsByIndex.forEach((column) => {
58
60
  this.initializeColumn(column);
59
61
  });
62
+
63
+ this.layout();
60
64
  }
61
65
 
62
66
  //initialize specific column
63
67
  initializeColumn(column){
64
68
  var config = {margin:0, edge:false};
65
69
 
66
- if(!column.isGroup){
67
-
70
+ if(!column.isGroup){
68
71
  if(this.frozenCheck(column)){
69
-
70
72
  config.position = this.initializationMode;
71
73
 
72
74
  if(this.initializationMode == "left"){
@@ -157,9 +159,8 @@ class FrozenColumns extends Module{
157
159
  leftParents.push(parentEl);
158
160
  }
159
161
 
160
- if(column.modules.frozen.edge){
161
- parentEl.classList.add("tabulator-frozen-" + column.modules.frozen.position);
162
- }
162
+ parentEl.classList.toggle("tabulator-frozen-left", column.modules.frozen.edge && column.modules.frozen.position === "left");
163
+ parentEl.classList.toggle("tabulator-frozen-right", column.modules.frozen.edge && column.modules.frozen.position === "right");
163
164
  }else{
164
165
  this.layoutElement(column.getElement(), column);
165
166
  }
@@ -207,7 +208,6 @@ class FrozenColumns extends Module{
207
208
  //layout columns appropriately
208
209
  layout(){
209
210
  if(this.active && !this.blocked){
210
-
211
211
  //calculate left columns
212
212
  this.layoutColumnPosition();
213
213
 
@@ -270,9 +270,8 @@ class FrozenColumns extends Module{
270
270
 
271
271
  element.classList.add("tabulator-frozen");
272
272
 
273
- if(column.modules.frozen.edge){
274
- element.classList.add("tabulator-frozen-" + column.modules.frozen.position);
275
- }
273
+ element.classList.toggle("tabulator-frozen-left", column.modules.frozen.edge && column.modules.frozen.position === "left");
274
+ element.classList.toggle("tabulator-frozen-right", column.modules.frozen.edge && column.modules.frozen.position === "right");
276
275
  }
277
276
  }
278
277
 
@@ -19,12 +19,17 @@ class FrozenRows extends Module{
19
19
  }
20
20
 
21
21
  initialize(){
22
+ var fragment = document.createDocumentFragment();
23
+
22
24
  this.rows = [];
23
25
 
24
26
  this.topElement.classList.add("tabulator-frozen-rows-holder");
27
+
28
+ fragment.appendChild(document.createElement("br"));
29
+ fragment.appendChild(this.topElement);
25
30
 
26
31
  // this.table.columnManager.element.append(this.topElement);
27
- this.table.columnManager.getContentsElement().insertBefore(this.topElement, this.table.columnManager.headersElement.nextSibling);
32
+ this.table.columnManager.getContentsElement().insertBefore(fragment, this.table.columnManager.headersElement.nextSibling);
28
33
 
29
34
  this.subscribe("row-deleting", this.detachRow.bind(this));
30
35
  this.subscribe("rows-visible", this.visibleRows.bind(this));
@@ -119,7 +119,7 @@ class History extends Module{
119
119
 
120
120
  return true;
121
121
  }else{
122
- console.warn("History Undo Error - No more history to undo");
122
+ console.warn(this.options("history") ? "History Undo Error - No more history to undo" : "History module not enabled");
123
123
  return false;
124
124
  }
125
125
  }
@@ -137,7 +137,7 @@ class History extends Module{
137
137
 
138
138
  return true;
139
139
  }else{
140
- console.warn("History Redo Error - No more history to redo");
140
+ console.warn(this.options("history") ? "History Redo Error - No more history to redo" : "History module not enabled");
141
141
  return false;
142
142
  }
143
143
  }
@@ -12,10 +12,14 @@ export default {
12
12
  }
13
13
 
14
14
  this._rebindRow(action.component, newRow);
15
+
16
+ this.table.rowManager.checkPlaceholder();
15
17
  },
16
18
 
17
19
  rowDelete:function(action){
18
20
  action.component.deleteActual();
21
+
22
+ this.table.rowManager.checkPlaceholder();
19
23
  },
20
24
 
21
25
  rowMove: function(action){
@@ -6,6 +6,8 @@ export default {
6
6
 
7
7
  rowAdd: function(action){
8
8
  action.component.deleteActual();
9
+
10
+ this.table.rowManager.checkPlaceholder();
9
11
  },
10
12
 
11
13
  rowDelete: function(action){
@@ -16,6 +18,8 @@ export default {
16
18
  }
17
19
 
18
20
  this._rebindRow(action.component, newRow);
21
+
22
+ this.table.rowManager.checkPlaceholder();
19
23
  },
20
24
 
21
25
  rowMove: function(action){
@@ -83,6 +83,43 @@ export default {
83
83
  this.dispatch("keybinding-nav-down", e);
84
84
  },
85
85
 
86
+ rangeJumpLeft: function(e){
87
+ this.dispatch("keybinding-nav-range", e, "left", true, false);
88
+ },
89
+ rangeJumpRight: function(e){
90
+ this.dispatch("keybinding-nav-range", e, "right", true, false);
91
+ },
92
+ rangeJumpUp: function(e){
93
+ this.dispatch("keybinding-nav-range", e, "up", true, false);
94
+ },
95
+ rangeJumpDown: function(e){
96
+ this.dispatch("keybinding-nav-range", e, "down", true, false);
97
+ },
98
+ rangeExpandLeft: function(e){
99
+ this.dispatch("keybinding-nav-range", e, "left", false, true);
100
+ },
101
+ rangeExpandRight: function(e){
102
+ this.dispatch("keybinding-nav-range", e, "right", false, true);
103
+ },
104
+ rangeExpandUp: function(e){
105
+ this.dispatch("keybinding-nav-range", e, "up", false, true);
106
+ },
107
+ rangeExpandDown: function(e){
108
+ this.dispatch("keybinding-nav-range", e, "down", false, true);
109
+ },
110
+ rangeExpandJumpLeft: function(e){
111
+ this.dispatch("keybinding-nav-range", e, "left", true, true);
112
+ },
113
+ rangeExpandJumpRight: function(e){
114
+ this.dispatch("keybinding-nav-range", e, "right", true, true);
115
+ },
116
+ rangeExpandJumpUp: function(e){
117
+ this.dispatch("keybinding-nav-range", e, "up", true, true);
118
+ },
119
+ rangeExpandJumpDown: function(e){
120
+ this.dispatch("keybinding-nav-range", e, "down", true, true);
121
+ },
122
+
86
123
  undo:function(e){
87
124
  var cell = false;
88
125
  if(this.table.options.history && this.table.modExists("history") && this.table.modExists("edit")){
@@ -116,4 +153,4 @@ export default {
116
153
  }
117
154
  }
118
155
  },
119
- };
156
+ };
@@ -3,6 +3,8 @@ export default {
3
3
  navNext:9,
4
4
  navUp:38,
5
5
  navDown:40,
6
+ navLeft:37,
7
+ navRight:39,
6
8
  scrollPageUp:33,
7
9
  scrollPageDown:34,
8
10
  scrollToStart:36,
@@ -10,4 +12,17 @@ export default {
10
12
  undo:["ctrl + 90", "meta + 90"],
11
13
  redo:["ctrl + 89", "meta + 89"],
12
14
  copyToClipboard:["ctrl + 67", "meta + 67"],
13
- };
15
+
16
+ rangeJumpUp:["ctrl + 38", "meta + 38"],
17
+ rangeJumpDown:["ctrl + 40", "meta + 40"],
18
+ rangeJumpLeft:["ctrl + 37", "meta + 37"],
19
+ rangeJumpRight:["ctrl + 39", "meta + 39"],
20
+ rangeExpandUp:"shift + 38",
21
+ rangeExpandDown:"shift + 40",
22
+ rangeExpandLeft:"shift + 37",
23
+ rangeExpandRight:"shift + 39",
24
+ rangeExpandJumpUp:["ctrl + shift + 38", "meta + shift + 38"],
25
+ rangeExpandJumpDown:["ctrl + shift + 40", "meta + shift + 40"],
26
+ rangeExpandJumpLeft:["ctrl + shift + 37", "meta + shift + 37"],
27
+ rangeExpandJumpRight:["ctrl + shift + 39", "meta + shift + 39"],
28
+ };
@@ -76,7 +76,7 @@ class Menu extends Module{
76
76
  this.subscribe("group-dblclick", this.loadMenuEvent.bind(this, this.table.options.groupDblClickMenu));
77
77
  }
78
78
  }
79
-
79
+
80
80
  initializeColumn(column){
81
81
  var def = column.definition;
82
82
 
@@ -285,6 +285,7 @@ class Menu extends Module{
285
285
  this.rootPopup = null;
286
286
 
287
287
  if(this.currentComponent){
288
+ this.dispatch("menu-closed", menu, popup);
288
289
  this.dispatchExternal("menuClosed", this.currentComponent.getComponent());
289
290
  this.currentComponent = null;
290
291
  }
@@ -292,6 +293,7 @@ class Menu extends Module{
292
293
 
293
294
  this.currentComponent = component;
294
295
 
296
+ this.dispatch("menu-opened", menu, popup);
295
297
  this.dispatchExternal("menuOpened", component.getComponent());
296
298
  }
297
299
  }
@@ -37,8 +37,13 @@ class MoveColumns extends Module{
37
37
  initialize(){
38
38
  if(this.table.options.movableColumns){
39
39
  this.subscribe("column-init", this.initializeColumn.bind(this));
40
+ this.subscribe("alert-show", this.abortMove.bind(this));
40
41
  }
41
42
  }
43
+
44
+ abortMove(){
45
+ clearTimeout(this.checkTimeout);
46
+ }
42
47
 
43
48
  initializeColumn(column){
44
49
  var self = this,
@@ -70,7 +70,7 @@ class Popup extends Module{
70
70
  this.subscribe("group-dblclick", this.loadPopupEvent.bind(this, this.table.options.groupDblClickPopup));
71
71
  }
72
72
  }
73
-
73
+
74
74
  initializeColumn(column){
75
75
  var def = column.definition;
76
76
 
@@ -45,7 +45,7 @@ class ResizeTable extends Module{
45
45
  this.autoResize = true;
46
46
 
47
47
  this.resizeObserver = new ResizeObserver((entry) => {
48
- if(!table.browserMobile || (table.browserMobile &&!table.modules.edit.currentCell)){
48
+ if(!table.browserMobile || (table.browserMobile && (!table.modules.edit || (table.modules.edit && !table.modules.edit.currentCell)))){
49
49
 
50
50
  var nodeHeight = Math.floor(entry[0].contentRect.height);
51
51
  var nodeWidth = Math.floor(entry[0].contentRect.width);
@@ -71,7 +71,7 @@ class ResizeTable extends Module{
71
71
  if(this.table.element.parentNode && !this.table.rowManager.fixedHeight && (tableStyle.getPropertyValue("max-height") || tableStyle.getPropertyValue("min-height"))){
72
72
 
73
73
  this.containerObserver = new ResizeObserver((entry) => {
74
- if(!table.browserMobile || (table.browserMobile &&!table.modules.edit.currentCell)){
74
+ if(!table.browserMobile || (table.browserMobile && (!table.modules.edit || (table.modules.edit && !table.modules.edit.currentCell)))){
75
75
 
76
76
  var nodeHeight = Math.floor(entry[0].contentRect.height);
77
77
  var nodeWidth = Math.floor(entry[0].contentRect.width);
@@ -94,7 +94,7 @@ class ResizeTable extends Module{
94
94
 
95
95
  }else{
96
96
  this.binding = function(){
97
- if(!table.browserMobile || (table.browserMobile && !table.modules.edit.currentCell)){
97
+ if(!table.browserMobile || (table.browserMobile && (!table.modules.edit || (table.modules.edit && !table.modules.edit.currentCell)))){
98
98
  table.columnManager.rerenderColumns(true);
99
99
  table.redraw();
100
100
  }