tabulator-tables 5.5.2 → 5.5.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/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 +1 -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 +52 -28
- 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 +52 -28
- 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 +4 -3
- package/src/js/core/ColumnManager.js +1 -1
- package/src/js/core/RowManager.js +1 -2
- package/src/js/core/tools/Helpers.js +19 -0
- package/src/js/modules/Ajax/Ajax.js +1 -1
- package/src/js/modules/Edit/Edit.js +21 -18
- package/src/js/modules/Format/defaults/formatters/link.js +5 -1
- package/src/js/modules/Page/Page.js +1 -1
- package/src/js/modules/Persistence/Persistence.js +5 -3
- package/src/scss/tabulator.scss +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tabulator-tables",
|
|
3
|
-
"version": "5.5.
|
|
3
|
+
"version": "5.5.3",
|
|
4
4
|
"description": "Interactive table generation JavaScript library",
|
|
5
5
|
"style": "dist/css/tabulator.css",
|
|
6
6
|
"main": "dist/js/tabulator.js",
|
|
@@ -54,7 +54,6 @@
|
|
|
54
54
|
"eslint-plugin-only-warn": "^1.0.3",
|
|
55
55
|
"fs-extra": "^9.0.1",
|
|
56
56
|
"globby": "^11.0.2",
|
|
57
|
-
"node-sass": "^7.0.3",
|
|
58
57
|
"postcss": "^8.2.4",
|
|
59
58
|
"postcss-prettify": "^0.3.4",
|
|
60
59
|
"rollup": "^2.36.1",
|
|
@@ -62,5 +61,7 @@
|
|
|
62
61
|
"rollup-plugin-postcss": "^4.0.0",
|
|
63
62
|
"rollup-plugin-terser": "^7.0.2"
|
|
64
63
|
},
|
|
65
|
-
"dependencies": {
|
|
64
|
+
"dependencies": {
|
|
65
|
+
"node-sass": "^9.0.0"
|
|
66
|
+
}
|
|
66
67
|
}
|
|
@@ -387,7 +387,7 @@ export default class ColumnManager extends CoreFeature {
|
|
|
387
387
|
var matches = [];
|
|
388
388
|
|
|
389
389
|
Object.keys(this.columnsByField).forEach((field) => {
|
|
390
|
-
var fieldRoot = field.split(
|
|
390
|
+
var fieldRoot = this.table.options.nestedFieldSeparator ? field.split(this.table.options.nestedFieldSeparator)[0] : field;
|
|
391
391
|
if(fieldRoot === root){
|
|
392
392
|
matches.push(this.columnsByField[field]);
|
|
393
393
|
}
|
|
@@ -714,7 +714,7 @@ export default class RowManager extends CoreFeature{
|
|
|
714
714
|
refreshPipelines(handler, stage, index, renderInPosition){
|
|
715
715
|
this.dispatch("data-refreshing");
|
|
716
716
|
|
|
717
|
-
if(!handler){
|
|
717
|
+
if(!handler || !this.activeRowsPipeline[0]){
|
|
718
718
|
this.activeRowsPipeline[0] = this.rows.slice(0);
|
|
719
719
|
}
|
|
720
720
|
|
|
@@ -724,7 +724,6 @@ export default class RowManager extends CoreFeature{
|
|
|
724
724
|
//handle case where all data needs refreshing
|
|
725
725
|
|
|
726
726
|
case "dataPipeline":
|
|
727
|
-
|
|
728
727
|
for(let i = index; i < this.dataPipeline.length; i++){
|
|
729
728
|
let result = this.dataPipeline[i].handler(this.activeRowsPipeline[i].slice(0));
|
|
730
729
|
|
|
@@ -13,6 +13,25 @@ export default class Helpers{
|
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
static retrieveNestedData(separator, field, data){
|
|
17
|
+
var structure = separator ? field.split(separator) : [field],
|
|
18
|
+
length = structure.length,
|
|
19
|
+
output;
|
|
20
|
+
|
|
21
|
+
for(let i = 0; i < length; i++){
|
|
22
|
+
|
|
23
|
+
data = data[structure[i]];
|
|
24
|
+
|
|
25
|
+
output = data;
|
|
26
|
+
|
|
27
|
+
if(!data){
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return output;
|
|
33
|
+
}
|
|
34
|
+
|
|
16
35
|
static deepClone(obj, clone, list = []){
|
|
17
36
|
var objectProto = {}.__proto__,
|
|
18
37
|
arrayProto = [].__proto__;
|
|
@@ -78,21 +78,24 @@ class Edit extends Module{
|
|
|
78
78
|
if(newRow){
|
|
79
79
|
cell.getElement().firstChild.blur();
|
|
80
80
|
|
|
81
|
-
if(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
newRow = this.table.addRow(newRow(cell.row.getComponent()));
|
|
81
|
+
if(!this.invalidEdit){
|
|
82
|
+
|
|
83
|
+
if(newRow === true){
|
|
84
|
+
newRow = this.table.addRow({});
|
|
86
85
|
}else{
|
|
87
|
-
newRow
|
|
86
|
+
if(typeof newRow == "function"){
|
|
87
|
+
newRow = this.table.addRow(newRow(cell.row.getComponent()));
|
|
88
|
+
}else{
|
|
89
|
+
newRow = this.table.addRow(Object.assign({}, newRow));
|
|
90
|
+
}
|
|
88
91
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
|
|
93
|
+
newRow.then(() => {
|
|
94
|
+
setTimeout(() => {
|
|
95
|
+
cell.getComponent().navigateNext();
|
|
96
|
+
});
|
|
94
97
|
});
|
|
95
|
-
}
|
|
98
|
+
}
|
|
96
99
|
}
|
|
97
100
|
}
|
|
98
101
|
}
|
|
@@ -348,7 +351,7 @@ class Edit extends Module{
|
|
|
348
351
|
this.cancelEdit();
|
|
349
352
|
}
|
|
350
353
|
}
|
|
351
|
-
|
|
354
|
+
|
|
352
355
|
rowEditableCheck(row){
|
|
353
356
|
row.getCells().forEach((cell) => {
|
|
354
357
|
if(cell.column.modules.edit && typeof cell.column.modules.edit.check === "function"){
|
|
@@ -535,7 +538,7 @@ class Edit extends Module{
|
|
|
535
538
|
|
|
536
539
|
allowEdit(cell) {
|
|
537
540
|
var check = cell.column.modules.edit ? true : false;
|
|
538
|
-
|
|
541
|
+
|
|
539
542
|
if(cell.column.modules.edit){
|
|
540
543
|
switch(typeof cell.column.modules.edit.check){
|
|
541
544
|
case "function":
|
|
@@ -543,17 +546,17 @@ class Edit extends Module{
|
|
|
543
546
|
check = cell.column.modules.edit.check(cell.getComponent());
|
|
544
547
|
}
|
|
545
548
|
break;
|
|
546
|
-
|
|
549
|
+
|
|
547
550
|
case "string":
|
|
548
551
|
check = !!cell.row.data[cell.column.modules.edit.check];
|
|
549
552
|
break;
|
|
550
|
-
|
|
553
|
+
|
|
551
554
|
case "boolean":
|
|
552
555
|
check = cell.column.modules.edit.check;
|
|
553
556
|
break;
|
|
554
557
|
}
|
|
555
558
|
}
|
|
556
|
-
|
|
559
|
+
|
|
557
560
|
return check;
|
|
558
561
|
}
|
|
559
562
|
|
|
@@ -565,7 +568,7 @@ class Edit extends Module{
|
|
|
565
568
|
cellEditor, component, params;
|
|
566
569
|
|
|
567
570
|
//prevent editing if another cell is refusing to leave focus (eg. validation fail)
|
|
568
|
-
|
|
571
|
+
|
|
569
572
|
if(this.currentCell){
|
|
570
573
|
if(!this.invalidEdit && this.currentCell !== cell){
|
|
571
574
|
this.cancelEdit();
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import Helpers from '../../../../core/tools/Helpers.js';
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
export default function(cell, formatterParams, onRendered){
|
|
2
5
|
var value = cell.getValue(),
|
|
3
6
|
urlPrefix = formatterParams.urlPrefix || "",
|
|
@@ -37,7 +40,8 @@ export default function(cell, formatterParams, onRendered){
|
|
|
37
40
|
if(label){
|
|
38
41
|
if(formatterParams.urlField){
|
|
39
42
|
data = cell.getData();
|
|
40
|
-
|
|
43
|
+
|
|
44
|
+
value = Helpers.retrieveNestedData(this.table.options.nestedFieldSeparator, formatterParams.urlField, data);
|
|
41
45
|
}
|
|
42
46
|
|
|
43
47
|
if(formatterParams.url){
|
|
@@ -201,7 +201,7 @@ class Persistence extends Module{
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
setColumnLayout(layout){
|
|
204
|
-
this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns, layout));
|
|
204
|
+
this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns, layout, true));
|
|
205
205
|
return true;
|
|
206
206
|
}
|
|
207
207
|
|
|
@@ -267,7 +267,7 @@ class Persistence extends Module{
|
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
//merge old and new column definitions
|
|
270
|
-
mergeDefinition(oldCols, newCols){
|
|
270
|
+
mergeDefinition(oldCols, newCols, mergeAllNew){
|
|
271
271
|
var output = [];
|
|
272
272
|
|
|
273
273
|
newCols = newCols || [];
|
|
@@ -277,7 +277,9 @@ class Persistence extends Module{
|
|
|
277
277
|
keys;
|
|
278
278
|
|
|
279
279
|
if(from){
|
|
280
|
-
if(
|
|
280
|
+
if(mergeAllNew){
|
|
281
|
+
keys = Object.keys(column);
|
|
282
|
+
}else if(this.config.columns === true || this.config.columns == undefined){
|
|
281
283
|
keys = Object.keys(from);
|
|
282
284
|
keys.push("width");
|
|
283
285
|
}else{
|
package/src/scss/tabulator.scss
CHANGED