tabulator-tables 5.0.3 → 5.0.8
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/rollup.js +1 -1
- package/dist/css/tabulator_bootstrap3.css +9 -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_bulma.css +5 -1
- 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_semanticui.css +11 -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/js/tabulator.js +456 -307
- 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 +483 -354
- 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/ColumnManager.js +18 -17
- package/src/js/core/RowManager.js +5 -3
- package/src/js/core/Tabulator.js +180 -125
- package/src/js/core/column/Column.js +2 -2
- package/src/js/core/tools/{ComponentFuctionBinder.js → ComponentFunctionBinder.js} +1 -1
- package/src/js/core/tools/Helpers.js +19 -13
- package/src/js/core/tools/InteractionMonitor.js +4 -1
- package/src/js/core/tools/OptionsList.js +2 -2
- package/src/js/modules/Ajax/defaults/contentTypeFormatters.js +22 -1
- package/src/js/modules/ColumnCalcs/ColumnCalcs.js +1 -1
- package/src/js/modules/DataTree/DataTree.js +1 -1
- package/src/js/modules/Edit/Edit.js +7 -6
- package/src/js/modules/Edit/defaults/editors/progress.js +2 -2
- package/src/js/modules/Filter/Filter.js +9 -4
- package/src/js/modules/Format/defaults/formatters/datetime.js +2 -2
- package/src/js/modules/Format/defaults/formatters/datetimediff.js +1 -1
- package/src/js/modules/Format/defaults/formatters/money.js +8 -1
- package/src/js/modules/FrozenColumns/FrozenColumns.js +21 -0
- package/src/js/modules/FrozenRows/FrozenRows.js +4 -1
- package/src/js/modules/GroupRows/Group.js +10 -4
- package/src/js/modules/GroupRows/GroupRows.js +41 -29
- package/src/js/modules/History/History.js +3 -1
- package/src/js/modules/History/defaults/redoers.js +1 -0
- package/src/js/modules/History/defaults/undoers.js +1 -0
- package/src/js/modules/HtmlTableImport/HtmlTableImport.js +8 -29
- package/src/js/modules/MoveColumns/MoveColumns.js +64 -61
- package/src/js/modules/Page/Page.js +2 -1
- package/src/js/modules/ResponsiveLayout/ResponsiveLayout.js +5 -1
- package/src/js/modules/SelectRow/SelectRow.js +3 -3
- package/src/js/modules/Sort/Sort.js +1 -1
- package/src/js/modules/Sort/defaults/sorters/datetime.js +3 -2
- package/src/scss/themes/bootstrap/tabulator_bootstrap3.scss +9 -0
- package/src/scss/themes/bulma/tabulator_bulma.scss +5 -1
- package/src/scss/themes/semanticui/tabulator_semanticui.scss +12 -7
package/dist/js/tabulator.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Tabulator v5.0.
|
|
1
|
+
/* Tabulator v5.0.8 (c) Oliver Folkerd 2021 */
|
|
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) :
|
|
@@ -616,7 +616,7 @@
|
|
|
616
616
|
return ColumnComponent;
|
|
617
617
|
}();
|
|
618
618
|
|
|
619
|
-
var
|
|
619
|
+
var defaultColumnOptions = {
|
|
620
620
|
"title": undefined,
|
|
621
621
|
"field": undefined,
|
|
622
622
|
"columns": undefined,
|
|
@@ -731,7 +731,7 @@
|
|
|
731
731
|
return CellComponent;
|
|
732
732
|
}();
|
|
733
733
|
|
|
734
|
-
var Cell
|
|
734
|
+
var Cell = /*#__PURE__*/function (_CoreFeature) {
|
|
735
735
|
_inherits(Cell, _CoreFeature);
|
|
736
736
|
|
|
737
737
|
var _super = _createSuper(Cell);
|
|
@@ -1786,8 +1786,7 @@
|
|
|
1786
1786
|
this.reinitializeWidth();
|
|
1787
1787
|
}
|
|
1788
1788
|
|
|
1789
|
-
this.table.columnManager.
|
|
1790
|
-
|
|
1789
|
+
this.table.columnManager.verticalAlignHeaders();
|
|
1791
1790
|
this.dispatch("column-show", this, responsiveToggle);
|
|
1792
1791
|
|
|
1793
1792
|
if (!silent) {
|
|
@@ -1810,8 +1809,7 @@
|
|
|
1810
1809
|
if (this.visible) {
|
|
1811
1810
|
this.visible = false;
|
|
1812
1811
|
this.element.style.display = "none";
|
|
1813
|
-
|
|
1814
|
-
this.table.columnManager._verticalAlignHeaders();
|
|
1812
|
+
this.table.columnManager.verticalAlignHeaders();
|
|
1815
1813
|
|
|
1816
1814
|
if (this.parent.isGroup) {
|
|
1817
1815
|
this.parent.checkColumnVisibility();
|
|
@@ -2017,7 +2015,7 @@
|
|
|
2017
2015
|
}, {
|
|
2018
2016
|
key: "generateCell",
|
|
2019
2017
|
value: function generateCell(row) {
|
|
2020
|
-
var cell = new Cell
|
|
2018
|
+
var cell = new Cell(this, row);
|
|
2021
2019
|
this.cells.push(cell);
|
|
2022
2020
|
return cell;
|
|
2023
2021
|
}
|
|
@@ -2142,9 +2140,9 @@
|
|
|
2142
2140
|
return Column;
|
|
2143
2141
|
}(CoreFeature);
|
|
2144
2142
|
|
|
2145
|
-
Column$1.defaultOptionList =
|
|
2143
|
+
Column$1.defaultOptionList = defaultColumnOptions;
|
|
2146
2144
|
|
|
2147
|
-
var Helpers
|
|
2145
|
+
var Helpers = /*#__PURE__*/function () {
|
|
2148
2146
|
function Helpers() {
|
|
2149
2147
|
_classCallCheck(this, Helpers);
|
|
2150
2148
|
}
|
|
@@ -2166,27 +2164,41 @@
|
|
|
2166
2164
|
}, {
|
|
2167
2165
|
key: "deepClone",
|
|
2168
2166
|
value: function deepClone(obj, clone) {
|
|
2169
|
-
var
|
|
2167
|
+
var _this = this;
|
|
2168
|
+
|
|
2169
|
+
var list = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
2170
|
+
var objectProto = {}.__proto__,
|
|
2171
|
+
arrayProto = [].__proto__;
|
|
2170
2172
|
|
|
2171
2173
|
if (!clone) {
|
|
2172
2174
|
clone = Object.assign(Array.isArray(obj) ? [] : {}, obj);
|
|
2173
2175
|
}
|
|
2174
2176
|
|
|
2175
|
-
|
|
2176
|
-
var subject = obj[i]
|
|
2177
|
+
var _loop = function _loop() {
|
|
2178
|
+
var subject = obj[i],
|
|
2179
|
+
match = void 0,
|
|
2180
|
+
copy = void 0;
|
|
2177
2181
|
|
|
2178
|
-
if (subject != null && _typeof(subject) === "object") {
|
|
2179
|
-
|
|
2180
|
-
|
|
2182
|
+
if (subject != null && _typeof(subject) === "object" && (subject.__proto__ === objectProto || subject.__proto__ === arrayProto)) {
|
|
2183
|
+
match = list.findIndex(function (item) {
|
|
2184
|
+
return item.subject === subject;
|
|
2185
|
+
});
|
|
2186
|
+
|
|
2187
|
+
if (match > -1) {
|
|
2188
|
+
clone[i] = list[match].copy;
|
|
2181
2189
|
} else {
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2190
|
+
copy = Object.assign(Array.isArray(subject) ? [] : {}, subject);
|
|
2191
|
+
list.unshift({
|
|
2192
|
+
subject: subject,
|
|
2193
|
+
copy: copy
|
|
2194
|
+
});
|
|
2195
|
+
clone[i] = _this.deepClone(subject, copy, list);
|
|
2188
2196
|
}
|
|
2189
2197
|
}
|
|
2198
|
+
};
|
|
2199
|
+
|
|
2200
|
+
for (var i in obj) {
|
|
2201
|
+
_loop();
|
|
2190
2202
|
}
|
|
2191
2203
|
|
|
2192
2204
|
return clone;
|
|
@@ -2198,11 +2210,13 @@
|
|
|
2198
2210
|
|
|
2199
2211
|
var OptionsList = /*#__PURE__*/function () {
|
|
2200
2212
|
function OptionsList(table, msgType) {
|
|
2213
|
+
var defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
2214
|
+
|
|
2201
2215
|
_classCallCheck(this, OptionsList);
|
|
2202
2216
|
|
|
2203
2217
|
this.table = table;
|
|
2204
2218
|
this.msgType = msgType;
|
|
2205
|
-
this.registeredDefaults = {};
|
|
2219
|
+
this.registeredDefaults = Object.assign({}, defaults);
|
|
2206
2220
|
}
|
|
2207
2221
|
|
|
2208
2222
|
_createClass(OptionsList, [{
|
|
@@ -2400,8 +2414,8 @@
|
|
|
2400
2414
|
|
|
2401
2415
|
|
|
2402
2416
|
if (!ifVisible) {
|
|
2403
|
-
if (Helpers
|
|
2404
|
-
offset = Helpers
|
|
2417
|
+
if (Helpers.elVisible(rowEl)) {
|
|
2418
|
+
offset = Helpers.elOffset(rowEl).top - Helpers.elOffset(_this2.elementVertical).top;
|
|
2405
2419
|
|
|
2406
2420
|
if (offset > 0 && offset < _this2.elementVertical.clientHeight - rowEl.offsetHeight) {
|
|
2407
2421
|
return false;
|
|
@@ -2976,7 +2990,7 @@
|
|
|
2976
2990
|
_this.columnsByField = {}; //columns by field
|
|
2977
2991
|
|
|
2978
2992
|
_this.scrollLeft = 0;
|
|
2979
|
-
_this.optionsList = new OptionsList(_this.table, "column definition");
|
|
2993
|
+
_this.optionsList = new OptionsList(_this.table, "column definition", defaultColumnOptions);
|
|
2980
2994
|
_this.renderer = null;
|
|
2981
2995
|
return _this;
|
|
2982
2996
|
} ////////////// Setup Functions /////////////////
|
|
@@ -3018,6 +3032,7 @@
|
|
|
3018
3032
|
value: function createHeadersElement() {
|
|
3019
3033
|
var el = document.createElement("div");
|
|
3020
3034
|
el.classList.add("tabulator-headers");
|
|
3035
|
+
el.setAttribute("role", "row");
|
|
3021
3036
|
return el;
|
|
3022
3037
|
}
|
|
3023
3038
|
}, {
|
|
@@ -3025,6 +3040,7 @@
|
|
|
3025
3040
|
value: function createHeaderElement() {
|
|
3026
3041
|
var el = document.createElement("div");
|
|
3027
3042
|
el.classList.add("tabulator-header");
|
|
3043
|
+
el.setAttribute("role", "rowgroup");
|
|
3028
3044
|
|
|
3029
3045
|
if (!this.table.options.headerVisible) {
|
|
3030
3046
|
el.classList.add("tabulator-header-hidden");
|
|
@@ -3184,8 +3200,9 @@
|
|
|
3184
3200
|
index = nextToColumn ? this.findColumnIndex(nextToColumn) : nextToColumn;
|
|
3185
3201
|
|
|
3186
3202
|
if (nextToColumn && index > -1) {
|
|
3187
|
-
var
|
|
3188
|
-
var
|
|
3203
|
+
var topColumn = nextToColumn.getTopColumn();
|
|
3204
|
+
var parentIndex = this.columns.indexOf(topColumn);
|
|
3205
|
+
var nextEl = topColumn.getElement();
|
|
3189
3206
|
|
|
3190
3207
|
if (before) {
|
|
3191
3208
|
this.columns.splice(parentIndex, 0, column);
|
|
@@ -3202,10 +3219,9 @@
|
|
|
3202
3219
|
this.columns.push(column);
|
|
3203
3220
|
this.headersElement.appendChild(column.getElement());
|
|
3204
3221
|
}
|
|
3205
|
-
|
|
3206
|
-
column.columnRendered();
|
|
3207
3222
|
}
|
|
3208
3223
|
|
|
3224
|
+
column.columnRendered();
|
|
3209
3225
|
return column;
|
|
3210
3226
|
}
|
|
3211
3227
|
}, {
|
|
@@ -3230,8 +3246,8 @@
|
|
|
3230
3246
|
} //ensure column headers take up the correct amount of space in column groups
|
|
3231
3247
|
|
|
3232
3248
|
}, {
|
|
3233
|
-
key: "
|
|
3234
|
-
value: function
|
|
3249
|
+
key: "verticalAlignHeaders",
|
|
3250
|
+
value: function verticalAlignHeaders() {
|
|
3235
3251
|
var _this3 = this;
|
|
3236
3252
|
|
|
3237
3253
|
var minHeight = 0;
|
|
@@ -3387,8 +3403,7 @@
|
|
|
3387
3403
|
to.element.parentNode.insertBefore(to.element, from.element);
|
|
3388
3404
|
}
|
|
3389
3405
|
|
|
3390
|
-
this.
|
|
3391
|
-
|
|
3406
|
+
this.verticalAlignHeaders();
|
|
3392
3407
|
this.table.rowManager.reinitialize();
|
|
3393
3408
|
}
|
|
3394
3409
|
}, {
|
|
@@ -3553,13 +3568,11 @@
|
|
|
3553
3568
|
|
|
3554
3569
|
_this6.dispatch("column-add", definition, before, nextToColumn);
|
|
3555
3570
|
|
|
3556
|
-
_this6.redraw(true);
|
|
3557
|
-
|
|
3558
3571
|
if (_this6.layoutMode() != "fitColumns") {
|
|
3559
3572
|
column.reinitializeWidth();
|
|
3560
3573
|
}
|
|
3561
3574
|
|
|
3562
|
-
_this6.
|
|
3575
|
+
_this6.redraw(true);
|
|
3563
3576
|
|
|
3564
3577
|
_this6.table.rowManager.reinitialize();
|
|
3565
3578
|
|
|
@@ -3593,19 +3606,18 @@
|
|
|
3593
3606
|
this.columns.splice(index, 1);
|
|
3594
3607
|
}
|
|
3595
3608
|
|
|
3596
|
-
this.
|
|
3597
|
-
|
|
3609
|
+
this.verticalAlignHeaders();
|
|
3598
3610
|
this.redraw();
|
|
3599
3611
|
} //redraw columns
|
|
3600
3612
|
|
|
3601
3613
|
}, {
|
|
3602
3614
|
key: "redraw",
|
|
3603
3615
|
value: function redraw(force) {
|
|
3604
|
-
if (
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
}
|
|
3616
|
+
if (Helpers.elVisible(this.element)) {
|
|
3617
|
+
this.verticalAlignHeaders();
|
|
3618
|
+
}
|
|
3608
3619
|
|
|
3620
|
+
if (force) {
|
|
3609
3621
|
this.table.rowManager.resetScroll();
|
|
3610
3622
|
this.table.rowManager.reinitialize();
|
|
3611
3623
|
}
|
|
@@ -3736,7 +3748,7 @@
|
|
|
3736
3748
|
return RowComponent;
|
|
3737
3749
|
}();
|
|
3738
3750
|
|
|
3739
|
-
var Row
|
|
3751
|
+
var Row = /*#__PURE__*/function (_CoreFeature) {
|
|
3740
3752
|
_inherits(Row, _CoreFeature);
|
|
3741
3753
|
|
|
3742
3754
|
var _super = _createSuper(Row);
|
|
@@ -3979,7 +3991,7 @@
|
|
|
3979
3991
|
value: function updateData(updatedData) {
|
|
3980
3992
|
var _this2 = this;
|
|
3981
3993
|
|
|
3982
|
-
var visible = this.element && Helpers
|
|
3994
|
+
var visible = this.element && Helpers.elVisible(this.element),
|
|
3983
3995
|
tempData = {},
|
|
3984
3996
|
newRowData;
|
|
3985
3997
|
return new Promise(function (resolve, reject) {
|
|
@@ -4263,14 +4275,14 @@
|
|
|
4263
4275
|
}, {
|
|
4264
4276
|
key: "scrollToRowNearestTop",
|
|
4265
4277
|
value: function scrollToRowNearestTop(row) {
|
|
4266
|
-
var rowTop = Helpers
|
|
4278
|
+
var rowTop = Helpers.elOffset(row.getElement()).top;
|
|
4267
4279
|
return !(Math.abs(this.elementVertical.scrollTop - rowTop) > Math.abs(this.elementVertical.scrollTop + this.elementVertical.clientHeight - rowTop));
|
|
4268
4280
|
}
|
|
4269
4281
|
}, {
|
|
4270
4282
|
key: "scrollToRow",
|
|
4271
4283
|
value: function scrollToRow(row) {
|
|
4272
4284
|
var rowEl = row.getElement();
|
|
4273
|
-
this.elementVertical.scrollTop = Helpers
|
|
4285
|
+
this.elementVertical.scrollTop = Helpers.elOffset(rowEl).top - Helpers.elOffset(this.elementVertical).top + this.elementVertical.scrollTop;
|
|
4274
4286
|
}
|
|
4275
4287
|
}, {
|
|
4276
4288
|
key: "visibleRows",
|
|
@@ -4550,7 +4562,7 @@
|
|
|
4550
4562
|
position -= topPad;
|
|
4551
4563
|
}
|
|
4552
4564
|
|
|
4553
|
-
if (rowsCount && Helpers
|
|
4565
|
+
if (rowsCount && Helpers.elVisible(this.elementVertical)) {
|
|
4554
4566
|
this.vDomTop = position;
|
|
4555
4567
|
this.vDomBottom = position - 1;
|
|
4556
4568
|
|
|
@@ -4946,6 +4958,7 @@
|
|
|
4946
4958
|
var el = document.createElement("div");
|
|
4947
4959
|
el.classList.add("tabulator-tableholder");
|
|
4948
4960
|
el.setAttribute("tabindex", 0);
|
|
4961
|
+
el.setAttribute("role", "rowgroup");
|
|
4949
4962
|
return el;
|
|
4950
4963
|
}
|
|
4951
4964
|
}, {
|
|
@@ -4953,6 +4966,7 @@
|
|
|
4953
4966
|
value: function createTableElement() {
|
|
4954
4967
|
var el = document.createElement("div");
|
|
4955
4968
|
el.classList.add("tabulator-table");
|
|
4969
|
+
el.setAttribute("role", "rowgroup");
|
|
4956
4970
|
return el;
|
|
4957
4971
|
} //return containing element
|
|
4958
4972
|
|
|
@@ -5020,7 +5034,7 @@
|
|
|
5020
5034
|
var _this3 = this;
|
|
5021
5035
|
|
|
5022
5036
|
if (_typeof(subject) == "object") {
|
|
5023
|
-
if (subject instanceof Row
|
|
5037
|
+
if (subject instanceof Row) {
|
|
5024
5038
|
//subject is row element
|
|
5025
5039
|
return subject;
|
|
5026
5040
|
} else if (subject instanceof RowComponent$1) {
|
|
@@ -5110,7 +5124,7 @@
|
|
|
5110
5124
|
this.dispatch("data-processing", data);
|
|
5111
5125
|
data.forEach(function (def, i) {
|
|
5112
5126
|
if (def && _typeof(def) === "object") {
|
|
5113
|
-
var row = new Row
|
|
5127
|
+
var row = new Row(def, _this5);
|
|
5114
5128
|
|
|
5115
5129
|
_this5.rows.push(row);
|
|
5116
5130
|
} else {
|
|
@@ -5212,7 +5226,7 @@
|
|
|
5212
5226
|
_this6.dispatch("row-added", row, data, pos, index);
|
|
5213
5227
|
});
|
|
5214
5228
|
|
|
5215
|
-
_this6.
|
|
5229
|
+
_this6.refreshActiveData(false, false, true);
|
|
5216
5230
|
|
|
5217
5231
|
_this6.regenerateRowNumbers();
|
|
5218
5232
|
|
|
@@ -5243,7 +5257,7 @@
|
|
|
5243
5257
|
}, {
|
|
5244
5258
|
key: "addRowActual",
|
|
5245
5259
|
value: function addRowActual(data, pos, index, blockRedraw) {
|
|
5246
|
-
var row = data instanceof Row
|
|
5260
|
+
var row = data instanceof Row ? data : new Row(data || {}, this),
|
|
5247
5261
|
top = this.findAddRowPos(pos),
|
|
5248
5262
|
allIndex = -1,
|
|
5249
5263
|
activeIndex,
|
|
@@ -5395,7 +5409,7 @@
|
|
|
5395
5409
|
nextRow = this.getDisplayRows()[index + 1];
|
|
5396
5410
|
}
|
|
5397
5411
|
|
|
5398
|
-
if (nextRow && (!(nextRow instanceof Row
|
|
5412
|
+
if (nextRow && (!(nextRow instanceof Row) || nextRow.type != "row")) {
|
|
5399
5413
|
return this.nextDisplayRow(nextRow, rowOnly);
|
|
5400
5414
|
}
|
|
5401
5415
|
|
|
@@ -5411,7 +5425,7 @@
|
|
|
5411
5425
|
prevRow = this.getDisplayRows()[index - 1];
|
|
5412
5426
|
}
|
|
5413
5427
|
|
|
5414
|
-
if (rowOnly && prevRow && (!(prevRow instanceof Row
|
|
5428
|
+
if (rowOnly && prevRow && (!(prevRow instanceof Row) || prevRow.type != "row")) {
|
|
5415
5429
|
return this.prevDisplayRow(prevRow, rowOnly);
|
|
5416
5430
|
}
|
|
5417
5431
|
|
|
@@ -5592,7 +5606,7 @@
|
|
|
5592
5606
|
|
|
5593
5607
|
}
|
|
5594
5608
|
|
|
5595
|
-
if (Helpers
|
|
5609
|
+
if (Helpers.elVisible(this.element)) {
|
|
5596
5610
|
if (renderInPosition) {
|
|
5597
5611
|
this.reRenderInPosition();
|
|
5598
5612
|
} else {
|
|
@@ -5767,9 +5781,9 @@
|
|
|
5767
5781
|
this.dispatchExternal("renderStarted");
|
|
5768
5782
|
this.element.scrollTop = 0;
|
|
5769
5783
|
|
|
5770
|
-
|
|
5771
|
-
this._clearTable();
|
|
5784
|
+
this._clearTable();
|
|
5772
5785
|
|
|
5786
|
+
if (this.displayRowsCount) {
|
|
5773
5787
|
this.renderer.renderRows();
|
|
5774
5788
|
|
|
5775
5789
|
if (this.firstRender) {
|
|
@@ -6083,7 +6097,7 @@
|
|
|
6083
6097
|
_classCallCheck(this, InteractionManager);
|
|
6084
6098
|
|
|
6085
6099
|
_this = _super.call(this, table);
|
|
6086
|
-
_this.el =
|
|
6100
|
+
_this.el = null;
|
|
6087
6101
|
_this.abortClasses = ["tabulator-headers", "tabulator-table"];
|
|
6088
6102
|
_this.previousTargets = {};
|
|
6089
6103
|
_this.listeners = ["click", "dblclick", "contextmenu", "mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove", "touchstart", "touchend"];
|
|
@@ -6093,15 +6107,17 @@
|
|
|
6093
6107
|
"tabulator-group": "group",
|
|
6094
6108
|
"tabulator-col": "column"
|
|
6095
6109
|
};
|
|
6096
|
-
|
|
6097
|
-
_this.buildListenerMap();
|
|
6098
|
-
|
|
6099
|
-
_this.bindSubscriptionWatchers();
|
|
6100
|
-
|
|
6101
6110
|
return _this;
|
|
6102
6111
|
}
|
|
6103
6112
|
|
|
6104
6113
|
_createClass(InteractionManager, [{
|
|
6114
|
+
key: "initialize",
|
|
6115
|
+
value: function initialize() {
|
|
6116
|
+
this.el = this.table.element;
|
|
6117
|
+
this.buildListenerMap();
|
|
6118
|
+
this.bindSubscriptionWatchers();
|
|
6119
|
+
}
|
|
6120
|
+
}, {
|
|
6105
6121
|
key: "buildListenerMap",
|
|
6106
6122
|
value: function buildListenerMap() {
|
|
6107
6123
|
var listenerMap = {};
|
|
@@ -6332,15 +6348,15 @@
|
|
|
6332
6348
|
return InteractionManager;
|
|
6333
6349
|
}(CoreFeature);
|
|
6334
6350
|
|
|
6335
|
-
var
|
|
6336
|
-
function
|
|
6337
|
-
_classCallCheck(this,
|
|
6351
|
+
var ComponentFunctionBinder = /*#__PURE__*/function () {
|
|
6352
|
+
function ComponentFunctionBinder(table) {
|
|
6353
|
+
_classCallCheck(this, ComponentFunctionBinder);
|
|
6338
6354
|
|
|
6339
6355
|
this.table = table;
|
|
6340
6356
|
this.bindings = {};
|
|
6341
6357
|
}
|
|
6342
6358
|
|
|
6343
|
-
_createClass(
|
|
6359
|
+
_createClass(ComponentFunctionBinder, [{
|
|
6344
6360
|
key: "bind",
|
|
6345
6361
|
value: function bind(type, funcName, handler) {
|
|
6346
6362
|
if (!this.bindings[type]) {
|
|
@@ -6366,7 +6382,7 @@
|
|
|
6366
6382
|
}
|
|
6367
6383
|
}]);
|
|
6368
6384
|
|
|
6369
|
-
return
|
|
6385
|
+
return ComponentFunctionBinder;
|
|
6370
6386
|
}();
|
|
6371
6387
|
|
|
6372
6388
|
var DataLoader = /*#__PURE__*/function (_CoreFeature) {
|
|
@@ -7404,7 +7420,7 @@
|
|
|
7404
7420
|
_createClass(Localize, [{
|
|
7405
7421
|
key: "initialize",
|
|
7406
7422
|
value: function initialize() {
|
|
7407
|
-
this.langList = Helpers
|
|
7423
|
+
this.langList = Helpers.deepClone(Localize.langs);
|
|
7408
7424
|
|
|
7409
7425
|
if (this.table.options.columnDefaults.headerFilterPlaceholder !== false) {
|
|
7410
7426
|
this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);
|
|
@@ -7499,7 +7515,7 @@
|
|
|
7499
7515
|
|
|
7500
7516
|
this.locale = desiredLocale; //load default lang template
|
|
7501
7517
|
|
|
7502
|
-
this.lang = Helpers
|
|
7518
|
+
this.lang = Helpers.deepClone(this.langList["default"] || {});
|
|
7503
7519
|
|
|
7504
7520
|
if (desiredLocale != "default") {
|
|
7505
7521
|
traverseLang(this.langList[desiredLocale], this.lang);
|
|
@@ -7773,11 +7789,13 @@
|
|
|
7773
7789
|
|
|
7774
7790
|
this.browserSlow = false; //handle reduced functionality for slower browsers
|
|
7775
7791
|
|
|
7776
|
-
this.browserMobile = false; //check if running on
|
|
7792
|
+
this.browserMobile = false; //check if running on mobile, prevent resize cancelling edit on keyboard appearance
|
|
7777
7793
|
|
|
7778
7794
|
this.rtl = false; //check if the table is in RTL mode
|
|
7779
7795
|
|
|
7780
|
-
this.
|
|
7796
|
+
this.originalElement = null; //hold original table element if it has been replaced
|
|
7797
|
+
|
|
7798
|
+
this.componentFunctionBinder = new ComponentFunctionBinder(this); //bind component functions
|
|
7781
7799
|
|
|
7782
7800
|
this.dataLoader = false; //bind component functions
|
|
7783
7801
|
|
|
@@ -7791,14 +7809,14 @@
|
|
|
7791
7809
|
this.initialized = false;
|
|
7792
7810
|
|
|
7793
7811
|
if (this.initializeElement(element)) {
|
|
7794
|
-
this.initialzeCoreSystems(options); //delay table creation to allow event bindings
|
|
7812
|
+
this.initialzeCoreSystems(options); //delay table creation to allow event bindings immediately after the constructor
|
|
7795
7813
|
|
|
7796
7814
|
setTimeout(function () {
|
|
7797
7815
|
_this._create();
|
|
7798
7816
|
});
|
|
7799
7817
|
}
|
|
7800
7818
|
|
|
7801
|
-
TableRegistry.register(this); //register table for
|
|
7819
|
+
TableRegistry.register(this); //register table for inter-device communication
|
|
7802
7820
|
}
|
|
7803
7821
|
|
|
7804
7822
|
_createClass(Tabulator, [{
|
|
@@ -7833,7 +7851,7 @@
|
|
|
7833
7851
|
|
|
7834
7852
|
this._clearObjectPointers();
|
|
7835
7853
|
|
|
7836
|
-
this.
|
|
7854
|
+
this._mapDeprecatedFunctionality();
|
|
7837
7855
|
|
|
7838
7856
|
this.externalEvents = new ExternalEventBus(this, this.options, this.options.debugEventsExternal);
|
|
7839
7857
|
this.eventBus = new InternalEventBus(this.options.debugEventsInternal);
|
|
@@ -7842,34 +7860,11 @@
|
|
|
7842
7860
|
this.columnManager.initialize();
|
|
7843
7861
|
this.rowManager.initialize();
|
|
7844
7862
|
this.footerManager.initialize();
|
|
7845
|
-
}
|
|
7846
|
-
}, {
|
|
7847
|
-
key: "rtlCheck",
|
|
7848
|
-
value: function rtlCheck() {
|
|
7849
|
-
var style = window.getComputedStyle(this.element);
|
|
7850
|
-
|
|
7851
|
-
switch (this.options.textDirection) {
|
|
7852
|
-
case "auto":
|
|
7853
|
-
if (style.direction !== "rtl") {
|
|
7854
|
-
break;
|
|
7855
|
-
}
|
|
7856
|
-
|
|
7857
|
-
case "rtl":
|
|
7858
|
-
this.element.classList.add("tabulator-rtl");
|
|
7859
|
-
this.rtl = true;
|
|
7860
|
-
break;
|
|
7861
|
-
|
|
7862
|
-
case "ltr":
|
|
7863
|
-
this.element.classList.add("tabulator-ltr");
|
|
7864
|
-
|
|
7865
|
-
default:
|
|
7866
|
-
this.rtl = false;
|
|
7867
|
-
}
|
|
7868
|
-
} //convert depricated functionality to new functions
|
|
7863
|
+
} //convert deprecated functionality to new functions
|
|
7869
7864
|
|
|
7870
7865
|
}, {
|
|
7871
|
-
key: "
|
|
7872
|
-
value: function
|
|
7866
|
+
key: "_mapDeprecatedFunctionality",
|
|
7867
|
+
value: function _mapDeprecatedFunctionality() {//all previously deprecated functionality removed in the 5.0 release
|
|
7873
7868
|
}
|
|
7874
7869
|
}, {
|
|
7875
7870
|
key: "_clearSelection",
|
|
@@ -7890,21 +7885,47 @@
|
|
|
7890
7885
|
}
|
|
7891
7886
|
|
|
7892
7887
|
this.element.classList.remove("tabulator-block-select");
|
|
7893
|
-
} //
|
|
7888
|
+
} //create table
|
|
7894
7889
|
|
|
7895
7890
|
}, {
|
|
7896
7891
|
key: "_create",
|
|
7897
7892
|
value: function _create() {
|
|
7898
7893
|
this.externalEvents.dispatch("tableBuilding");
|
|
7899
7894
|
this.eventBus.dispatch("table-building");
|
|
7900
|
-
|
|
7895
|
+
|
|
7896
|
+
this._rtlCheck();
|
|
7901
7897
|
|
|
7902
7898
|
this._buildElement();
|
|
7903
7899
|
|
|
7900
|
+
this._initializeTable();
|
|
7901
|
+
|
|
7904
7902
|
this._loadInitialData();
|
|
7905
7903
|
|
|
7906
7904
|
this.initialized = true;
|
|
7907
7905
|
this.externalEvents.dispatch("tableBuilt");
|
|
7906
|
+
}
|
|
7907
|
+
}, {
|
|
7908
|
+
key: "_rtlCheck",
|
|
7909
|
+
value: function _rtlCheck() {
|
|
7910
|
+
var style = window.getComputedStyle(this.element);
|
|
7911
|
+
|
|
7912
|
+
switch (this.options.textDirection) {
|
|
7913
|
+
case "auto":
|
|
7914
|
+
if (style.direction !== "rtl") {
|
|
7915
|
+
break;
|
|
7916
|
+
}
|
|
7917
|
+
|
|
7918
|
+
case "rtl":
|
|
7919
|
+
this.element.classList.add("tabulator-rtl");
|
|
7920
|
+
this.rtl = true;
|
|
7921
|
+
break;
|
|
7922
|
+
|
|
7923
|
+
case "ltr":
|
|
7924
|
+
this.element.classList.add("tabulator-ltr");
|
|
7925
|
+
|
|
7926
|
+
default:
|
|
7927
|
+
this.rtl = false;
|
|
7928
|
+
}
|
|
7908
7929
|
} //clear pointers to objects in default config object
|
|
7909
7930
|
|
|
7910
7931
|
}, {
|
|
@@ -7921,7 +7942,26 @@
|
|
|
7921
7942
|
key: "_buildElement",
|
|
7922
7943
|
value: function _buildElement() {
|
|
7923
7944
|
var element = this.element,
|
|
7924
|
-
options = this.options
|
|
7945
|
+
options = this.options,
|
|
7946
|
+
newElement;
|
|
7947
|
+
|
|
7948
|
+
if (element.tagName === "TABLE") {
|
|
7949
|
+
this.originalElement = this.element;
|
|
7950
|
+
newElement = document.createElement("div"); //transfer attributes to new element
|
|
7951
|
+
|
|
7952
|
+
var attributes = element.attributes; // loop through attributes and apply them on div
|
|
7953
|
+
|
|
7954
|
+
for (var i in attributes) {
|
|
7955
|
+
if (_typeof(attributes[i]) == "object") {
|
|
7956
|
+
newElement.setAttribute(attributes[i].name, attributes[i].value);
|
|
7957
|
+
}
|
|
7958
|
+
} // replace table with div element
|
|
7959
|
+
|
|
7960
|
+
|
|
7961
|
+
element.parentNode.replaceChild(newElement, element);
|
|
7962
|
+
this.element = element = newElement;
|
|
7963
|
+
}
|
|
7964
|
+
|
|
7925
7965
|
element.classList.add("tabulator");
|
|
7926
7966
|
element.setAttribute("role", "grid"); //empty element
|
|
7927
7967
|
|
|
@@ -7946,7 +7986,14 @@
|
|
|
7946
7986
|
options.maxHeight = isNaN(options.maxHeight) ? options.maxHeight : options.maxHeight + "px";
|
|
7947
7987
|
element.style.maxHeight = options.maxHeight;
|
|
7948
7988
|
}
|
|
7989
|
+
} //initialize core systems and modules
|
|
7949
7990
|
|
|
7991
|
+
}, {
|
|
7992
|
+
key: "_initializeTable",
|
|
7993
|
+
value: function _initializeTable() {
|
|
7994
|
+
var element = this.element,
|
|
7995
|
+
options = this.options;
|
|
7996
|
+
this.interactionMonitor.initialize();
|
|
7950
7997
|
this.columnManager.initialize();
|
|
7951
7998
|
this.rowManager.initialize();
|
|
7952
7999
|
|
|
@@ -8000,7 +8047,7 @@
|
|
|
8000
8047
|
key: "destroy",
|
|
8001
8048
|
value: function destroy() {
|
|
8002
8049
|
var element = this.element;
|
|
8003
|
-
TableRegistry.deregister(this); //deregister table from
|
|
8050
|
+
TableRegistry.deregister(this); //deregister table from inter-device communication
|
|
8004
8051
|
|
|
8005
8052
|
this.eventBus.dispatch("table-destroy"); //clear row data
|
|
8006
8053
|
|
|
@@ -8124,7 +8171,11 @@
|
|
|
8124
8171
|
}, {
|
|
8125
8172
|
key: "replaceData",
|
|
8126
8173
|
value: function replaceData(data, params, config) {
|
|
8127
|
-
|
|
8174
|
+
if (this.initialized) {
|
|
8175
|
+
return this.dataLoader.load(data, params, config, true, true);
|
|
8176
|
+
} else {
|
|
8177
|
+
console.warn("replaceData failed - table not yet initialized. Please wait for the `tableBuilt` event before calling this function.");
|
|
8178
|
+
}
|
|
8128
8179
|
} //update table data
|
|
8129
8180
|
|
|
8130
8181
|
}, {
|
|
@@ -8133,59 +8184,68 @@
|
|
|
8133
8184
|
var _this3 = this;
|
|
8134
8185
|
|
|
8135
8186
|
var responses = 0;
|
|
8136
|
-
return new Promise(function (resolve, reject) {
|
|
8137
|
-
_this3.dataLoader.blockActiveLoad();
|
|
8138
8187
|
|
|
8139
|
-
|
|
8140
|
-
|
|
8141
|
-
|
|
8188
|
+
if (this.initialized) {
|
|
8189
|
+
return new Promise(function (resolve, reject) {
|
|
8190
|
+
_this3.dataLoader.blockActiveLoad();
|
|
8142
8191
|
|
|
8143
|
-
|
|
8144
|
-
|
|
8145
|
-
|
|
8192
|
+
if (typeof data === "string") {
|
|
8193
|
+
data = JSON.parse(data);
|
|
8194
|
+
}
|
|
8146
8195
|
|
|
8147
|
-
|
|
8148
|
-
|
|
8149
|
-
row.
|
|
8150
|
-
responses--;
|
|
8196
|
+
if (data) {
|
|
8197
|
+
data.forEach(function (item) {
|
|
8198
|
+
var row = _this3.rowManager.findRow(item[_this3.options.index]);
|
|
8151
8199
|
|
|
8152
|
-
|
|
8153
|
-
|
|
8154
|
-
|
|
8155
|
-
|
|
8156
|
-
|
|
8157
|
-
|
|
8158
|
-
|
|
8159
|
-
|
|
8160
|
-
|
|
8161
|
-
|
|
8162
|
-
|
|
8200
|
+
if (row) {
|
|
8201
|
+
responses++;
|
|
8202
|
+
row.updateData(item).then(function () {
|
|
8203
|
+
responses--;
|
|
8204
|
+
|
|
8205
|
+
if (!responses) {
|
|
8206
|
+
resolve();
|
|
8207
|
+
}
|
|
8208
|
+
});
|
|
8209
|
+
}
|
|
8210
|
+
});
|
|
8211
|
+
} else {
|
|
8212
|
+
console.warn("Update Error - No data provided");
|
|
8213
|
+
reject("Update Error - No data provided");
|
|
8214
|
+
}
|
|
8215
|
+
});
|
|
8216
|
+
} else {
|
|
8217
|
+
console.warn("updateData failed - table not yet initialized. Please wait for the `tableBuilt` event before calling this function.");
|
|
8218
|
+
}
|
|
8163
8219
|
}
|
|
8164
8220
|
}, {
|
|
8165
8221
|
key: "addData",
|
|
8166
8222
|
value: function addData(data, pos, index) {
|
|
8167
8223
|
var _this4 = this;
|
|
8168
8224
|
|
|
8169
|
-
|
|
8170
|
-
|
|
8225
|
+
if (this.initialized) {
|
|
8226
|
+
return new Promise(function (resolve, reject) {
|
|
8227
|
+
_this4.dataLoader.blockActiveLoad();
|
|
8171
8228
|
|
|
8172
|
-
|
|
8173
|
-
|
|
8174
|
-
|
|
8229
|
+
if (typeof data === "string") {
|
|
8230
|
+
data = JSON.parse(data);
|
|
8231
|
+
}
|
|
8175
8232
|
|
|
8176
|
-
|
|
8177
|
-
|
|
8178
|
-
|
|
8179
|
-
|
|
8180
|
-
|
|
8233
|
+
if (data) {
|
|
8234
|
+
_this4.rowManager.addRows(data, pos, index).then(function (rows) {
|
|
8235
|
+
var output = [];
|
|
8236
|
+
rows.forEach(function (row) {
|
|
8237
|
+
output.push(row.getComponent());
|
|
8238
|
+
});
|
|
8239
|
+
resolve(output);
|
|
8181
8240
|
});
|
|
8182
|
-
|
|
8183
|
-
|
|
8184
|
-
|
|
8185
|
-
|
|
8186
|
-
|
|
8187
|
-
|
|
8188
|
-
|
|
8241
|
+
} else {
|
|
8242
|
+
console.warn("Update Error - No data provided");
|
|
8243
|
+
reject("Update Error - No data provided");
|
|
8244
|
+
}
|
|
8245
|
+
});
|
|
8246
|
+
} else {
|
|
8247
|
+
console.warn("addData failed - table not yet initialized. Please wait for the `tableBuilt` event before calling this function.");
|
|
8248
|
+
}
|
|
8189
8249
|
} //update table data
|
|
8190
8250
|
|
|
8191
8251
|
}, {
|
|
@@ -8195,44 +8255,49 @@
|
|
|
8195
8255
|
|
|
8196
8256
|
var rows = [],
|
|
8197
8257
|
responses = 0;
|
|
8198
|
-
return new Promise(function (resolve, reject) {
|
|
8199
|
-
_this5.dataLoader.blockActiveLoad();
|
|
8200
8258
|
|
|
8201
|
-
|
|
8202
|
-
|
|
8203
|
-
|
|
8259
|
+
if (this.initialized) {
|
|
8260
|
+
return new Promise(function (resolve, reject) {
|
|
8261
|
+
_this5.dataLoader.blockActiveLoad();
|
|
8204
8262
|
|
|
8205
|
-
|
|
8206
|
-
|
|
8207
|
-
|
|
8263
|
+
if (typeof data === "string") {
|
|
8264
|
+
data = JSON.parse(data);
|
|
8265
|
+
}
|
|
8208
8266
|
|
|
8209
|
-
|
|
8267
|
+
if (data) {
|
|
8268
|
+
data.forEach(function (item) {
|
|
8269
|
+
var row = _this5.rowManager.findRow(item[_this5.options.index]);
|
|
8210
8270
|
|
|
8211
|
-
|
|
8212
|
-
row.updateData(item).then(function () {
|
|
8213
|
-
responses--;
|
|
8214
|
-
rows.push(row.getComponent());
|
|
8271
|
+
responses++;
|
|
8215
8272
|
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
} else {
|
|
8221
|
-
_this5.rowManager.addRows(item).then(function (newRows) {
|
|
8222
|
-
responses--;
|
|
8223
|
-
rows.push(newRows[0].getComponent());
|
|
8273
|
+
if (row) {
|
|
8274
|
+
row.updateData(item).then(function () {
|
|
8275
|
+
responses--;
|
|
8276
|
+
rows.push(row.getComponent());
|
|
8224
8277
|
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
|
|
8230
|
-
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8278
|
+
if (!responses) {
|
|
8279
|
+
resolve(rows);
|
|
8280
|
+
}
|
|
8281
|
+
});
|
|
8282
|
+
} else {
|
|
8283
|
+
_this5.rowManager.addRows(item).then(function (newRows) {
|
|
8284
|
+
responses--;
|
|
8285
|
+
rows.push(newRows[0].getComponent());
|
|
8286
|
+
|
|
8287
|
+
if (!responses) {
|
|
8288
|
+
resolve(rows);
|
|
8289
|
+
}
|
|
8290
|
+
});
|
|
8291
|
+
}
|
|
8292
|
+
});
|
|
8293
|
+
} else {
|
|
8294
|
+
console.warn("Update Error - No data provided");
|
|
8295
|
+
reject("Update Error - No data provided");
|
|
8296
|
+
}
|
|
8297
|
+
});
|
|
8298
|
+
} else {
|
|
8299
|
+
console.warn("updateOrAddData failed - table not yet initialized. Please wait for the `tableBuilt` event before calling this function.");
|
|
8300
|
+
}
|
|
8236
8301
|
} //get row object
|
|
8237
8302
|
|
|
8238
8303
|
}, {
|
|
@@ -8310,13 +8375,17 @@
|
|
|
8310
8375
|
}, {
|
|
8311
8376
|
key: "addRow",
|
|
8312
8377
|
value: function addRow(data, pos, index) {
|
|
8313
|
-
if (
|
|
8314
|
-
data
|
|
8315
|
-
|
|
8378
|
+
if (this.initialized) {
|
|
8379
|
+
if (typeof data === "string") {
|
|
8380
|
+
data = JSON.parse(data);
|
|
8381
|
+
}
|
|
8316
8382
|
|
|
8317
|
-
|
|
8318
|
-
|
|
8319
|
-
|
|
8383
|
+
return this.rowManager.addRows(data, pos, index).then(function (rows) {
|
|
8384
|
+
return rows[0].getComponent();
|
|
8385
|
+
});
|
|
8386
|
+
} else {
|
|
8387
|
+
console.warn("addRow failed - table not yet initialized. Please wait for the `tableBuilt` event before calling this function.");
|
|
8388
|
+
}
|
|
8320
8389
|
} //update a row if it exitsts otherwise create it
|
|
8321
8390
|
|
|
8322
8391
|
}, {
|
|
@@ -8350,7 +8419,7 @@
|
|
|
8350
8419
|
|
|
8351
8420
|
if (row) {
|
|
8352
8421
|
return row.updateData(data).then(function () {
|
|
8353
|
-
resolve(row.getComponent());
|
|
8422
|
+
return Promise.resolve(row.getComponent());
|
|
8354
8423
|
});
|
|
8355
8424
|
} else {
|
|
8356
8425
|
console.warn("Update Error - No matching row found:", index);
|
|
@@ -8541,8 +8610,12 @@
|
|
|
8541
8610
|
}, {
|
|
8542
8611
|
key: "redraw",
|
|
8543
8612
|
value: function redraw(force) {
|
|
8544
|
-
this.
|
|
8545
|
-
|
|
8613
|
+
if (this.initialized) {
|
|
8614
|
+
this.columnManager.redraw(force);
|
|
8615
|
+
this.rowManager.redraw(force);
|
|
8616
|
+
} else {
|
|
8617
|
+
console.warn("redraw failed - table not yet initialized. Please wait for the `tableBuilt` event before calling this function.");
|
|
8618
|
+
}
|
|
8546
8619
|
}
|
|
8547
8620
|
}, {
|
|
8548
8621
|
key: "setHeight",
|
|
@@ -8714,7 +8787,7 @@
|
|
|
8714
8787
|
var key = "accessor" + (type.charAt(0).toUpperCase() + type.slice(1)),
|
|
8715
8788
|
rowComponent = row.getComponent(); //clone data object with deep copy to isolate internal data from returned result
|
|
8716
8789
|
|
|
8717
|
-
var data = Helpers
|
|
8790
|
+
var data = Helpers.deepClone(row.data || {});
|
|
8718
8791
|
this.table.columnManager.traverse(function (column) {
|
|
8719
8792
|
var value, accessor, params, colCompnent;
|
|
8720
8793
|
|
|
@@ -8875,6 +8948,28 @@
|
|
|
8875
8948
|
});
|
|
8876
8949
|
}
|
|
8877
8950
|
|
|
8951
|
+
function generateParamsList$1(data, prefix) {
|
|
8952
|
+
var output = [];
|
|
8953
|
+
prefix = prefix || "";
|
|
8954
|
+
|
|
8955
|
+
if (Array.isArray(data)) {
|
|
8956
|
+
data.forEach(function (item, i) {
|
|
8957
|
+
output = output.concat(generateParamsList$1(item, prefix ? prefix + "[" + i + "]" : i));
|
|
8958
|
+
});
|
|
8959
|
+
} else if (_typeof(data) === "object") {
|
|
8960
|
+
for (var key in data) {
|
|
8961
|
+
output = output.concat(generateParamsList$1(data[key], prefix ? prefix + "[" + key + "]" : key));
|
|
8962
|
+
}
|
|
8963
|
+
} else {
|
|
8964
|
+
output.push({
|
|
8965
|
+
key: prefix,
|
|
8966
|
+
value: data
|
|
8967
|
+
});
|
|
8968
|
+
}
|
|
8969
|
+
|
|
8970
|
+
return output;
|
|
8971
|
+
}
|
|
8972
|
+
|
|
8878
8973
|
var defaultContentTypeFormatters = {
|
|
8879
8974
|
"json": {
|
|
8880
8975
|
headers: {
|
|
@@ -8887,7 +8982,7 @@
|
|
|
8887
8982
|
"form": {
|
|
8888
8983
|
headers: {},
|
|
8889
8984
|
body: function body(url, config, params) {
|
|
8890
|
-
var output =
|
|
8985
|
+
var output = generateParamsList$1(params),
|
|
8891
8986
|
form = new FormData();
|
|
8892
8987
|
output.forEach(function (item) {
|
|
8893
8988
|
form.append(item.key, item.value);
|
|
@@ -9977,7 +10072,7 @@
|
|
|
9977
10072
|
this.table.modules.mutator.disable();
|
|
9978
10073
|
}
|
|
9979
10074
|
|
|
9980
|
-
row = new Row
|
|
10075
|
+
row = new Row(rowData, this, "calc");
|
|
9981
10076
|
|
|
9982
10077
|
if (this.table.modExists("mutator")) {
|
|
9983
10078
|
this.table.modules.mutator.enable();
|
|
@@ -9988,7 +10083,7 @@
|
|
|
9988
10083
|
|
|
9989
10084
|
row.getComponent = function () {
|
|
9990
10085
|
if (!row.component) {
|
|
9991
|
-
row.component = new CalcComponent(
|
|
10086
|
+
row.component = new CalcComponent(row);
|
|
9992
10087
|
}
|
|
9993
10088
|
|
|
9994
10089
|
return row.component;
|
|
@@ -10018,7 +10113,7 @@
|
|
|
10018
10113
|
|
|
10019
10114
|
_this4.genColumn.definition.cssClass = column.definition.cssClass; //generate cell and assign to correct column
|
|
10020
10115
|
|
|
10021
|
-
var cell = new Cell
|
|
10116
|
+
var cell = new Cell(_this4.genColumn, row);
|
|
10022
10117
|
cell.getElement();
|
|
10023
10118
|
cell.column = column;
|
|
10024
10119
|
cell.setWidth();
|
|
@@ -10452,7 +10547,7 @@
|
|
|
10452
10547
|
var config, children;
|
|
10453
10548
|
output.push(row);
|
|
10454
10549
|
|
|
10455
|
-
if (row instanceof Row
|
|
10550
|
+
if (row instanceof Row) {
|
|
10456
10551
|
row.create();
|
|
10457
10552
|
config = row.modules.dataTree.children;
|
|
10458
10553
|
|
|
@@ -10517,7 +10612,7 @@
|
|
|
10517
10612
|
}
|
|
10518
10613
|
|
|
10519
10614
|
childArray.forEach(function (childData) {
|
|
10520
|
-
var childRow = new Row
|
|
10615
|
+
var childRow = new Row(childData || {}, _this6.table.rowManager);
|
|
10521
10616
|
childRow.create();
|
|
10522
10617
|
childRow.modules.dataTree.index = row.modules.dataTree.index + 1;
|
|
10523
10618
|
childRow.modules.dataTree.parent = row;
|
|
@@ -10591,7 +10686,7 @@
|
|
|
10591
10686
|
}
|
|
10592
10687
|
|
|
10593
10688
|
children.forEach(function (childRow) {
|
|
10594
|
-
if (childRow instanceof Row
|
|
10689
|
+
if (childRow instanceof Row) {
|
|
10595
10690
|
output.push(childRow);
|
|
10596
10691
|
}
|
|
10597
10692
|
});
|
|
@@ -10664,7 +10759,7 @@
|
|
|
10664
10759
|
var match = false;
|
|
10665
10760
|
|
|
10666
10761
|
if (_typeof(subject) == "object") {
|
|
10667
|
-
if (subject instanceof Row
|
|
10762
|
+
if (subject instanceof Row) {
|
|
10668
10763
|
//subject is row element
|
|
10669
10764
|
match = subject.data;
|
|
10670
10765
|
} else if (subject instanceof RowComponent) {
|
|
@@ -10673,7 +10768,7 @@
|
|
|
10673
10768
|
} else if (typeof HTMLElement !== "undefined" && subject instanceof HTMLElement) {
|
|
10674
10769
|
if (parent.modules.dataTree) {
|
|
10675
10770
|
match = parent.modules.dataTree.children.find(function (childRow) {
|
|
10676
|
-
return childRow instanceof Row
|
|
10771
|
+
return childRow instanceof Row ? childRow.element === subject : false;
|
|
10677
10772
|
});
|
|
10678
10773
|
|
|
10679
10774
|
if (match) {
|
|
@@ -10717,7 +10812,7 @@
|
|
|
10717
10812
|
}
|
|
10718
10813
|
|
|
10719
10814
|
config.children.forEach(function (childRow) {
|
|
10720
|
-
if (childRow instanceof Row
|
|
10815
|
+
if (childRow instanceof Row) {
|
|
10721
10816
|
output.push(component ? childRow.getComponent() : childRow);
|
|
10722
10817
|
|
|
10723
10818
|
if (recurse) {
|
|
@@ -10733,7 +10828,7 @@
|
|
|
10733
10828
|
key: "checkForRestyle",
|
|
10734
10829
|
value: function checkForRestyle(cell) {
|
|
10735
10830
|
if (!cell.row.cells.indexOf(cell)) {
|
|
10736
|
-
cell.row
|
|
10831
|
+
this.layoutRow(cell.row);
|
|
10737
10832
|
}
|
|
10738
10833
|
}
|
|
10739
10834
|
}, {
|
|
@@ -12033,7 +12128,7 @@
|
|
|
12033
12128
|
parseItems(editorParams.values || [], initialDisplayValue);
|
|
12034
12129
|
}
|
|
12035
12130
|
|
|
12036
|
-
var offset = Helpers
|
|
12131
|
+
var offset = Helpers.elOffset(cellEl);
|
|
12037
12132
|
listEl.style.minWidth = cellEl.offsetWidth + "px";
|
|
12038
12133
|
listEl.style.top = offset.top + cellEl.offsetHeight + "px";
|
|
12039
12134
|
listEl.style.left = offset.left + "px";
|
|
@@ -12489,7 +12584,7 @@
|
|
|
12489
12584
|
listEl.removeChild(listEl.firstChild);
|
|
12490
12585
|
}
|
|
12491
12586
|
|
|
12492
|
-
var offset = Helpers
|
|
12587
|
+
var offset = Helpers.elOffset(cellEl);
|
|
12493
12588
|
listEl.style.minWidth = cellEl.offsetWidth + "px";
|
|
12494
12589
|
listEl.style.top = offset.top + cellEl.offsetHeight + "px";
|
|
12495
12590
|
listEl.style.left = offset.left + "px";
|
|
@@ -12797,8 +12892,8 @@
|
|
|
12797
12892
|
//draggable progress bar
|
|
12798
12893
|
function progress (cell, onRendered, success, cancel, editorParams) {
|
|
12799
12894
|
var element = cell.getElement(),
|
|
12800
|
-
max = typeof editorParams.max === "undefined" ? element.getElementsByTagName("div")[0].getAttribute("max") || 100 : editorParams.max,
|
|
12801
|
-
min = typeof editorParams.min === "undefined" ? element.getElementsByTagName("div")[0].getAttribute("min") || 0 : editorParams.min,
|
|
12895
|
+
max = typeof editorParams.max === "undefined" ? element.getElementsByTagName("div")[0] && element.getElementsByTagName("div")[0].getAttribute("max") || 100 : editorParams.max,
|
|
12896
|
+
min = typeof editorParams.min === "undefined" ? element.getElementsByTagName("div")[0] && element.getElementsByTagName("div")[0].getAttribute("min") || 0 : editorParams.min,
|
|
12802
12897
|
percent = (max - min) / 100,
|
|
12803
12898
|
value = cell.getValue() || 0,
|
|
12804
12899
|
handle = document.createElement("div"),
|
|
@@ -13191,7 +13286,7 @@
|
|
|
13191
13286
|
nextCell = this.findNextEditableCell(prevRow, prevRow.cells.length);
|
|
13192
13287
|
|
|
13193
13288
|
if (nextCell) {
|
|
13194
|
-
nextCell.edit();
|
|
13289
|
+
nextCell.getComponent().edit();
|
|
13195
13290
|
return true;
|
|
13196
13291
|
}
|
|
13197
13292
|
}
|
|
@@ -13223,7 +13318,7 @@
|
|
|
13223
13318
|
nextCell = this.findNextEditableCell(nextRow, -1);
|
|
13224
13319
|
|
|
13225
13320
|
if (nextCell) {
|
|
13226
|
-
nextCell.edit();
|
|
13321
|
+
nextCell.getComponent().edit();
|
|
13227
13322
|
return true;
|
|
13228
13323
|
}
|
|
13229
13324
|
}
|
|
@@ -13248,7 +13343,7 @@
|
|
|
13248
13343
|
nextCell = this.findPrevEditableCell(cell.row, index);
|
|
13249
13344
|
|
|
13250
13345
|
if (nextCell) {
|
|
13251
|
-
nextCell.edit();
|
|
13346
|
+
nextCell.getComponent().edit();
|
|
13252
13347
|
return true;
|
|
13253
13348
|
}
|
|
13254
13349
|
}
|
|
@@ -13271,7 +13366,7 @@
|
|
|
13271
13366
|
nextCell = this.findNextEditableCell(cell.row, index);
|
|
13272
13367
|
|
|
13273
13368
|
if (nextCell) {
|
|
13274
|
-
nextCell.edit();
|
|
13369
|
+
nextCell.getComponent().edit();
|
|
13275
13370
|
return true;
|
|
13276
13371
|
}
|
|
13277
13372
|
}
|
|
@@ -13294,7 +13389,7 @@
|
|
|
13294
13389
|
nextRow = this.table.rowManager.prevDisplayRow(cell.row, true);
|
|
13295
13390
|
|
|
13296
13391
|
if (nextRow) {
|
|
13297
|
-
nextRow.cells[index].edit();
|
|
13392
|
+
nextRow.cells[index].getComponent().edit();
|
|
13298
13393
|
return true;
|
|
13299
13394
|
}
|
|
13300
13395
|
}
|
|
@@ -13317,7 +13412,7 @@
|
|
|
13317
13412
|
nextRow = this.table.rowManager.nextDisplayRow(cell.row, true);
|
|
13318
13413
|
|
|
13319
13414
|
if (nextRow) {
|
|
13320
|
-
nextRow.cells[index].edit();
|
|
13415
|
+
nextRow.cells[index].getComponent().edit();
|
|
13321
13416
|
return true;
|
|
13322
13417
|
}
|
|
13323
13418
|
}
|
|
@@ -14518,6 +14613,8 @@
|
|
|
14518
14613
|
_this.prevHeaderFilterChangeCheck = "{}";
|
|
14519
14614
|
_this.changed = false; //has filtering changed since last render
|
|
14520
14615
|
|
|
14616
|
+
_this.tableInitialized = false;
|
|
14617
|
+
|
|
14521
14618
|
_this.registerTableOption("filterMode", "local"); //local or remote filtering
|
|
14522
14619
|
|
|
14523
14620
|
|
|
@@ -14616,6 +14713,8 @@
|
|
|
14616
14713
|
}
|
|
14617
14714
|
});
|
|
14618
14715
|
}
|
|
14716
|
+
|
|
14717
|
+
this.tableInitialized = true;
|
|
14619
14718
|
}
|
|
14620
14719
|
}, {
|
|
14621
14720
|
key: "remoteFilterParams",
|
|
@@ -15084,10 +15183,12 @@
|
|
|
15084
15183
|
}, {
|
|
15085
15184
|
key: "refreshFilter",
|
|
15086
15185
|
value: function refreshFilter() {
|
|
15087
|
-
if (this.
|
|
15088
|
-
this.
|
|
15089
|
-
|
|
15090
|
-
|
|
15186
|
+
if (this.tableInitialized) {
|
|
15187
|
+
if (this.table.options.filterMode === "remote") {
|
|
15188
|
+
this.reloadData();
|
|
15189
|
+
} else {
|
|
15190
|
+
this.refreshData(true);
|
|
15191
|
+
}
|
|
15091
15192
|
} //TODO - Persist left position of row manager
|
|
15092
15193
|
// left = this.scrollLeft;
|
|
15093
15194
|
// this.scrollHorizontal(left);
|
|
@@ -15469,12 +15570,14 @@
|
|
|
15469
15570
|
|
|
15470
15571
|
function money (cell, formatterParams, onRendered) {
|
|
15471
15572
|
var floatVal = parseFloat(cell.getValue()),
|
|
15573
|
+
sign = "",
|
|
15472
15574
|
number,
|
|
15473
15575
|
integer,
|
|
15474
15576
|
decimal,
|
|
15475
15577
|
rgx;
|
|
15476
15578
|
var decimalSym = formatterParams.decimal || ".";
|
|
15477
15579
|
var thousandSym = formatterParams.thousand || ",";
|
|
15580
|
+
var negativeSign = formatterParams.negativeSign || "-";
|
|
15478
15581
|
var symbol = formatterParams.symbol || "";
|
|
15479
15582
|
var after = !!formatterParams.symbolAfter;
|
|
15480
15583
|
var precision = typeof formatterParams.precision !== "undefined" ? formatterParams.precision : 2;
|
|
@@ -15483,6 +15586,11 @@
|
|
|
15483
15586
|
return this.emptyToSpace(this.sanitizeHTML(cell.getValue()));
|
|
15484
15587
|
}
|
|
15485
15588
|
|
|
15589
|
+
if (floatVal < 0) {
|
|
15590
|
+
floatVal = Math.abs(floatVal);
|
|
15591
|
+
sign = negativeSign;
|
|
15592
|
+
}
|
|
15593
|
+
|
|
15486
15594
|
number = precision !== false ? floatVal.toFixed(precision) : floatVal;
|
|
15487
15595
|
number = String(number).split(".");
|
|
15488
15596
|
integer = number[0];
|
|
@@ -15493,7 +15601,7 @@
|
|
|
15493
15601
|
integer = integer.replace(rgx, "$1" + thousandSym + "$2");
|
|
15494
15602
|
}
|
|
15495
15603
|
|
|
15496
|
-
return after ? integer + decimal + symbol : symbol + integer + decimal;
|
|
15604
|
+
return after ? sign + integer + decimal + symbol : sign + symbol + integer + decimal;
|
|
15497
15605
|
}
|
|
15498
15606
|
|
|
15499
15607
|
function link (cell, formatterParams, onRendered) {
|
|
@@ -15632,7 +15740,7 @@
|
|
|
15632
15740
|
var value = cell.getValue();
|
|
15633
15741
|
|
|
15634
15742
|
if (typeof DT != "undefined") {
|
|
15635
|
-
var newDatetime =
|
|
15743
|
+
var newDatetime = DT.fromFormat(String(value), inputFormat);
|
|
15636
15744
|
|
|
15637
15745
|
if (newDatetime.isValid) {
|
|
15638
15746
|
if (formatterParams.timezone) {
|
|
@@ -15641,7 +15749,7 @@
|
|
|
15641
15749
|
|
|
15642
15750
|
return newDatetime.toFormat(outputFormat);
|
|
15643
15751
|
} else {
|
|
15644
|
-
if (invalid === true) {
|
|
15752
|
+
if (invalid === true || !value) {
|
|
15645
15753
|
return value;
|
|
15646
15754
|
} else if (typeof invalid === "function") {
|
|
15647
15755
|
return invalid(value);
|
|
@@ -15665,7 +15773,7 @@
|
|
|
15665
15773
|
var value = cell.getValue();
|
|
15666
15774
|
|
|
15667
15775
|
if (typeof DT != "undefined") {
|
|
15668
|
-
var newDatetime = DT.fromFormat(value, inputFormat);
|
|
15776
|
+
var newDatetime = DT.fromFormat(String(value), inputFormat);
|
|
15669
15777
|
|
|
15670
15778
|
if (newDatetime.isValid) {
|
|
15671
15779
|
if (humanize) ; else {
|
|
@@ -16400,29 +16508,52 @@
|
|
|
16400
16508
|
if (this.table.modules.columnCalcs.botInitialized && this.table.modules.columnCalcs.botRow) {
|
|
16401
16509
|
this.layoutRow(this.table.modules.columnCalcs.botRow);
|
|
16402
16510
|
}
|
|
16511
|
+
|
|
16512
|
+
if (this.table.modExists("groupRows")) {
|
|
16513
|
+
this.layoutGroupCalcs(this.table.modules.groupRows.getGroups());
|
|
16514
|
+
}
|
|
16403
16515
|
}
|
|
16516
|
+
}
|
|
16517
|
+
}, {
|
|
16518
|
+
key: "layoutGroupCalcs",
|
|
16519
|
+
value: function layoutGroupCalcs(groups) {
|
|
16520
|
+
var _this3 = this;
|
|
16521
|
+
|
|
16522
|
+
groups.forEach(function (group) {
|
|
16523
|
+
if (group.calcs.top) {
|
|
16524
|
+
_this3.layoutRow(group.calcs.top);
|
|
16525
|
+
}
|
|
16526
|
+
|
|
16527
|
+
if (group.calcs.bottom) {
|
|
16528
|
+
_this3.layoutRow(group.calcs.bottom);
|
|
16529
|
+
}
|
|
16530
|
+
|
|
16531
|
+
if (group.groupList && group.groupList.length) {
|
|
16532
|
+
_this3.layoutGroupCalcs(group.groupList && group.groupList);
|
|
16533
|
+
}
|
|
16534
|
+
});
|
|
16404
16535
|
} //calculate column positions and layout headers
|
|
16405
16536
|
|
|
16406
16537
|
}, {
|
|
16407
16538
|
key: "layoutColumnPosition",
|
|
16408
16539
|
value: function layoutColumnPosition(allCells) {
|
|
16409
|
-
var
|
|
16540
|
+
var _this4 = this;
|
|
16410
16541
|
|
|
16411
16542
|
var leftParents = [];
|
|
16412
16543
|
this.leftColumns.forEach(function (column, i) {
|
|
16413
|
-
column.modules.frozen.margin =
|
|
16544
|
+
column.modules.frozen.margin = _this4._calcSpace(_this4.leftColumns, i) + _this4.table.columnManager.scrollLeft + "px";
|
|
16414
16545
|
|
|
16415
|
-
if (i ==
|
|
16546
|
+
if (i == _this4.leftColumns.length - 1) {
|
|
16416
16547
|
column.modules.frozen.edge = true;
|
|
16417
16548
|
} else {
|
|
16418
16549
|
column.modules.frozen.edge = false;
|
|
16419
16550
|
}
|
|
16420
16551
|
|
|
16421
16552
|
if (column.parent.isGroup) {
|
|
16422
|
-
var parentEl =
|
|
16553
|
+
var parentEl = _this4.getColGroupParentElement(column);
|
|
16423
16554
|
|
|
16424
16555
|
if (!leftParents.includes(parentEl)) {
|
|
16425
|
-
|
|
16556
|
+
_this4.layoutElement(parentEl, column);
|
|
16426
16557
|
|
|
16427
16558
|
leftParents.push(parentEl);
|
|
16428
16559
|
}
|
|
@@ -16431,33 +16562,33 @@
|
|
|
16431
16562
|
parentEl.classList.add("tabulator-frozen-" + column.modules.frozen.position);
|
|
16432
16563
|
}
|
|
16433
16564
|
} else {
|
|
16434
|
-
|
|
16565
|
+
_this4.layoutElement(column.getElement(), column);
|
|
16435
16566
|
}
|
|
16436
16567
|
|
|
16437
16568
|
if (allCells) {
|
|
16438
16569
|
column.cells.forEach(function (cell) {
|
|
16439
|
-
|
|
16570
|
+
_this4.layoutElement(cell.getElement(true), column);
|
|
16440
16571
|
});
|
|
16441
16572
|
}
|
|
16442
16573
|
});
|
|
16443
16574
|
this.rightColumns.forEach(function (column, i) {
|
|
16444
|
-
column.modules.frozen.margin =
|
|
16575
|
+
column.modules.frozen.margin = _this4.rightPadding - _this4._calcSpace(_this4.rightColumns, i + 1) + "px";
|
|
16445
16576
|
|
|
16446
|
-
if (i ==
|
|
16577
|
+
if (i == _this4.rightColumns.length - 1) {
|
|
16447
16578
|
column.modules.frozen.edge = true;
|
|
16448
16579
|
} else {
|
|
16449
16580
|
column.modules.frozen.edge = false;
|
|
16450
16581
|
}
|
|
16451
16582
|
|
|
16452
16583
|
if (column.parent.isGroup) {
|
|
16453
|
-
|
|
16584
|
+
_this4.layoutElement(_this4.getColGroupParentElement(column), column);
|
|
16454
16585
|
} else {
|
|
16455
|
-
|
|
16586
|
+
_this4.layoutElement(column.getElement(), column);
|
|
16456
16587
|
}
|
|
16457
16588
|
|
|
16458
16589
|
if (allCells) {
|
|
16459
16590
|
column.cells.forEach(function (cell) {
|
|
16460
|
-
|
|
16591
|
+
_this4.layoutElement(cell.getElement(true), column);
|
|
16461
16592
|
});
|
|
16462
16593
|
}
|
|
16463
16594
|
});
|
|
@@ -16471,14 +16602,14 @@
|
|
|
16471
16602
|
}, {
|
|
16472
16603
|
key: "layout",
|
|
16473
16604
|
value: function layout() {
|
|
16474
|
-
var
|
|
16605
|
+
var _this5 = this;
|
|
16475
16606
|
|
|
16476
16607
|
if (this.active) {
|
|
16477
16608
|
//calculate row padding
|
|
16478
16609
|
this.calcMargins();
|
|
16479
16610
|
this.table.rowManager.getDisplayRows().forEach(function (row) {
|
|
16480
16611
|
if (row.type === "row") {
|
|
16481
|
-
|
|
16612
|
+
_this5.layoutRow(row);
|
|
16482
16613
|
}
|
|
16483
16614
|
});
|
|
16484
16615
|
this.layoutCalcRows(); //calculate left columns
|
|
@@ -16490,7 +16621,7 @@
|
|
|
16490
16621
|
}, {
|
|
16491
16622
|
key: "layoutRow",
|
|
16492
16623
|
value: function layoutRow(row) {
|
|
16493
|
-
var
|
|
16624
|
+
var _this6 = this;
|
|
16494
16625
|
|
|
16495
16626
|
var rowEl = row.getElement();
|
|
16496
16627
|
rowEl.style.paddingLeft = this.leftMargin;
|
|
@@ -16498,14 +16629,14 @@
|
|
|
16498
16629
|
var cell = row.getCell(column);
|
|
16499
16630
|
|
|
16500
16631
|
if (cell) {
|
|
16501
|
-
|
|
16632
|
+
_this6.layoutElement(cell.getElement(true), column);
|
|
16502
16633
|
}
|
|
16503
16634
|
});
|
|
16504
16635
|
this.rightColumns.forEach(function (column) {
|
|
16505
16636
|
var cell = row.getCell(column);
|
|
16506
16637
|
|
|
16507
16638
|
if (cell) {
|
|
16508
|
-
|
|
16639
|
+
_this6.layoutElement(cell.getElement(true), column);
|
|
16509
16640
|
}
|
|
16510
16641
|
});
|
|
16511
16642
|
}
|
|
@@ -16641,7 +16772,11 @@
|
|
|
16641
16772
|
|
|
16642
16773
|
if (index > -1) {
|
|
16643
16774
|
var rowEl = row.getElement();
|
|
16644
|
-
|
|
16775
|
+
|
|
16776
|
+
if (rowEl.parentNode) {
|
|
16777
|
+
rowEl.parentNode.removeChild(rowEl);
|
|
16778
|
+
}
|
|
16779
|
+
|
|
16645
16780
|
this.rows.splice(index, 1);
|
|
16646
16781
|
}
|
|
16647
16782
|
}
|
|
@@ -16785,10 +16920,16 @@
|
|
|
16785
16920
|
group.wipe();
|
|
16786
16921
|
});
|
|
16787
16922
|
} else {
|
|
16788
|
-
this.
|
|
16789
|
-
|
|
16790
|
-
|
|
16923
|
+
this.rows.forEach(function (row) {
|
|
16924
|
+
if (row.modules) {
|
|
16925
|
+
delete row.modules.group;
|
|
16926
|
+
}
|
|
16927
|
+
});
|
|
16791
16928
|
}
|
|
16929
|
+
|
|
16930
|
+
this.element = false;
|
|
16931
|
+
this.arrowElement = false;
|
|
16932
|
+
this.elementContents = false;
|
|
16792
16933
|
}
|
|
16793
16934
|
}, {
|
|
16794
16935
|
key: "createElements",
|
|
@@ -17349,7 +17490,7 @@
|
|
|
17349
17490
|
this.initialized = false;
|
|
17350
17491
|
this.height = 0;
|
|
17351
17492
|
|
|
17352
|
-
if (Helpers
|
|
17493
|
+
if (Helpers.elVisible(this.element)) {
|
|
17353
17494
|
this.initialize(true);
|
|
17354
17495
|
}
|
|
17355
17496
|
}
|
|
@@ -17479,6 +17620,30 @@
|
|
|
17479
17620
|
_createClass(GroupRows, [{
|
|
17480
17621
|
key: "initialize",
|
|
17481
17622
|
value: function initialize() {
|
|
17623
|
+
if (this.table.options.groupBy) {
|
|
17624
|
+
this.configureGroupSetup();
|
|
17625
|
+
|
|
17626
|
+
if (this.table.options.groupUpdateOnCellEdit) {
|
|
17627
|
+
this.subscribe("cell-value-updated", this.cellUpdated.bind(this));
|
|
17628
|
+
this.subscribe("row-data-changed", this.reassignRowToGroup.bind(this), 0);
|
|
17629
|
+
}
|
|
17630
|
+
|
|
17631
|
+
this.subscribe("row-deleting", this.rowDeleting.bind(this));
|
|
17632
|
+
this.subscribe("row-deleted", this.rowsUpdated.bind(this));
|
|
17633
|
+
this.subscribe("scroll-horizontal", this.scrollHeaders.bind(this));
|
|
17634
|
+
this.subscribe("rows-wipe", this.wipe.bind(this));
|
|
17635
|
+
this.subscribe("rows-added", this.rowsUpdated.bind(this));
|
|
17636
|
+
this.subscribe("row-moving", this.rowMoving.bind(this));
|
|
17637
|
+
this.subscribe("row-adding-index", this.rowAddingIndex.bind(this));
|
|
17638
|
+
this.subscribe("rows-sample", this.rowSample.bind(this));
|
|
17639
|
+
this.subscribe("render-virtual-fill", this.virtualRenderFill.bind(this));
|
|
17640
|
+
this.registerDisplayHandler(this.displayHandler, 20);
|
|
17641
|
+
this.initialized = true;
|
|
17642
|
+
}
|
|
17643
|
+
}
|
|
17644
|
+
}, {
|
|
17645
|
+
key: "configureGroupSetup",
|
|
17646
|
+
value: function configureGroupSetup() {
|
|
17482
17647
|
var _this2 = this;
|
|
17483
17648
|
|
|
17484
17649
|
if (this.table.options.groupBy) {
|
|
@@ -17568,23 +17733,6 @@
|
|
|
17568
17733
|
if (groupHeader) {
|
|
17569
17734
|
this.headerGenerator = Array.isArray(groupHeader) ? groupHeader : [groupHeader];
|
|
17570
17735
|
}
|
|
17571
|
-
|
|
17572
|
-
if (this.table.options.groupUpdateOnCellEdit) {
|
|
17573
|
-
this.subscribe("cell-value-updated", this.cellUpdated.bind(this));
|
|
17574
|
-
this.subscribe("row-data-changed", this.reassignRowToGroup.bind(this), 0);
|
|
17575
|
-
}
|
|
17576
|
-
|
|
17577
|
-
this.subscribe("row-deleting", this.rowDeleting.bind(this));
|
|
17578
|
-
this.subscribe("row-deleted", this.rowsUpdated.bind(this));
|
|
17579
|
-
this.subscribe("scroll-horizontal", this.scrollHeaders.bind(this));
|
|
17580
|
-
this.subscribe("rows-wipe", this.wipe.bind(this));
|
|
17581
|
-
this.subscribe("rows-added", this.rowsUpdated.bind(this));
|
|
17582
|
-
this.subscribe("row-moving", this.rowMoving.bind(this));
|
|
17583
|
-
this.subscribe("row-adding-index", this.rowAddingIndex.bind(this));
|
|
17584
|
-
this.subscribe("rows-sample", this.rowSample.bind(this));
|
|
17585
|
-
this.subscribe("render-virtual-fill", this.virtualRenderFill.bind(this));
|
|
17586
|
-
this.registerDisplayHandler(this.displayHandler, 20);
|
|
17587
|
-
this.initialized = true;
|
|
17588
17736
|
}
|
|
17589
17737
|
}
|
|
17590
17738
|
}, {
|
|
@@ -17646,23 +17794,29 @@
|
|
|
17646
17794
|
key: "setGroupBy",
|
|
17647
17795
|
value: function setGroupBy(groups) {
|
|
17648
17796
|
this.table.options.groupBy = groups;
|
|
17649
|
-
|
|
17650
|
-
this.
|
|
17797
|
+
|
|
17798
|
+
if (!this.initialized) {
|
|
17799
|
+
this.initialize();
|
|
17800
|
+
} else {
|
|
17801
|
+
this.configureGroupSetup();
|
|
17802
|
+
}
|
|
17803
|
+
|
|
17804
|
+
this.refreshData();
|
|
17651
17805
|
this.trackChanges();
|
|
17652
17806
|
}
|
|
17653
17807
|
}, {
|
|
17654
17808
|
key: "setGroupValues",
|
|
17655
17809
|
value: function setGroupValues(groupValues) {
|
|
17656
17810
|
this.table.options.groupValues = groupValues;
|
|
17657
|
-
this.
|
|
17658
|
-
this.refreshData(
|
|
17811
|
+
this.configureGroupSetup();
|
|
17812
|
+
this.refreshData();
|
|
17659
17813
|
this.trackChanges();
|
|
17660
17814
|
}
|
|
17661
17815
|
}, {
|
|
17662
17816
|
key: "setGroupStartOpen",
|
|
17663
17817
|
value: function setGroupStartOpen(values) {
|
|
17664
17818
|
this.table.options.groupStartOpen = values;
|
|
17665
|
-
this.
|
|
17819
|
+
this.configureGroupSetup();
|
|
17666
17820
|
|
|
17667
17821
|
if (this.table.options.groupBy) {
|
|
17668
17822
|
this.refreshData();
|
|
@@ -17675,7 +17829,7 @@
|
|
|
17675
17829
|
key: "setGroupHeader",
|
|
17676
17830
|
value: function setGroupHeader(values) {
|
|
17677
17831
|
this.table.options.groupHeader = values;
|
|
17678
|
-
this.
|
|
17832
|
+
this.configureGroupSetup();
|
|
17679
17833
|
|
|
17680
17834
|
if (this.table.options.groupBy) {
|
|
17681
17835
|
this.refreshData();
|
|
@@ -17758,7 +17912,7 @@
|
|
|
17758
17912
|
}, {
|
|
17759
17913
|
key: "getRows",
|
|
17760
17914
|
value: function getRows(rows) {
|
|
17761
|
-
if (this.groupIDLookups.length) {
|
|
17915
|
+
if (this.table.options.groupBy && this.groupIDLookups.length) {
|
|
17762
17916
|
this.dispatchExternal("dataGrouping");
|
|
17763
17917
|
this.generateGroups(rows);
|
|
17764
17918
|
|
|
@@ -17999,6 +18153,7 @@
|
|
|
17999
18153
|
var defaultUndoers = {
|
|
18000
18154
|
cellEdit: function cellEdit(action) {
|
|
18001
18155
|
action.component.setValueProcessData(action.data.oldValue);
|
|
18156
|
+
action.component.cellRendered();
|
|
18002
18157
|
},
|
|
18003
18158
|
rowAdd: function rowAdd(action) {
|
|
18004
18159
|
action.component.deleteActual();
|
|
@@ -18021,6 +18176,7 @@
|
|
|
18021
18176
|
var defaultRedoers = {
|
|
18022
18177
|
cellEdit: function cellEdit(action) {
|
|
18023
18178
|
action.component.setValueProcessData(action.data.newValue);
|
|
18179
|
+
action.component.cellRendered();
|
|
18024
18180
|
},
|
|
18025
18181
|
rowAdd: function rowAdd(action) {
|
|
18026
18182
|
var newRow = this.table.rowManager.addRowActual(action.data.data, action.data.pos, action.data.index);
|
|
@@ -18117,7 +18273,7 @@
|
|
|
18117
18273
|
}
|
|
18118
18274
|
}
|
|
18119
18275
|
|
|
18120
|
-
this.
|
|
18276
|
+
this.action("rowDelete", row, {
|
|
18121
18277
|
data: row.getData(),
|
|
18122
18278
|
pos: !index,
|
|
18123
18279
|
index: index
|
|
@@ -18252,19 +18408,19 @@
|
|
|
18252
18408
|
_createClass(HtmlTableImport, [{
|
|
18253
18409
|
key: "initialize",
|
|
18254
18410
|
value: function initialize() {
|
|
18255
|
-
this.
|
|
18411
|
+
this.tableElementCheck();
|
|
18256
18412
|
}
|
|
18257
18413
|
}, {
|
|
18258
18414
|
key: "tableElementCheck",
|
|
18259
18415
|
value: function tableElementCheck() {
|
|
18260
|
-
if (this.table.
|
|
18416
|
+
if (this.table.originalElement && this.table.originalElement.tagName === "TABLE") {
|
|
18261
18417
|
this.parseTable();
|
|
18262
18418
|
}
|
|
18263
18419
|
}
|
|
18264
18420
|
}, {
|
|
18265
18421
|
key: "parseTable",
|
|
18266
18422
|
value: function parseTable() {
|
|
18267
|
-
var element = this.table.
|
|
18423
|
+
var element = this.table.originalElement,
|
|
18268
18424
|
options = this.table.options,
|
|
18269
18425
|
columns = options.columns,
|
|
18270
18426
|
headers = element.getElementsByTagName("th"),
|
|
@@ -18272,7 +18428,7 @@
|
|
|
18272
18428
|
data = [];
|
|
18273
18429
|
this.hasIndex = false;
|
|
18274
18430
|
this.dispatchExternal("htmlImporting");
|
|
18275
|
-
rows = rows ? rows.getElementsByTagName("tr") : []; //check for
|
|
18431
|
+
rows = rows ? rows.getElementsByTagName("tr") : []; //check for Tabulator inline options
|
|
18276
18432
|
|
|
18277
18433
|
this._extractOptions(element, options);
|
|
18278
18434
|
|
|
@@ -18302,31 +18458,17 @@
|
|
|
18302
18458
|
|
|
18303
18459
|
|
|
18304
18460
|
data.push(item);
|
|
18305
|
-
}
|
|
18306
|
-
|
|
18307
|
-
|
|
18308
|
-
var newElement = document.createElement("div"); //transfer attributes to new element
|
|
18309
|
-
|
|
18310
|
-
var attributes = element.attributes; // loop through attributes and apply them on div
|
|
18311
|
-
|
|
18312
|
-
for (var i in attributes) {
|
|
18313
|
-
if (_typeof(attributes[i]) == "object") {
|
|
18314
|
-
newElement.setAttribute(attributes[i].name, attributes[i].value);
|
|
18315
|
-
}
|
|
18316
|
-
} // replace table with div element
|
|
18317
|
-
|
|
18461
|
+
}
|
|
18318
18462
|
|
|
18319
|
-
element.parentNode.replaceChild(newElement, element);
|
|
18320
18463
|
options.data = data;
|
|
18321
18464
|
this.dispatchExternal("htmlImported");
|
|
18322
|
-
this.table.element = newElement;
|
|
18323
18465
|
} //extract tabulator attribute options
|
|
18324
18466
|
|
|
18325
18467
|
}, {
|
|
18326
18468
|
key: "_extractOptions",
|
|
18327
18469
|
value: function _extractOptions(element, options, defaultOptions) {
|
|
18328
18470
|
var attributes = element.attributes;
|
|
18329
|
-
var optionsArr = defaultOptions ? Object.
|
|
18471
|
+
var optionsArr = defaultOptions ? Object.keys(defaultOptions) : Object.keys(options);
|
|
18330
18472
|
var optionsList = {};
|
|
18331
18473
|
optionsArr.forEach(function (item) {
|
|
18332
18474
|
optionsList[item.toLowerCase()] = item;
|
|
@@ -18394,12 +18536,10 @@
|
|
|
18394
18536
|
|
|
18395
18537
|
if (width && !col.width) {
|
|
18396
18538
|
col.width = width;
|
|
18397
|
-
} //check for
|
|
18398
|
-
|
|
18539
|
+
} //check for Tabulator inline options
|
|
18399
18540
|
|
|
18400
|
-
header.attributes; // //check for tablator inline options
|
|
18401
18541
|
|
|
18402
|
-
this._extractOptions(header, col,
|
|
18542
|
+
this._extractOptions(header, col, this.table.columnManager.optionsList.registeredDefaults);
|
|
18403
18543
|
|
|
18404
18544
|
this.fieldIndex[index] = col.field;
|
|
18405
18545
|
|
|
@@ -18747,7 +18887,7 @@
|
|
|
18747
18887
|
callback;
|
|
18748
18888
|
|
|
18749
18889
|
if (this.columnSubscribers[action]) {
|
|
18750
|
-
if (component instanceof Cell
|
|
18890
|
+
if (component instanceof Cell) {
|
|
18751
18891
|
callback = component.column.definition[action];
|
|
18752
18892
|
} else if (component instanceof Column$1) {
|
|
18753
18893
|
callback = component.definition[action];
|
|
@@ -19371,7 +19511,7 @@
|
|
|
19371
19511
|
y = touch ? e.touches[0].pageY : e.pageY;
|
|
19372
19512
|
this.positionReversedX = false;
|
|
19373
19513
|
} else {
|
|
19374
|
-
parentOffset = Helpers
|
|
19514
|
+
parentOffset = Helpers.elOffset(parentEl);
|
|
19375
19515
|
x = parentOffset.left + parentEl.offsetWidth;
|
|
19376
19516
|
y = parentOffset.top - 1;
|
|
19377
19517
|
}
|
|
@@ -19497,7 +19637,9 @@
|
|
|
19497
19637
|
}, {
|
|
19498
19638
|
key: "initialize",
|
|
19499
19639
|
value: function initialize() {
|
|
19500
|
-
|
|
19640
|
+
if (this.table.options.movableColumns) {
|
|
19641
|
+
this.subscribe("column-init", this.initializeColumn.bind(this));
|
|
19642
|
+
}
|
|
19501
19643
|
}
|
|
19502
19644
|
}, {
|
|
19503
19645
|
key: "initializeColumn",
|
|
@@ -19511,7 +19653,7 @@
|
|
|
19511
19653
|
|
|
19512
19654
|
config.mousemove = function (e) {
|
|
19513
19655
|
if (column.parent === self.moving.parent) {
|
|
19514
|
-
if ((self.touchMove ? e.touches[0].pageX : e.pageX) - Helpers
|
|
19656
|
+
if ((self.touchMove ? e.touches[0].pageX : e.pageX) - Helpers.elOffset(colEl).left + self.table.columnManager.element.scrollLeft > column.getWidth() / 2) {
|
|
19515
19657
|
if (self.toCol !== column || !self.toColAfter) {
|
|
19516
19658
|
colEl.parentNode.insertBefore(self.placeholderElement, colEl.nextSibling);
|
|
19517
19659
|
self.moveColumn(column, true);
|
|
@@ -19636,9 +19778,11 @@
|
|
|
19636
19778
|
}, {
|
|
19637
19779
|
key: "startMove",
|
|
19638
19780
|
value: function startMove(e, column) {
|
|
19639
|
-
var element = column.getElement()
|
|
19781
|
+
var element = column.getElement(),
|
|
19782
|
+
headerElement = this.table.columnManager.getElement(),
|
|
19783
|
+
headersElement = this.table.columnManager.getHeadersElement();
|
|
19640
19784
|
this.moving = column;
|
|
19641
|
-
this.startX = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers
|
|
19785
|
+
this.startX = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers.elOffset(element).left;
|
|
19642
19786
|
this.table.element.classList.add("tabulator-block-select"); //create placeholder
|
|
19643
19787
|
|
|
19644
19788
|
this.placeholderElement.style.width = column.getWidth() + "px";
|
|
@@ -19650,7 +19794,7 @@
|
|
|
19650
19794
|
this.hoverElement.classList.add("tabulator-moving");
|
|
19651
19795
|
this.table.columnManager.getElement().appendChild(this.hoverElement);
|
|
19652
19796
|
this.hoverElement.style.left = "0";
|
|
19653
|
-
this.hoverElement.style.bottom = "
|
|
19797
|
+
this.hoverElement.style.bottom = headerElement.clientHeight - headersElement.offsetHeight + "px";
|
|
19654
19798
|
|
|
19655
19799
|
if (!this.touchMove) {
|
|
19656
19800
|
this._bindMouseMove();
|
|
@@ -19690,7 +19834,7 @@
|
|
|
19690
19834
|
column.getCells().forEach(function (cell, i) {
|
|
19691
19835
|
var cellEl = cell.getElement(true);
|
|
19692
19836
|
|
|
19693
|
-
if (cellEl.parentNode) {
|
|
19837
|
+
if (cellEl.parentNode && movingCells[i]) {
|
|
19694
19838
|
cellEl.parentNode.insertBefore(movingCells[i].getElement(), cellEl.nextSibling);
|
|
19695
19839
|
}
|
|
19696
19840
|
});
|
|
@@ -19698,7 +19842,7 @@
|
|
|
19698
19842
|
column.getCells().forEach(function (cell, i) {
|
|
19699
19843
|
var cellEl = cell.getElement(true);
|
|
19700
19844
|
|
|
19701
|
-
if (cellEl.parentNode) {
|
|
19845
|
+
if (cellEl.parentNode && movingCells[i]) {
|
|
19702
19846
|
cellEl.parentNode.insertBefore(movingCells[i].getElement(), cellEl);
|
|
19703
19847
|
}
|
|
19704
19848
|
});
|
|
@@ -19736,7 +19880,7 @@
|
|
|
19736
19880
|
|
|
19737
19881
|
var columnHolder = this.table.columnManager.getElement(),
|
|
19738
19882
|
scrollLeft = columnHolder.scrollLeft,
|
|
19739
|
-
xPos = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers
|
|
19883
|
+
xPos = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers.elOffset(columnHolder).left + scrollLeft,
|
|
19740
19884
|
scrollPos;
|
|
19741
19885
|
this.hoverElement.style.left = xPos - this.startX + "px";
|
|
19742
19886
|
|
|
@@ -19860,7 +20004,7 @@
|
|
|
19860
20004
|
|
|
19861
20005
|
|
|
19862
20006
|
config.mousemove = function (e) {
|
|
19863
|
-
if (e.pageY - Helpers
|
|
20007
|
+
if (e.pageY - Helpers.elOffset(group.element).top + self.table.rowManager.element.scrollTop > group.getHeight() / 2) {
|
|
19864
20008
|
if (self.toRow !== group || !self.toRowAfter) {
|
|
19865
20009
|
var rowEl = group.getElement();
|
|
19866
20010
|
rowEl.parentNode.insertBefore(self.placeholderElement, rowEl.nextSibling);
|
|
@@ -19895,7 +20039,7 @@
|
|
|
19895
20039
|
config.mousemove = function (e) {
|
|
19896
20040
|
var rowEl = row.getElement();
|
|
19897
20041
|
|
|
19898
|
-
if (e.pageY - Helpers
|
|
20042
|
+
if (e.pageY - Helpers.elOffset(rowEl).top + self.table.rowManager.element.scrollTop > row.getHeight() / 2) {
|
|
19899
20043
|
if (self.toRow !== row || !self.toRowAfter) {
|
|
19900
20044
|
rowEl.parentNode.insertBefore(self.placeholderElement, rowEl.nextSibling);
|
|
19901
20045
|
self.moveRow(row, true);
|
|
@@ -20806,7 +20950,7 @@
|
|
|
20806
20950
|
margin = this.table.options.progressiveLoadScrollMargin || element.clientHeight * 2;
|
|
20807
20951
|
|
|
20808
20952
|
if (diff < margin) {
|
|
20809
|
-
this.nextPage();
|
|
20953
|
+
this.nextPage()["catch"](function () {}); //consume the exception thrown when on the last page
|
|
20810
20954
|
}
|
|
20811
20955
|
}
|
|
20812
20956
|
}
|
|
@@ -23101,6 +23245,10 @@
|
|
|
23101
23245
|
|
|
23102
23246
|
if (column.definition.title && column.field) {
|
|
23103
23247
|
if (column.modules.format && self.table.options.responsiveLayoutCollapseUseFormatters) {
|
|
23248
|
+
var onRendered = function onRendered(callback) {
|
|
23249
|
+
callback();
|
|
23250
|
+
};
|
|
23251
|
+
|
|
23104
23252
|
mockCellComponent = {
|
|
23105
23253
|
value: false,
|
|
23106
23254
|
data: {},
|
|
@@ -23123,7 +23271,7 @@
|
|
|
23123
23271
|
output.push({
|
|
23124
23272
|
field: column.field,
|
|
23125
23273
|
title: column.definition.title,
|
|
23126
|
-
value: column.modules.format.formatter.call(self.table.modules.format, mockCellComponent, column.modules.format.params)
|
|
23274
|
+
value: column.modules.format.formatter.call(self.table.modules.format, mockCellComponent, column.modules.format.params, onRendered)
|
|
23127
23275
|
});
|
|
23128
23276
|
} else {
|
|
23129
23277
|
output.push({
|
|
@@ -23239,9 +23387,9 @@
|
|
|
23239
23387
|
this.subscribe("row-init", this.initializeRow.bind(this));
|
|
23240
23388
|
this.subscribe("row-deleting", this.rowDeleted.bind(this));
|
|
23241
23389
|
this.subscribe("rows-wipe", this.clearSelectionData.bind(this));
|
|
23242
|
-
this.subscribe("rows-retrieve", this.
|
|
23390
|
+
this.subscribe("rows-retrieve", this.rowRetrieve.bind(this));
|
|
23243
23391
|
|
|
23244
|
-
if (this.table.options.selectable && this.table.options.selectablePersistence) {
|
|
23392
|
+
if (this.table.options.selectable && !this.table.options.selectablePersistence) {
|
|
23245
23393
|
this.subscribe("data-refeshing", this.deselectRows.bind(this));
|
|
23246
23394
|
}
|
|
23247
23395
|
}
|
|
@@ -23504,6 +23652,7 @@
|
|
|
23504
23652
|
value: function deselectRows(rows, silent) {
|
|
23505
23653
|
var self = this,
|
|
23506
23654
|
rowCount;
|
|
23655
|
+
console.trace("deselect");
|
|
23507
23656
|
|
|
23508
23657
|
if (typeof rows == "undefined") {
|
|
23509
23658
|
rowCount = self.selectedRows.length;
|
|
@@ -23748,8 +23897,8 @@
|
|
|
23748
23897
|
emptyAlign = 0;
|
|
23749
23898
|
|
|
23750
23899
|
if (typeof DT != "undefined") {
|
|
23751
|
-
a = DT.fromFormat(a, format);
|
|
23752
|
-
b = DT.fromFormat(b, format);
|
|
23900
|
+
a = DT.fromFormat(String(a), format);
|
|
23901
|
+
b = DT.fromFormat(String(b), format);
|
|
23753
23902
|
|
|
23754
23903
|
if (!a.isValid) {
|
|
23755
23904
|
emptyAlign = !b.isValid ? 0 : -1;
|
|
@@ -24137,7 +24286,7 @@
|
|
|
24137
24286
|
if (this.table.options.sortMode === "remote") {
|
|
24138
24287
|
this.reloadData();
|
|
24139
24288
|
} else {
|
|
24140
|
-
this.refreshData();
|
|
24289
|
+
this.refreshData(true);
|
|
24141
24290
|
} //TODO - Persist left position of row manager
|
|
24142
24291
|
// left = this.scrollLeft;
|
|
24143
24292
|
// this.scrollHorizontal(left);
|