tabulator-tables 5.4.2 → 5.4.3
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/css/tabulator.css +1 -0
- 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 -0
- 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 -0
- 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 +1 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 +280 -222
- 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 +280 -222
- 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/RowManager.js +49 -30
- package/src/js/core/Tabulator.js +7 -8
- package/src/js/core/tools/Popup.js +1 -1
- package/src/js/modules/Edit/List.js +1 -1
- package/src/js/modules/Edit/inputMask.js +1 -1
- package/src/js/modules/Export/Export.js +151 -145
- package/src/js/modules/Filter/Filter.js +11 -8
- package/src/js/modules/GroupRows/Group.js +10 -7
- package/src/js/modules/GroupRows/GroupRows.js +23 -7
- package/src/js/modules/Localize/Localize.js +0 -9
- package/src/js/modules/Print/Print.js +15 -2
- package/src/js/modules/SelectRow/SelectRow.js +10 -2
- package/src/scss/tabulator.scss +1 -0
|
@@ -182,11 +182,6 @@ class Filter extends Module{
|
|
|
182
182
|
var def = column.definition;
|
|
183
183
|
|
|
184
184
|
if(def.headerFilter){
|
|
185
|
-
|
|
186
|
-
if(typeof def.headerFilterPlaceholder !== "undefined" && def.field){
|
|
187
|
-
this.module("localize").setHeaderFilterColumnPlaceholder(def.field, def.headerFilterPlaceholder);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
185
|
this.initializeColumn(column);
|
|
191
186
|
}
|
|
192
187
|
}
|
|
@@ -298,13 +293,17 @@ class Filter extends Module{
|
|
|
298
293
|
var self = this,
|
|
299
294
|
success = column.modules.filter.success,
|
|
300
295
|
field = column.getField(),
|
|
301
|
-
filterElement, editor, editorElement, cellWrapper, typingTimer, searchTrigger, params;
|
|
296
|
+
filterElement, editor, editorElement, cellWrapper, typingTimer, searchTrigger, params, onRenderedCallback;
|
|
302
297
|
|
|
303
298
|
column.modules.filter.value = initialValue;
|
|
304
299
|
|
|
305
300
|
//handle aborted edit
|
|
306
301
|
function cancel(){}
|
|
307
302
|
|
|
303
|
+
function onRendered(callback){
|
|
304
|
+
onRenderedCallback = callback;
|
|
305
|
+
}
|
|
306
|
+
|
|
308
307
|
if(column.modules.filter.headerElement && column.modules.filter.headerElement.parentNode){
|
|
309
308
|
column.contentElement.removeChild(column.modules.filter.headerElement.parentNode);
|
|
310
309
|
}
|
|
@@ -389,7 +388,7 @@ class Filter extends Module{
|
|
|
389
388
|
|
|
390
389
|
params = typeof params === "function" ? params.call(self.table, cellWrapper) : params;
|
|
391
390
|
|
|
392
|
-
editorElement = editor.call(this.table.modules.edit, cellWrapper,
|
|
391
|
+
editorElement = editor.call(this.table.modules.edit, cellWrapper, onRendered, success, cancel, params);
|
|
393
392
|
|
|
394
393
|
if(!editorElement){
|
|
395
394
|
console.warn("Filter Error - Cannot add filter to " + field + " column, editor returned a value of false");
|
|
@@ -403,7 +402,7 @@ class Filter extends Module{
|
|
|
403
402
|
|
|
404
403
|
//set Placeholder Text
|
|
405
404
|
self.langBind("headerFilters|columns|" + column.definition.field, function(value){
|
|
406
|
-
editorElement.setAttribute("placeholder", typeof value !== "undefined" && value ? value : self.langText("headerFilters|default"));
|
|
405
|
+
editorElement.setAttribute("placeholder", typeof value !== "undefined" && value ? value : (column.definition.headerFilterPlaceholder || self.langText("headerFilters|default")));
|
|
407
406
|
});
|
|
408
407
|
|
|
409
408
|
//focus on element on click
|
|
@@ -485,6 +484,10 @@ class Filter extends Module{
|
|
|
485
484
|
if(!reinitialize){
|
|
486
485
|
self.headerFilterColumns.push(column);
|
|
487
486
|
}
|
|
487
|
+
|
|
488
|
+
if(onRenderedCallback){
|
|
489
|
+
onRenderedCallback();
|
|
490
|
+
}
|
|
488
491
|
}
|
|
489
492
|
}else{
|
|
490
493
|
console.warn("Filter Error - Cannot add header filter, column has no field set:", column.definition.title);
|
|
@@ -71,7 +71,7 @@ class Group{
|
|
|
71
71
|
this.arrowElement = document.createElement("div");
|
|
72
72
|
this.arrowElement.classList.add("tabulator-group-toggle");
|
|
73
73
|
this.arrowElement.appendChild(arrow);
|
|
74
|
-
|
|
74
|
+
|
|
75
75
|
//setup movable rows
|
|
76
76
|
if(this.groupManager.table.options.movableRows !== false && this.groupManager.table.modExists("moveRow")){
|
|
77
77
|
this.groupManager.table.modules.moveRow.initializeGroupHeader(this);
|
|
@@ -209,19 +209,22 @@ class Group{
|
|
|
209
209
|
this.parent.removeGroup(this);
|
|
210
210
|
}else{
|
|
211
211
|
this.groupManager.removeGroup(this);
|
|
212
|
-
}
|
|
212
|
+
}
|
|
213
213
|
|
|
214
214
|
this.groupManager.updateGroupRows(true);
|
|
215
|
+
|
|
215
216
|
}else{
|
|
216
217
|
|
|
217
218
|
if(el.parentNode){
|
|
218
219
|
el.parentNode.removeChild(el);
|
|
219
220
|
}
|
|
220
|
-
|
|
221
|
-
this.
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
this.groupManager.table.
|
|
221
|
+
|
|
222
|
+
if(!this.groupManager.blockRedraw){
|
|
223
|
+
this.generateGroupHeaderContents();
|
|
224
|
+
|
|
225
|
+
if(this.groupManager.table.modExists("columnCalcs") && this.groupManager.table.options.columnCalcs != "table"){
|
|
226
|
+
this.groupManager.table.modules.columnCalcs.recalcGroup(this);
|
|
227
|
+
}
|
|
225
228
|
}
|
|
226
229
|
|
|
227
230
|
}
|
|
@@ -15,6 +15,8 @@ class GroupRows extends Module{
|
|
|
15
15
|
this.groups = {}; //hold row groups
|
|
16
16
|
|
|
17
17
|
this.displayHandler = this.getRows.bind(this);
|
|
18
|
+
|
|
19
|
+
this.blockRedraw = false;
|
|
18
20
|
|
|
19
21
|
//register table options
|
|
20
22
|
this.registerTableOption("groupBy", false); //enable table grouping and set field to group by
|
|
@@ -43,6 +45,10 @@ class GroupRows extends Module{
|
|
|
43
45
|
|
|
44
46
|
//initialize group configuration
|
|
45
47
|
initialize(){
|
|
48
|
+
this.subscribe("table-destroy", this._blockRedrawing.bind(this));
|
|
49
|
+
this.subscribe("rows-wipe", this._blockRedrawing.bind(this));
|
|
50
|
+
this.subscribe("rows-wiped", this._restore_redrawing.bind(this));
|
|
51
|
+
|
|
46
52
|
if(this.table.options.groupBy){
|
|
47
53
|
if(this.table.options.groupUpdateOnCellEdit){
|
|
48
54
|
this.subscribe("cell-value-updated", this.cellUpdated.bind(this));
|
|
@@ -69,6 +75,14 @@ class GroupRows extends Module{
|
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
|
|
78
|
+
_blockRedrawing(){
|
|
79
|
+
this.blockRedraw = true;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
_restore_redrawing(){
|
|
83
|
+
this.blockRedraw = false;
|
|
84
|
+
}
|
|
85
|
+
|
|
72
86
|
configureGroupSetup(){
|
|
73
87
|
if(this.table.options.groupBy){
|
|
74
88
|
var groupBy = this.table.options.groupBy,
|
|
@@ -555,13 +569,15 @@ class GroupRows extends Module{
|
|
|
555
569
|
|
|
556
570
|
updateGroupRows(force){
|
|
557
571
|
var output = [];
|
|
558
|
-
|
|
559
|
-
this.
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
572
|
+
|
|
573
|
+
if(!this.blockRedraw){
|
|
574
|
+
this.groupList.forEach((group) => {
|
|
575
|
+
output = output.concat(group.getHeadersAndRows());
|
|
576
|
+
});
|
|
577
|
+
|
|
578
|
+
if(force){
|
|
579
|
+
this.refreshData(true);
|
|
580
|
+
}
|
|
565
581
|
}
|
|
566
582
|
|
|
567
583
|
return output;
|
|
@@ -41,15 +41,6 @@ class Localize extends Module{
|
|
|
41
41
|
this.langList.default.headerFilters.default = placeholder;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
//set header filter placeholder by column
|
|
45
|
-
setHeaderFilterColumnPlaceholder(column, placeholder){
|
|
46
|
-
this.langList.default.headerFilters.columns[column] = placeholder;
|
|
47
|
-
|
|
48
|
-
if(this.lang && !this.lang.headerFilters.columns[column]){
|
|
49
|
-
this.lang.headerFilters.columns[column] = placeholder;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
44
|
//setup a lang description object
|
|
54
45
|
installLang(locale, lang){
|
|
55
46
|
if(this.langList[locale]){
|
|
@@ -7,6 +7,8 @@ class Print extends Module{
|
|
|
7
7
|
|
|
8
8
|
this.element = false;
|
|
9
9
|
this.manualBlock = false;
|
|
10
|
+
this.beforeprintEventHandler = null;
|
|
11
|
+
this.afterprintEventHandler = null;
|
|
10
12
|
|
|
11
13
|
this.registerTableOption("printAsHtml", false); //enable print as html
|
|
12
14
|
this.registerTableOption("printFormatter", false); //printing page formatter
|
|
@@ -22,13 +24,24 @@ class Print extends Module{
|
|
|
22
24
|
|
|
23
25
|
initialize(){
|
|
24
26
|
if(this.table.options.printAsHtml){
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
this.beforeprintEventHandler = this.replaceTable.bind(this);
|
|
28
|
+
this.afterprintEventHandler = this.cleanup.bind(this);
|
|
29
|
+
|
|
30
|
+
window.addEventListener("beforeprint", this.beforeprintEventHandler );
|
|
31
|
+
window.addEventListener("afterprint", this.afterprintEventHandler);
|
|
32
|
+
this.subscribe("table-destroy", this.destroy.bind(this));
|
|
27
33
|
}
|
|
28
34
|
|
|
29
35
|
this.registerTableFunction("print", this.printFullscreen.bind(this));
|
|
30
36
|
}
|
|
31
37
|
|
|
38
|
+
destroy(){
|
|
39
|
+
if(this.table.options.printAsHtml){
|
|
40
|
+
window.removeEventListener( "beforeprint", this.beforeprintEventHandler );
|
|
41
|
+
window.removeEventListener( "afterprint", this.afterprintEventHandler );
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
32
45
|
///////////////////////////////////
|
|
33
46
|
///////// Table Functions /////////
|
|
34
47
|
///////////////////////////////////
|
|
@@ -79,7 +79,7 @@ class SelectRow extends Module{
|
|
|
79
79
|
row.modules.select = {selected:false};
|
|
80
80
|
|
|
81
81
|
//set row selection class
|
|
82
|
-
if(self.
|
|
82
|
+
if(self.checkRowSelectability(row)){
|
|
83
83
|
element.classList.add("tabulator-selectable");
|
|
84
84
|
element.classList.remove("tabulator-unselectable");
|
|
85
85
|
|
|
@@ -190,10 +190,18 @@ class SelectRow extends Module{
|
|
|
190
190
|
this.lastClickedRow = row;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
+
|
|
194
|
+
checkRowSelectability(row){
|
|
195
|
+
if(row.type === "row"){
|
|
196
|
+
return this.table.options.selectableCheck.call(this.table, row.getComponent());
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
193
201
|
|
|
194
202
|
//toggle row selection
|
|
195
203
|
toggleRow(row){
|
|
196
|
-
if(this.
|
|
204
|
+
if(this.checkRowSelectability(row)){
|
|
197
205
|
if(row.modules.select && row.modules.select.selected){
|
|
198
206
|
this._deselectRow(row);
|
|
199
207
|
}else{
|
package/src/scss/tabulator.scss
CHANGED