tabulator-tables 5.2.1 → 5.2.4
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/bower.json +1 -1
- package/dist/css/tabulator.css +1 -1
- package/dist/css/tabulator.css.map +1 -1
- package/dist/css/tabulator.min.css +1 -1
- package/dist/css/tabulator.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap3.css +1 -1
- package/dist/css/tabulator_bootstrap3.css.map +1 -1
- package/dist/css/tabulator_bootstrap3.min.css +1 -1
- package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap4.css +1 -1
- package/dist/css/tabulator_bootstrap4.css.map +1 -1
- package/dist/css/tabulator_bootstrap4.min.css +1 -1
- package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap5.css +17 -1
- package/dist/css/tabulator_bootstrap5.css.map +1 -1
- package/dist/css/tabulator_bootstrap5.min.css +1 -1
- package/dist/css/tabulator_bootstrap5.min.css.map +1 -1
- package/dist/css/tabulator_bulma.css +1 -1
- package/dist/css/tabulator_bulma.css.map +1 -1
- package/dist/css/tabulator_bulma.min.css +1 -1
- package/dist/css/tabulator_bulma.min.css.map +1 -1
- package/dist/css/tabulator_materialize.css +1 -1
- package/dist/css/tabulator_materialize.css.map +1 -1
- package/dist/css/tabulator_materialize.min.css +1 -1
- package/dist/css/tabulator_materialize.min.css.map +1 -1
- package/dist/css/tabulator_midnight.css +1 -1
- package/dist/css/tabulator_midnight.css.map +1 -1
- package/dist/css/tabulator_midnight.min.css +1 -1
- package/dist/css/tabulator_midnight.min.css.map +1 -1
- package/dist/css/tabulator_modern.css +1 -1
- package/dist/css/tabulator_modern.css.map +1 -1
- package/dist/css/tabulator_modern.min.css +1 -1
- package/dist/css/tabulator_modern.min.css.map +1 -1
- package/dist/css/tabulator_semanticui.css +1 -1
- package/dist/css/tabulator_semanticui.css.map +1 -1
- package/dist/css/tabulator_semanticui.min.css +1 -1
- package/dist/css/tabulator_semanticui.min.css.map +1 -1
- package/dist/css/tabulator_simple.css +1 -1
- package/dist/css/tabulator_simple.css.map +1 -1
- package/dist/css/tabulator_simple.min.css +1 -1
- package/dist/css/tabulator_simple.min.css.map +1 -1
- package/dist/css/tabulator_site.css +1 -1
- package/dist/css/tabulator_site.css.map +1 -1
- package/dist/css/tabulator_site.min.css +1 -1
- package/dist/css/tabulator_site.min.css.map +1 -1
- package/dist/js/tabulator.js +137 -80
- package/dist/js/tabulator.js.map +1 -1
- package/dist/js/tabulator.min.js +2 -2
- package/dist/js/tabulator.min.js.map +1 -1
- package/dist/js/tabulator_esm.js +110 -63
- package/dist/js/tabulator_esm.js.map +1 -1
- package/dist/js/tabulator_esm.min.js +2 -2
- package/dist/js/tabulator_esm.min.js.map +1 -1
- package/package.json +1 -1
- package/src/js/core/CoreFeature.js +2 -2
- package/src/js/core/RowManager.js +2 -0
- package/src/js/core/rendering/Renderer.js +2 -0
- package/src/js/core/tools/DataLoader.js +3 -3
- package/src/js/modules/DataTree/DataTree.js +17 -0
- package/src/js/modules/Edit/List.js +3 -3
- package/src/js/modules/Filter/Filter.js +1 -1
- package/src/js/modules/FrozenColumns/FrozenColumns.js +33 -41
- package/src/js/modules/GroupRows/GroupRows.js +4 -0
- package/src/js/modules/MoveColumns/MoveColumns.js +1 -1
- package/src/js/modules/Persistence/Persistence.js +1 -0
- package/src/js/modules/ResizeColumns/ResizeColumns.js +38 -7
- package/src/js/modules/Sort/Sort.js +1 -1
- package/src/js/modules/Sort/defaults/sorters/datetime.js +1 -1
- package/src/js/modules/Validate/Validate.js +3 -3
- package/src/scss/tabulator.scss +1 -1
- package/src/scss/themes/bootstrap/tabulator_bootstrap5.scss +20 -0
package/package.json
CHANGED
|
@@ -8,8 +8,8 @@ export default class CoreFeature{
|
|
|
8
8
|
/////////////// DataLoad /////////////////
|
|
9
9
|
//////////////////////////////////////////
|
|
10
10
|
|
|
11
|
-
reloadData(data, silent){
|
|
12
|
-
return this.table.dataLoader.load(data, undefined, undefined, undefined, silent);
|
|
11
|
+
reloadData(data, silent, columnsChanged){
|
|
12
|
+
return this.table.dataLoader.load(data, undefined, undefined, undefined, silent, columnsChanged);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
//////////////////////////////////////////
|
|
@@ -848,7 +848,9 @@ export default class RowManager extends CoreFeature{
|
|
|
848
848
|
this.redrawBlockRenderInPosition = true;
|
|
849
849
|
}
|
|
850
850
|
}else{
|
|
851
|
+
this.dispatchExternal("renderStarted");
|
|
851
852
|
this.renderer.rerenderRows(callback);
|
|
853
|
+
this.dispatchExternal("renderComplete");
|
|
852
854
|
}
|
|
853
855
|
}
|
|
854
856
|
|
|
@@ -186,6 +186,8 @@ export default class Renderer extends CoreFeature{
|
|
|
186
186
|
this.elementVertical.scrollTop = this.elementVertical.scrollTop - this.elementVertical.clientHeight + rowEl.offsetHeight;
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
+
case "top":
|
|
190
|
+
this.elementVertical.scrollTop = rowEl.offsetTop;
|
|
189
191
|
break;
|
|
190
192
|
}
|
|
191
193
|
|
|
@@ -10,7 +10,7 @@ export default class DataLoader extends CoreFeature{
|
|
|
10
10
|
|
|
11
11
|
initialize(){}
|
|
12
12
|
|
|
13
|
-
load(data, params, config, replace, silent){
|
|
13
|
+
load(data, params, config, replace, silent, columnsChanged){
|
|
14
14
|
var requestNo = ++this.requestOrder;
|
|
15
15
|
|
|
16
16
|
this.dispatchExternal("dataLoading", data);
|
|
@@ -46,7 +46,7 @@ export default class DataLoader extends CoreFeature{
|
|
|
46
46
|
|
|
47
47
|
if(rowData !== false){
|
|
48
48
|
this.dispatchExternal("dataLoaded", rowData);
|
|
49
|
-
this.table.rowManager.setData(rowData, replace, !replace);
|
|
49
|
+
this.table.rowManager.setData(rowData, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
50
50
|
}
|
|
51
51
|
}else{
|
|
52
52
|
console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made");
|
|
@@ -73,7 +73,7 @@ export default class DataLoader extends CoreFeature{
|
|
|
73
73
|
data = [];
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
this.table.rowManager.setData(data, replace, !replace);
|
|
76
|
+
this.table.rowManager.setData(data, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
77
77
|
return Promise.resolve();
|
|
78
78
|
}
|
|
79
79
|
}
|
|
@@ -122,11 +122,24 @@ class DataTree extends Module{
|
|
|
122
122
|
this.subscribe("edit-cancelled", this.cellValueChanged.bind(this));
|
|
123
123
|
this.subscribe("column-moving-rows", this.columnMoving.bind(this));
|
|
124
124
|
this.subscribe("table-built", this.initializeElementField.bind(this));
|
|
125
|
+
this.subscribe("table-redrawing", this.tableRedrawing.bind(this));
|
|
125
126
|
|
|
126
127
|
this.registerDisplayHandler(this.getRows.bind(this), 30);
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
|
|
131
|
+
tableRedrawing(force){
|
|
132
|
+
var rows;
|
|
133
|
+
|
|
134
|
+
if(force){
|
|
135
|
+
rows = this.table.rowManager.getRows();
|
|
136
|
+
|
|
137
|
+
rows.forEach((row) => {
|
|
138
|
+
this.reinitializeRowChildren(row);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
130
143
|
initializeElementField(){
|
|
131
144
|
var firstCol = this.table.columnManager.getFirstVisibleColumn();
|
|
132
145
|
|
|
@@ -419,6 +432,10 @@ class DataTree extends Module{
|
|
|
419
432
|
return row.modules.dataTree.parent ? row.modules.dataTree.parent.getComponent() : false;
|
|
420
433
|
}
|
|
421
434
|
|
|
435
|
+
getTreeParentRoot(row){
|
|
436
|
+
return row.modules.dataTree.parent ? this.getTreeParentRoot(row.modules.dataTree.parent) : row;
|
|
437
|
+
}
|
|
438
|
+
|
|
422
439
|
getFilteredTreeChildren(row){
|
|
423
440
|
var config = row.modules.dataTree,
|
|
424
441
|
output = [], children;
|
|
@@ -475,7 +475,7 @@ export default class Edit{
|
|
|
475
475
|
values = this._ajaxRequest(this.params.valuesURL, this.input.value);
|
|
476
476
|
}else{
|
|
477
477
|
if(typeof this.params.valuesLookup === "function"){
|
|
478
|
-
values = this.params.valuesLookup(cell, this.input.value);
|
|
478
|
+
values = this.params.valuesLookup(this.cell, this.input.value);
|
|
479
479
|
}else if(this.params.valuesLookup){
|
|
480
480
|
values = this._uniqueColumnValues(this.params.valuesLookupField);
|
|
481
481
|
}
|
|
@@ -990,8 +990,8 @@ export default class Edit{
|
|
|
990
990
|
this.actions.success(output);
|
|
991
991
|
|
|
992
992
|
if(this.isFilter){
|
|
993
|
-
this.initialValues = output;
|
|
993
|
+
this.initialValues = output && !Array.isArray[output] ? [output] : output;
|
|
994
994
|
}
|
|
995
995
|
}
|
|
996
996
|
|
|
997
|
-
}
|
|
997
|
+
}
|
|
@@ -12,7 +12,6 @@ class FrozenColumns extends Module{
|
|
|
12
12
|
this.rightPadding = 0;
|
|
13
13
|
this.initializationMode = "left";
|
|
14
14
|
this.active = false;
|
|
15
|
-
this.scrollEndTimer = false;
|
|
16
15
|
this.blocked = true;
|
|
17
16
|
|
|
18
17
|
this.registerColumnOption("frozen");
|
|
@@ -41,10 +40,10 @@ class FrozenColumns extends Module{
|
|
|
41
40
|
this.subscribe("scroll-horizontal", this.scrollHorizontal.bind(this));
|
|
42
41
|
this.subscribe("scroll-horizontal", this.scrollHorizontal.bind(this));
|
|
43
42
|
this.subscribe("columns-loading", this.reset.bind(this));
|
|
44
|
-
|
|
43
|
+
|
|
45
44
|
this.subscribe("column-add", this.reinitializeColumns.bind(this));
|
|
46
45
|
this.subscribe("column-delete", this.reinitializeColumns.bind(this));
|
|
47
|
-
|
|
46
|
+
|
|
48
47
|
this.subscribe("table-redraw", this.layout.bind(this));
|
|
49
48
|
this.subscribe("layout-refreshing", this.blockLayout.bind(this));
|
|
50
49
|
this.subscribe("layout-refreshed", this.unblockLayout.bind(this));
|
|
@@ -61,10 +60,10 @@ class FrozenColumns extends Module{
|
|
|
61
60
|
layoutCell(cell){
|
|
62
61
|
this.layoutElement(cell.element, cell.column)
|
|
63
62
|
}
|
|
64
|
-
|
|
63
|
+
|
|
65
64
|
reinitializeColumns(){
|
|
66
65
|
this.reset();
|
|
67
|
-
|
|
66
|
+
|
|
68
67
|
this.table.columnManager.columnsByIndex.forEach((column) => {
|
|
69
68
|
this.initializeColumn(column);
|
|
70
69
|
});
|
|
@@ -111,22 +110,14 @@ class FrozenColumns extends Module{
|
|
|
111
110
|
scrollHorizontal(){
|
|
112
111
|
var rows;
|
|
113
112
|
|
|
114
|
-
if(this.active){
|
|
115
|
-
clearTimeout(this.scrollEndTimer);
|
|
116
|
-
|
|
117
|
-
rows = this.table.rowManager.getVisibleRows();
|
|
118
|
-
|
|
113
|
+
if(this.active){
|
|
119
114
|
this.calcMargins(true);
|
|
120
115
|
|
|
121
116
|
this.layoutColumnPosition();
|
|
122
117
|
|
|
123
118
|
this.layoutCalcRows();
|
|
124
119
|
|
|
125
|
-
|
|
126
|
-
if(row.type === "row"){
|
|
127
|
-
this.layoutRow(row);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
120
|
+
this.reinitializeRows();
|
|
130
121
|
}
|
|
131
122
|
}
|
|
132
123
|
|
|
@@ -138,7 +129,7 @@ class FrozenColumns extends Module{
|
|
|
138
129
|
this.rightMargin = this._calcSpace(this.rightColumns, this.rightColumns.length) + "px";
|
|
139
130
|
this.table.rowManager.tableElement.style.marginRight = this.rightMargin;
|
|
140
131
|
}
|
|
141
|
-
|
|
132
|
+
|
|
142
133
|
//calculate right frozen columns
|
|
143
134
|
this.rightPadding = this.table.rowManager.element.clientWidth + this.table.columnManager.scrollLeft;
|
|
144
135
|
}
|
|
@@ -185,10 +176,11 @@ class FrozenColumns extends Module{
|
|
|
185
176
|
|
|
186
177
|
this.table.columnManager.headersElement.style.marginLeft = this.leftMargin;
|
|
187
178
|
this.table.columnManager.element.style.paddingRight = this.rightMargin;
|
|
188
|
-
|
|
179
|
+
|
|
189
180
|
this.leftColumns.forEach((column, i) => {
|
|
190
|
-
column.modules.frozen.
|
|
191
|
-
|
|
181
|
+
column.modules.frozen.marginValue = leftMargin + this.table.columnManager.scrollLeft;
|
|
182
|
+
column.modules.frozen.margin = column.modules.frozen.marginValue + "px";
|
|
183
|
+
|
|
192
184
|
if(column.visible){
|
|
193
185
|
leftMargin += column.getWidth();
|
|
194
186
|
}
|
|
@@ -221,12 +213,13 @@ class FrozenColumns extends Module{
|
|
|
221
213
|
});
|
|
222
214
|
|
|
223
215
|
this.rightColumns.forEach((column, i) => {
|
|
224
|
-
|
|
216
|
+
|
|
225
217
|
if(column.visible){
|
|
226
218
|
rightMargin += column.getWidth();
|
|
227
219
|
}
|
|
228
|
-
|
|
229
|
-
column.modules.frozen.
|
|
220
|
+
|
|
221
|
+
column.modules.frozen.marginValue = this.rightPadding - rightMargin;
|
|
222
|
+
column.modules.frozen.margin = column.modules.frozen.marginValue + "px";
|
|
230
223
|
|
|
231
224
|
if(i == this.rightColumns.length - 1){
|
|
232
225
|
column.modules.frozen.edge = true;
|
|
@@ -254,36 +247,35 @@ class FrozenColumns extends Module{
|
|
|
254
247
|
}
|
|
255
248
|
|
|
256
249
|
//layout columns appropriately
|
|
257
|
-
layout(){
|
|
258
|
-
var visibleRows = [],
|
|
259
|
-
otherRows = [];
|
|
260
|
-
|
|
250
|
+
layout(){
|
|
261
251
|
if(this.active && !this.blocked){
|
|
262
252
|
//calculate row padding
|
|
263
253
|
this.calcMargins();
|
|
264
|
-
|
|
254
|
+
|
|
265
255
|
//calculate left columns
|
|
266
256
|
this.layoutColumnPosition();
|
|
267
257
|
|
|
268
|
-
|
|
269
|
-
otherRows = this.table.rowManager.getDisplayRows().filter(row => !visibleRows.includes(row));
|
|
270
|
-
|
|
271
|
-
otherRows.forEach((row) =>{
|
|
272
|
-
row.deinitialize();
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
visibleRows.forEach((row) =>{
|
|
276
|
-
if(row.type === "row"){
|
|
277
|
-
this.layoutRow(row);
|
|
278
|
-
}
|
|
279
|
-
});
|
|
258
|
+
this.reinitializeRows();
|
|
280
259
|
|
|
281
260
|
this.layoutCalcRows();
|
|
282
|
-
|
|
283
|
-
|
|
284
261
|
}
|
|
285
262
|
}
|
|
286
263
|
|
|
264
|
+
reinitializeRows(){
|
|
265
|
+
var visibleRows = this.table.rowManager.getVisibleRows();
|
|
266
|
+
var otherRows = this.table.rowManager.getRows().filter(row => !visibleRows.includes(row));
|
|
267
|
+
|
|
268
|
+
otherRows.forEach((row) =>{
|
|
269
|
+
row.deinitialize();
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
visibleRows.forEach((row) =>{
|
|
273
|
+
if(row.type === "row"){
|
|
274
|
+
this.layoutRow(row);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
|
|
287
279
|
layoutRow(row){
|
|
288
280
|
// console.trace("row")
|
|
289
281
|
var rowEl = row.getElement();
|
|
@@ -436,6 +436,10 @@ class GroupRows extends Module{
|
|
|
436
436
|
getRowGroup(row){
|
|
437
437
|
var match = false;
|
|
438
438
|
|
|
439
|
+
if(this.options("dataTree")){
|
|
440
|
+
row = this.table.modules.dataTree.getTreeParentRoot(row);
|
|
441
|
+
}
|
|
442
|
+
|
|
439
443
|
this.groupList.forEach((group) => {
|
|
440
444
|
var result = group.getRowGroup(row);
|
|
441
445
|
|
|
@@ -33,6 +33,7 @@ class ResizeColumns extends Module{
|
|
|
33
33
|
|
|
34
34
|
this.subscribe("column-hide", this.deInitializeColumn.bind(this));
|
|
35
35
|
this.subscribe("column-show", this.columnLayoutUpdated.bind(this));
|
|
36
|
+
this.subscribe("column-width", this.columnWidthUpdated.bind(this));
|
|
36
37
|
|
|
37
38
|
this.subscribe("column-delete", this.deInitializeComponent.bind(this));
|
|
38
39
|
this.subscribe("column-height", this.resizeHandle.bind(this));
|
|
@@ -67,14 +68,39 @@ class ResizeColumns extends Module{
|
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
|
|
71
|
+
columnWidthUpdated(column){
|
|
72
|
+
if(column.modules.frozen){
|
|
73
|
+
if(this.table.modules.frozenColumns.leftColumns.includes(column)){
|
|
74
|
+
this.table.modules.frozenColumns.leftColumns.forEach((col) => {
|
|
75
|
+
this.reinitializeColumn(col);
|
|
76
|
+
});
|
|
77
|
+
}else if(this.table.modules.frozenColumns.rightColumns.includes(column)){
|
|
78
|
+
this.table.modules.frozenColumns.rightColumns.forEach((col) => {
|
|
79
|
+
this.reinitializeColumn(col);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
70
85
|
reinitializeColumn(column){
|
|
86
|
+
var frozenOffset = column.modules.frozen ? (column.modules.frozen.marginValue + column.getWidth() + "px") : false;
|
|
87
|
+
;
|
|
88
|
+
|
|
71
89
|
column.cells.forEach((cell) => {
|
|
72
90
|
if(cell.modules.resize && cell.modules.resize.handleEl){
|
|
91
|
+
if(frozenOffset){
|
|
92
|
+
cell.modules.resize.handleEl.style.left = frozenOffset;
|
|
93
|
+
}
|
|
94
|
+
|
|
73
95
|
cell.element.after(cell.modules.resize.handleEl);
|
|
74
96
|
}
|
|
75
97
|
});
|
|
76
98
|
|
|
77
99
|
if(column.modules.resize && column.modules.resize.handleEl){
|
|
100
|
+
if(frozenOffset){
|
|
101
|
+
column.modules.resize.handleEl.style.left = frozenOffset;
|
|
102
|
+
}
|
|
103
|
+
|
|
78
104
|
column.element.after(column.modules.resize.handleEl);
|
|
79
105
|
}
|
|
80
106
|
}
|
|
@@ -94,7 +120,7 @@ class ResizeColumns extends Module{
|
|
|
94
120
|
|
|
95
121
|
if((mode === true || mode == type) && this._checkResizability(nearestColumn)){
|
|
96
122
|
|
|
97
|
-
var handle = document.createElement('
|
|
123
|
+
var handle = document.createElement('span');
|
|
98
124
|
handle.className = "tabulator-col-resize-handle";
|
|
99
125
|
|
|
100
126
|
handle.addEventListener("click", function(e){
|
|
@@ -123,6 +149,11 @@ class ResizeColumns extends Module{
|
|
|
123
149
|
}
|
|
124
150
|
});
|
|
125
151
|
|
|
152
|
+
if(column.modules.frozen){
|
|
153
|
+
handle.style.position = "absolute";
|
|
154
|
+
handle.style.left = column.modules.frozen.marginValue + column.getWidth() + "px";
|
|
155
|
+
}
|
|
156
|
+
|
|
126
157
|
config.handleEl = handle;
|
|
127
158
|
|
|
128
159
|
if(element.parentNode){
|
|
@@ -173,27 +204,27 @@ class ResizeColumns extends Module{
|
|
|
173
204
|
startDiff = x - self.startX,
|
|
174
205
|
moveDiff = x - self.latestX,
|
|
175
206
|
blockedBefore, blockedAfter;
|
|
176
|
-
|
|
207
|
+
|
|
177
208
|
self.latestX = x;
|
|
178
209
|
|
|
179
210
|
if(self.table.rtl){
|
|
180
211
|
startDiff = -startDiff;
|
|
181
212
|
moveDiff = -moveDiff;
|
|
182
213
|
}
|
|
183
|
-
|
|
214
|
+
|
|
184
215
|
blockedBefore = column.width == column.minWidth || column.width == column.maxWidth;
|
|
185
|
-
|
|
216
|
+
|
|
186
217
|
column.setWidth(self.startWidth + startDiff);
|
|
187
|
-
|
|
218
|
+
|
|
188
219
|
blockedAfter = column.width == column.minWidth || column.width == column.maxWidth;
|
|
189
|
-
|
|
220
|
+
|
|
190
221
|
if(moveDiff < 0){
|
|
191
222
|
self.nextColumn = self.initialNextColumn;
|
|
192
223
|
}
|
|
193
224
|
|
|
194
225
|
if(self.table.options.resizableColumnFit && self.nextColumn && !(blockedBefore && blockedAfter)){
|
|
195
226
|
let colWidth = self.nextColumn.getWidth();
|
|
196
|
-
|
|
227
|
+
|
|
197
228
|
if(moveDiff > 0){
|
|
198
229
|
if(colWidth <= self.nextColumn.minWidth){
|
|
199
230
|
self.nextColumn = self.nextColumn.nextColumn();
|
|
@@ -89,7 +89,7 @@ class Validate extends Module{
|
|
|
89
89
|
var invalid = [];
|
|
90
90
|
|
|
91
91
|
column.cells.forEach((cell) => {
|
|
92
|
-
if(
|
|
92
|
+
if(this.cellValidate(cell) !== true){
|
|
93
93
|
invalid.push(cell.getComponent());
|
|
94
94
|
}
|
|
95
95
|
});
|
|
@@ -105,7 +105,7 @@ class Validate extends Module{
|
|
|
105
105
|
var invalid = [];
|
|
106
106
|
|
|
107
107
|
row.cells.forEach((cell) => {
|
|
108
|
-
if(
|
|
108
|
+
if(this.cellValidate(cell) !== true){
|
|
109
109
|
invalid.push(cell.getComponent());
|
|
110
110
|
}
|
|
111
111
|
});
|
|
@@ -305,4 +305,4 @@ Validate.moduleName = "validate";
|
|
|
305
305
|
//load defaults
|
|
306
306
|
Validate.validators = defaultValidators;
|
|
307
307
|
|
|
308
|
-
export default Validate;
|
|
308
|
+
export default Validate;
|
package/src/scss/tabulator.scss
CHANGED
|
@@ -543,4 +543,24 @@ $table-cell-padding-sm: 5px;
|
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
545
|
}
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
.tabulator-popup-container{
|
|
549
|
+
background:#fff;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
.tabulator-edit-list{
|
|
553
|
+
.tabulator-edit-list-item{
|
|
554
|
+
&.active{
|
|
555
|
+
color:#fff;
|
|
556
|
+
|
|
557
|
+
&.focused{
|
|
558
|
+
outline:1px solid rgba(#fff, .5);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
&:hover{
|
|
563
|
+
color:#fff;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
546
566
|
}
|