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.
Files changed (63) hide show
  1. package/bower.json +1 -1
  2. package/dist/css/tabulator.css +1 -1
  3. package/dist/css/tabulator.css.map +1 -1
  4. package/dist/css/tabulator.min.css +1 -1
  5. package/dist/css/tabulator.min.css.map +1 -1
  6. package/dist/css/tabulator_bootstrap3.css +1 -1
  7. package/dist/css/tabulator_bootstrap3.css.map +1 -1
  8. package/dist/css/tabulator_bootstrap3.min.css +1 -1
  9. package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
  10. package/dist/css/tabulator_bootstrap4.css +1 -1
  11. package/dist/css/tabulator_bootstrap4.css.map +1 -1
  12. package/dist/css/tabulator_bootstrap4.min.css +1 -1
  13. package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
  14. package/dist/css/tabulator_bootstrap5.css +1 -1
  15. package/dist/css/tabulator_bootstrap5.css.map +1 -1
  16. package/dist/css/tabulator_bootstrap5.min.css +1 -1
  17. package/dist/css/tabulator_bootstrap5.min.css.map +1 -1
  18. package/dist/css/tabulator_bulma.css +1 -1
  19. package/dist/css/tabulator_bulma.css.map +1 -1
  20. package/dist/css/tabulator_bulma.min.css +1 -1
  21. package/dist/css/tabulator_bulma.min.css.map +1 -1
  22. package/dist/css/tabulator_materialize.css +1 -1
  23. package/dist/css/tabulator_materialize.css.map +1 -1
  24. package/dist/css/tabulator_materialize.min.css +1 -1
  25. package/dist/css/tabulator_materialize.min.css.map +1 -1
  26. package/dist/css/tabulator_midnight.css +1 -1
  27. package/dist/css/tabulator_midnight.css.map +1 -1
  28. package/dist/css/tabulator_midnight.min.css +1 -1
  29. package/dist/css/tabulator_midnight.min.css.map +1 -1
  30. package/dist/css/tabulator_modern.css +1 -1
  31. package/dist/css/tabulator_modern.css.map +1 -1
  32. package/dist/css/tabulator_modern.min.css +1 -1
  33. package/dist/css/tabulator_modern.min.css.map +1 -1
  34. package/dist/css/tabulator_semanticui.css +1 -1
  35. package/dist/css/tabulator_semanticui.css.map +1 -1
  36. package/dist/css/tabulator_semanticui.min.css +1 -1
  37. package/dist/css/tabulator_semanticui.min.css.map +1 -1
  38. package/dist/css/tabulator_simple.css +1 -1
  39. package/dist/css/tabulator_simple.css.map +1 -1
  40. package/dist/css/tabulator_simple.min.css +1 -1
  41. package/dist/css/tabulator_simple.min.css.map +1 -1
  42. package/dist/css/tabulator_site.css +1 -1
  43. package/dist/css/tabulator_site.css.map +1 -1
  44. package/dist/css/tabulator_site.min.css +1 -1
  45. package/dist/css/tabulator_site.min.css.map +1 -1
  46. package/dist/js/tabulator.js +52 -28
  47. package/dist/js/tabulator.js.map +1 -1
  48. package/dist/js/tabulator.min.js +2 -2
  49. package/dist/js/tabulator.min.js.map +1 -1
  50. package/dist/js/tabulator_esm.js +52 -28
  51. package/dist/js/tabulator_esm.js.map +1 -1
  52. package/dist/js/tabulator_esm.min.js +2 -2
  53. package/dist/js/tabulator_esm.min.js.map +1 -1
  54. package/package.json +4 -3
  55. package/src/js/core/ColumnManager.js +1 -1
  56. package/src/js/core/RowManager.js +1 -2
  57. package/src/js/core/tools/Helpers.js +19 -0
  58. package/src/js/modules/Ajax/Ajax.js +1 -1
  59. package/src/js/modules/Edit/Edit.js +21 -18
  60. package/src/js/modules/Format/defaults/formatters/link.js +5 -1
  61. package/src/js/modules/Page/Page.js +1 -1
  62. package/src/js/modules/Persistence/Persistence.js +5 -3
  63. package/src/scss/tabulator.scss +1 -1
@@ -1,4 +1,4 @@
1
- /* Tabulator v5.5.2 (c) Oliver Folkerd 2023 */
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(params, ajaxParams);
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(newRow === true){
7670
- newRow = this.table.addRow({});
7671
- }else {
7672
- if(typeof newRow == "function"){
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 = this.table.addRow(Object.assign({}, 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
- newRow.then(() => {
7680
- setTimeout(() => {
7681
- cell.getComponent().navigateNext();
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
- value = data[formatterParams.urlField];
10083
+
10084
+ value = Helpers.retrieveNestedData(this.table.options.nestedFieldSeparator, formatterParams.urlField, data);
10062
10085
  }
10063
10086
 
10064
10087
  if(formatterParams.url){
@@ -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(this.config.columns === true || this.config.columns == undefined){
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 {
@@ -21565,7 +21590,7 @@ class ColumnManager extends CoreFeature {
21565
21590
  var matches = [];
21566
21591
 
21567
21592
  Object.keys(this.columnsByField).forEach((field) => {
21568
- var fieldRoot = field.split(".")[0];
21593
+ var fieldRoot = this.table.options.nestedFieldSeparator ? field.split(this.table.options.nestedFieldSeparator)[0] : field;
21569
21594
  if(fieldRoot === root){
21570
21595
  matches.push(this.columnsByField[field]);
21571
21596
  }
@@ -23365,7 +23390,7 @@ class RowManager extends CoreFeature{
23365
23390
  refreshPipelines(handler, stage, index, renderInPosition){
23366
23391
  this.dispatch("data-refreshing");
23367
23392
 
23368
- if(!handler){
23393
+ if(!handler || !this.activeRowsPipeline[0]){
23369
23394
  this.activeRowsPipeline[0] = this.rows.slice(0);
23370
23395
  }
23371
23396
 
@@ -23375,7 +23400,6 @@ class RowManager extends CoreFeature{
23375
23400
  //handle case where all data needs refreshing
23376
23401
 
23377
23402
  case "dataPipeline":
23378
-
23379
23403
  for(let i = index; i < this.dataPipeline.length; i++){
23380
23404
  let result = this.dataPipeline[i].handler(this.activeRowsPipeline[i].slice(0));
23381
23405