tabulator-tables 5.5.0 → 5.5.2
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/build/Bundler.js +7 -3
- package/dist/css/tabulator.css +7 -2
- 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 +7 -2
- 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 +7 -2
- 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 +7 -2
- 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 +7 -2
- 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 +22 -17
- 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 +7 -2
- 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 +7 -2
- 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 +9 -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 +7 -2
- 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 +7 -2
- 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 +168 -92
- 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 +168 -92
- 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/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/ResizeColumns/ResizeColumns.js +1 -0
- package/src/scss/tabulator.scss +7 -2
- 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.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Tabulator v5.5.
|
|
1
|
+
/* Tabulator v5.5.2 (c) Oliver Folkerd 2023 */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(factory) :
|
|
@@ -1997,19 +1997,21 @@
|
|
|
1997
1997
|
constructor(table){
|
|
1998
1998
|
super(table);
|
|
1999
1999
|
}
|
|
2000
|
-
|
|
2001
|
-
renderRowCells(row) {
|
|
2000
|
+
|
|
2001
|
+
renderRowCells(row, inFragment) {
|
|
2002
2002
|
const rowFrag = document.createDocumentFragment();
|
|
2003
2003
|
row.cells.forEach((cell) => {
|
|
2004
2004
|
rowFrag.appendChild(cell.getElement());
|
|
2005
2005
|
});
|
|
2006
2006
|
row.element.appendChild(rowFrag);
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2007
|
+
|
|
2008
|
+
if(!inFragment){
|
|
2009
|
+
row.cells.forEach((cell) => {
|
|
2010
|
+
cell.cellRendered();
|
|
2011
|
+
});
|
|
2012
|
+
}
|
|
2011
2013
|
}
|
|
2012
|
-
|
|
2014
|
+
|
|
2013
2015
|
reinitializeColumnWidths(columns){
|
|
2014
2016
|
columns.forEach(function(column){
|
|
2015
2017
|
column.reinitializeWidth();
|
|
@@ -3493,7 +3495,7 @@
|
|
|
3493
3495
|
}
|
|
3494
3496
|
|
|
3495
3497
|
//functions to setup on first render
|
|
3496
|
-
initialize(force){
|
|
3498
|
+
initialize(force, inFragment){
|
|
3497
3499
|
this.create();
|
|
3498
3500
|
|
|
3499
3501
|
if(!this.initialized || force){
|
|
@@ -3508,7 +3510,7 @@
|
|
|
3508
3510
|
|
|
3509
3511
|
this.initialized = true;
|
|
3510
3512
|
|
|
3511
|
-
this.table.columnManager.renderer.renderRowCells(this);
|
|
3513
|
+
this.table.columnManager.renderer.renderRowCells(this, inFragment);
|
|
3512
3514
|
|
|
3513
3515
|
if(force){
|
|
3514
3516
|
this.normalizeHeight();
|
|
@@ -3522,9 +3524,15 @@
|
|
|
3522
3524
|
|
|
3523
3525
|
this.dispatch("row-layout-after", this);
|
|
3524
3526
|
}else {
|
|
3525
|
-
this.table.columnManager.renderer.rerenderRowCells(this);
|
|
3527
|
+
this.table.columnManager.renderer.rerenderRowCells(this, inFragment);
|
|
3526
3528
|
}
|
|
3527
3529
|
}
|
|
3530
|
+
|
|
3531
|
+
rendered(){
|
|
3532
|
+
this.cells.forEach((cell) => {
|
|
3533
|
+
cell.cellRendered();
|
|
3534
|
+
});
|
|
3535
|
+
}
|
|
3528
3536
|
|
|
3529
3537
|
reinitializeHeight(){
|
|
3530
3538
|
this.heightInitialized = false;
|
|
@@ -3887,82 +3895,100 @@
|
|
|
3887
3895
|
class BasicVertical extends Renderer{
|
|
3888
3896
|
constructor(table){
|
|
3889
3897
|
super(table);
|
|
3890
|
-
|
|
3898
|
+
|
|
3891
3899
|
this.verticalFillMode = "fill";
|
|
3892
|
-
|
|
3900
|
+
|
|
3893
3901
|
this.scrollTop = 0;
|
|
3894
3902
|
this.scrollLeft = 0;
|
|
3895
|
-
|
|
3903
|
+
|
|
3896
3904
|
this.scrollTop = 0;
|
|
3897
3905
|
this.scrollLeft = 0;
|
|
3898
3906
|
}
|
|
3899
|
-
|
|
3907
|
+
|
|
3900
3908
|
clearRows(){
|
|
3901
3909
|
var element = this.tableElement;
|
|
3902
|
-
|
|
3910
|
+
|
|
3903
3911
|
// element.children.detach();
|
|
3904
3912
|
while(element.firstChild) element.removeChild(element.firstChild);
|
|
3905
|
-
|
|
3913
|
+
|
|
3906
3914
|
element.scrollTop = 0;
|
|
3907
3915
|
element.scrollLeft = 0;
|
|
3908
|
-
|
|
3916
|
+
|
|
3909
3917
|
element.style.minWidth = "";
|
|
3910
3918
|
element.style.minHeight = "";
|
|
3911
3919
|
element.style.display = "";
|
|
3912
3920
|
element.style.visibility = "";
|
|
3913
3921
|
}
|
|
3914
|
-
|
|
3922
|
+
|
|
3915
3923
|
renderRows() {
|
|
3916
3924
|
var element = this.tableElement,
|
|
3917
3925
|
onlyGroupHeaders = true,
|
|
3918
|
-
tableFrag = document.createDocumentFragment()
|
|
3919
|
-
|
|
3920
|
-
|
|
3926
|
+
tableFrag = document.createDocumentFragment(),
|
|
3927
|
+
rows = this.rows();
|
|
3928
|
+
|
|
3929
|
+
rows.forEach((row, index) => {
|
|
3921
3930
|
this.styleRow(row, index);
|
|
3922
|
-
row.initialize(true);
|
|
3923
|
-
|
|
3931
|
+
row.initialize(false, true);
|
|
3932
|
+
|
|
3924
3933
|
if (row.type !== "group") {
|
|
3925
3934
|
onlyGroupHeaders = false;
|
|
3926
3935
|
}
|
|
3927
|
-
|
|
3936
|
+
|
|
3928
3937
|
tableFrag.appendChild(row.getElement());
|
|
3929
3938
|
});
|
|
3939
|
+
|
|
3930
3940
|
element.appendChild(tableFrag);
|
|
3931
|
-
|
|
3941
|
+
|
|
3942
|
+
rows.forEach((row) => {
|
|
3943
|
+
row.rendered();
|
|
3944
|
+
|
|
3945
|
+
if(!row.heightInitialized) {
|
|
3946
|
+
row.calcHeight(true);
|
|
3947
|
+
}
|
|
3948
|
+
});
|
|
3949
|
+
|
|
3950
|
+
rows.forEach((row) => {
|
|
3951
|
+
if(!row.heightInitialized) {
|
|
3952
|
+
row.setCellHeight();
|
|
3953
|
+
}
|
|
3954
|
+
});
|
|
3955
|
+
|
|
3956
|
+
|
|
3957
|
+
|
|
3932
3958
|
if(onlyGroupHeaders){
|
|
3933
3959
|
element.style.minWidth = this.table.columnManager.getWidth() + "px";
|
|
3934
3960
|
}else {
|
|
3935
3961
|
element.style.minWidth = "";
|
|
3936
3962
|
}
|
|
3937
3963
|
}
|
|
3938
|
-
|
|
3939
|
-
|
|
3964
|
+
|
|
3965
|
+
|
|
3940
3966
|
rerenderRows(callback){
|
|
3941
3967
|
this.clearRows();
|
|
3942
|
-
|
|
3968
|
+
|
|
3943
3969
|
if(callback){
|
|
3944
3970
|
callback();
|
|
3945
3971
|
}
|
|
3946
|
-
|
|
3972
|
+
|
|
3947
3973
|
this.renderRows();
|
|
3948
3974
|
}
|
|
3949
|
-
|
|
3975
|
+
|
|
3950
3976
|
scrollToRowNearestTop(row){
|
|
3951
3977
|
var rowTop = Helpers.elOffset(row.getElement()).top;
|
|
3952
|
-
|
|
3978
|
+
|
|
3953
3979
|
return !(Math.abs(this.elementVertical.scrollTop - rowTop) > Math.abs(this.elementVertical.scrollTop + this.elementVertical.clientHeight - rowTop));
|
|
3954
3980
|
}
|
|
3955
|
-
|
|
3981
|
+
|
|
3956
3982
|
scrollToRow(row){
|
|
3957
3983
|
var rowEl = row.getElement();
|
|
3958
|
-
|
|
3984
|
+
|
|
3959
3985
|
this.elementVertical.scrollTop = Helpers.elOffset(rowEl).top - Helpers.elOffset(this.elementVertical).top + this.elementVertical.scrollTop;
|
|
3960
3986
|
}
|
|
3961
|
-
|
|
3987
|
+
|
|
3962
3988
|
visibleRows(includingBuffer){
|
|
3963
3989
|
return this.rows();
|
|
3964
3990
|
}
|
|
3965
|
-
|
|
3991
|
+
|
|
3966
3992
|
}
|
|
3967
3993
|
|
|
3968
3994
|
class VirtualDomVertical extends Renderer{
|
|
@@ -4251,13 +4277,14 @@
|
|
|
4251
4277
|
rowFragment = document.createDocumentFragment();
|
|
4252
4278
|
|
|
4253
4279
|
i = 0;
|
|
4280
|
+
|
|
4254
4281
|
while ((i < rowsToRender) && this.vDomBottom < rowsCount -1) {
|
|
4255
4282
|
index = this.vDomBottom + 1,
|
|
4256
4283
|
row = rows[index];
|
|
4257
4284
|
|
|
4258
4285
|
this.styleRow(row, index);
|
|
4259
4286
|
|
|
4260
|
-
row.initialize();
|
|
4287
|
+
row.initialize(false, true);
|
|
4261
4288
|
if(!row.heightInitialized && !this.table.options.rowHeight){
|
|
4262
4289
|
row.clearCellHeight();
|
|
4263
4290
|
}
|
|
@@ -4271,21 +4298,23 @@
|
|
|
4271
4298
|
if(!renderedRows.length){
|
|
4272
4299
|
break;
|
|
4273
4300
|
}
|
|
4301
|
+
|
|
4274
4302
|
element.appendChild(rowFragment);
|
|
4275
4303
|
|
|
4276
4304
|
// NOTE: The next 3 loops are separate on purpose
|
|
4277
4305
|
// This is to batch up the dom writes and reads which drastically improves performance
|
|
4306
|
+
|
|
4278
4307
|
renderedRows.forEach((row) => {
|
|
4308
|
+
row.rendered();
|
|
4309
|
+
|
|
4279
4310
|
if(!row.heightInitialized) {
|
|
4280
4311
|
row.calcHeight(true);
|
|
4281
|
-
|
|
4282
4312
|
}
|
|
4283
4313
|
});
|
|
4284
4314
|
|
|
4285
4315
|
renderedRows.forEach((row) => {
|
|
4286
4316
|
if(!row.heightInitialized) {
|
|
4287
4317
|
row.setCellHeight();
|
|
4288
|
-
|
|
4289
4318
|
}
|
|
4290
4319
|
});
|
|
4291
4320
|
|
|
@@ -5578,6 +5607,8 @@
|
|
|
5578
5607
|
|
|
5579
5608
|
this.getElement().appendChild(this.placeholder);
|
|
5580
5609
|
this._positionPlaceholder();
|
|
5610
|
+
|
|
5611
|
+
this.adjustTableSize();
|
|
5581
5612
|
}
|
|
5582
5613
|
}
|
|
5583
5614
|
|
|
@@ -6175,58 +6206,66 @@
|
|
|
6175
6206
|
class DataLoader extends CoreFeature{
|
|
6176
6207
|
constructor(table){
|
|
6177
6208
|
super(table);
|
|
6178
|
-
|
|
6209
|
+
|
|
6179
6210
|
this.requestOrder = 0; //prevent requests coming out of sequence if overridden by another load request
|
|
6180
6211
|
this.loading = false;
|
|
6181
6212
|
}
|
|
6182
|
-
|
|
6213
|
+
|
|
6183
6214
|
initialize(){}
|
|
6184
|
-
|
|
6215
|
+
|
|
6185
6216
|
load(data, params, config, replace, silent, columnsChanged){
|
|
6186
6217
|
var requestNo = ++this.requestOrder;
|
|
6187
6218
|
|
|
6219
|
+
if(this.table.destroyed){
|
|
6220
|
+
return Promise.resolve();
|
|
6221
|
+
}
|
|
6222
|
+
|
|
6188
6223
|
this.dispatchExternal("dataLoading", data);
|
|
6189
|
-
|
|
6224
|
+
|
|
6190
6225
|
//parse json data to array
|
|
6191
6226
|
if (data && (data.indexOf("{") == 0 || data.indexOf("[") == 0)){
|
|
6192
6227
|
data = JSON.parse(data);
|
|
6193
6228
|
}
|
|
6194
|
-
|
|
6229
|
+
|
|
6195
6230
|
if(this.confirm("data-loading", [data, params, config, silent])){
|
|
6196
6231
|
this.loading = true;
|
|
6197
|
-
|
|
6232
|
+
|
|
6198
6233
|
if(!silent){
|
|
6199
6234
|
this.alertLoader();
|
|
6200
6235
|
}
|
|
6201
|
-
|
|
6236
|
+
|
|
6202
6237
|
//get params for request
|
|
6203
6238
|
params = this.chain("data-params", [data, config, silent], params || {}, params || {});
|
|
6204
|
-
|
|
6239
|
+
|
|
6205
6240
|
params = this.mapParams(params, this.table.options.dataSendParams);
|
|
6206
|
-
|
|
6241
|
+
|
|
6207
6242
|
var result = this.chain("data-load", [data, params, config, silent], false, Promise.resolve([]));
|
|
6208
6243
|
|
|
6209
6244
|
return result.then((response) => {
|
|
6210
|
-
if(!
|
|
6211
|
-
response
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
this.
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6245
|
+
if(!this.table.destroyed){
|
|
6246
|
+
if(!Array.isArray(response) && typeof response == "object"){
|
|
6247
|
+
response = this.mapParams(response, this.objectInvert(this.table.options.dataReceiveParams));
|
|
6248
|
+
}
|
|
6249
|
+
|
|
6250
|
+
var rowData = this.chain("data-loaded", response, null, response);
|
|
6251
|
+
|
|
6252
|
+
if(requestNo == this.requestOrder){
|
|
6253
|
+
this.clearAlert();
|
|
6254
|
+
|
|
6255
|
+
if(rowData !== false){
|
|
6256
|
+
this.dispatchExternal("dataLoaded", rowData);
|
|
6257
|
+
this.table.rowManager.setData(rowData, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
6258
|
+
}
|
|
6259
|
+
}else {
|
|
6260
|
+
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");
|
|
6222
6261
|
}
|
|
6223
6262
|
}else {
|
|
6224
|
-
console.warn("Data Load Response Blocked -
|
|
6263
|
+
console.warn("Data Load Response Blocked - Table has been destroyed");
|
|
6225
6264
|
}
|
|
6226
6265
|
}).catch((error) => {
|
|
6227
6266
|
console.error("Data Load Error: ", error);
|
|
6228
6267
|
this.dispatchExternal("dataLoadError", error);
|
|
6229
|
-
|
|
6268
|
+
|
|
6230
6269
|
if(!silent){
|
|
6231
6270
|
this.alertError();
|
|
6232
6271
|
}
|
|
@@ -6240,52 +6279,52 @@
|
|
|
6240
6279
|
});
|
|
6241
6280
|
}else {
|
|
6242
6281
|
this.dispatchExternal("dataLoaded", data);
|
|
6243
|
-
|
|
6282
|
+
|
|
6244
6283
|
if(!data){
|
|
6245
6284
|
data = [];
|
|
6246
6285
|
}
|
|
6247
|
-
|
|
6286
|
+
|
|
6248
6287
|
this.table.rowManager.setData(data, replace, typeof columnsChanged === "undefined" ? !replace : columnsChanged);
|
|
6249
6288
|
return Promise.resolve();
|
|
6250
6289
|
}
|
|
6251
6290
|
}
|
|
6252
|
-
|
|
6291
|
+
|
|
6253
6292
|
mapParams(params, map){
|
|
6254
6293
|
var output = {};
|
|
6255
|
-
|
|
6294
|
+
|
|
6256
6295
|
for(let key in params){
|
|
6257
6296
|
output[map.hasOwnProperty(key) ? map[key] : key] = params[key];
|
|
6258
6297
|
}
|
|
6259
|
-
|
|
6298
|
+
|
|
6260
6299
|
return output;
|
|
6261
6300
|
}
|
|
6262
|
-
|
|
6301
|
+
|
|
6263
6302
|
objectInvert(obj){
|
|
6264
6303
|
var output = {};
|
|
6265
|
-
|
|
6304
|
+
|
|
6266
6305
|
for(let key in obj){
|
|
6267
6306
|
output[obj[key]] = key;
|
|
6268
6307
|
}
|
|
6269
|
-
|
|
6308
|
+
|
|
6270
6309
|
return output;
|
|
6271
6310
|
}
|
|
6272
|
-
|
|
6311
|
+
|
|
6273
6312
|
blockActiveLoad(){
|
|
6274
6313
|
this.requestOrder++;
|
|
6275
6314
|
}
|
|
6276
|
-
|
|
6315
|
+
|
|
6277
6316
|
alertLoader(){
|
|
6278
6317
|
var shouldLoad = typeof this.table.options.dataLoader === "function" ? this.table.options.dataLoader() : this.table.options.dataLoader;
|
|
6279
|
-
|
|
6318
|
+
|
|
6280
6319
|
if(shouldLoad){
|
|
6281
6320
|
this.table.alertManager.alert(this.table.options.dataLoaderLoading || this.langText("data|loading"));
|
|
6282
6321
|
}
|
|
6283
6322
|
}
|
|
6284
|
-
|
|
6323
|
+
|
|
6285
6324
|
alertError(){
|
|
6286
6325
|
this.table.alertManager.alert(this.table.options.dataLoaderError || this.langText("data|error"), "error");
|
|
6287
6326
|
}
|
|
6288
|
-
|
|
6327
|
+
|
|
6289
6328
|
clearAlert(){
|
|
6290
6329
|
this.table.alertManager.clear();
|
|
6291
6330
|
}
|
|
@@ -7375,6 +7414,16 @@
|
|
|
7375
7414
|
}
|
|
7376
7415
|
|
|
7377
7416
|
this.table.element.setAttribute("tabulator-layout", this.mode);
|
|
7417
|
+
this.subscribe("column-init", this.initializeColumn.bind(this));
|
|
7418
|
+
}
|
|
7419
|
+
|
|
7420
|
+
initializeColumn(column){
|
|
7421
|
+
if(column.definition.widthGrow){
|
|
7422
|
+
column.definition.widthGrow = Number(column.definition.widthGrow);
|
|
7423
|
+
}
|
|
7424
|
+
if(column.definition.widthShrink){
|
|
7425
|
+
column.definition.widthShrink = Number(column.definition.widthShrink);
|
|
7426
|
+
}
|
|
7378
7427
|
}
|
|
7379
7428
|
|
|
7380
7429
|
getMode(){
|
|
@@ -10268,6 +10317,9 @@
|
|
|
10268
10317
|
this.branchEl = options.dataTreeBranchElement;
|
|
10269
10318
|
}
|
|
10270
10319
|
}
|
|
10320
|
+
}else {
|
|
10321
|
+
this.branchEl = document.createElement("div");
|
|
10322
|
+
this.branchEl.classList.add("tabulator-data-tree-branch-empty");
|
|
10271
10323
|
}
|
|
10272
10324
|
|
|
10273
10325
|
if(options.dataTreeCollapseElement){
|
|
@@ -10771,7 +10823,7 @@
|
|
|
10771
10823
|
var config = row.modules.dataTree,
|
|
10772
10824
|
output = [];
|
|
10773
10825
|
|
|
10774
|
-
if(config.children){
|
|
10826
|
+
if(config && config.children){
|
|
10775
10827
|
|
|
10776
10828
|
if(!Array.isArray(config.children)){
|
|
10777
10829
|
config.children = this.generateChildren(row);
|
|
@@ -17471,7 +17523,7 @@
|
|
|
17471
17523
|
this.arrowElement = document.createElement("div");
|
|
17472
17524
|
this.arrowElement.classList.add("tabulator-group-toggle");
|
|
17473
17525
|
this.arrowElement.appendChild(arrow);
|
|
17474
|
-
|
|
17526
|
+
|
|
17475
17527
|
//setup movable rows
|
|
17476
17528
|
if(this.groupManager.table.options.movableRows !== false && this.groupManager.table.modExists("moveRow")){
|
|
17477
17529
|
this.groupManager.table.modules.moveRow.initializeGroupHeader(this);
|
|
@@ -17494,9 +17546,15 @@
|
|
|
17494
17546
|
toggleElement = this.groupManager.table.options.groupToggleElement == "arrow" ? this.arrowElement : this.element;
|
|
17495
17547
|
|
|
17496
17548
|
toggleElement.addEventListener("click", (e) => {
|
|
17497
|
-
|
|
17498
|
-
|
|
17499
|
-
|
|
17549
|
+
if(this.groupManager.table.options.groupToggleElement === "arrow"){
|
|
17550
|
+
e.stopPropagation();
|
|
17551
|
+
e.stopImmediatePropagation();
|
|
17552
|
+
}
|
|
17553
|
+
|
|
17554
|
+
//allow click event to propagate before toggling visibility
|
|
17555
|
+
setTimeout(() => {
|
|
17556
|
+
this.toggleVisibility();
|
|
17557
|
+
});
|
|
17500
17558
|
});
|
|
17501
17559
|
}
|
|
17502
17560
|
}
|
|
@@ -17617,7 +17675,7 @@
|
|
|
17617
17675
|
if(el.parentNode){
|
|
17618
17676
|
el.parentNode.removeChild(el);
|
|
17619
17677
|
}
|
|
17620
|
-
|
|
17678
|
+
|
|
17621
17679
|
if(!this.groupManager.blockRedraw){
|
|
17622
17680
|
this.generateGroupHeaderContents();
|
|
17623
17681
|
|
|
@@ -17742,6 +17800,7 @@
|
|
|
17742
17800
|
}
|
|
17743
17801
|
return count;
|
|
17744
17802
|
}
|
|
17803
|
+
|
|
17745
17804
|
|
|
17746
17805
|
toggleVisibility(){
|
|
17747
17806
|
if(this.visible){
|
|
@@ -17866,12 +17925,18 @@
|
|
|
17866
17925
|
return output;
|
|
17867
17926
|
}
|
|
17868
17927
|
|
|
17869
|
-
getRows(component){
|
|
17928
|
+
getRows(component, includeChildren){
|
|
17870
17929
|
var output = [];
|
|
17871
17930
|
|
|
17872
|
-
this.
|
|
17873
|
-
|
|
17874
|
-
|
|
17931
|
+
if(includeChildren && this.groupList.length){
|
|
17932
|
+
this.groupList.forEach((group) => {
|
|
17933
|
+
output = output.concat(group.getRows(component, includeChildren));
|
|
17934
|
+
});
|
|
17935
|
+
}else {
|
|
17936
|
+
this.rows.forEach(function(row){
|
|
17937
|
+
output.push(component ? row.getComponent() : row);
|
|
17938
|
+
});
|
|
17939
|
+
}
|
|
17875
17940
|
|
|
17876
17941
|
return output;
|
|
17877
17942
|
}
|
|
@@ -17879,7 +17944,9 @@
|
|
|
17879
17944
|
generateGroupHeaderContents(){
|
|
17880
17945
|
var data = [];
|
|
17881
17946
|
|
|
17882
|
-
this.
|
|
17947
|
+
var rows = this.getRows(false, true);
|
|
17948
|
+
|
|
17949
|
+
rows.forEach(function(row){
|
|
17883
17950
|
data.push(row.getData());
|
|
17884
17951
|
});
|
|
17885
17952
|
|
|
@@ -17984,6 +18051,8 @@
|
|
|
17984
18051
|
clearCellHeight(){}
|
|
17985
18052
|
|
|
17986
18053
|
deinitializeHeight(){}
|
|
18054
|
+
|
|
18055
|
+
rendered(){}
|
|
17987
18056
|
|
|
17988
18057
|
//////////////// Object Generation /////////////////
|
|
17989
18058
|
getComponent(){
|
|
@@ -18650,8 +18719,12 @@
|
|
|
18650
18719
|
},
|
|
18651
18720
|
|
|
18652
18721
|
rowMove: function(action){
|
|
18653
|
-
|
|
18654
|
-
|
|
18722
|
+
var after = (action.data.posFrom - action.data.posTo) > 0;
|
|
18723
|
+
|
|
18724
|
+
this.table.rowManager.moveRowActual(action.component, this.table.rowManager.getRowFromPosition(action.data.posFrom), after);
|
|
18725
|
+
|
|
18726
|
+
this.table.rowManager.regenerateRowPositions();
|
|
18727
|
+
this.table.rowManager.reRenderInPosition();
|
|
18655
18728
|
},
|
|
18656
18729
|
};
|
|
18657
18730
|
|
|
@@ -18676,8 +18749,10 @@
|
|
|
18676
18749
|
},
|
|
18677
18750
|
|
|
18678
18751
|
rowMove: function(action){
|
|
18679
|
-
this.table.rowManager.moveRowActual(action.component, this.table.rowManager.
|
|
18680
|
-
|
|
18752
|
+
this.table.rowManager.moveRowActual(action.component, this.table.rowManager.getRowFromPosition(action.data.posTo), action.data.after);
|
|
18753
|
+
|
|
18754
|
+
this.table.rowManager.regenerateRowPositions();
|
|
18755
|
+
this.table.rowManager.reRenderInPosition();
|
|
18681
18756
|
},
|
|
18682
18757
|
};
|
|
18683
18758
|
|
|
@@ -18978,7 +19053,7 @@
|
|
|
18978
19053
|
}
|
|
18979
19054
|
|
|
18980
19055
|
if(!col.field) {
|
|
18981
|
-
col.field = header.textContent.trim().toLowerCase().
|
|
19056
|
+
col.field = header.textContent.trim().toLowerCase().replaceAll(" ", "_");
|
|
18982
19057
|
}
|
|
18983
19058
|
|
|
18984
19059
|
width = header.getAttribute("width");
|
|
@@ -19636,7 +19711,7 @@
|
|
|
19636
19711
|
scrollToEnd:35,
|
|
19637
19712
|
undo:["ctrl + 90", "meta + 90"],
|
|
19638
19713
|
redo:["ctrl + 89", "meta + 89"],
|
|
19639
|
-
copyToClipboard:["ctrl + 67", "meta +
|
|
19714
|
+
copyToClipboard:["ctrl + 67", "meta + 67"],
|
|
19640
19715
|
};
|
|
19641
19716
|
|
|
19642
19717
|
var defaultActions = {
|
|
@@ -23648,6 +23723,7 @@
|
|
|
23648
23723
|
if(cell.modules.resize && cell.modules.resize.handleEl){
|
|
23649
23724
|
if(frozenOffset){
|
|
23650
23725
|
cell.modules.resize.handleEl.style[column.modules.frozen.position] = frozenOffset;
|
|
23726
|
+
cell.modules.resize.handleEl.style["z-index"] = 11;
|
|
23651
23727
|
}
|
|
23652
23728
|
|
|
23653
23729
|
cell.element.after(cell.modules.resize.handleEl);
|