tabulator-tables 5.0.10 → 5.1.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/.editorconfig +6 -0
- package/LICENSE +1 -1
- package/bower.json +1 -1
- package/build/rollup.js +1 -1
- package/dist/css/tabulator.css +15 -6
- 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 +15 -6
- 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 +15 -6
- 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_bulma.css +15 -6
- 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 +22 -10
- 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 +19 -6
- 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 +15 -6
- 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 +15 -6
- 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 +15 -6
- 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 +19 -6
- 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 +853 -390
- 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 +1106 -656
- 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 +7 -7
- package/src/js/core/Tabulator.js +0 -43
- package/src/js/core/cell/Cell.js +5 -1
- package/src/js/core/column/Column.js +19 -4
- package/src/js/core/column/ColumnComponent.js +4 -0
- package/src/js/core/column/defaults/options.js +1 -0
- package/src/js/core/defaults/options.js +2 -2
- package/src/js/core/modules/optional.js +1 -0
- package/src/js/core/rendering/renderers/BasicVertical.js +2 -1
- package/src/js/core/rendering/renderers/VirtualDomHorizontal.js +17 -8
- package/src/js/core/row/Row.js +2 -2
- package/src/js/core/tools/DataLoader.js +4 -4
- package/src/js/core/tools/InteractionMonitor.js +6 -2
- package/src/js/modules/Ajax/Ajax.js +62 -82
- package/src/js/modules/ColumnCalcs/ColumnCalcs.js +1 -1
- package/src/js/modules/DataTree/DataTree.js +5 -0
- package/src/js/modules/Download/defaults/downloaders/json.js +1 -1
- package/src/js/modules/Download/defaults/downloaders/jsonLines.js +32 -0
- package/src/js/modules/Download/defaults/downloaders.js +2 -0
- package/src/js/modules/Edit/Edit.js +23 -31
- package/src/js/modules/Filter/Filter.js +1 -1
- package/src/js/modules/Format/defaults/formatters/datetime.js +1 -1
- package/src/js/modules/Format/defaults/formatters/datetimediff.js +2 -1
- package/src/js/modules/FrozenRows/FrozenRows.js +9 -0
- package/src/js/modules/GroupRows/Group.js +2 -61
- package/src/js/modules/GroupRows/GroupRows.js +2 -2
- package/src/js/modules/Import/Import.js +197 -0
- package/src/js/modules/Import/defaults/importers/csv.js +63 -0
- package/src/js/modules/Import/defaults/importers/json.js +8 -0
- package/src/js/modules/Import/defaults/importers.js +7 -0
- package/src/js/modules/Interaction/Interaction.js +5 -0
- package/src/js/modules/Keybindings/Keybindings.js +9 -14
- package/src/js/modules/Keybindings/defaults/bindings.js +3 -3
- package/src/js/modules/Localize/defaults/langs.js +6 -0
- package/src/js/modules/Menu/Menu.js +200 -155
- package/src/js/modules/MoveRows/MoveRows.js +4 -0
- package/src/js/modules/Page/Page.js +271 -173
- package/src/js/modules/Page/defaults/pageCounters/pages.js +33 -0
- package/src/js/modules/Page/defaults/pageCounters/rows.js +32 -0
- package/src/js/modules/Page/defaults/pageCounters.js +8 -0
- package/src/js/modules/ResizeRows/ResizeRows.js +1 -1
- package/src/js/modules/Sort/defaults/sorters/datetime.js +2 -2
- package/src/js/modules/Validate/Validate.js +7 -5
- package/src/scss/tabulator.scss +20 -6
- package/src/scss/themes/materialize/tabulator_materialize.scss +5 -4
- package/src/scss/themes/tabulator_midnight.scss +4 -0
- package/src/scss/themes/tabulator_site.scss +4 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export default function(pageSize, currentRow, currentPage, totalRows, totalPages){
|
|
2
|
+
|
|
3
|
+
var el = document.createElement("span"),
|
|
4
|
+
showingEl = document.createElement("span"),
|
|
5
|
+
valueEl = document.createElement("span"),
|
|
6
|
+
ofEl = document.createElement("span"),
|
|
7
|
+
totalEl = document.createElement("span"),
|
|
8
|
+
rowsEl = document.createElement("span");
|
|
9
|
+
|
|
10
|
+
this.table.modules.localize.langBind("pagination|counter|showing", (value) => {
|
|
11
|
+
showingEl.innerHTML = value;
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
valueEl.innerHTML = " " + currentPage + " ";
|
|
15
|
+
|
|
16
|
+
this.table.modules.localize.langBind("pagination|counter|of", (value) => {
|
|
17
|
+
ofEl.innerHTML = value;
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
totalEl.innerHTML = " " + totalPages + " ";
|
|
21
|
+
|
|
22
|
+
this.table.modules.localize.langBind("pagination|counter|pages", (value) => {
|
|
23
|
+
rowsEl.innerHTML = value;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
el.appendChild(showingEl);
|
|
27
|
+
el.appendChild(valueEl);
|
|
28
|
+
el.appendChild(ofEl);
|
|
29
|
+
el.appendChild(totalEl);
|
|
30
|
+
el.appendChild(rowsEl);
|
|
31
|
+
|
|
32
|
+
return el;
|
|
33
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export default function(pageSize, currentRow, currentPage, totalRows, totalPages){
|
|
2
|
+
var el = document.createElement("span"),
|
|
3
|
+
showingEl = document.createElement("span"),
|
|
4
|
+
valueEl = document.createElement("span"),
|
|
5
|
+
ofEl = document.createElement("span"),
|
|
6
|
+
totalEl = document.createElement("span"),
|
|
7
|
+
rowsEl = document.createElement("span");
|
|
8
|
+
|
|
9
|
+
this.table.modules.localize.langBind("pagination|counter|showing", (value) => {
|
|
10
|
+
showingEl.innerHTML = value;
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
valueEl.innerHTML = " " + currentRow + "-" + Math.min((currentRow + pageSize - 1), totalRows) + " ";
|
|
14
|
+
|
|
15
|
+
this.table.modules.localize.langBind("pagination|counter|of", (value) => {
|
|
16
|
+
ofEl.innerHTML = value;
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
totalEl.innerHTML = " " + totalRows + " ";
|
|
20
|
+
|
|
21
|
+
this.table.modules.localize.langBind("pagination|counter|rows", (value) => {
|
|
22
|
+
rowsEl.innerHTML = value;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
el.appendChild(showingEl);
|
|
26
|
+
el.appendChild(valueEl);
|
|
27
|
+
el.appendChild(ofEl);
|
|
28
|
+
el.appendChild(totalEl);
|
|
29
|
+
el.appendChild(rowsEl);
|
|
30
|
+
|
|
31
|
+
return el;
|
|
32
|
+
};
|
|
@@ -86,7 +86,7 @@ class ResizeRows extends Module{
|
|
|
86
86
|
|
|
87
87
|
self.table.element.classList.remove("tabulator-block-select");
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
self.dispatchExternal("rowResized", row.getComponent());
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
e.stopPropagation(); //prevent resize from interfereing with movable columns
|
|
@@ -6,8 +6,8 @@ export default function(a, b, aRow, bRow, column, dir, params){
|
|
|
6
6
|
emptyAlign = 0;
|
|
7
7
|
|
|
8
8
|
if(typeof DT != "undefined"){
|
|
9
|
-
a = DT.fromFormat(String(a), format);
|
|
10
|
-
b = DT.fromFormat(String(b), format);
|
|
9
|
+
a = format === "iso" ? DT.fromISO(String(a)) : DT.fromFormat(String(a), format);
|
|
10
|
+
b = format === "iso" ? DT.fromISO(String(b)) : DT.fromFormat(String(b), format);
|
|
11
11
|
|
|
12
12
|
if(!a.isValid){
|
|
13
13
|
emptyAlign = !b.isValid ? 0 : -1;
|
|
@@ -50,7 +50,7 @@ class Validate extends Module{
|
|
|
50
50
|
columnValidate(column){
|
|
51
51
|
var invalid = [];
|
|
52
52
|
|
|
53
|
-
column.cells.forEach(
|
|
53
|
+
column.cells.forEach((cell) => {
|
|
54
54
|
if(!this.cellValidate(cell)){
|
|
55
55
|
invalid.push(cell.getComponent());
|
|
56
56
|
}
|
|
@@ -66,7 +66,7 @@ class Validate extends Module{
|
|
|
66
66
|
rowValidate(row){
|
|
67
67
|
var invalid = [];
|
|
68
68
|
|
|
69
|
-
row.cells.forEach(
|
|
69
|
+
row.cells.forEach((cell) => {
|
|
70
70
|
if(!this.cellValidate(cell)){
|
|
71
71
|
invalid.push(cell.getComponent());
|
|
72
72
|
}
|
|
@@ -98,7 +98,9 @@ class Validate extends Module{
|
|
|
98
98
|
var output = [];
|
|
99
99
|
|
|
100
100
|
//clear row data
|
|
101
|
-
this.table.rowManager.rows.forEach(
|
|
101
|
+
this.table.rowManager.rows.forEach((row) => {
|
|
102
|
+
row = row.getComponent();
|
|
103
|
+
|
|
102
104
|
var valid = row.validate();
|
|
103
105
|
|
|
104
106
|
if(valid !== true){
|
|
@@ -128,7 +130,7 @@ class Validate extends Module{
|
|
|
128
130
|
if(column.definition.validator){
|
|
129
131
|
|
|
130
132
|
if(Array.isArray(column.definition.validator)){
|
|
131
|
-
column.definition.validator.forEach(
|
|
133
|
+
column.definition.validator.forEach((item) => {
|
|
132
134
|
validator = self._extractValidator(item);
|
|
133
135
|
|
|
134
136
|
if(validator){
|
|
@@ -197,7 +199,7 @@ class Validate extends Module{
|
|
|
197
199
|
invalidIndex = this.invalidCells.indexOf(cell);
|
|
198
200
|
|
|
199
201
|
if(validators){
|
|
200
|
-
validators.forEach(
|
|
202
|
+
validators.forEach((item) => {
|
|
201
203
|
if(!item.func.call(self, cell.getComponent(), value, item.params)){
|
|
202
204
|
valid.push({
|
|
203
205
|
type:item.type,
|
package/src/scss/tabulator.scss
CHANGED
|
@@ -436,10 +436,16 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
|
|
|
436
436
|
|
|
437
437
|
//footer element
|
|
438
438
|
.tabulator-footer{
|
|
439
|
+
display: flex;
|
|
440
|
+
flex-direction: row;
|
|
441
|
+
align-items: center;
|
|
442
|
+
justify-content: space-between;
|
|
443
|
+
|
|
439
444
|
padding:5px 10px;
|
|
445
|
+
|
|
440
446
|
border-top:1px solid $footerSeperatorColor;
|
|
441
447
|
background-color: $footerBackgroundColor;
|
|
442
|
-
|
|
448
|
+
|
|
443
449
|
color: $footerTextColor;
|
|
444
450
|
font-weight:bold;
|
|
445
451
|
white-space:nowrap;
|
|
@@ -478,7 +484,19 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
|
|
|
478
484
|
}
|
|
479
485
|
}
|
|
480
486
|
|
|
487
|
+
&>*+.tabulator-page-counter{
|
|
488
|
+
margin-left:10px;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.tabulator-page-counter {
|
|
492
|
+
font-weight: normal;
|
|
493
|
+
}
|
|
494
|
+
|
|
481
495
|
.tabulator-paginator{
|
|
496
|
+
flex:1;
|
|
497
|
+
|
|
498
|
+
text-align: right;
|
|
499
|
+
|
|
482
500
|
color: $footerTextColor;
|
|
483
501
|
font-family:inherit;
|
|
484
502
|
font-weight:inherit;
|
|
@@ -1125,14 +1143,10 @@ $footerActiveColor:#d00 !default; //footer bottom active text color
|
|
|
1125
1143
|
}
|
|
1126
1144
|
|
|
1127
1145
|
.tabulator-col-content{
|
|
1128
|
-
.tabulator-
|
|
1146
|
+
.tabulator-col-sorter{
|
|
1129
1147
|
left:8px;
|
|
1130
1148
|
right:initial;
|
|
1131
1149
|
}
|
|
1132
|
-
|
|
1133
|
-
.tabulator-col-sorter{
|
|
1134
|
-
position: initial;
|
|
1135
|
-
}
|
|
1136
1150
|
}
|
|
1137
1151
|
}
|
|
1138
1152
|
}
|
|
@@ -105,16 +105,17 @@ $footerActiveColor:$primary-color !default; //footer bottom active text color
|
|
|
105
105
|
margin-top:5px;
|
|
106
106
|
padding:8px 12px;
|
|
107
107
|
|
|
108
|
+
border-radius:0;
|
|
108
109
|
border-right:none;
|
|
109
110
|
|
|
110
111
|
background:rgba(255,255,255,.2);
|
|
111
112
|
|
|
112
|
-
&[data-page="
|
|
113
|
+
&[data-page="next"], &:first-of-type {
|
|
113
114
|
border-top-left-radius:4px;
|
|
114
115
|
border-bottom-left-radius:4px;
|
|
115
116
|
}
|
|
116
117
|
|
|
117
|
-
&[data-page="
|
|
118
|
+
&[data-page="prev"], &:last-of-type {
|
|
118
119
|
border:1px solid $footerBorderColor;
|
|
119
120
|
border-top-right-radius:4px;
|
|
120
121
|
border-bottom-right-radius:4px;
|
|
@@ -133,7 +134,7 @@ $footerActiveColor:$primary-color !default; //footer bottom active text color
|
|
|
133
134
|
background-color: $rowAltBackgroundColor;
|
|
134
135
|
|
|
135
136
|
&.tabulator-selected{
|
|
136
|
-
background-color:$rowSelectedBackground;
|
|
137
|
+
background-color:$rowSelectedBackground !important;
|
|
137
138
|
}
|
|
138
139
|
|
|
139
140
|
&.tabulator-selectable:hover{
|
|
@@ -142,7 +143,7 @@ $footerActiveColor:$primary-color !default; //footer bottom active text color
|
|
|
142
143
|
}
|
|
143
144
|
|
|
144
145
|
&.tabulator-selected:hover{
|
|
145
|
-
background-color:$rowSelectedBackgroundHover;
|
|
146
|
+
background-color:$rowSelectedBackgroundHover !important;
|
|
146
147
|
cursor: pointer;
|
|
147
148
|
}
|
|
148
149
|
}
|