tabulator-tables 5.6.0 → 6.0.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.
- package/bower.json +1 -1
- package/build/{Bundler.js → Bundler.mjs} +8 -6
- package/build/rollup.mjs +9 -0
- package/dist/css/tabulator.css +67 -5
- 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 +77 -5
- 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 +83 -5
- 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 +83 -5
- 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 +89 -5
- 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 +82 -5
- 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 +77 -5
- 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 +87 -5
- 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 +79 -5
- 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 +80 -5
- 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 +90 -5
- 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 +3865 -2755
- 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 +3857 -2745
- 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 +17 -17
- package/src/js/builds/esm.js +2 -0
- package/src/js/core/ColumnManager.js +15 -0
- package/src/js/core/Module.js +2 -4
- package/src/js/core/RowManager.js +4 -6
- package/src/js/core/Tabulator.js +36 -23
- package/src/js/core/TabulatorFull.js +15 -5
- package/src/js/core/cell/Cell.js +4 -0
- package/src/js/core/column/Column.js +231 -216
- package/src/js/core/column/ColumnComponent.js +1 -3
- package/src/js/core/defaults/options.js +1 -0
- package/src/js/core/modules/optional.js +2 -1
- package/src/js/core/row/Row.js +23 -11
- package/src/js/core/tools/DataLoader.js +1 -1
- package/src/js/core/tools/ModuleBinder.js +123 -75
- package/src/js/core/tools/TableRegistry.js +58 -55
- package/src/js/modules/Accessor/Accessor.js +7 -8
- package/src/js/modules/Accessor/defaults/accessors.js +5 -1
- package/src/js/modules/Ajax/Ajax.js +10 -12
- package/src/js/modules/Clipboard/Clipboard.js +10 -10
- package/src/js/modules/Clipboard/defaults/pasteActions.js +0 -43
- package/src/js/modules/Clipboard/defaults/pasteParsers.js +0 -55
- package/src/js/modules/Clipboard/extensions/extensions.js +9 -0
- package/src/js/modules/Clipboard/extensions/keybindings/actions.js +9 -0
- package/src/js/modules/Clipboard/extensions/keybindings/bindings.js +3 -0
- package/src/js/modules/ColumnCalcs/CalcComponent.js +2 -4
- package/src/js/modules/ColumnCalcs/ColumnCalcs.js +16 -18
- package/src/js/modules/Comms/Comms.js +5 -8
- package/src/js/modules/DataTree/DataTree.js +11 -11
- package/src/js/modules/Download/Download.js +9 -11
- package/src/js/modules/Edit/Edit.js +63 -21
- package/src/js/modules/Edit/List.js +12 -12
- package/src/js/modules/Edit/defaults/editors/datetime.js +1 -1
- package/src/js/modules/Edit/defaults/editors/time.js +1 -1
- package/src/js/modules/Edit/defaults/editors.js +0 -4
- package/src/js/modules/Export/Export.js +70 -62
- package/src/js/modules/Export/ExportColumn.js +2 -4
- package/src/js/modules/Export/ExportRow.js +2 -4
- package/src/js/modules/Export/defaults/columnLookups.js +3 -0
- package/src/js/modules/Export/defaults/rowLookups.js +18 -0
- package/src/js/modules/Filter/Filter.js +7 -9
- package/src/js/modules/Format/Format.js +7 -9
- package/src/js/modules/Format/defaults/formatters.js +0 -4
- package/src/js/modules/FrozenColumns/FrozenColumns.js +9 -6
- package/src/js/modules/FrozenRows/FrozenRows.js +4 -6
- package/src/js/modules/GroupRows/Group.js +2 -4
- package/src/js/modules/GroupRows/GroupComponent.js +2 -4
- package/src/js/modules/GroupRows/GroupRows.js +4 -6
- package/src/js/modules/History/History.js +10 -10
- package/src/js/modules/History/extensions/extensions.js +9 -0
- package/src/js/modules/History/extensions/keybindings/actions.js +27 -0
- package/src/js/modules/History/extensions/keybindings/bindings.js +4 -0
- package/src/js/modules/HtmlTableImport/HtmlTableImport.js +4 -6
- package/src/js/modules/Import/Import.js +7 -9
- package/src/js/modules/Import/defaults/importers/array.js +2 -4
- package/src/js/modules/Import/defaults/importers/csv.js +2 -4
- package/src/js/modules/Interaction/Interaction.js +4 -6
- package/src/js/modules/Keybindings/Keybindings.js +8 -10
- package/src/js/modules/Keybindings/defaults/actions.js +5 -71
- package/src/js/modules/Keybindings/defaults/bindings.js +0 -16
- package/src/js/modules/Layout/Layout.js +7 -9
- package/src/js/modules/Localize/Localize.js +7 -9
- package/src/js/modules/Menu/Menu.js +7 -9
- package/src/js/modules/MoveColumns/MoveColumns.js +6 -8
- package/src/js/modules/MoveRows/MoveRows.js +13 -45
- package/src/js/modules/MoveRows/defaults/receivers.js +30 -0
- package/src/js/modules/MoveRows/defaults/senders.js +5 -0
- package/src/js/modules/Mutator/Mutator.js +7 -9
- package/src/js/modules/Page/Page.js +7 -9
- package/src/js/modules/Persistence/Persistence.js +10 -12
- package/src/js/modules/Popup/Popup.js +4 -8
- package/src/js/modules/Print/Print.js +4 -6
- package/src/js/modules/ReactiveData/ReactiveData.js +4 -9
- package/src/js/modules/ResizeColumns/ResizeColumns.js +91 -53
- package/src/js/modules/ResizeRows/ResizeRows.js +41 -8
- package/src/js/modules/ResizeTable/ResizeTable.js +4 -6
- package/src/js/modules/ResponsiveLayout/ResponsiveLayout.js +15 -9
- package/src/js/modules/ResponsiveLayout/extensions/extensions.js +9 -0
- package/src/js/modules/SelectRange/Range.js +40 -21
- package/src/js/modules/SelectRange/RangeComponent.js +2 -4
- package/src/js/modules/SelectRange/SelectRange.js +88 -43
- package/src/js/modules/SelectRange/extensions/clipboard/pasteActions.js +45 -0
- package/src/js/modules/SelectRange/extensions/clipboard/pasteParsers.js +57 -0
- package/src/js/modules/SelectRange/extensions/export/columnLookups.js +11 -0
- package/src/js/modules/SelectRange/extensions/export/rowLookups.js +5 -0
- package/src/js/modules/SelectRange/extensions/extensions.js +21 -0
- package/src/js/modules/SelectRange/extensions/keybindings/actions.js +38 -0
- package/src/js/modules/SelectRange/extensions/keybindings/bindings.js +14 -0
- package/src/js/modules/SelectRow/SelectRow.js +12 -12
- package/src/js/modules/SelectRow/extensions/extensions.js +9 -0
- package/src/js/modules/Sort/Sort.js +16 -13
- package/src/js/modules/Spreadsheet/GridCalculator.js +64 -0
- package/src/js/modules/Spreadsheet/Sheet.js +243 -0
- package/src/js/modules/Spreadsheet/SheetComponent.js +59 -0
- package/src/js/modules/Spreadsheet/Spreadsheet.js +309 -0
- package/src/js/modules/Tooltip/Tooltip.js +6 -8
- package/src/js/modules/Validate/Validate.js +7 -9
- package/src/scss/tabulator.scss +86 -10
- package/src/scss/themes/bootstrap/tabulator_bootstrap3.scss +14 -0
- package/src/scss/themes/bootstrap/tabulator_bootstrap4.scss +18 -0
- package/src/scss/themes/bootstrap/tabulator_bootstrap5.scss +18 -0
- package/src/scss/themes/bulma/tabulator_bulma.scss +24 -0
- package/src/scss/themes/materialize/tabulator_materialize.scss +18 -0
- package/src/scss/themes/semanticui/tabulator_semanticui.scss +14 -0
- package/src/scss/themes/tabulator_midnight.scss +34 -21
- package/src/scss/themes/tabulator_modern.scss +23 -0
- package/src/scss/themes/tabulator_simple.scss +15 -0
- package/src/scss/themes/tabulator_site.scss +25 -0
- package/build/rollup.js +0 -6
- package/src/js/modules/Edit/defaults/editors/autocomplete.js +0 -12
- package/src/js/modules/Edit/defaults/editors/select.js +0 -10
- /package/src/js/modules/{Format/defaults → ResponsiveLayout/extensions}/formatters/responsiveCollapse.js +0 -0
- /package/src/js/modules/{Format/defaults → SelectRow/extensions}/formatters/rowSelection.js +0 -0
|
@@ -3,7 +3,15 @@ import Module from '../../core/Module.js';
|
|
|
3
3
|
import ExportRow from './ExportRow.js';
|
|
4
4
|
import ExportColumn from './ExportColumn.js';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
import columnLookups from './defaults/columnLookups.js';
|
|
7
|
+
import rowLookups from './defaults/rowLookups.js';
|
|
8
|
+
|
|
9
|
+
export default class Export extends Module{
|
|
10
|
+
|
|
11
|
+
static moduleName = "export";
|
|
12
|
+
|
|
13
|
+
static columnLookups = columnLookups;
|
|
14
|
+
static rowLookups = rowLookups;
|
|
7
15
|
|
|
8
16
|
constructor(table){
|
|
9
17
|
super(table);
|
|
@@ -11,6 +19,7 @@ class Export extends Module{
|
|
|
11
19
|
this.config = {};
|
|
12
20
|
this.cloneTableStyle = true;
|
|
13
21
|
this.colVisProp = "";
|
|
22
|
+
this.colVisPropAttach = "";
|
|
14
23
|
|
|
15
24
|
this.registerTableOption("htmlOutputConfig", false); //html output config
|
|
16
25
|
|
|
@@ -22,32 +31,32 @@ class Export extends Module{
|
|
|
22
31
|
this.registerTableFunction("getHtml", this.getHtml.bind(this));
|
|
23
32
|
}
|
|
24
33
|
|
|
25
|
-
///////////////////////////////////
|
|
26
|
-
///////// Table Functions /////////
|
|
27
|
-
///////////////////////////////////
|
|
28
|
-
|
|
29
|
-
|
|
30
34
|
///////////////////////////////////
|
|
31
35
|
///////// Internal Logic //////////
|
|
32
36
|
///////////////////////////////////
|
|
33
37
|
|
|
34
38
|
generateExportList(config, style, range, colVisProp){
|
|
39
|
+
var headers, body, columns, colLookup;
|
|
40
|
+
|
|
35
41
|
this.cloneTableStyle = style;
|
|
36
42
|
this.config = config || {};
|
|
37
43
|
this.colVisProp = colVisProp;
|
|
44
|
+
this.colVisPropAttach = this.colVisProp.charAt(0).toUpperCase() + this.colVisProp.slice(1);
|
|
45
|
+
|
|
46
|
+
colLookup = Export.columnLookups[range];
|
|
47
|
+
|
|
48
|
+
if(colLookup){
|
|
49
|
+
columns = colLookup.call(this.table);
|
|
50
|
+
columns = columns.filter(col => this.columnVisCheck(col));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
headers = this.config.columnHeaders !== false ? this.headersToExportRows(this.generateColumnGroupHeaders(columns)) : [];
|
|
38
54
|
|
|
39
|
-
|
|
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));
|
|
55
|
+
if(columns){
|
|
56
|
+
columns = columns.map(col => col.getComponent());
|
|
50
57
|
}
|
|
58
|
+
|
|
59
|
+
body = this.bodyToExportRows(this.rowLookup(range), columns);
|
|
51
60
|
|
|
52
61
|
return headers.concat(body);
|
|
53
62
|
}
|
|
@@ -59,7 +68,8 @@ class Export extends Module{
|
|
|
59
68
|
}
|
|
60
69
|
|
|
61
70
|
rowLookup(range){
|
|
62
|
-
var rows = []
|
|
71
|
+
var rows = [],
|
|
72
|
+
rowLookup;
|
|
63
73
|
|
|
64
74
|
if(typeof range == "function"){
|
|
65
75
|
range.call(this.table).forEach((row) =>{
|
|
@@ -70,32 +80,9 @@ class Export extends Module{
|
|
|
70
80
|
}
|
|
71
81
|
});
|
|
72
82
|
}else{
|
|
73
|
-
|
|
74
|
-
case true:
|
|
75
|
-
case "visible":
|
|
76
|
-
rows = this.table.rowManager.getVisibleRows(false, true);
|
|
77
|
-
break;
|
|
78
|
-
|
|
79
|
-
case "all":
|
|
80
|
-
rows = this.table.rowManager.rows;
|
|
81
|
-
break;
|
|
82
|
-
|
|
83
|
-
case "selected":
|
|
84
|
-
rows = this.table.modules.selectRow.selectedRows;
|
|
85
|
-
break;
|
|
83
|
+
rowLookup = Export.rowLookups[range] || Export.rowLookups["active"];
|
|
86
84
|
|
|
87
|
-
|
|
88
|
-
rows = this.table.modules.selectRange.selectedRows();
|
|
89
|
-
break;
|
|
90
|
-
|
|
91
|
-
case "active":
|
|
92
|
-
default:
|
|
93
|
-
if(this.table.options.pagination){
|
|
94
|
-
rows = this.table.rowManager.getDisplayRows(this.table.rowManager.displayRows.length - 2);
|
|
95
|
-
}else{
|
|
96
|
-
rows = this.table.rowManager.getDisplayRows();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
85
|
+
rows = rowLookup.call(this.table);
|
|
99
86
|
}
|
|
100
87
|
|
|
101
88
|
return Object.assign([], rows);
|
|
@@ -116,13 +103,15 @@ class Export extends Module{
|
|
|
116
103
|
}
|
|
117
104
|
});
|
|
118
105
|
|
|
106
|
+
|
|
107
|
+
|
|
119
108
|
return output;
|
|
120
109
|
}
|
|
121
110
|
|
|
122
111
|
processColumnGroup(column){
|
|
123
112
|
var subGroups = column.columns,
|
|
124
113
|
maxDepth = 0,
|
|
125
|
-
title = column.definition["title" + (this.
|
|
114
|
+
title = column.definition["title" + (this.colVisPropAttach)] || column.definition.title;
|
|
126
115
|
|
|
127
116
|
var groupData = {
|
|
128
117
|
title:title,
|
|
@@ -165,12 +154,20 @@ class Export extends Module{
|
|
|
165
154
|
|
|
166
155
|
columnVisCheck(column){
|
|
167
156
|
var visProp = column.definition[this.colVisProp];
|
|
157
|
+
|
|
158
|
+
if(this.config.rowHeaders === false && column.isRowHeader){
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
168
161
|
|
|
169
162
|
if(typeof visProp === "function"){
|
|
170
163
|
visProp = visProp.call(this.table, column.getComponent());
|
|
171
164
|
}
|
|
172
|
-
|
|
173
|
-
|
|
165
|
+
|
|
166
|
+
if(visProp === false || visProp === true){
|
|
167
|
+
return visProp;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return column.visible && column.field;
|
|
174
171
|
}
|
|
175
172
|
|
|
176
173
|
headersToExportRows(columns){
|
|
@@ -313,7 +310,7 @@ class Export extends Module{
|
|
|
313
310
|
headerEl = document.createElement("thead"),
|
|
314
311
|
bodyEl = document.createElement("tbody"),
|
|
315
312
|
styles = this.lookupTableStyles(),
|
|
316
|
-
rowFormatter = this.table.options["rowFormatter" + (this.
|
|
313
|
+
rowFormatter = this.table.options["rowFormatter" + (this.colVisPropAttach)],
|
|
317
314
|
setup = {};
|
|
318
315
|
|
|
319
316
|
setup.rowFormatter = rowFormatter !== null ? rowFormatter : this.table.options.rowFormatter;
|
|
@@ -323,7 +320,7 @@ class Export extends Module{
|
|
|
323
320
|
}
|
|
324
321
|
|
|
325
322
|
//assign group header formatter
|
|
326
|
-
setup.groupHeader = this.table.options["groupHeader" + (this.
|
|
323
|
+
setup.groupHeader = this.table.options["groupHeader" + (this.colVisPropAttach)];
|
|
327
324
|
|
|
328
325
|
if(setup.groupHeader && !Array.isArray(setup.groupHeader)){
|
|
329
326
|
setup.groupHeader = [setup.groupHeader];
|
|
@@ -332,8 +329,7 @@ class Export extends Module{
|
|
|
332
329
|
table.classList.add("tabulator-print-table");
|
|
333
330
|
|
|
334
331
|
this.mapElementStyles(this.table.columnManager.getHeadersElement(), headerEl, ["border-top", "border-left", "border-right", "border-bottom", "background-color", "color", "font-weight", "font-family", "font-size"]);
|
|
335
|
-
|
|
336
|
-
|
|
332
|
+
|
|
337
333
|
if(list.length > 1000){
|
|
338
334
|
console.warn("It may take a long time to render an HTML table with more than 1000 rows");
|
|
339
335
|
}
|
|
@@ -387,6 +383,7 @@ class Export extends Module{
|
|
|
387
383
|
|
|
388
384
|
if(styles.firstRow){
|
|
389
385
|
styles.styleCells = styles.firstRow.getElementsByClassName("tabulator-cell");
|
|
386
|
+
styles.styleRowHeader = styles.firstRow.getElementsByClassName("tabulator-row-header")[0];
|
|
390
387
|
styles.firstCell = styles.styleCells[0];
|
|
391
388
|
styles.lastCell = styles.styleCells[styles.styleCells.length - 1];
|
|
392
389
|
}
|
|
@@ -416,9 +413,9 @@ class Export extends Module{
|
|
|
416
413
|
cellEl.classList.add(className);
|
|
417
414
|
});
|
|
418
415
|
|
|
419
|
-
this.mapElementStyles(column.component.getElement(), cellEl, ["text-align", "border-
|
|
416
|
+
this.mapElementStyles(column.component.getElement(), cellEl, ["text-align", "border-left", "border-right", "background-color", "color", "font-weight", "font-family", "font-size"]);
|
|
420
417
|
this.mapElementStyles(column.component._column.contentElement, cellEl, ["padding-top", "padding-left", "padding-right", "padding-bottom"]);
|
|
421
|
-
|
|
418
|
+
|
|
422
419
|
if(column.component._column.visible){
|
|
423
420
|
this.mapElementStyles(column.component.getElement(), cellEl, ["width"]);
|
|
424
421
|
}else{
|
|
@@ -427,8 +424,16 @@ class Export extends Module{
|
|
|
427
424
|
}
|
|
428
425
|
}
|
|
429
426
|
|
|
430
|
-
if(column.component._column.parent){
|
|
427
|
+
if(column.component._column.parent && column.component._column.parent.isGroup){
|
|
431
428
|
this.mapElementStyles(column.component._column.parent.groupElement, cellEl, ["border-top"]);
|
|
429
|
+
}else{
|
|
430
|
+
this.mapElementStyles(column.component.getElement(), cellEl, ["border-top"]);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
if(column.component._column.isGroup){
|
|
434
|
+
this.mapElementStyles(column.component.getElement(), cellEl, ["border-bottom"]);
|
|
435
|
+
}else{
|
|
436
|
+
this.mapElementStyles(this.table.columnManager.getElement(), cellEl, ["border-bottom"]);
|
|
432
437
|
}
|
|
433
438
|
|
|
434
439
|
rowEl.appendChild(cellEl);
|
|
@@ -493,7 +498,7 @@ class Export extends Module{
|
|
|
493
498
|
table = this.table,
|
|
494
499
|
index = table.columnManager.findColumnIndex(column),
|
|
495
500
|
value = col.value,
|
|
496
|
-
cellStyle;
|
|
501
|
+
cellStyle, styleProps;
|
|
497
502
|
|
|
498
503
|
var cellWrapper = {
|
|
499
504
|
modules:{},
|
|
@@ -552,11 +557,18 @@ class Export extends Module{
|
|
|
552
557
|
}else{
|
|
553
558
|
cellEl.innerHTML = value;
|
|
554
559
|
}
|
|
555
|
-
|
|
556
|
-
|
|
560
|
+
|
|
561
|
+
styleProps = ["padding-top", "padding-left", "padding-right", "padding-bottom", "border-top", "border-left", "border-right", "border-bottom", "color", "font-weight", "font-family", "font-size", "text-align"];
|
|
562
|
+
|
|
563
|
+
if(column.isRowHeader){
|
|
564
|
+
cellStyle = styles.styleRowHeader;
|
|
565
|
+
styleProps.push("background-color");
|
|
566
|
+
}else{
|
|
567
|
+
cellStyle = styles.styleCells && styles.styleCells[index] ? styles.styleCells[index] : styles.firstCell;
|
|
568
|
+
}
|
|
557
569
|
|
|
558
570
|
if(cellStyle){
|
|
559
|
-
this.mapElementStyles(cellStyle, cellEl,
|
|
571
|
+
this.mapElementStyles(cellStyle, cellEl, styleProps);
|
|
560
572
|
|
|
561
573
|
if(column.definition.align){
|
|
562
574
|
cellEl.style.textAlign = column.definition.align;
|
|
@@ -630,7 +642,7 @@ class Export extends Module{
|
|
|
630
642
|
|
|
631
643
|
if(window.getComputedStyle){
|
|
632
644
|
var fromStyle = window.getComputedStyle(from);
|
|
633
|
-
|
|
645
|
+
|
|
634
646
|
props.forEach(function(prop){
|
|
635
647
|
if(!to.style[lookup[prop]]){
|
|
636
648
|
to.style[lookup[prop]] = fromStyle.getPropertyValue(prop);
|
|
@@ -640,7 +652,3 @@ class Export extends Module{
|
|
|
640
652
|
}
|
|
641
653
|
}
|
|
642
654
|
}
|
|
643
|
-
|
|
644
|
-
Export.moduleName = "export";
|
|
645
|
-
|
|
646
|
-
export default Export;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class ExportColumn{
|
|
1
|
+
export default class ExportColumn{
|
|
2
2
|
constructor(value, component, width, height, depth){
|
|
3
3
|
this.value = value;
|
|
4
4
|
this.component = component || false;
|
|
@@ -6,6 +6,4 @@ class ExportColumn{
|
|
|
6
6
|
this.height = height;
|
|
7
7
|
this.depth = depth;
|
|
8
8
|
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export default ExportColumn;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
visible:function(){
|
|
3
|
+
return this.rowManager.getVisibleRows(false, true);
|
|
4
|
+
},
|
|
5
|
+
all:function(){
|
|
6
|
+
return this.rowManager.rows;
|
|
7
|
+
},
|
|
8
|
+
selected:function(){
|
|
9
|
+
return this.modules.selectRow.selectedRows;
|
|
10
|
+
},
|
|
11
|
+
active:function(){
|
|
12
|
+
if(this.options.pagination){
|
|
13
|
+
return this.rowManager.getDisplayRows(this.rowManager.displayRows.length - 2);
|
|
14
|
+
}else{
|
|
15
|
+
return this.rowManager.getDisplayRows();
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
};
|
|
@@ -2,7 +2,12 @@ import Module from '../../core/Module.js';
|
|
|
2
2
|
|
|
3
3
|
import defaultFilters from './defaults/filters.js';
|
|
4
4
|
|
|
5
|
-
class Filter extends Module{
|
|
5
|
+
export default class Filter extends Module{
|
|
6
|
+
|
|
7
|
+
static moduleName = "filter";
|
|
8
|
+
|
|
9
|
+
//load defaults
|
|
10
|
+
static filters = defaultFilters;
|
|
6
11
|
|
|
7
12
|
constructor(table){
|
|
8
13
|
super(table);
|
|
@@ -894,11 +899,4 @@ class Filter extends Module{
|
|
|
894
899
|
|
|
895
900
|
return match;
|
|
896
901
|
}
|
|
897
|
-
}
|
|
898
|
-
|
|
899
|
-
Filter.moduleName = "filter";
|
|
900
|
-
|
|
901
|
-
//load defaults
|
|
902
|
-
Filter.filters = defaultFilters;
|
|
903
|
-
|
|
904
|
-
export default Filter;
|
|
902
|
+
}
|
|
@@ -2,7 +2,12 @@ import Module from '../../core/Module.js';
|
|
|
2
2
|
|
|
3
3
|
import defaultFormatters from './defaults/formatters.js';
|
|
4
4
|
|
|
5
|
-
class Format extends Module{
|
|
5
|
+
export default class Format extends Module{
|
|
6
|
+
|
|
7
|
+
static moduleName = "format";
|
|
8
|
+
|
|
9
|
+
//load defaults
|
|
10
|
+
static formatters = defaultFormatters;
|
|
6
11
|
|
|
7
12
|
constructor(table){
|
|
8
13
|
super(table);
|
|
@@ -206,11 +211,4 @@ class Format extends Module{
|
|
|
206
211
|
|
|
207
212
|
return formatter;
|
|
208
213
|
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
Format.moduleName = "format";
|
|
212
|
-
|
|
213
|
-
//load defaults
|
|
214
|
-
Format.formatters = defaultFormatters;
|
|
215
|
-
|
|
216
|
-
export default Format;
|
|
214
|
+
}
|
|
@@ -16,8 +16,6 @@ import buttonTick from './formatters/buttonTick.js';
|
|
|
16
16
|
import buttonCross from './formatters/buttonCross.js';
|
|
17
17
|
import rownum from './formatters/rownum.js';
|
|
18
18
|
import handle from './formatters/handle.js';
|
|
19
|
-
import responsiveCollapse from './formatters/responsiveCollapse.js';
|
|
20
|
-
import rowSelection from './formatters/rowSelection.js';
|
|
21
19
|
|
|
22
20
|
export default {
|
|
23
21
|
plaintext:plaintext,
|
|
@@ -38,6 +36,4 @@ export default {
|
|
|
38
36
|
buttonCross:buttonCross,
|
|
39
37
|
rownum:rownum,
|
|
40
38
|
handle:handle,
|
|
41
|
-
responsiveCollapse:responsiveCollapse,
|
|
42
|
-
rowSelection:rowSelection,
|
|
43
39
|
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class FrozenColumns extends Module{
|
|
3
|
+
export default class FrozenColumns extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "frozenColumns";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -34,6 +36,7 @@ class FrozenColumns extends Module{
|
|
|
34
36
|
this.subscribe("column-deleted", this.reinitializeColumns.bind(this));
|
|
35
37
|
this.subscribe("column-hide", this.reinitializeColumns.bind(this));
|
|
36
38
|
this.subscribe("column-show", this.reinitializeColumns.bind(this));
|
|
39
|
+
this.subscribe("columns-loaded", this.reinitializeColumns.bind(this));
|
|
37
40
|
|
|
38
41
|
this.subscribe("table-redraw", this.layout.bind(this));
|
|
39
42
|
this.subscribe("layout-refreshing", this.blockLayout.bind(this));
|
|
@@ -280,6 +283,10 @@ class FrozenColumns extends Module{
|
|
|
280
283
|
this.table.columnManager.getContentsElement().style.width = "calc(100% - " + width + "px)";
|
|
281
284
|
}
|
|
282
285
|
}
|
|
286
|
+
|
|
287
|
+
getFrozenColumns(){
|
|
288
|
+
return this.leftColumns.concat(this.rightColumns);
|
|
289
|
+
}
|
|
283
290
|
|
|
284
291
|
_calcSpace(columns, index){
|
|
285
292
|
var width = 0;
|
|
@@ -292,8 +299,4 @@ class FrozenColumns extends Module{
|
|
|
292
299
|
|
|
293
300
|
return width;
|
|
294
301
|
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
FrozenColumns.moduleName = "frozenColumns";
|
|
298
|
-
|
|
299
|
-
export default FrozenColumns;
|
|
302
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class FrozenRows extends Module{
|
|
3
|
+
export default class FrozenRows extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "frozenRows";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -168,8 +170,4 @@ class FrozenRows extends Module{
|
|
|
168
170
|
this.table.rowManager.styleRow(row, i);
|
|
169
171
|
});
|
|
170
172
|
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
FrozenRows.moduleName = "frozenRows";
|
|
174
|
-
|
|
175
|
-
export default FrozenRows;
|
|
173
|
+
}
|
|
@@ -2,7 +2,7 @@ import Helpers from '../../core/tools/Helpers.js';
|
|
|
2
2
|
import GroupComponent from './GroupComponent.js';
|
|
3
3
|
|
|
4
4
|
//Group functions
|
|
5
|
-
class Group{
|
|
5
|
+
export default class Group{
|
|
6
6
|
|
|
7
7
|
constructor(groupManager, parent, level, key, field, generator, oldGroup){
|
|
8
8
|
this.groupManager = groupManager;
|
|
@@ -610,6 +610,4 @@ class Group{
|
|
|
610
610
|
|
|
611
611
|
return this.component;
|
|
612
612
|
}
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
export default Group;
|
|
613
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//public group object
|
|
2
|
-
class GroupComponent {
|
|
2
|
+
export default class GroupComponent {
|
|
3
3
|
constructor (group){
|
|
4
4
|
this._group = group;
|
|
5
5
|
this.type = "GroupComponent";
|
|
@@ -66,6 +66,4 @@ class GroupComponent {
|
|
|
66
66
|
getTable(){
|
|
67
67
|
return this._group.groupManager.table;
|
|
68
68
|
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export default GroupComponent;
|
|
69
|
+
}
|
|
@@ -2,7 +2,9 @@ import Module from '../../core/Module.js';
|
|
|
2
2
|
|
|
3
3
|
import Group from './Group.js';
|
|
4
4
|
|
|
5
|
-
class GroupRows extends Module{
|
|
5
|
+
export default class GroupRows extends Module{
|
|
6
|
+
|
|
7
|
+
static moduleName = "groupRows";
|
|
6
8
|
|
|
7
9
|
constructor(table){
|
|
8
10
|
super(table);
|
|
@@ -633,8 +635,4 @@ class GroupRows extends Module{
|
|
|
633
635
|
}
|
|
634
636
|
}
|
|
635
637
|
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
GroupRows.moduleName = "groupRows";
|
|
639
|
-
|
|
640
|
-
export default GroupRows;
|
|
638
|
+
}
|
|
@@ -4,8 +4,16 @@ import Cell from '../../core/cell/Cell.js';
|
|
|
4
4
|
|
|
5
5
|
import defaultUndoers from './defaults/undoers.js';
|
|
6
6
|
import defaultRedoers from './defaults/redoers.js';
|
|
7
|
+
import extensions from './extensions/extensions.js';
|
|
7
8
|
|
|
8
|
-
class History extends Module{
|
|
9
|
+
export default class History extends Module{
|
|
10
|
+
|
|
11
|
+
static moduleName = "history";
|
|
12
|
+
static moduleExtensions = extensions;
|
|
13
|
+
|
|
14
|
+
//load defaults
|
|
15
|
+
static undoers = defaultUndoers;
|
|
16
|
+
static redoers = defaultRedoers;
|
|
9
17
|
|
|
10
18
|
constructor(table){
|
|
11
19
|
super(table);
|
|
@@ -161,12 +169,4 @@ class History extends Module{
|
|
|
161
169
|
}
|
|
162
170
|
});
|
|
163
171
|
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
History.moduleName = "history";
|
|
167
|
-
|
|
168
|
-
//load defaults
|
|
169
|
-
History.undoers = defaultUndoers;
|
|
170
|
-
History.redoers = defaultRedoers;
|
|
171
|
-
|
|
172
|
-
export default History;
|
|
172
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
undo:function(e){
|
|
3
|
+
var cell = false;
|
|
4
|
+
if(this.table.options.history && this.table.modExists("history") && this.table.modExists("edit")){
|
|
5
|
+
|
|
6
|
+
cell = this.table.modules.edit.currentCell;
|
|
7
|
+
|
|
8
|
+
if(!cell){
|
|
9
|
+
e.preventDefault();
|
|
10
|
+
this.table.modules.history.undo();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
redo:function(e){
|
|
16
|
+
var cell = false;
|
|
17
|
+
if(this.table.options.history && this.table.modExists("history") && this.table.modExists("edit")){
|
|
18
|
+
|
|
19
|
+
cell = this.table.modules.edit.currentCell;
|
|
20
|
+
|
|
21
|
+
if(!cell){
|
|
22
|
+
e.preventDefault();
|
|
23
|
+
this.table.modules.history.redo();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Module from '../../core/Module.js';
|
|
2
2
|
|
|
3
|
-
class HtmlTableImport extends Module{
|
|
3
|
+
export default class HtmlTableImport extends Module{
|
|
4
|
+
|
|
5
|
+
static moduleName = "htmlTableImport";
|
|
4
6
|
|
|
5
7
|
constructor(table){
|
|
6
8
|
super(table);
|
|
@@ -175,8 +177,4 @@ class HtmlTableImport extends Module{
|
|
|
175
177
|
this.table.options.columns.push(col);
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
HtmlTableImport.moduleName = "htmlTableImport";
|
|
181
|
-
|
|
182
|
-
export default HtmlTableImport;
|
|
180
|
+
}
|
|
@@ -2,7 +2,12 @@ import Module from '../../core/Module.js';
|
|
|
2
2
|
|
|
3
3
|
import defaultImporters from './defaults/importers.js';
|
|
4
4
|
|
|
5
|
-
class Import extends Module{
|
|
5
|
+
export default class Import extends Module{
|
|
6
|
+
|
|
7
|
+
static moduleName = "import";
|
|
8
|
+
|
|
9
|
+
//load defaults
|
|
10
|
+
static importers = defaultImporters;
|
|
6
11
|
|
|
7
12
|
constructor(table){
|
|
8
13
|
super(table);
|
|
@@ -184,11 +189,4 @@ class Import extends Module{
|
|
|
184
189
|
setData(data){
|
|
185
190
|
return this.table.setData(data);
|
|
186
191
|
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
Import.moduleName = "import";
|
|
190
|
-
|
|
191
|
-
//load defaults
|
|
192
|
-
Import.importers = defaultImporters;
|
|
193
|
-
|
|
194
|
-
export default Import;
|
|
192
|
+
}
|
|
@@ -3,7 +3,9 @@ import Module from '../../core/Module.js';
|
|
|
3
3
|
import Cell from '../../core/cell/Cell.js';
|
|
4
4
|
import Column from '../../core/column/Column.js';
|
|
5
5
|
|
|
6
|
-
class Interaction extends Module{
|
|
6
|
+
export default class Interaction extends Module{
|
|
7
|
+
|
|
8
|
+
static moduleName = "interaction";
|
|
7
9
|
|
|
8
10
|
constructor(table){
|
|
9
11
|
super(table);
|
|
@@ -330,8 +332,4 @@ class Interaction extends Module{
|
|
|
330
332
|
|
|
331
333
|
this.dispatchExternal(action, e, componentObj);
|
|
332
334
|
}
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
Interaction.moduleName = "interaction";
|
|
336
|
-
|
|
337
|
-
export default Interaction;
|
|
335
|
+
}
|