tabulator-tables 5.5.0 → 5.5.1
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/build/Bundler.js +7 -3
- package/dist/css/tabulator.css +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +5 -0
- 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 +20 -15
- 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 +5 -0
- 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 +5 -0
- 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 +7 -2
- 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 +5 -0
- 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 +5 -0
- 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/jquery_wrapper.js +10 -2
- package/dist/js/tabulator.js +155 -90
- 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 +155 -90
- 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 +3 -2
- package/src/js/builds/jquery_wrapper.js +10 -2
- package/src/js/core/RowManager.js +2 -0
- package/src/js/core/rendering/renderers/BasicHorizontal.js +9 -7
- package/src/js/core/rendering/renderers/BasicVertical.js +43 -25
- package/src/js/core/rendering/renderers/VirtualDomVertical.js +6 -3
- package/src/js/core/row/Row.js +9 -3
- package/src/js/core/tools/DataLoader.js +44 -36
- package/src/js/modules/DataTree/DataTree.js +4 -1
- package/src/js/modules/GroupRows/Group.js +27 -10
- package/src/js/modules/History/defaults/redoers.js +4 -2
- package/src/js/modules/History/defaults/undoers.js +6 -2
- package/src/scss/tabulator.scss +5 -0
- package/src/scss/themes/materialize/tabulator_materialize.scss +2 -2
- package/src/scss/themes/materialize/variables.scss +1 -1
- package/src/scss/themes/semanticui/tabulator_semanticui.scss +1 -1
- package/src/scss/themes/semanticui/variables_table.scss +1 -1
package/dist/js/tabulator_esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Tabulator v5.5.
|
|
1
|
+
/* Tabulator v5.5.1 (c) Oliver Folkerd 2023 */
|
|
2
2
|
class CoreFeature{
|
|
3
3
|
|
|
4
4
|
constructor(table){
|
|
@@ -3112,7 +3112,7 @@ class Row extends CoreFeature{
|
|
|
3112
3112
|
}
|
|
3113
3113
|
|
|
3114
3114
|
//functions to setup on first render
|
|
3115
|
-
initialize(force){
|
|
3115
|
+
initialize(force, inFragment){
|
|
3116
3116
|
this.create();
|
|
3117
3117
|
|
|
3118
3118
|
if(!this.initialized || force){
|
|
@@ -3127,7 +3127,7 @@ class Row extends CoreFeature{
|
|
|
3127
3127
|
|
|
3128
3128
|
this.initialized = true;
|
|
3129
3129
|
|
|
3130
|
-
this.table.columnManager.renderer.renderRowCells(this);
|
|
3130
|
+
this.table.columnManager.renderer.renderRowCells(this, inFragment);
|
|
3131
3131
|
|
|
3132
3132
|
if(force){
|
|
3133
3133
|
this.normalizeHeight();
|
|
@@ -3141,9 +3141,15 @@ class Row extends CoreFeature{
|
|
|
3141
3141
|
|
|
3142
3142
|
this.dispatch("row-layout-after", this);
|
|
3143
3143
|
}else {
|
|
3144
|
-
this.table.columnManager.renderer.rerenderRowCells(this);
|
|
3144
|
+
this.table.columnManager.renderer.rerenderRowCells(this, inFragment);
|
|
3145
3145
|
}
|
|
3146
3146
|
}
|
|
3147
|
+
|
|
3148
|
+
rendered(){
|
|
3149
|
+
this.cells.forEach((cell) => {
|
|
3150
|
+
cell.cellRendered();
|
|
3151
|
+
});
|
|
3152
|
+
}
|
|
3147
3153
|
|
|
3148
3154
|
reinitializeHeight(){
|
|
3149
3155
|
this.heightInitialized = false;
|
|
@@ -4231,6 +4237,9 @@ class DataTree extends Module{
|
|
|
4231
4237
|
this.branchEl = options.dataTreeBranchElement;
|
|
4232
4238
|
}
|
|
4233
4239
|
}
|
|
4240
|
+
}else {
|
|
4241
|
+
this.branchEl = document.createElement("div");
|
|
4242
|
+
this.branchEl.classList.add("tabulator-data-tree-branch-empty");
|
|
4234
4243
|
}
|
|
4235
4244
|
|
|
4236
4245
|
if(options.dataTreeCollapseElement){
|
|
@@ -4734,7 +4743,7 @@ class DataTree extends Module{
|
|
|
4734
4743
|
var config = row.modules.dataTree,
|
|
4735
4744
|
output = [];
|
|
4736
4745
|
|
|
4737
|
-
if(config.children){
|
|
4746
|
+
if(config && config.children){
|
|
4738
4747
|
|
|
4739
4748
|
if(!Array.isArray(config.children)){
|
|
4740
4749
|
config.children = this.generateChildren(row);
|
|
@@ -11434,7 +11443,7 @@ class Group{
|
|
|
11434
11443
|
this.arrowElement = document.createElement("div");
|
|
11435
11444
|
this.arrowElement.classList.add("tabulator-group-toggle");
|
|
11436
11445
|
this.arrowElement.appendChild(arrow);
|
|
11437
|
-
|
|
11446
|
+
|
|
11438
11447
|
//setup movable rows
|
|
11439
11448
|
if(this.groupManager.table.options.movableRows !== false && this.groupManager.table.modExists("moveRow")){
|
|
11440
11449
|
this.groupManager.table.modules.moveRow.initializeGroupHeader(this);
|
|
@@ -11457,9 +11466,15 @@ class Group{
|
|
|
11457
11466
|
toggleElement = this.groupManager.table.options.groupToggleElement == "arrow" ? this.arrowElement : this.element;
|
|
11458
11467
|
|
|
11459
11468
|
toggleElement.addEventListener("click", (e) => {
|
|
11460
|
-
|
|
11461
|
-
|
|
11462
|
-
|
|
11469
|
+
if(this.groupManager.table.options.groupToggleElement === "arrow"){
|
|
11470
|
+
e.stopPropagation();
|
|
11471
|
+
e.stopImmediatePropagation();
|
|
11472
|
+
}
|
|
11473
|
+
|
|
11474
|
+
//allow click event to propagate before toggling visibility
|
|
11475
|
+
setTimeout(() => {
|
|
11476
|
+
this.toggleVisibility();
|
|
11477
|
+
});
|
|
11463
11478
|
});
|
|
11464
11479
|
}
|
|
11465
11480
|
}
|
|
@@ -11580,7 +11595,7 @@ class Group{
|
|
|
11580
11595
|
if(el.parentNode){
|
|
11581
11596
|
el.parentNode.removeChild(el);
|
|
11582
11597
|
}
|
|
11583
|
-
|
|
11598
|
+
|
|
11584
11599
|
if(!this.groupManager.blockRedraw){
|
|
11585
11600
|
this.generateGroupHeaderContents();
|
|
11586
11601
|
|
|
@@ -11705,6 +11720,7 @@ class Group{
|
|
|
11705
11720
|
}
|
|
11706
11721
|
return count;
|
|
11707
11722
|
}
|
|
11723
|
+
|
|
11708
11724
|
|
|
11709
11725
|
toggleVisibility(){
|
|
11710
11726
|
if(this.visible){
|
|
@@ -11829,12 +11845,18 @@ class Group{
|
|
|
11829
11845
|
return output;
|
|
11830
11846
|
}
|
|
11831
11847
|
|
|
11832
|
-
getRows(component){
|
|
11848
|
+
getRows(component, includeChildren){
|
|
11833
11849
|
var output = [];
|
|
11834
11850
|
|
|
11835
|
-
this.
|
|
11836
|
-
|
|
11837
|
-
|
|
11851
|
+
if(includeChildren && this.groupList.length){
|
|
11852
|
+
this.groupList.forEach((group) => {
|
|
11853
|
+
output = output.concat(group.getRows(component, includeChildren));
|
|
11854
|
+
});
|
|
11855
|
+
}else {
|
|
11856
|
+
this.rows.forEach(function(row){
|
|
11857
|
+
output.push(component ? row.getComponent() : row);
|
|
11858
|
+
});
|
|
11859
|
+
}
|
|
11838
11860
|
|
|
11839
11861
|
return output;
|
|
11840
11862
|
}
|
|
@@ -11842,7 +11864,9 @@ class Group{
|
|
|
11842
11864
|
generateGroupHeaderContents(){
|
|
11843
11865
|
var data = [];
|
|
11844
11866
|
|
|
11845
|
-
this.
|
|
11867
|
+
var rows = this.getRows(false, true);
|
|
11868
|
+
|
|
11869
|
+
rows.forEach(function(row){
|
|
11846
11870
|
data.push(row.getData());
|
|
11847
11871
|
});
|
|
11848
11872
|
|
|
@@ -11947,6 +11971,8 @@ class Group{
|
|
|
11947
11971
|
clearCellHeight(){}
|
|
11948
11972
|
|
|
11949
11973
|
deinitializeHeight(){}
|
|
11974
|
+
|
|
11975
|
+
rendered(){}
|
|
11950
11976
|
|
|
11951
11977
|
//////////////// Object Generation /////////////////
|
|
11952
11978
|
getComponent(){
|
|
@@ -12613,8 +12639,12 @@ var defaultUndoers = {
|
|
|
12613
12639
|
},
|
|
12614
12640
|
|
|
12615
12641
|
rowMove: function(action){
|
|
12616
|
-
|
|
12617
|
-
|
|
12642
|
+
var after = (action.data.posFrom - action.data.posTo) > 0;
|
|
12643
|
+
|
|
12644
|
+
this.table.rowManager.moveRowActual(action.component, this.table.rowManager.getRowFromPosition(action.data.posFrom), after);
|
|
12645
|
+
|
|
12646
|
+
this.table.rowManager.regenerateRowPositions();
|
|
12647
|
+
this.table.rowManager.reRenderInPosition();
|
|
12618
12648
|
},
|
|
12619
12649
|
};
|
|
12620
12650
|
|
|
@@ -12639,8 +12669,10 @@ var defaultRedoers = {
|
|
|
12639
12669
|
},
|
|
12640
12670
|
|
|
12641
12671
|
rowMove: function(action){
|
|
12642
|
-
this.table.rowManager.moveRowActual(action.component, this.table.rowManager.
|
|
12643
|
-
|
|
12672
|
+
this.table.rowManager.moveRowActual(action.component, this.table.rowManager.getRowFromPosition(action.data.posTo), action.data.after);
|
|
12673
|
+
|
|
12674
|
+
this.table.rowManager.regenerateRowPositions();
|
|
12675
|
+
this.table.rowManager.reRenderInPosition();
|
|
12644
12676
|
},
|
|
12645
12677
|
};
|
|
12646
12678
|
|
|
@@ -20550,19 +20582,21 @@ class BasicHorizontal extends Renderer{
|
|
|
20550
20582
|
constructor(table){
|
|
20551
20583
|
super(table);
|
|
20552
20584
|
}
|
|
20553
|
-
|
|
20554
|
-
renderRowCells(row) {
|
|
20585
|
+
|
|
20586
|
+
renderRowCells(row, inFragment) {
|
|
20555
20587
|
const rowFrag = document.createDocumentFragment();
|
|
20556
20588
|
row.cells.forEach((cell) => {
|
|
20557
20589
|
rowFrag.appendChild(cell.getElement());
|
|
20558
20590
|
});
|
|
20559
20591
|
row.element.appendChild(rowFrag);
|
|
20560
|
-
|
|
20561
|
-
|
|
20562
|
-
|
|
20563
|
-
|
|
20592
|
+
|
|
20593
|
+
if(!inFragment){
|
|
20594
|
+
row.cells.forEach((cell) => {
|
|
20595
|
+
cell.cellRendered();
|
|
20596
|
+
});
|
|
20597
|
+
}
|
|
20564
20598
|
}
|
|
20565
|
-
|
|
20599
|
+
|
|
20566
20600
|
reinitializeColumnWidths(columns){
|
|
20567
20601
|
columns.forEach(function(column){
|
|
20568
20602
|
column.reinitializeWidth();
|
|
@@ -21891,82 +21925,100 @@ class ColumnManager extends CoreFeature {
|
|
|
21891
21925
|
class BasicVertical extends Renderer{
|
|
21892
21926
|
constructor(table){
|
|
21893
21927
|
super(table);
|
|
21894
|
-
|
|
21928
|
+
|
|
21895
21929
|
this.verticalFillMode = "fill";
|
|
21896
|
-
|
|
21930
|
+
|
|
21897
21931
|
this.scrollTop = 0;
|
|
21898
21932
|
this.scrollLeft = 0;
|
|
21899
|
-
|
|
21933
|
+
|
|
21900
21934
|
this.scrollTop = 0;
|
|
21901
21935
|
this.scrollLeft = 0;
|
|
21902
21936
|
}
|
|
21903
|
-
|
|
21937
|
+
|
|
21904
21938
|
clearRows(){
|
|
21905
21939
|
var element = this.tableElement;
|
|
21906
|
-
|
|
21940
|
+
|
|
21907
21941
|
// element.children.detach();
|
|
21908
21942
|
while(element.firstChild) element.removeChild(element.firstChild);
|
|
21909
|
-
|
|
21943
|
+
|
|
21910
21944
|
element.scrollTop = 0;
|
|
21911
21945
|
element.scrollLeft = 0;
|
|
21912
|
-
|
|
21946
|
+
|
|
21913
21947
|
element.style.minWidth = "";
|
|
21914
21948
|
element.style.minHeight = "";
|
|
21915
21949
|
element.style.display = "";
|
|
21916
21950
|
element.style.visibility = "";
|
|
21917
21951
|
}
|
|
21918
|
-
|
|
21952
|
+
|
|
21919
21953
|
renderRows() {
|
|
21920
21954
|
var element = this.tableElement,
|
|
21921
21955
|
onlyGroupHeaders = true,
|
|
21922
|
-
tableFrag = document.createDocumentFragment()
|
|
21923
|
-
|
|
21924
|
-
|
|
21956
|
+
tableFrag = document.createDocumentFragment(),
|
|
21957
|
+
rows = this.rows();
|
|
21958
|
+
|
|
21959
|
+
rows.forEach((row, index) => {
|
|
21925
21960
|
this.styleRow(row, index);
|
|
21926
|
-
row.initialize(true);
|
|
21927
|
-
|
|
21961
|
+
row.initialize(false, true);
|
|
21962
|
+
|
|
21928
21963
|
if (row.type !== "group") {
|
|
21929
21964
|
onlyGroupHeaders = false;
|
|
21930
21965
|
}
|
|
21931
|
-
|
|
21966
|
+
|
|
21932
21967
|
tableFrag.appendChild(row.getElement());
|
|
21933
21968
|
});
|
|
21969
|
+
|
|
21934
21970
|
element.appendChild(tableFrag);
|
|
21935
|
-
|
|
21971
|
+
|
|
21972
|
+
rows.forEach((row) => {
|
|
21973
|
+
row.rendered();
|
|
21974
|
+
|
|
21975
|
+
if(!row.heightInitialized) {
|
|
21976
|
+
row.calcHeight(true);
|
|
21977
|
+
}
|
|
21978
|
+
});
|
|
21979
|
+
|
|
21980
|
+
rows.forEach((row) => {
|
|
21981
|
+
if(!row.heightInitialized) {
|
|
21982
|
+
row.setCellHeight();
|
|
21983
|
+
}
|
|
21984
|
+
});
|
|
21985
|
+
|
|
21986
|
+
|
|
21987
|
+
|
|
21936
21988
|
if(onlyGroupHeaders){
|
|
21937
21989
|
element.style.minWidth = this.table.columnManager.getWidth() + "px";
|
|
21938
21990
|
}else {
|
|
21939
21991
|
element.style.minWidth = "";
|
|
21940
21992
|
}
|
|
21941
21993
|
}
|
|
21942
|
-
|
|
21943
|
-
|
|
21994
|
+
|
|
21995
|
+
|
|
21944
21996
|
rerenderRows(callback){
|
|
21945
21997
|
this.clearRows();
|
|
21946
|
-
|
|
21998
|
+
|
|
21947
21999
|
if(callback){
|
|
21948
22000
|
callback();
|
|
21949
22001
|
}
|
|
21950
|
-
|
|
22002
|
+
|
|
21951
22003
|
this.renderRows();
|
|
21952
22004
|
}
|
|
21953
|
-
|
|
22005
|
+
|
|
21954
22006
|
scrollToRowNearestTop(row){
|
|
21955
22007
|
var rowTop = Helpers.elOffset(row.getElement()).top;
|
|
21956
|
-
|
|
22008
|
+
|
|
21957
22009
|
return !(Math.abs(this.elementVertical.scrollTop - rowTop) > Math.abs(this.elementVertical.scrollTop + this.elementVertical.clientHeight - rowTop));
|
|
21958
22010
|
}
|
|
21959
|
-
|
|
22011
|
+
|
|
21960
22012
|
scrollToRow(row){
|
|
21961
22013
|
var rowEl = row.getElement();
|
|
21962
|
-
|
|
22014
|
+
|
|
21963
22015
|
this.elementVertical.scrollTop = Helpers.elOffset(rowEl).top - Helpers.elOffset(this.elementVertical).top + this.elementVertical.scrollTop;
|
|
21964
22016
|
}
|
|
21965
|
-
|
|
22017
|
+
|
|
21966
22018
|
visibleRows(includingBuffer){
|
|
21967
22019
|
return this.rows();
|
|
21968
22020
|
}
|
|
21969
|
-
|
|
22021
|
+
|
|
21970
22022
|
}
|
|
21971
22023
|
|
|
21972
22024
|
class VirtualDomVertical extends Renderer{
|
|
@@ -22255,13 +22307,14 @@ class VirtualDomVertical extends Renderer{
|
|
|
22255
22307
|
rowFragment = document.createDocumentFragment();
|
|
22256
22308
|
|
|
22257
22309
|
i = 0;
|
|
22310
|
+
|
|
22258
22311
|
while ((i < rowsToRender) && this.vDomBottom < rowsCount -1) {
|
|
22259
22312
|
index = this.vDomBottom + 1,
|
|
22260
22313
|
row = rows[index];
|
|
22261
22314
|
|
|
22262
22315
|
this.styleRow(row, index);
|
|
22263
22316
|
|
|
22264
|
-
row.initialize();
|
|
22317
|
+
row.initialize(false, true);
|
|
22265
22318
|
if(!row.heightInitialized && !this.table.options.rowHeight){
|
|
22266
22319
|
row.clearCellHeight();
|
|
22267
22320
|
}
|
|
@@ -22275,21 +22328,23 @@ class VirtualDomVertical extends Renderer{
|
|
|
22275
22328
|
if(!renderedRows.length){
|
|
22276
22329
|
break;
|
|
22277
22330
|
}
|
|
22331
|
+
|
|
22278
22332
|
element.appendChild(rowFragment);
|
|
22279
22333
|
|
|
22280
22334
|
// NOTE: The next 3 loops are separate on purpose
|
|
22281
22335
|
// This is to batch up the dom writes and reads which drastically improves performance
|
|
22336
|
+
|
|
22282
22337
|
renderedRows.forEach((row) => {
|
|
22338
|
+
row.rendered();
|
|
22339
|
+
|
|
22283
22340
|
if(!row.heightInitialized) {
|
|
22284
22341
|
row.calcHeight(true);
|
|
22285
|
-
|
|
22286
22342
|
}
|
|
22287
22343
|
});
|
|
22288
22344
|
|
|
22289
22345
|
renderedRows.forEach((row) => {
|
|
22290
22346
|
if(!row.heightInitialized) {
|
|
22291
22347
|
row.setCellHeight();
|
|
22292
|
-
|
|
22293
22348
|
}
|
|
22294
22349
|
});
|
|
22295
22350
|
|
|
@@ -23582,6 +23637,8 @@ class RowManager extends CoreFeature{
|
|
|
23582
23637
|
|
|
23583
23638
|
this.getElement().appendChild(this.placeholder);
|
|
23584
23639
|
this._positionPlaceholder();
|
|
23640
|
+
|
|
23641
|
+
this.adjustTableSize();
|
|
23585
23642
|
}
|
|
23586
23643
|
}
|
|
23587
23644
|
|
|
@@ -24179,58 +24236,66 @@ class ComponentFunctionBinder{
|
|
|
24179
24236
|
class DataLoader extends CoreFeature{
|
|
24180
24237
|
constructor(table){
|
|
24181
24238
|
super(table);
|
|
24182
|
-
|
|
24239
|
+
|
|
24183
24240
|
this.requestOrder = 0; //prevent requests coming out of sequence if overridden by another load request
|
|
24184
24241
|
this.loading = false;
|
|
24185
24242
|
}
|
|
24186
|
-
|
|
24243
|
+
|
|
24187
24244
|
initialize(){}
|
|
24188
|
-
|
|
24245
|
+
|
|
24189
24246
|
load(data, params, config, replace, silent, columnsChanged){
|
|
24190
24247
|
var requestNo = ++this.requestOrder;
|
|
24191
24248
|
|
|
24249
|
+
if(this.table.destroyed){
|
|
24250
|
+
return Promise.resolve();
|
|
24251
|
+
}
|
|
24252
|
+
|
|
24192
24253
|
this.dispatchExternal("dataLoading", data);
|
|
24193
|
-
|
|
24254
|
+
|
|
24194
24255
|
//parse json data to array
|
|
24195
24256
|
if (data && (data.indexOf("{") == 0 || data.indexOf("[") == 0)){
|
|
24196
24257
|
data = JSON.parse(data);
|
|
24197
24258
|
}
|
|
24198
|
-
|
|
24259
|
+
|
|
24199
24260
|
if(this.confirm("data-loading", [data, params, config, silent])){
|
|
24200
24261
|
this.loading = true;
|
|
24201
|
-
|
|
24262
|
+
|
|
24202
24263
|
if(!silent){
|
|
24203
24264
|
this.alertLoader();
|
|
24204
24265
|
}
|
|
24205
|
-
|
|
24266
|
+
|
|
24206
24267
|
//get params for request
|
|
24207
24268
|
params = this.chain("data-params", [data, config, silent], params || {}, params || {});
|
|
24208
|
-
|
|
24269
|
+
|
|
24209
24270
|
params = this.mapParams(params, this.table.options.dataSendParams);
|
|
24210
|
-
|
|
24271
|
+
|
|
24211
24272
|
var result = this.chain("data-load", [data, params, config, silent], false, Promise.resolve([]));
|
|
24212
24273
|
|
|
24213
24274
|
return result.then((response) => {
|
|
24214
|
-
if(!
|
|
24215
|
-
response
|
|
24216
|
-
|
|
24217
|
-
|
|
24218
|
-
|
|
24219
|
-
|
|
24220
|
-
|
|
24221
|
-
this.
|
|
24222
|
-
|
|
24223
|
-
|
|
24224
|
-
|
|
24225
|
-
|
|
24275
|
+
if(!this.table.destroyed){
|
|
24276
|
+
if(!Array.isArray(response) && typeof response == "object"){
|
|
24277
|
+
response = this.mapParams(response, this.objectInvert(this.table.options.dataReceiveParams));
|
|
24278
|
+
}
|
|
24279
|
+
|
|
24280
|
+
var rowData = this.chain("data-loaded", response, null, response);
|
|
24281
|
+
|
|
24282
|
+
if(requestNo == this.requestOrder){
|
|
24283
|
+
this.clearAlert();
|
|
24284
|
+
|
|
24285
|
+
if(rowData !== false){
|
|
24286
|
+
this.dispatchExternal("dataLoaded", rowData);
|
|
24287
|
+
this.table.rowManager.setData(rowData, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
24288
|
+
}
|
|
24289
|
+
}else {
|
|
24290
|
+
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");
|
|
24226
24291
|
}
|
|
24227
24292
|
}else {
|
|
24228
|
-
console.warn("Data Load Response Blocked -
|
|
24293
|
+
console.warn("Data Load Response Blocked - Table has been destroyed");
|
|
24229
24294
|
}
|
|
24230
24295
|
}).catch((error) => {
|
|
24231
24296
|
console.error("Data Load Error: ", error);
|
|
24232
24297
|
this.dispatchExternal("dataLoadError", error);
|
|
24233
|
-
|
|
24298
|
+
|
|
24234
24299
|
if(!silent){
|
|
24235
24300
|
this.alertError();
|
|
24236
24301
|
}
|
|
@@ -24244,52 +24309,52 @@ class DataLoader extends CoreFeature{
|
|
|
24244
24309
|
});
|
|
24245
24310
|
}else {
|
|
24246
24311
|
this.dispatchExternal("dataLoaded", data);
|
|
24247
|
-
|
|
24312
|
+
|
|
24248
24313
|
if(!data){
|
|
24249
24314
|
data = [];
|
|
24250
24315
|
}
|
|
24251
|
-
|
|
24316
|
+
|
|
24252
24317
|
this.table.rowManager.setData(data, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
24253
24318
|
return Promise.resolve();
|
|
24254
24319
|
}
|
|
24255
24320
|
}
|
|
24256
|
-
|
|
24321
|
+
|
|
24257
24322
|
mapParams(params, map){
|
|
24258
24323
|
var output = {};
|
|
24259
|
-
|
|
24324
|
+
|
|
24260
24325
|
for(let key in params){
|
|
24261
24326
|
output[map.hasOwnProperty(key) ? map[key] : key] = params[key];
|
|
24262
24327
|
}
|
|
24263
|
-
|
|
24328
|
+
|
|
24264
24329
|
return output;
|
|
24265
24330
|
}
|
|
24266
|
-
|
|
24331
|
+
|
|
24267
24332
|
objectInvert(obj){
|
|
24268
24333
|
var output = {};
|
|
24269
|
-
|
|
24334
|
+
|
|
24270
24335
|
for(let key in obj){
|
|
24271
24336
|
output[obj[key]] = key;
|
|
24272
24337
|
}
|
|
24273
|
-
|
|
24338
|
+
|
|
24274
24339
|
return output;
|
|
24275
24340
|
}
|
|
24276
|
-
|
|
24341
|
+
|
|
24277
24342
|
blockActiveLoad(){
|
|
24278
24343
|
this.requestOrder++;
|
|
24279
24344
|
}
|
|
24280
|
-
|
|
24345
|
+
|
|
24281
24346
|
alertLoader(){
|
|
24282
24347
|
var shouldLoad = typeof this.table.options.dataLoader === "function" ? this.table.options.dataLoader() : this.table.options.dataLoader;
|
|
24283
|
-
|
|
24348
|
+
|
|
24284
24349
|
if(shouldLoad){
|
|
24285
24350
|
this.table.alertManager.alert(this.table.options.dataLoaderLoading || this.langText("data|loading"));
|
|
24286
24351
|
}
|
|
24287
24352
|
}
|
|
24288
|
-
|
|
24353
|
+
|
|
24289
24354
|
alertError(){
|
|
24290
24355
|
this.table.alertManager.alert(this.table.options.dataLoaderError || this.langText("data|error"), "error");
|
|
24291
24356
|
}
|
|
24292
|
-
|
|
24357
|
+
|
|
24293
24358
|
clearAlert(){
|
|
24294
24359
|
this.table.alertManager.clear();
|
|
24295
24360
|
}
|