tabulator-tables 5.2.3 → 5.2.6
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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +45 -36
- 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 +16 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +99 -135
- 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 +72 -109
- 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/CoreFeature.js +2 -2
- package/src/js/core/RowManager.js +1 -1
- package/src/js/core/cell/Cell.js +1 -2
- package/src/js/core/column/Column.js +1 -81
- package/src/js/core/rendering/Renderer.js +2 -0
- package/src/js/core/tools/DataLoader.js +3 -3
- package/src/js/core/tools/Popup.js +6 -0
- package/src/js/modules/DataTree/DataTree.js +4 -0
- package/src/js/modules/Download/defaults/downloaders/csv.js +2 -3
- package/src/js/modules/Download/defaults/downloaders/pdf.js +2 -3
- package/src/js/modules/Edit/List.js +3 -3
- package/src/js/modules/Export/Export.js +1 -2
- package/src/js/modules/Filter/Filter.js +1 -1
- package/src/js/modules/FrozenColumns/FrozenColumns.js +4 -2
- package/src/js/modules/GroupRows/GroupRows.js +4 -0
- package/src/js/modules/Interaction/Interaction.js +3 -3
- package/src/js/modules/Page/Page.js +1 -2
- package/src/js/modules/ResizeColumns/ResizeColumns.js +38 -7
- package/src/js/modules/Sort/Sort.js +2 -2
- package/src/scss/tabulator.scss +2 -2
- package/src/scss/themes/bootstrap/tabulator_bootstrap5.scss +41 -32
- package/src/scss/themes/bulma/tabulator_bulma.scss +47 -32
package/dist/js/tabulator_esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Tabulator v5.2.
|
|
1
|
+
/* Tabulator v5.2.6 (c) Oliver Folkerd 2022 */
|
|
2
2
|
class CoreFeature{
|
|
3
3
|
|
|
4
4
|
constructor(table){
|
|
@@ -9,8 +9,8 @@ class CoreFeature{
|
|
|
9
9
|
/////////////// DataLoad /////////////////
|
|
10
10
|
//////////////////////////////////////////
|
|
11
11
|
|
|
12
|
-
reloadData(data, silent){
|
|
13
|
-
return this.table.dataLoader.load(data, undefined, undefined, undefined, silent);
|
|
12
|
+
reloadData(data, silent, columnsChanged){
|
|
13
|
+
return this.table.dataLoader.load(data, undefined, undefined, undefined, silent, columnsChanged);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
//////////////////////////////////////////
|
|
@@ -194,6 +194,8 @@ class Popup extends CoreFeature{
|
|
|
194
194
|
|
|
195
195
|
this.blurEvent = this.hide.bind(this, false);
|
|
196
196
|
this.escEvent = this._escapeCheck.bind(this);
|
|
197
|
+
|
|
198
|
+
this.destroyBinding = this.hide.bind(this, true);
|
|
197
199
|
}
|
|
198
200
|
|
|
199
201
|
_lookupContainer(){
|
|
@@ -311,6 +313,8 @@ class Popup extends CoreFeature{
|
|
|
311
313
|
this._fitToScreen(x, y, parentEl, parentOffset, position);
|
|
312
314
|
|
|
313
315
|
this.visible = true;
|
|
316
|
+
|
|
317
|
+
this.subscribe("table-destroy", this.destroyBinding);
|
|
314
318
|
|
|
315
319
|
return this;
|
|
316
320
|
}
|
|
@@ -406,6 +410,8 @@ class Popup extends CoreFeature{
|
|
|
406
410
|
if(this.blurCallback && !silent){
|
|
407
411
|
this.blurCallback();
|
|
408
412
|
}
|
|
413
|
+
|
|
414
|
+
this.unsubscribe("table-destroy", this.destroyBinding);
|
|
409
415
|
}
|
|
410
416
|
|
|
411
417
|
return this;
|
|
@@ -1564,7 +1570,6 @@ class Cell extends CoreFeature{
|
|
|
1564
1570
|
}
|
|
1565
1571
|
break;
|
|
1566
1572
|
case "undefined":
|
|
1567
|
-
case "null":
|
|
1568
1573
|
this.element.innerHTML = "";
|
|
1569
1574
|
break;
|
|
1570
1575
|
default:
|
|
@@ -2066,8 +2071,6 @@ class Column extends CoreFeature{
|
|
|
2066
2071
|
}
|
|
2067
2072
|
}
|
|
2068
2073
|
|
|
2069
|
-
this.contentElement = this._bindEvents();
|
|
2070
|
-
|
|
2071
2074
|
this.contentElement = this._buildColumnHeaderContent();
|
|
2072
2075
|
|
|
2073
2076
|
this.element.appendChild(this.contentElement);
|
|
@@ -2081,83 +2084,6 @@ class Column extends CoreFeature{
|
|
|
2081
2084
|
this.dispatch("column-init", this);
|
|
2082
2085
|
}
|
|
2083
2086
|
|
|
2084
|
-
_bindEvents(){
|
|
2085
|
-
var def = this.definition,
|
|
2086
|
-
dblTap, tapHold, tap;
|
|
2087
|
-
|
|
2088
|
-
//setup header click event bindings
|
|
2089
|
-
if(typeof(def.headerClick) == "function"){
|
|
2090
|
-
this.element.addEventListener("click", (e) => {def.headerClick(e, this.getComponent());});
|
|
2091
|
-
}
|
|
2092
|
-
|
|
2093
|
-
if(typeof(def.headerDblClick) == "function"){
|
|
2094
|
-
this.element.addEventListener("dblclick", (e) => {def.headerDblClick(e, this.getComponent());});
|
|
2095
|
-
}
|
|
2096
|
-
|
|
2097
|
-
if(typeof(def.headerContext) == "function"){
|
|
2098
|
-
this.element.addEventListener("contextmenu", (e) => {def.headerContext(e, this.getComponent());});
|
|
2099
|
-
}
|
|
2100
|
-
|
|
2101
|
-
//setup header tap event bindings
|
|
2102
|
-
if(typeof(def.headerTap) == "function"){
|
|
2103
|
-
tap = false;
|
|
2104
|
-
|
|
2105
|
-
this.element.addEventListener("touchstart", (e) => {
|
|
2106
|
-
tap = true;
|
|
2107
|
-
}, {passive: true});
|
|
2108
|
-
|
|
2109
|
-
this.element.addEventListener("touchend", (e) => {
|
|
2110
|
-
if(tap){
|
|
2111
|
-
def.headerTap(e, this.getComponent());
|
|
2112
|
-
}
|
|
2113
|
-
|
|
2114
|
-
tap = false;
|
|
2115
|
-
});
|
|
2116
|
-
}
|
|
2117
|
-
|
|
2118
|
-
if(typeof(def.headerDblTap) == "function"){
|
|
2119
|
-
dblTap = null;
|
|
2120
|
-
|
|
2121
|
-
this.element.addEventListener("touchend", (e) => {
|
|
2122
|
-
|
|
2123
|
-
if(dblTap){
|
|
2124
|
-
clearTimeout(dblTap);
|
|
2125
|
-
dblTap = null;
|
|
2126
|
-
|
|
2127
|
-
def.headerDblTap(e, this.getComponent());
|
|
2128
|
-
}else {
|
|
2129
|
-
|
|
2130
|
-
dblTap = setTimeout(() => {
|
|
2131
|
-
clearTimeout(dblTap);
|
|
2132
|
-
dblTap = null;
|
|
2133
|
-
}, 300);
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
|
-
});
|
|
2137
|
-
}
|
|
2138
|
-
|
|
2139
|
-
if(typeof(def.headerTapHold) == "function"){
|
|
2140
|
-
tapHold = null;
|
|
2141
|
-
|
|
2142
|
-
this.element.addEventListener("touchstart", (e) => {
|
|
2143
|
-
clearTimeout(tapHold);
|
|
2144
|
-
|
|
2145
|
-
tapHold = setTimeout(function(){
|
|
2146
|
-
clearTimeout(tapHold);
|
|
2147
|
-
tapHold = null;
|
|
2148
|
-
tap = false;
|
|
2149
|
-
def.headerTapHold(e, this.getComponent());
|
|
2150
|
-
}, 1000);
|
|
2151
|
-
|
|
2152
|
-
}, {passive: true});
|
|
2153
|
-
|
|
2154
|
-
this.element.addEventListener("touchend", (e) => {
|
|
2155
|
-
clearTimeout(tapHold);
|
|
2156
|
-
tapHold = null;
|
|
2157
|
-
});
|
|
2158
|
-
}
|
|
2159
|
-
}
|
|
2160
|
-
|
|
2161
2087
|
//build header element for header
|
|
2162
2088
|
_buildColumnHeader(){
|
|
2163
2089
|
var def = this.definition,
|
|
@@ -2284,7 +2210,6 @@ class Column extends CoreFeature{
|
|
|
2284
2210
|
}
|
|
2285
2211
|
break;
|
|
2286
2212
|
case "undefined":
|
|
2287
|
-
case "null":
|
|
2288
2213
|
el.innerHTML = "";
|
|
2289
2214
|
break;
|
|
2290
2215
|
default:
|
|
@@ -4448,6 +4373,10 @@ class DataTree extends Module{
|
|
|
4448
4373
|
return row.modules.dataTree.parent ? row.modules.dataTree.parent.getComponent() : false;
|
|
4449
4374
|
}
|
|
4450
4375
|
|
|
4376
|
+
getTreeParentRoot(row){
|
|
4377
|
+
return row.modules.dataTree.parent ? this.getTreeParentRoot(row.modules.dataTree.parent) : row;
|
|
4378
|
+
}
|
|
4379
|
+
|
|
4451
4380
|
getFilteredTreeChildren(row){
|
|
4452
4381
|
var config = row.modules.dataTree,
|
|
4453
4382
|
output = [], children;
|
|
@@ -4646,11 +4575,10 @@ function csv(list, options, setFileContents){
|
|
|
4646
4575
|
|
|
4647
4576
|
switch(typeof col.value){
|
|
4648
4577
|
case "object":
|
|
4649
|
-
col.value = JSON.stringify(col.value);
|
|
4578
|
+
col.value = col.value !== null ? JSON.stringify(col.value) : "";
|
|
4650
4579
|
break;
|
|
4651
4580
|
|
|
4652
4581
|
case "undefined":
|
|
4653
|
-
case "null":
|
|
4654
4582
|
col.value = "";
|
|
4655
4583
|
break;
|
|
4656
4584
|
}
|
|
@@ -4770,11 +4698,10 @@ function pdf(list, options, setFileContents){
|
|
|
4770
4698
|
if(col){
|
|
4771
4699
|
switch(typeof col.value){
|
|
4772
4700
|
case "object":
|
|
4773
|
-
col.value = JSON.stringify(col.value);
|
|
4701
|
+
col.value = col.value !== null ? JSON.stringify(col.value) : "";
|
|
4774
4702
|
break;
|
|
4775
4703
|
|
|
4776
4704
|
case "undefined":
|
|
4777
|
-
case "null":
|
|
4778
4705
|
col.value = "";
|
|
4779
4706
|
break;
|
|
4780
4707
|
}
|
|
@@ -5627,7 +5554,7 @@ class Edit{
|
|
|
5627
5554
|
this.initialValues = this.params.multiselect ? initialValue : [initialValue];
|
|
5628
5555
|
|
|
5629
5556
|
if(this.isFilter){
|
|
5630
|
-
this.input.value = this.initialValues.join(",");
|
|
5557
|
+
this.input.value = this.initialValues ? this.initialValues.join(",") : "";
|
|
5631
5558
|
this.headerFilterInitialListGen();
|
|
5632
5559
|
}
|
|
5633
5560
|
}
|
|
@@ -6032,7 +5959,7 @@ class Edit{
|
|
|
6032
5959
|
values = this._ajaxRequest(this.params.valuesURL, this.input.value);
|
|
6033
5960
|
}else {
|
|
6034
5961
|
if(typeof this.params.valuesLookup === "function"){
|
|
6035
|
-
values = this.params.valuesLookup(cell, this.input.value);
|
|
5962
|
+
values = this.params.valuesLookup(this.cell, this.input.value);
|
|
6036
5963
|
}else if(this.params.valuesLookup){
|
|
6037
5964
|
values = this._uniqueColumnValues(this.params.valuesLookupField);
|
|
6038
5965
|
}
|
|
@@ -8184,11 +8111,10 @@ class Export extends Module{
|
|
|
8184
8111
|
}else {
|
|
8185
8112
|
switch(typeof value){
|
|
8186
8113
|
case "object":
|
|
8187
|
-
value = JSON.stringify(value);
|
|
8114
|
+
value = value !== null ? JSON.stringify(value) : "";
|
|
8188
8115
|
break;
|
|
8189
8116
|
|
|
8190
8117
|
case "undefined":
|
|
8191
|
-
case "null":
|
|
8192
8118
|
value = "";
|
|
8193
8119
|
break;
|
|
8194
8120
|
|
|
@@ -8947,7 +8873,7 @@ class Filter extends Module{
|
|
|
8947
8873
|
refreshFilter(){
|
|
8948
8874
|
if(this.tableInitialized){
|
|
8949
8875
|
if(this.table.options.filterMode === "remote"){
|
|
8950
|
-
this.reloadData();
|
|
8876
|
+
this.reloadData(null, false, false);
|
|
8951
8877
|
}else {
|
|
8952
8878
|
this.refreshData(true);
|
|
8953
8879
|
}
|
|
@@ -10308,7 +10234,8 @@ class FrozenColumns extends Module{
|
|
|
10308
10234
|
this.table.columnManager.element.style.paddingRight = this.rightMargin;
|
|
10309
10235
|
|
|
10310
10236
|
this.leftColumns.forEach((column, i) => {
|
|
10311
|
-
column.modules.frozen.
|
|
10237
|
+
column.modules.frozen.marginValue = leftMargin + this.table.columnManager.scrollLeft;
|
|
10238
|
+
column.modules.frozen.margin = column.modules.frozen.marginValue + "px";
|
|
10312
10239
|
|
|
10313
10240
|
if(column.visible){
|
|
10314
10241
|
leftMargin += column.getWidth();
|
|
@@ -10347,7 +10274,8 @@ class FrozenColumns extends Module{
|
|
|
10347
10274
|
rightMargin += column.getWidth();
|
|
10348
10275
|
}
|
|
10349
10276
|
|
|
10350
|
-
column.modules.frozen.
|
|
10277
|
+
column.modules.frozen.marginValue = this.rightPadding - rightMargin;
|
|
10278
|
+
column.modules.frozen.margin = column.modules.frozen.marginValue + "px";
|
|
10351
10279
|
|
|
10352
10280
|
if(i == this.rightColumns.length - 1){
|
|
10353
10281
|
column.modules.frozen.edge = true;
|
|
@@ -11684,6 +11612,10 @@ class GroupRows extends Module{
|
|
|
11684
11612
|
getRowGroup(row){
|
|
11685
11613
|
var match = false;
|
|
11686
11614
|
|
|
11615
|
+
if(this.options("dataTree")){
|
|
11616
|
+
row = this.table.modules.dataTree.getTreeParentRoot(row);
|
|
11617
|
+
}
|
|
11618
|
+
|
|
11687
11619
|
this.groupList.forEach((group) => {
|
|
11688
11620
|
var result = group.getRowGroup(row);
|
|
11689
11621
|
|
|
@@ -15140,7 +15072,6 @@ class Page extends Module{
|
|
|
15140
15072
|
}
|
|
15141
15073
|
break;
|
|
15142
15074
|
case "undefined":
|
|
15143
|
-
case "null":
|
|
15144
15075
|
this.pageCounterElement.innerHTML = "";
|
|
15145
15076
|
break;
|
|
15146
15077
|
default:
|
|
@@ -16603,6 +16534,7 @@ class ResizeColumns extends Module{
|
|
|
16603
16534
|
|
|
16604
16535
|
this.subscribe("column-hide", this.deInitializeColumn.bind(this));
|
|
16605
16536
|
this.subscribe("column-show", this.columnLayoutUpdated.bind(this));
|
|
16537
|
+
this.subscribe("column-width", this.columnWidthUpdated.bind(this));
|
|
16606
16538
|
|
|
16607
16539
|
this.subscribe("column-delete", this.deInitializeComponent.bind(this));
|
|
16608
16540
|
this.subscribe("column-height", this.resizeHandle.bind(this));
|
|
@@ -16637,14 +16569,38 @@ class ResizeColumns extends Module{
|
|
|
16637
16569
|
}
|
|
16638
16570
|
}
|
|
16639
16571
|
|
|
16572
|
+
columnWidthUpdated(column){
|
|
16573
|
+
if(column.modules.frozen){
|
|
16574
|
+
if(this.table.modules.frozenColumns.leftColumns.includes(column)){
|
|
16575
|
+
this.table.modules.frozenColumns.leftColumns.forEach((col) => {
|
|
16576
|
+
this.reinitializeColumn(col);
|
|
16577
|
+
});
|
|
16578
|
+
}else if(this.table.modules.frozenColumns.rightColumns.includes(column)){
|
|
16579
|
+
this.table.modules.frozenColumns.rightColumns.forEach((col) => {
|
|
16580
|
+
this.reinitializeColumn(col);
|
|
16581
|
+
});
|
|
16582
|
+
}
|
|
16583
|
+
}
|
|
16584
|
+
}
|
|
16585
|
+
|
|
16640
16586
|
reinitializeColumn(column){
|
|
16587
|
+
var frozenOffset = column.modules.frozen ? (column.modules.frozen.marginValue + column.getWidth() + "px") : false;
|
|
16588
|
+
|
|
16641
16589
|
column.cells.forEach((cell) => {
|
|
16642
16590
|
if(cell.modules.resize && cell.modules.resize.handleEl){
|
|
16591
|
+
if(frozenOffset){
|
|
16592
|
+
cell.modules.resize.handleEl.style.left = frozenOffset;
|
|
16593
|
+
}
|
|
16594
|
+
|
|
16643
16595
|
cell.element.after(cell.modules.resize.handleEl);
|
|
16644
16596
|
}
|
|
16645
16597
|
});
|
|
16646
16598
|
|
|
16647
16599
|
if(column.modules.resize && column.modules.resize.handleEl){
|
|
16600
|
+
if(frozenOffset){
|
|
16601
|
+
column.modules.resize.handleEl.style.left = frozenOffset;
|
|
16602
|
+
}
|
|
16603
|
+
|
|
16648
16604
|
column.element.after(column.modules.resize.handleEl);
|
|
16649
16605
|
}
|
|
16650
16606
|
}
|
|
@@ -16693,9 +16649,14 @@ class ResizeColumns extends Module{
|
|
|
16693
16649
|
}
|
|
16694
16650
|
});
|
|
16695
16651
|
|
|
16652
|
+
if(column.modules.frozen){
|
|
16653
|
+
handle.style.position = "absolute";
|
|
16654
|
+
handle.style.left = column.modules.frozen.marginValue + column.getWidth() + "px";
|
|
16655
|
+
}
|
|
16656
|
+
|
|
16696
16657
|
config.handleEl = handle;
|
|
16697
16658
|
|
|
16698
|
-
if(element.parentNode){
|
|
16659
|
+
if(element.parentNode && column.visible){
|
|
16699
16660
|
element.after(handle);
|
|
16700
16661
|
}
|
|
16701
16662
|
}
|
|
@@ -16743,27 +16704,27 @@ class ResizeColumns extends Module{
|
|
|
16743
16704
|
startDiff = x - self.startX,
|
|
16744
16705
|
moveDiff = x - self.latestX,
|
|
16745
16706
|
blockedBefore, blockedAfter;
|
|
16746
|
-
|
|
16707
|
+
|
|
16747
16708
|
self.latestX = x;
|
|
16748
16709
|
|
|
16749
16710
|
if(self.table.rtl){
|
|
16750
16711
|
startDiff = -startDiff;
|
|
16751
16712
|
moveDiff = -moveDiff;
|
|
16752
16713
|
}
|
|
16753
|
-
|
|
16714
|
+
|
|
16754
16715
|
blockedBefore = column.width == column.minWidth || column.width == column.maxWidth;
|
|
16755
|
-
|
|
16716
|
+
|
|
16756
16717
|
column.setWidth(self.startWidth + startDiff);
|
|
16757
|
-
|
|
16718
|
+
|
|
16758
16719
|
blockedAfter = column.width == column.minWidth || column.width == column.maxWidth;
|
|
16759
|
-
|
|
16720
|
+
|
|
16760
16721
|
if(moveDiff < 0){
|
|
16761
16722
|
self.nextColumn = self.initialNextColumn;
|
|
16762
16723
|
}
|
|
16763
16724
|
|
|
16764
16725
|
if(self.table.options.resizableColumnFit && self.nextColumn && !(blockedBefore && blockedAfter)){
|
|
16765
16726
|
let colWidth = self.nextColumn.getWidth();
|
|
16766
|
-
|
|
16727
|
+
|
|
16767
16728
|
if(moveDiff > 0){
|
|
16768
16729
|
if(colWidth <= self.nextColumn.minWidth){
|
|
16769
16730
|
self.nextColumn = self.nextColumn.nextColumn();
|
|
@@ -18304,7 +18265,7 @@ class Sort extends Module{
|
|
|
18304
18265
|
|
|
18305
18266
|
refreshSort(){
|
|
18306
18267
|
if(this.table.options.sortMode === "remote"){
|
|
18307
|
-
this.reloadData();
|
|
18268
|
+
this.reloadData(null, false, false);
|
|
18308
18269
|
}else {
|
|
18309
18270
|
this.refreshData(true);
|
|
18310
18271
|
}
|
|
@@ -18477,7 +18438,7 @@ class Sort extends Module{
|
|
|
18477
18438
|
//set the column header sort direction
|
|
18478
18439
|
setColumnHeader(column, dir){
|
|
18479
18440
|
column.modules.sort.dir = dir;
|
|
18480
|
-
column.getElement().setAttribute("aria-sort", dir);
|
|
18441
|
+
column.getElement().setAttribute("aria-sort", dir === "asc" ? "ascending" : "descending");
|
|
18481
18442
|
}
|
|
18482
18443
|
|
|
18483
18444
|
//sort each item in sort list
|
|
@@ -19420,6 +19381,8 @@ class Renderer extends CoreFeature{
|
|
|
19420
19381
|
this.elementVertical.scrollTop = this.elementVertical.scrollTop - this.elementVertical.clientHeight + rowEl.offsetHeight;
|
|
19421
19382
|
}
|
|
19422
19383
|
|
|
19384
|
+
break;
|
|
19385
|
+
|
|
19423
19386
|
case "top":
|
|
19424
19387
|
this.elementVertical.scrollTop = rowEl.offsetTop;
|
|
19425
19388
|
break;
|
|
@@ -21380,7 +21343,7 @@ class RowManager extends CoreFeature{
|
|
|
21380
21343
|
|
|
21381
21344
|
el.classList.add("tabulator-tableholder");
|
|
21382
21345
|
el.setAttribute("tabindex", 0);
|
|
21383
|
-
el.setAttribute("role", "rowgroup");
|
|
21346
|
+
// el.setAttribute("role", "rowgroup");
|
|
21384
21347
|
|
|
21385
21348
|
return el;
|
|
21386
21349
|
}
|
|
@@ -22855,7 +22818,7 @@ class DataLoader extends CoreFeature{
|
|
|
22855
22818
|
|
|
22856
22819
|
initialize(){}
|
|
22857
22820
|
|
|
22858
|
-
load(data, params, config, replace, silent){
|
|
22821
|
+
load(data, params, config, replace, silent, columnsChanged){
|
|
22859
22822
|
var requestNo = ++this.requestOrder;
|
|
22860
22823
|
|
|
22861
22824
|
this.dispatchExternal("dataLoading", data);
|
|
@@ -22891,7 +22854,7 @@ class DataLoader extends CoreFeature{
|
|
|
22891
22854
|
|
|
22892
22855
|
if(rowData !== false){
|
|
22893
22856
|
this.dispatchExternal("dataLoaded", rowData);
|
|
22894
|
-
this.table.rowManager.setData(rowData, replace, !replace);
|
|
22857
|
+
this.table.rowManager.setData(rowData, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
22895
22858
|
}
|
|
22896
22859
|
}else {
|
|
22897
22860
|
console.warn("Data Load Response Blocked - An active data load request was blocked by an attempt to change table data while the request was being made");
|
|
@@ -22918,7 +22881,7 @@ class DataLoader extends CoreFeature{
|
|
|
22918
22881
|
data = [];
|
|
22919
22882
|
}
|
|
22920
22883
|
|
|
22921
|
-
this.table.rowManager.setData(data, replace, !replace);
|
|
22884
|
+
this.table.rowManager.setData(data, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
22922
22885
|
return Promise.resolve();
|
|
22923
22886
|
}
|
|
22924
22887
|
}
|