tabulator-tables 5.5.1 → 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/LICENSE +1 -1
- package/bower.json +1 -1
- package/dist/css/tabulator.css +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +65 -30
- 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 +65 -30
- 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/HtmlTableImport/HtmlTableImport.js +2 -2
- package/src/js/modules/Keybindings/defaults/bindings.js +1 -1
- package/src/js/modules/Layout/Layout.js +10 -0
- package/src/js/modules/Page/Page.js +1 -1
- package/src/js/modules/Persistence/Persistence.js +5 -3
- package/src/js/modules/ResizeColumns/ResizeColumns.js +1 -0
- package/src/scss/tabulator.scss +3 -3
package/dist/js/tabulator_esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Tabulator v5.5.
|
|
1
|
+
/* Tabulator v5.5.3 (c) Oliver Folkerd 2024 */
|
|
2
2
|
class CoreFeature{
|
|
3
3
|
|
|
4
4
|
constructor(table){
|
|
@@ -154,6 +154,25 @@ class Helpers{
|
|
|
154
154
|
};
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
+
static retrieveNestedData(separator, field, data){
|
|
158
|
+
var structure = separator ? field.split(separator) : [field],
|
|
159
|
+
length = structure.length,
|
|
160
|
+
output;
|
|
161
|
+
|
|
162
|
+
for(let i = 0; i < length; i++){
|
|
163
|
+
|
|
164
|
+
data = data[structure[i]];
|
|
165
|
+
|
|
166
|
+
output = data;
|
|
167
|
+
|
|
168
|
+
if(!data){
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return output;
|
|
174
|
+
}
|
|
175
|
+
|
|
157
176
|
static deepClone(obj, clone, list = []){
|
|
158
177
|
var objectProto = {}.__proto__,
|
|
159
178
|
arrayProto = [].__proto__;
|
|
@@ -975,7 +994,7 @@ class Ajax extends Module{
|
|
|
975
994
|
ajaxParams = ajaxParams.call(this.table);
|
|
976
995
|
}
|
|
977
996
|
|
|
978
|
-
params = Object.assign(
|
|
997
|
+
params = Object.assign(Object.assign({}, ajaxParams), params);
|
|
979
998
|
}
|
|
980
999
|
|
|
981
1000
|
return params;
|
|
@@ -7666,21 +7685,24 @@ class Edit$1 extends Module{
|
|
|
7666
7685
|
if(newRow){
|
|
7667
7686
|
cell.getElement().firstChild.blur();
|
|
7668
7687
|
|
|
7669
|
-
if(
|
|
7670
|
-
|
|
7671
|
-
|
|
7672
|
-
|
|
7673
|
-
newRow = this.table.addRow(newRow(cell.row.getComponent()));
|
|
7688
|
+
if(!this.invalidEdit){
|
|
7689
|
+
|
|
7690
|
+
if(newRow === true){
|
|
7691
|
+
newRow = this.table.addRow({});
|
|
7674
7692
|
}else {
|
|
7675
|
-
newRow
|
|
7693
|
+
if(typeof newRow == "function"){
|
|
7694
|
+
newRow = this.table.addRow(newRow(cell.row.getComponent()));
|
|
7695
|
+
}else {
|
|
7696
|
+
newRow = this.table.addRow(Object.assign({}, newRow));
|
|
7697
|
+
}
|
|
7676
7698
|
}
|
|
7677
|
-
|
|
7678
|
-
|
|
7679
|
-
|
|
7680
|
-
|
|
7681
|
-
|
|
7699
|
+
|
|
7700
|
+
newRow.then(() => {
|
|
7701
|
+
setTimeout(() => {
|
|
7702
|
+
cell.getComponent().navigateNext();
|
|
7703
|
+
});
|
|
7682
7704
|
});
|
|
7683
|
-
}
|
|
7705
|
+
}
|
|
7684
7706
|
}
|
|
7685
7707
|
}
|
|
7686
7708
|
}
|
|
@@ -7936,7 +7958,7 @@ class Edit$1 extends Module{
|
|
|
7936
7958
|
this.cancelEdit();
|
|
7937
7959
|
}
|
|
7938
7960
|
}
|
|
7939
|
-
|
|
7961
|
+
|
|
7940
7962
|
rowEditableCheck(row){
|
|
7941
7963
|
row.getCells().forEach((cell) => {
|
|
7942
7964
|
if(cell.column.modules.edit && typeof cell.column.modules.edit.check === "function"){
|
|
@@ -8123,7 +8145,7 @@ class Edit$1 extends Module{
|
|
|
8123
8145
|
|
|
8124
8146
|
allowEdit(cell) {
|
|
8125
8147
|
var check = cell.column.modules.edit ? true : false;
|
|
8126
|
-
|
|
8148
|
+
|
|
8127
8149
|
if(cell.column.modules.edit){
|
|
8128
8150
|
switch(typeof cell.column.modules.edit.check){
|
|
8129
8151
|
case "function":
|
|
@@ -8131,17 +8153,17 @@ class Edit$1 extends Module{
|
|
|
8131
8153
|
check = cell.column.modules.edit.check(cell.getComponent());
|
|
8132
8154
|
}
|
|
8133
8155
|
break;
|
|
8134
|
-
|
|
8156
|
+
|
|
8135
8157
|
case "string":
|
|
8136
8158
|
check = !!cell.row.data[cell.column.modules.edit.check];
|
|
8137
8159
|
break;
|
|
8138
|
-
|
|
8160
|
+
|
|
8139
8161
|
case "boolean":
|
|
8140
8162
|
check = cell.column.modules.edit.check;
|
|
8141
8163
|
break;
|
|
8142
8164
|
}
|
|
8143
8165
|
}
|
|
8144
|
-
|
|
8166
|
+
|
|
8145
8167
|
return check;
|
|
8146
8168
|
}
|
|
8147
8169
|
|
|
@@ -8153,7 +8175,7 @@ class Edit$1 extends Module{
|
|
|
8153
8175
|
cellEditor, component, params;
|
|
8154
8176
|
|
|
8155
8177
|
//prevent editing if another cell is refusing to leave focus (eg. validation fail)
|
|
8156
|
-
|
|
8178
|
+
|
|
8157
8179
|
if(this.currentCell){
|
|
8158
8180
|
if(!this.invalidEdit && this.currentCell !== cell){
|
|
8159
8181
|
this.cancelEdit();
|
|
@@ -10058,7 +10080,8 @@ function link(cell, formatterParams, onRendered){
|
|
|
10058
10080
|
if(label){
|
|
10059
10081
|
if(formatterParams.urlField){
|
|
10060
10082
|
data = cell.getData();
|
|
10061
|
-
|
|
10083
|
+
|
|
10084
|
+
value = Helpers.retrieveNestedData(this.table.options.nestedFieldSeparator, formatterParams.urlField, data);
|
|
10062
10085
|
}
|
|
10063
10086
|
|
|
10064
10087
|
if(formatterParams.url){
|
|
@@ -12973,7 +12996,7 @@ class HtmlTableImport extends Module{
|
|
|
12973
12996
|
}
|
|
12974
12997
|
|
|
12975
12998
|
if(!col.field) {
|
|
12976
|
-
col.field = header.textContent.trim().toLowerCase().
|
|
12999
|
+
col.field = header.textContent.trim().toLowerCase().replaceAll(" ", "_");
|
|
12977
13000
|
}
|
|
12978
13001
|
|
|
12979
13002
|
width = header.getAttribute("width");
|
|
@@ -13631,7 +13654,7 @@ var defaultBindings = {
|
|
|
13631
13654
|
scrollToEnd:35,
|
|
13632
13655
|
undo:["ctrl + 90", "meta + 90"],
|
|
13633
13656
|
redo:["ctrl + 89", "meta + 89"],
|
|
13634
|
-
copyToClipboard:["ctrl + 67", "meta +
|
|
13657
|
+
copyToClipboard:["ctrl + 67", "meta + 67"],
|
|
13635
13658
|
};
|
|
13636
13659
|
|
|
13637
13660
|
var defaultActions = {
|
|
@@ -15562,7 +15585,7 @@ class Page extends Module{
|
|
|
15562
15585
|
|
|
15563
15586
|
userSetPageToRow(row){
|
|
15564
15587
|
if(this.table.options.pagination){
|
|
15565
|
-
row = this.rowManager.findRow(row);
|
|
15588
|
+
row = this.table.rowManager.findRow(row);
|
|
15566
15589
|
|
|
15567
15590
|
if(row){
|
|
15568
15591
|
return this.setPageToRow(row);
|
|
@@ -16502,7 +16525,7 @@ class Persistence extends Module{
|
|
|
16502
16525
|
}
|
|
16503
16526
|
|
|
16504
16527
|
setColumnLayout(layout){
|
|
16505
|
-
this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns, layout));
|
|
16528
|
+
this.table.columnManager.setColumns(this.mergeDefinition(this.table.options.columns, layout, true));
|
|
16506
16529
|
return true;
|
|
16507
16530
|
}
|
|
16508
16531
|
|
|
@@ -16568,7 +16591,7 @@ class Persistence extends Module{
|
|
|
16568
16591
|
}
|
|
16569
16592
|
|
|
16570
16593
|
//merge old and new column definitions
|
|
16571
|
-
mergeDefinition(oldCols, newCols){
|
|
16594
|
+
mergeDefinition(oldCols, newCols, mergeAllNew){
|
|
16572
16595
|
var output = [];
|
|
16573
16596
|
|
|
16574
16597
|
newCols = newCols || [];
|
|
@@ -16578,7 +16601,9 @@ class Persistence extends Module{
|
|
|
16578
16601
|
keys;
|
|
16579
16602
|
|
|
16580
16603
|
if(from){
|
|
16581
|
-
if(
|
|
16604
|
+
if(mergeAllNew){
|
|
16605
|
+
keys = Object.keys(column);
|
|
16606
|
+
}else if(this.config.columns === true || this.config.columns == undefined){
|
|
16582
16607
|
keys = Object.keys(from);
|
|
16583
16608
|
keys.push("width");
|
|
16584
16609
|
}else {
|
|
@@ -17643,6 +17668,7 @@ class ResizeColumns extends Module{
|
|
|
17643
17668
|
if(cell.modules.resize && cell.modules.resize.handleEl){
|
|
17644
17669
|
if(frozenOffset){
|
|
17645
17670
|
cell.modules.resize.handleEl.style[column.modules.frozen.position] = frozenOffset;
|
|
17671
|
+
cell.modules.resize.handleEl.style["z-index"] = 11;
|
|
17646
17672
|
}
|
|
17647
17673
|
|
|
17648
17674
|
cell.element.after(cell.modules.resize.handleEl);
|
|
@@ -21564,7 +21590,7 @@ class ColumnManager extends CoreFeature {
|
|
|
21564
21590
|
var matches = [];
|
|
21565
21591
|
|
|
21566
21592
|
Object.keys(this.columnsByField).forEach((field) => {
|
|
21567
|
-
var fieldRoot = field.split(
|
|
21593
|
+
var fieldRoot = this.table.options.nestedFieldSeparator ? field.split(this.table.options.nestedFieldSeparator)[0] : field;
|
|
21568
21594
|
if(fieldRoot === root){
|
|
21569
21595
|
matches.push(this.columnsByField[field]);
|
|
21570
21596
|
}
|
|
@@ -23364,7 +23390,7 @@ class RowManager extends CoreFeature{
|
|
|
23364
23390
|
refreshPipelines(handler, stage, index, renderInPosition){
|
|
23365
23391
|
this.dispatch("data-refreshing");
|
|
23366
23392
|
|
|
23367
|
-
if(!handler){
|
|
23393
|
+
if(!handler || !this.activeRowsPipeline[0]){
|
|
23368
23394
|
this.activeRowsPipeline[0] = this.rows.slice(0);
|
|
23369
23395
|
}
|
|
23370
23396
|
|
|
@@ -23374,7 +23400,6 @@ class RowManager extends CoreFeature{
|
|
|
23374
23400
|
//handle case where all data needs refreshing
|
|
23375
23401
|
|
|
23376
23402
|
case "dataPipeline":
|
|
23377
|
-
|
|
23378
23403
|
for(let i = index; i < this.dataPipeline.length; i++){
|
|
23379
23404
|
let result = this.dataPipeline[i].handler(this.activeRowsPipeline[i].slice(0));
|
|
23380
23405
|
|
|
@@ -25003,6 +25028,16 @@ class Layout extends Module{
|
|
|
25003
25028
|
}
|
|
25004
25029
|
|
|
25005
25030
|
this.table.element.setAttribute("tabulator-layout", this.mode);
|
|
25031
|
+
this.subscribe("column-init", this.initializeColumn.bind(this));
|
|
25032
|
+
}
|
|
25033
|
+
|
|
25034
|
+
initializeColumn(column){
|
|
25035
|
+
if(column.definition.widthGrow){
|
|
25036
|
+
column.definition.widthGrow = Number(column.definition.widthGrow);
|
|
25037
|
+
}
|
|
25038
|
+
if(column.definition.widthShrink){
|
|
25039
|
+
column.definition.widthShrink = Number(column.definition.widthShrink);
|
|
25040
|
+
}
|
|
25006
25041
|
}
|
|
25007
25042
|
|
|
25008
25043
|
getMode(){
|