tabulator-tables 5.0.1 → 5.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/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_bootstrap4.css +0 -4
- package/dist/css/tabulator_bootstrap4.css.map +1 -1
- package/dist/css/tabulator_bootstrap4.min.css +1 -1
- package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
- package/dist/css/tabulator_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 +295 -176
- 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 +252 -153
- 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 +12 -12
- package/src/js/core/FooterManager.js +2 -2
- package/src/js/core/RowManager.js +6 -5
- package/src/js/core/Tabulator.js +64 -29
- package/src/js/core/column/Column.js +2 -2
- package/src/js/core/rendering/renderers/VirtualDomVertical.js +4 -0
- package/src/js/core/row/Row.js +4 -1
- package/src/js/core/tools/DataLoader.js +1 -1
- package/src/js/core/tools/ExternalEventBus.js +3 -2
- package/src/js/core/tools/Helpers.js +24 -7
- package/src/js/core/tools/InteractionMonitor.js +1 -0
- package/src/js/core/tools/ModuleBinder.js +1 -1
- package/src/js/modules/Accessor/Accessor.js +1 -1
- package/src/js/modules/Ajax/defaults/contentTypeFormatters.js +22 -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 +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/GroupRows/Group.js +2 -0
- package/src/js/modules/GroupRows/GroupRows.js +4 -6
- 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 +4 -22
- package/src/js/modules/Page/Page.js +2 -2
- package/src/js/modules/ReactiveData/ReactiveData.js +28 -27
- package/src/js/modules/ResponsiveLayout/ResponsiveLayout.js +5 -1
- package/src/scss/themes/bootstrap/tabulator_bootstrap3.scss +9 -0
- package/src/scss/themes/bootstrap/tabulator_bootstrap4.scss +0 -4
- 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.6 (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) :
|
|
@@ -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();
|
|
@@ -2144,7 +2142,7 @@
|
|
|
2144
2142
|
|
|
2145
2143
|
Column$1.defaultOptionList = defaultOptions$1;
|
|
2146
2144
|
|
|
2147
|
-
var Helpers
|
|
2145
|
+
var Helpers = /*#__PURE__*/function () {
|
|
2148
2146
|
function Helpers() {
|
|
2149
2147
|
_classCallCheck(this, Helpers);
|
|
2150
2148
|
}
|
|
@@ -2165,17 +2163,42 @@
|
|
|
2165
2163
|
}
|
|
2166
2164
|
}, {
|
|
2167
2165
|
key: "deepClone",
|
|
2168
|
-
value: function deepClone(obj) {
|
|
2169
|
-
var
|
|
2166
|
+
value: function deepClone(obj, clone) {
|
|
2167
|
+
var _this = this;
|
|
2170
2168
|
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2169
|
+
var list = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
2170
|
+
var objectProto = {}.__proto__,
|
|
2171
|
+
arrayProto = [].__proto__;
|
|
2172
|
+
|
|
2173
|
+
if (!clone) {
|
|
2174
|
+
clone = Object.assign(Array.isArray(obj) ? [] : {}, obj);
|
|
2175
|
+
}
|
|
2176
|
+
|
|
2177
|
+
var _loop = function _loop() {
|
|
2178
|
+
var subject = obj[i],
|
|
2179
|
+
match = void 0,
|
|
2180
|
+
copy = void 0;
|
|
2181
|
+
|
|
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;
|
|
2175
2189
|
} else {
|
|
2176
|
-
|
|
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);
|
|
2177
2196
|
}
|
|
2178
2197
|
}
|
|
2198
|
+
};
|
|
2199
|
+
|
|
2200
|
+
for (var i in obj) {
|
|
2201
|
+
_loop();
|
|
2179
2202
|
}
|
|
2180
2203
|
|
|
2181
2204
|
return clone;
|
|
@@ -2389,8 +2412,8 @@
|
|
|
2389
2412
|
|
|
2390
2413
|
|
|
2391
2414
|
if (!ifVisible) {
|
|
2392
|
-
if (Helpers
|
|
2393
|
-
offset = Helpers
|
|
2415
|
+
if (Helpers.elVisible(rowEl)) {
|
|
2416
|
+
offset = Helpers.elOffset(rowEl).top - Helpers.elOffset(_this2.elementVertical).top;
|
|
2394
2417
|
|
|
2395
2418
|
if (offset > 0 && offset < _this2.elementVertical.clientHeight - rowEl.offsetHeight) {
|
|
2396
2419
|
return false;
|
|
@@ -3007,6 +3030,7 @@
|
|
|
3007
3030
|
value: function createHeadersElement() {
|
|
3008
3031
|
var el = document.createElement("div");
|
|
3009
3032
|
el.classList.add("tabulator-headers");
|
|
3033
|
+
el.setAttribute("role", "row");
|
|
3010
3034
|
return el;
|
|
3011
3035
|
}
|
|
3012
3036
|
}, {
|
|
@@ -3014,6 +3038,7 @@
|
|
|
3014
3038
|
value: function createHeaderElement() {
|
|
3015
3039
|
var el = document.createElement("div");
|
|
3016
3040
|
el.classList.add("tabulator-header");
|
|
3041
|
+
el.setAttribute("role", "rowgroup");
|
|
3017
3042
|
|
|
3018
3043
|
if (!this.table.options.headerVisible) {
|
|
3019
3044
|
el.classList.add("tabulator-header-hidden");
|
|
@@ -3191,10 +3216,9 @@
|
|
|
3191
3216
|
this.columns.push(column);
|
|
3192
3217
|
this.headersElement.appendChild(column.getElement());
|
|
3193
3218
|
}
|
|
3194
|
-
|
|
3195
|
-
column.columnRendered();
|
|
3196
3219
|
}
|
|
3197
3220
|
|
|
3221
|
+
column.columnRendered();
|
|
3198
3222
|
return column;
|
|
3199
3223
|
}
|
|
3200
3224
|
}, {
|
|
@@ -3219,8 +3243,8 @@
|
|
|
3219
3243
|
} //ensure column headers take up the correct amount of space in column groups
|
|
3220
3244
|
|
|
3221
3245
|
}, {
|
|
3222
|
-
key: "
|
|
3223
|
-
value: function
|
|
3246
|
+
key: "verticalAlignHeaders",
|
|
3247
|
+
value: function verticalAlignHeaders() {
|
|
3224
3248
|
var _this3 = this;
|
|
3225
3249
|
|
|
3226
3250
|
var minHeight = 0;
|
|
@@ -3376,8 +3400,7 @@
|
|
|
3376
3400
|
to.element.parentNode.insertBefore(to.element, from.element);
|
|
3377
3401
|
}
|
|
3378
3402
|
|
|
3379
|
-
this.
|
|
3380
|
-
|
|
3403
|
+
this.verticalAlignHeaders();
|
|
3381
3404
|
this.table.rowManager.reinitialize();
|
|
3382
3405
|
}
|
|
3383
3406
|
}, {
|
|
@@ -3548,7 +3571,7 @@
|
|
|
3548
3571
|
column.reinitializeWidth();
|
|
3549
3572
|
}
|
|
3550
3573
|
|
|
3551
|
-
_this6.
|
|
3574
|
+
_this6.verticalAlignHeaders();
|
|
3552
3575
|
|
|
3553
3576
|
_this6.table.rowManager.reinitialize();
|
|
3554
3577
|
|
|
@@ -3582,19 +3605,18 @@
|
|
|
3582
3605
|
this.columns.splice(index, 1);
|
|
3583
3606
|
}
|
|
3584
3607
|
|
|
3585
|
-
this.
|
|
3586
|
-
|
|
3608
|
+
this.verticalAlignHeaders();
|
|
3587
3609
|
this.redraw();
|
|
3588
3610
|
} //redraw columns
|
|
3589
3611
|
|
|
3590
3612
|
}, {
|
|
3591
3613
|
key: "redraw",
|
|
3592
3614
|
value: function redraw(force) {
|
|
3593
|
-
if (
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
}
|
|
3615
|
+
if (Helpers.elVisible(this.element)) {
|
|
3616
|
+
this.verticalAlignHeaders();
|
|
3617
|
+
}
|
|
3597
3618
|
|
|
3619
|
+
if (force) {
|
|
3598
3620
|
this.table.rowManager.resetScroll();
|
|
3599
3621
|
this.table.rowManager.reinitialize();
|
|
3600
3622
|
}
|
|
@@ -3848,6 +3870,11 @@
|
|
|
3848
3870
|
this.normalizeHeight(true);
|
|
3849
3871
|
}
|
|
3850
3872
|
}
|
|
3873
|
+
}, {
|
|
3874
|
+
key: "deinitializeHeight",
|
|
3875
|
+
value: function deinitializeHeight() {
|
|
3876
|
+
this.heightInitialized = false;
|
|
3877
|
+
}
|
|
3851
3878
|
}, {
|
|
3852
3879
|
key: "reinitialize",
|
|
3853
3880
|
value: function reinitialize(children) {
|
|
@@ -3963,7 +3990,7 @@
|
|
|
3963
3990
|
value: function updateData(updatedData) {
|
|
3964
3991
|
var _this2 = this;
|
|
3965
3992
|
|
|
3966
|
-
var visible = this.element && Helpers
|
|
3993
|
+
var visible = this.element && Helpers.elVisible(this.element),
|
|
3967
3994
|
tempData = {},
|
|
3968
3995
|
newRowData;
|
|
3969
3996
|
return new Promise(function (resolve, reject) {
|
|
@@ -4247,14 +4274,14 @@
|
|
|
4247
4274
|
}, {
|
|
4248
4275
|
key: "scrollToRowNearestTop",
|
|
4249
4276
|
value: function scrollToRowNearestTop(row) {
|
|
4250
|
-
var rowTop = Helpers
|
|
4277
|
+
var rowTop = Helpers.elOffset(row.getElement()).top;
|
|
4251
4278
|
return !(Math.abs(this.elementVertical.scrollTop - rowTop) > Math.abs(this.elementVertical.scrollTop + this.elementVertical.clientHeight - rowTop));
|
|
4252
4279
|
}
|
|
4253
4280
|
}, {
|
|
4254
4281
|
key: "scrollToRow",
|
|
4255
4282
|
value: function scrollToRow(row) {
|
|
4256
4283
|
var rowEl = row.getElement();
|
|
4257
|
-
this.elementVertical.scrollTop = Helpers
|
|
4284
|
+
this.elementVertical.scrollTop = Helpers.elOffset(rowEl).top - Helpers.elOffset(this.elementVertical).top + this.elementVertical.scrollTop;
|
|
4258
4285
|
}
|
|
4259
4286
|
}, {
|
|
4260
4287
|
key: "visibleRows",
|
|
@@ -4365,6 +4392,10 @@
|
|
|
4365
4392
|
}
|
|
4366
4393
|
}
|
|
4367
4394
|
|
|
4395
|
+
rows.forEach(function (row) {
|
|
4396
|
+
row.deinitializeHeight();
|
|
4397
|
+
});
|
|
4398
|
+
|
|
4368
4399
|
if (callback) {
|
|
4369
4400
|
callback();
|
|
4370
4401
|
}
|
|
@@ -4530,7 +4561,7 @@
|
|
|
4530
4561
|
position -= topPad;
|
|
4531
4562
|
}
|
|
4532
4563
|
|
|
4533
|
-
if (rowsCount && Helpers
|
|
4564
|
+
if (rowsCount && Helpers.elVisible(this.elementVertical)) {
|
|
4534
4565
|
this.vDomTop = position;
|
|
4535
4566
|
this.vDomBottom = position - 1;
|
|
4536
4567
|
|
|
@@ -4926,6 +4957,7 @@
|
|
|
4926
4957
|
var el = document.createElement("div");
|
|
4927
4958
|
el.classList.add("tabulator-tableholder");
|
|
4928
4959
|
el.setAttribute("tabindex", 0);
|
|
4960
|
+
el.setAttribute("role", "rowgroup");
|
|
4929
4961
|
return el;
|
|
4930
4962
|
}
|
|
4931
4963
|
}, {
|
|
@@ -4933,6 +4965,7 @@
|
|
|
4933
4965
|
value: function createTableElement() {
|
|
4934
4966
|
var el = document.createElement("div");
|
|
4935
4967
|
el.classList.add("tabulator-table");
|
|
4968
|
+
el.setAttribute("role", "rowgroup");
|
|
4936
4969
|
return el;
|
|
4937
4970
|
} //return containing element
|
|
4938
4971
|
|
|
@@ -5065,7 +5098,7 @@
|
|
|
5065
5098
|
});
|
|
5066
5099
|
}
|
|
5067
5100
|
} else {
|
|
5068
|
-
if (_this4.table.options.autoColumns && columnsChanged) {
|
|
5101
|
+
if (_this4.table.options.autoColumns && columnsChanged && _this4.table.initialized) {
|
|
5069
5102
|
_this4.table.columnManager.generateColumnsFromRowData(data);
|
|
5070
5103
|
}
|
|
5071
5104
|
|
|
@@ -5192,7 +5225,7 @@
|
|
|
5192
5225
|
_this6.dispatch("row-added", row, data, pos, index);
|
|
5193
5226
|
});
|
|
5194
5227
|
|
|
5195
|
-
_this6.
|
|
5228
|
+
_this6.refreshActiveData(false, false, true);
|
|
5196
5229
|
|
|
5197
5230
|
_this6.regenerateRowNumbers();
|
|
5198
5231
|
|
|
@@ -5572,7 +5605,7 @@
|
|
|
5572
5605
|
|
|
5573
5606
|
}
|
|
5574
5607
|
|
|
5575
|
-
if (Helpers
|
|
5608
|
+
if (Helpers.elVisible(this.element)) {
|
|
5576
5609
|
if (renderInPosition) {
|
|
5577
5610
|
this.reRenderInPosition();
|
|
5578
5611
|
} else {
|
|
@@ -5747,9 +5780,9 @@
|
|
|
5747
5780
|
this.dispatchExternal("renderStarted");
|
|
5748
5781
|
this.element.scrollTop = 0;
|
|
5749
5782
|
|
|
5750
|
-
|
|
5751
|
-
this._clearTable();
|
|
5783
|
+
this._clearTable();
|
|
5752
5784
|
|
|
5785
|
+
if (this.displayRowsCount) {
|
|
5753
5786
|
this.renderer.renderRows();
|
|
5754
5787
|
|
|
5755
5788
|
if (this.firstRender) {
|
|
@@ -5957,7 +5990,9 @@
|
|
|
5957
5990
|
|
|
5958
5991
|
_createClass(FooterManager, [{
|
|
5959
5992
|
key: "initialize",
|
|
5960
|
-
value: function initialize() {
|
|
5993
|
+
value: function initialize() {
|
|
5994
|
+
this.initializeElement();
|
|
5995
|
+
}
|
|
5961
5996
|
}, {
|
|
5962
5997
|
key: "createElement",
|
|
5963
5998
|
value: function createElement() {
|
|
@@ -5967,7 +6002,7 @@
|
|
|
5967
6002
|
}
|
|
5968
6003
|
}, {
|
|
5969
6004
|
key: "initializeElement",
|
|
5970
|
-
value: function initializeElement(
|
|
6005
|
+
value: function initializeElement() {
|
|
5971
6006
|
if (this.table.options.footerElement) {
|
|
5972
6007
|
switch (_typeof(this.table.options.footerElement)) {
|
|
5973
6008
|
case "string":
|
|
@@ -6150,7 +6185,8 @@
|
|
|
6150
6185
|
if (listener.components.length) {
|
|
6151
6186
|
if (!listener.handler) {
|
|
6152
6187
|
listener.handler = this.track.bind(this, key);
|
|
6153
|
-
this.el.addEventListener(key, listener.handler);
|
|
6188
|
+
this.el.addEventListener(key, listener.handler);
|
|
6189
|
+
console.log("add", key); // this.el.addEventListener(key, listener.handler, {passive: true})
|
|
6154
6190
|
}
|
|
6155
6191
|
} else {
|
|
6156
6192
|
if (listener.handler) {
|
|
@@ -6445,7 +6481,7 @@
|
|
|
6445
6481
|
_this2.hideLoader();
|
|
6446
6482
|
|
|
6447
6483
|
if (rowData !== false) {
|
|
6448
|
-
_this2.dispatchExternal("dataLoaded",
|
|
6484
|
+
_this2.dispatchExternal("dataLoaded", rowData);
|
|
6449
6485
|
|
|
6450
6486
|
_this2.table.rowManager.setData(rowData, replace, !replace);
|
|
6451
6487
|
}
|
|
@@ -6562,9 +6598,10 @@
|
|
|
6562
6598
|
}(CoreFeature);
|
|
6563
6599
|
|
|
6564
6600
|
var ExternalEventBus = /*#__PURE__*/function () {
|
|
6565
|
-
function ExternalEventBus(optionsList, debug) {
|
|
6601
|
+
function ExternalEventBus(table, optionsList, debug) {
|
|
6566
6602
|
_classCallCheck(this, ExternalEventBus);
|
|
6567
6603
|
|
|
6604
|
+
this.table = table;
|
|
6568
6605
|
this.events = {};
|
|
6569
6606
|
this.optionsList = optionsList || {};
|
|
6570
6607
|
this.subscriptionNotifiers = {};
|
|
@@ -6650,7 +6687,7 @@
|
|
|
6650
6687
|
|
|
6651
6688
|
if (this.events[key]) {
|
|
6652
6689
|
this.events[key].forEach(function (callback, i) {
|
|
6653
|
-
var callResult = callback.apply(_this, args);
|
|
6690
|
+
var callResult = callback.apply(_this.table, args);
|
|
6654
6691
|
|
|
6655
6692
|
if (!i) {
|
|
6656
6693
|
result = callResult;
|
|
@@ -7381,7 +7418,7 @@
|
|
|
7381
7418
|
_createClass(Localize, [{
|
|
7382
7419
|
key: "initialize",
|
|
7383
7420
|
value: function initialize() {
|
|
7384
|
-
this.langList = Helpers
|
|
7421
|
+
this.langList = Helpers.deepClone(Localize.langs);
|
|
7385
7422
|
|
|
7386
7423
|
if (this.table.options.columnDefaults.headerFilterPlaceholder !== false) {
|
|
7387
7424
|
this.setHeaderFilterPlaceholder(this.table.options.columnDefaults.headerFilterPlaceholder);
|
|
@@ -7476,7 +7513,7 @@
|
|
|
7476
7513
|
|
|
7477
7514
|
this.locale = desiredLocale; //load default lang template
|
|
7478
7515
|
|
|
7479
|
-
this.lang = Helpers
|
|
7516
|
+
this.lang = Helpers.deepClone(this.langList["default"] || {});
|
|
7480
7517
|
|
|
7481
7518
|
if (desiredLocale != "default") {
|
|
7482
7519
|
traverseLang(this.langList[desiredLocale], this.lang);
|
|
@@ -7654,7 +7691,7 @@
|
|
|
7654
7691
|
|
|
7655
7692
|
tabulator.extendModule = function (name, property, values) {
|
|
7656
7693
|
if (tabulator.moduleBindings[name]) {
|
|
7657
|
-
var source = tabulator.moduleBindings[name]
|
|
7694
|
+
var source = tabulator.moduleBindings[name][property];
|
|
7658
7695
|
|
|
7659
7696
|
if (source) {
|
|
7660
7697
|
if (_typeof(values) == "object") {
|
|
@@ -7754,6 +7791,8 @@
|
|
|
7754
7791
|
|
|
7755
7792
|
this.rtl = false; //check if the table is in RTL mode
|
|
7756
7793
|
|
|
7794
|
+
this.originalElement = null; //hold original table element if it has been replaced
|
|
7795
|
+
|
|
7757
7796
|
this.componentFunctionBinder = new ComponentFuctionBinder(this); //bind component functions
|
|
7758
7797
|
|
|
7759
7798
|
this.dataLoader = false; //bind component functions
|
|
@@ -7812,36 +7851,13 @@
|
|
|
7812
7851
|
|
|
7813
7852
|
this._mapDepricatedFunctionality();
|
|
7814
7853
|
|
|
7815
|
-
this.externalEvents = new ExternalEventBus(this.options, this.options.debugEventsExternal);
|
|
7854
|
+
this.externalEvents = new ExternalEventBus(this, this.options, this.options.debugEventsExternal);
|
|
7816
7855
|
this.eventBus = new InternalEventBus(this.options.debugEventsInternal);
|
|
7817
7856
|
this.interactionMonitor = new InteractionManager(this);
|
|
7818
7857
|
this.dataLoader.initialize();
|
|
7819
7858
|
this.columnManager.initialize();
|
|
7820
7859
|
this.rowManager.initialize();
|
|
7821
7860
|
this.footerManager.initialize();
|
|
7822
|
-
}
|
|
7823
|
-
}, {
|
|
7824
|
-
key: "rtlCheck",
|
|
7825
|
-
value: function rtlCheck() {
|
|
7826
|
-
var style = window.getComputedStyle(this.element);
|
|
7827
|
-
|
|
7828
|
-
switch (this.options.textDirection) {
|
|
7829
|
-
case "auto":
|
|
7830
|
-
if (style.direction !== "rtl") {
|
|
7831
|
-
break;
|
|
7832
|
-
}
|
|
7833
|
-
|
|
7834
|
-
case "rtl":
|
|
7835
|
-
this.element.classList.add("tabulator-rtl");
|
|
7836
|
-
this.rtl = true;
|
|
7837
|
-
break;
|
|
7838
|
-
|
|
7839
|
-
case "ltr":
|
|
7840
|
-
this.element.classList.add("tabulator-ltr");
|
|
7841
|
-
|
|
7842
|
-
default:
|
|
7843
|
-
this.rtl = false;
|
|
7844
|
-
}
|
|
7845
7861
|
} //convert depricated functionality to new functions
|
|
7846
7862
|
|
|
7847
7863
|
}, {
|
|
@@ -7874,13 +7890,40 @@
|
|
|
7874
7890
|
value: function _create() {
|
|
7875
7891
|
this.externalEvents.dispatch("tableBuilding");
|
|
7876
7892
|
this.eventBus.dispatch("table-building");
|
|
7877
|
-
|
|
7893
|
+
|
|
7894
|
+
this._rtlCheck();
|
|
7878
7895
|
|
|
7879
7896
|
this._buildElement();
|
|
7880
7897
|
|
|
7898
|
+
this._initializeTable();
|
|
7899
|
+
|
|
7881
7900
|
this._loadInitialData();
|
|
7882
7901
|
|
|
7883
7902
|
this.initialized = true;
|
|
7903
|
+
this.externalEvents.dispatch("tableBuilt");
|
|
7904
|
+
}
|
|
7905
|
+
}, {
|
|
7906
|
+
key: "_rtlCheck",
|
|
7907
|
+
value: function _rtlCheck() {
|
|
7908
|
+
var style = window.getComputedStyle(this.element);
|
|
7909
|
+
|
|
7910
|
+
switch (this.options.textDirection) {
|
|
7911
|
+
case "auto":
|
|
7912
|
+
if (style.direction !== "rtl") {
|
|
7913
|
+
break;
|
|
7914
|
+
}
|
|
7915
|
+
|
|
7916
|
+
case "rtl":
|
|
7917
|
+
this.element.classList.add("tabulator-rtl");
|
|
7918
|
+
this.rtl = true;
|
|
7919
|
+
break;
|
|
7920
|
+
|
|
7921
|
+
case "ltr":
|
|
7922
|
+
this.element.classList.add("tabulator-ltr");
|
|
7923
|
+
|
|
7924
|
+
default:
|
|
7925
|
+
this.rtl = false;
|
|
7926
|
+
}
|
|
7884
7927
|
} //clear pointers to objects in default config object
|
|
7885
7928
|
|
|
7886
7929
|
}, {
|
|
@@ -7897,7 +7940,26 @@
|
|
|
7897
7940
|
key: "_buildElement",
|
|
7898
7941
|
value: function _buildElement() {
|
|
7899
7942
|
var element = this.element,
|
|
7900
|
-
options = this.options
|
|
7943
|
+
options = this.options,
|
|
7944
|
+
newElement;
|
|
7945
|
+
|
|
7946
|
+
if (element.tagName === "TABLE") {
|
|
7947
|
+
this.originalElement = this.element;
|
|
7948
|
+
newElement = document.createElement("div"); //transfer attributes to new element
|
|
7949
|
+
|
|
7950
|
+
var attributes = element.attributes; // loop through attributes and apply them on div
|
|
7951
|
+
|
|
7952
|
+
for (var i in attributes) {
|
|
7953
|
+
if (_typeof(attributes[i]) == "object") {
|
|
7954
|
+
newElement.setAttribute(attributes[i].name, attributes[i].value);
|
|
7955
|
+
}
|
|
7956
|
+
} // replace table with div element
|
|
7957
|
+
|
|
7958
|
+
|
|
7959
|
+
element.parentNode.replaceChild(newElement, element);
|
|
7960
|
+
this.element = element = newElement;
|
|
7961
|
+
}
|
|
7962
|
+
|
|
7901
7963
|
element.classList.add("tabulator");
|
|
7902
7964
|
element.setAttribute("role", "grid"); //empty element
|
|
7903
7965
|
|
|
@@ -7922,7 +7984,13 @@
|
|
|
7922
7984
|
options.maxHeight = isNaN(options.maxHeight) ? options.maxHeight : options.maxHeight + "px";
|
|
7923
7985
|
element.style.maxHeight = options.maxHeight;
|
|
7924
7986
|
}
|
|
7987
|
+
} //initialize core systems and modules
|
|
7925
7988
|
|
|
7989
|
+
}, {
|
|
7990
|
+
key: "_initializeTable",
|
|
7991
|
+
value: function _initializeTable() {
|
|
7992
|
+
var element = this.element,
|
|
7993
|
+
options = this.options;
|
|
7926
7994
|
this.columnManager.initialize();
|
|
7927
7995
|
this.rowManager.initialize();
|
|
7928
7996
|
|
|
@@ -7952,7 +8020,7 @@
|
|
|
7952
8020
|
this.footerManager.activate();
|
|
7953
8021
|
}
|
|
7954
8022
|
|
|
7955
|
-
if (options.autoColumns &&
|
|
8023
|
+
if (options.autoColumns && options.data) {
|
|
7956
8024
|
this.columnManager.generateColumnsFromRowData(this.options.data);
|
|
7957
8025
|
} //initialize regular modules
|
|
7958
8026
|
|
|
@@ -7965,7 +8033,6 @@
|
|
|
7965
8033
|
|
|
7966
8034
|
this.columnManager.setColumns(options.columns);
|
|
7967
8035
|
this.eventBus.dispatch("table-built");
|
|
7968
|
-
this.externalEvents.dispatch("tableBuilt");
|
|
7969
8036
|
}
|
|
7970
8037
|
}, {
|
|
7971
8038
|
key: "_loadInitialData",
|
|
@@ -8380,7 +8447,11 @@
|
|
|
8380
8447
|
}, {
|
|
8381
8448
|
key: "setColumns",
|
|
8382
8449
|
value: function setColumns(definition) {
|
|
8383
|
-
this.
|
|
8450
|
+
if (this.initialized) {
|
|
8451
|
+
this.columnManager.setColumns(definition);
|
|
8452
|
+
} else {
|
|
8453
|
+
console.warn("setColumns failed - table not yet initialized. To set initial data please use the 'columns' property in the table constructor.");
|
|
8454
|
+
}
|
|
8384
8455
|
}
|
|
8385
8456
|
}, {
|
|
8386
8457
|
key: "getColumns",
|
|
@@ -8633,6 +8704,8 @@
|
|
|
8633
8704
|
}, {
|
|
8634
8705
|
key: "initializeColumn",
|
|
8635
8706
|
value: function initializeColumn(column) {
|
|
8707
|
+
var _this2 = this;
|
|
8708
|
+
|
|
8636
8709
|
var match = false,
|
|
8637
8710
|
config = {};
|
|
8638
8711
|
this.allowedTypes.forEach(function (type) {
|
|
@@ -8640,7 +8713,7 @@
|
|
|
8640
8713
|
accessor;
|
|
8641
8714
|
|
|
8642
8715
|
if (column.definition[key]) {
|
|
8643
|
-
accessor =
|
|
8716
|
+
accessor = _this2.lookupAccessor(column.definition[key]);
|
|
8644
8717
|
|
|
8645
8718
|
if (accessor) {
|
|
8646
8719
|
match = true;
|
|
@@ -8685,7 +8758,7 @@
|
|
|
8685
8758
|
var key = "accessor" + (type.charAt(0).toUpperCase() + type.slice(1)),
|
|
8686
8759
|
rowComponent = row.getComponent(); //clone data object with deep copy to isolate internal data from returned result
|
|
8687
8760
|
|
|
8688
|
-
var data = Helpers
|
|
8761
|
+
var data = Helpers.deepClone(row.data || {});
|
|
8689
8762
|
this.table.columnManager.traverse(function (column) {
|
|
8690
8763
|
var value, accessor, params, colCompnent;
|
|
8691
8764
|
|
|
@@ -8846,6 +8919,28 @@
|
|
|
8846
8919
|
});
|
|
8847
8920
|
}
|
|
8848
8921
|
|
|
8922
|
+
function generateParamsList$1(data, prefix) {
|
|
8923
|
+
var output = [];
|
|
8924
|
+
prefix = prefix || "";
|
|
8925
|
+
|
|
8926
|
+
if (Array.isArray(data)) {
|
|
8927
|
+
data.forEach(function (item, i) {
|
|
8928
|
+
output = output.concat(generateParamsList$1(item, prefix ? prefix + "[" + i + "]" : i));
|
|
8929
|
+
});
|
|
8930
|
+
} else if (_typeof(data) === "object") {
|
|
8931
|
+
for (var key in data) {
|
|
8932
|
+
output = output.concat(generateParamsList$1(data[key], prefix ? prefix + "[" + key + "]" : key));
|
|
8933
|
+
}
|
|
8934
|
+
} else {
|
|
8935
|
+
output.push({
|
|
8936
|
+
key: prefix,
|
|
8937
|
+
value: data
|
|
8938
|
+
});
|
|
8939
|
+
}
|
|
8940
|
+
|
|
8941
|
+
return output;
|
|
8942
|
+
}
|
|
8943
|
+
|
|
8849
8944
|
var defaultContentTypeFormatters = {
|
|
8850
8945
|
"json": {
|
|
8851
8946
|
headers: {
|
|
@@ -8858,7 +8953,7 @@
|
|
|
8858
8953
|
"form": {
|
|
8859
8954
|
headers: {},
|
|
8860
8955
|
body: function body(url, config, params) {
|
|
8861
|
-
var output =
|
|
8956
|
+
var output = generateParamsList$1(params),
|
|
8862
8957
|
form = new FormData();
|
|
8863
8958
|
output.forEach(function (item) {
|
|
8864
8959
|
form.append(item.key, item.value);
|
|
@@ -10704,7 +10799,7 @@
|
|
|
10704
10799
|
key: "checkForRestyle",
|
|
10705
10800
|
value: function checkForRestyle(cell) {
|
|
10706
10801
|
if (!cell.row.cells.indexOf(cell)) {
|
|
10707
|
-
cell.row
|
|
10802
|
+
this.layoutRow(cell.row);
|
|
10708
10803
|
}
|
|
10709
10804
|
}
|
|
10710
10805
|
}, {
|
|
@@ -12004,7 +12099,7 @@
|
|
|
12004
12099
|
parseItems(editorParams.values || [], initialDisplayValue);
|
|
12005
12100
|
}
|
|
12006
12101
|
|
|
12007
|
-
var offset = Helpers
|
|
12102
|
+
var offset = Helpers.elOffset(cellEl);
|
|
12008
12103
|
listEl.style.minWidth = cellEl.offsetWidth + "px";
|
|
12009
12104
|
listEl.style.top = offset.top + cellEl.offsetHeight + "px";
|
|
12010
12105
|
listEl.style.left = offset.left + "px";
|
|
@@ -12460,7 +12555,7 @@
|
|
|
12460
12555
|
listEl.removeChild(listEl.firstChild);
|
|
12461
12556
|
}
|
|
12462
12557
|
|
|
12463
|
-
var offset = Helpers
|
|
12558
|
+
var offset = Helpers.elOffset(cellEl);
|
|
12464
12559
|
listEl.style.minWidth = cellEl.offsetWidth + "px";
|
|
12465
12560
|
listEl.style.top = offset.top + cellEl.offsetHeight + "px";
|
|
12466
12561
|
listEl.style.left = offset.left + "px";
|
|
@@ -12767,9 +12862,11 @@
|
|
|
12767
12862
|
|
|
12768
12863
|
//draggable progress bar
|
|
12769
12864
|
function progress (cell, onRendered, success, cancel, editorParams) {
|
|
12865
|
+
var _element$getElementsB, _element$getElementsB2;
|
|
12866
|
+
|
|
12770
12867
|
var element = cell.getElement(),
|
|
12771
|
-
max = typeof editorParams.max === "undefined" ? element.getElementsByTagName("div")[0].getAttribute("max") || 100 : editorParams.max,
|
|
12772
|
-
min = typeof editorParams.min === "undefined" ? element.getElementsByTagName("div")[0].getAttribute("min") || 0 : editorParams.min,
|
|
12868
|
+
max = typeof editorParams.max === "undefined" ? ((_element$getElementsB = element.getElementsByTagName("div")[0]) === null || _element$getElementsB === void 0 ? void 0 : _element$getElementsB.getAttribute("max")) || 100 : editorParams.max,
|
|
12869
|
+
min = typeof editorParams.min === "undefined" ? ((_element$getElementsB2 = element.getElementsByTagName("div")[0]) === null || _element$getElementsB2 === void 0 ? void 0 : _element$getElementsB2.getAttribute("min")) || 0 : editorParams.min,
|
|
12773
12870
|
percent = (max - min) / 100,
|
|
12774
12871
|
value = cell.getValue() || 0,
|
|
12775
12872
|
handle = document.createElement("div"),
|
|
@@ -13162,7 +13259,7 @@
|
|
|
13162
13259
|
nextCell = this.findNextEditableCell(prevRow, prevRow.cells.length);
|
|
13163
13260
|
|
|
13164
13261
|
if (nextCell) {
|
|
13165
|
-
nextCell.edit();
|
|
13262
|
+
nextCell.getComponent().edit();
|
|
13166
13263
|
return true;
|
|
13167
13264
|
}
|
|
13168
13265
|
}
|
|
@@ -13194,7 +13291,7 @@
|
|
|
13194
13291
|
nextCell = this.findNextEditableCell(nextRow, -1);
|
|
13195
13292
|
|
|
13196
13293
|
if (nextCell) {
|
|
13197
|
-
nextCell.edit();
|
|
13294
|
+
nextCell.getComponent().edit();
|
|
13198
13295
|
return true;
|
|
13199
13296
|
}
|
|
13200
13297
|
}
|
|
@@ -13219,7 +13316,7 @@
|
|
|
13219
13316
|
nextCell = this.findPrevEditableCell(cell.row, index);
|
|
13220
13317
|
|
|
13221
13318
|
if (nextCell) {
|
|
13222
|
-
nextCell.edit();
|
|
13319
|
+
nextCell.getComponent().edit();
|
|
13223
13320
|
return true;
|
|
13224
13321
|
}
|
|
13225
13322
|
}
|
|
@@ -13242,7 +13339,7 @@
|
|
|
13242
13339
|
nextCell = this.findNextEditableCell(cell.row, index);
|
|
13243
13340
|
|
|
13244
13341
|
if (nextCell) {
|
|
13245
|
-
nextCell.edit();
|
|
13342
|
+
nextCell.getComponent().edit();
|
|
13246
13343
|
return true;
|
|
13247
13344
|
}
|
|
13248
13345
|
}
|
|
@@ -13265,7 +13362,7 @@
|
|
|
13265
13362
|
nextRow = this.table.rowManager.prevDisplayRow(cell.row, true);
|
|
13266
13363
|
|
|
13267
13364
|
if (nextRow) {
|
|
13268
|
-
nextRow.cells[index].edit();
|
|
13365
|
+
nextRow.cells[index].getComponent().edit();
|
|
13269
13366
|
return true;
|
|
13270
13367
|
}
|
|
13271
13368
|
}
|
|
@@ -13288,7 +13385,7 @@
|
|
|
13288
13385
|
nextRow = this.table.rowManager.nextDisplayRow(cell.row, true);
|
|
13289
13386
|
|
|
13290
13387
|
if (nextRow) {
|
|
13291
|
-
nextRow.cells[index].edit();
|
|
13388
|
+
nextRow.cells[index].getComponent().edit();
|
|
13292
13389
|
return true;
|
|
13293
13390
|
}
|
|
13294
13391
|
}
|
|
@@ -15440,12 +15537,14 @@
|
|
|
15440
15537
|
|
|
15441
15538
|
function money (cell, formatterParams, onRendered) {
|
|
15442
15539
|
var floatVal = parseFloat(cell.getValue()),
|
|
15540
|
+
sign = "",
|
|
15443
15541
|
number,
|
|
15444
15542
|
integer,
|
|
15445
15543
|
decimal,
|
|
15446
15544
|
rgx;
|
|
15447
15545
|
var decimalSym = formatterParams.decimal || ".";
|
|
15448
15546
|
var thousandSym = formatterParams.thousand || ",";
|
|
15547
|
+
var negativeSign = formatterParams.negativeSign || "-";
|
|
15449
15548
|
var symbol = formatterParams.symbol || "";
|
|
15450
15549
|
var after = !!formatterParams.symbolAfter;
|
|
15451
15550
|
var precision = typeof formatterParams.precision !== "undefined" ? formatterParams.precision : 2;
|
|
@@ -15454,6 +15553,11 @@
|
|
|
15454
15553
|
return this.emptyToSpace(this.sanitizeHTML(cell.getValue()));
|
|
15455
15554
|
}
|
|
15456
15555
|
|
|
15556
|
+
if (floatVal < 0) {
|
|
15557
|
+
floatVal = Math.abs(floatVal);
|
|
15558
|
+
sign = negativeSign;
|
|
15559
|
+
}
|
|
15560
|
+
|
|
15457
15561
|
number = precision !== false ? floatVal.toFixed(precision) : floatVal;
|
|
15458
15562
|
number = String(number).split(".");
|
|
15459
15563
|
integer = number[0];
|
|
@@ -15464,7 +15568,7 @@
|
|
|
15464
15568
|
integer = integer.replace(rgx, "$1" + thousandSym + "$2");
|
|
15465
15569
|
}
|
|
15466
15570
|
|
|
15467
|
-
return after ? integer + decimal + symbol : symbol + integer + decimal;
|
|
15571
|
+
return after ? sign + integer + decimal + symbol : sign + symbol + integer + decimal;
|
|
15468
15572
|
}
|
|
15469
15573
|
|
|
15470
15574
|
function link (cell, formatterParams, onRendered) {
|
|
@@ -16371,29 +16475,52 @@
|
|
|
16371
16475
|
if (this.table.modules.columnCalcs.botInitialized && this.table.modules.columnCalcs.botRow) {
|
|
16372
16476
|
this.layoutRow(this.table.modules.columnCalcs.botRow);
|
|
16373
16477
|
}
|
|
16478
|
+
|
|
16479
|
+
if (this.table.modExists("groupRows")) {
|
|
16480
|
+
this.layoutGroupCalcs(this.table.modules.groupRows.getGroups());
|
|
16481
|
+
}
|
|
16374
16482
|
}
|
|
16483
|
+
}
|
|
16484
|
+
}, {
|
|
16485
|
+
key: "layoutGroupCalcs",
|
|
16486
|
+
value: function layoutGroupCalcs(groups) {
|
|
16487
|
+
var _this3 = this;
|
|
16488
|
+
|
|
16489
|
+
groups.forEach(function (group) {
|
|
16490
|
+
if (group.calcs.top) {
|
|
16491
|
+
_this3.layoutRow(group.calcs.top);
|
|
16492
|
+
}
|
|
16493
|
+
|
|
16494
|
+
if (group.calcs.bottom) {
|
|
16495
|
+
_this3.layoutRow(group.calcs.bottom);
|
|
16496
|
+
}
|
|
16497
|
+
|
|
16498
|
+
if (group.groupList && group.groupList.length) {
|
|
16499
|
+
_this3.layoutGroupCalcs(group.groupList && group.groupList);
|
|
16500
|
+
}
|
|
16501
|
+
});
|
|
16375
16502
|
} //calculate column positions and layout headers
|
|
16376
16503
|
|
|
16377
16504
|
}, {
|
|
16378
16505
|
key: "layoutColumnPosition",
|
|
16379
16506
|
value: function layoutColumnPosition(allCells) {
|
|
16380
|
-
var
|
|
16507
|
+
var _this4 = this;
|
|
16381
16508
|
|
|
16382
16509
|
var leftParents = [];
|
|
16383
16510
|
this.leftColumns.forEach(function (column, i) {
|
|
16384
|
-
column.modules.frozen.margin =
|
|
16511
|
+
column.modules.frozen.margin = _this4._calcSpace(_this4.leftColumns, i) + _this4.table.columnManager.scrollLeft + "px";
|
|
16385
16512
|
|
|
16386
|
-
if (i ==
|
|
16513
|
+
if (i == _this4.leftColumns.length - 1) {
|
|
16387
16514
|
column.modules.frozen.edge = true;
|
|
16388
16515
|
} else {
|
|
16389
16516
|
column.modules.frozen.edge = false;
|
|
16390
16517
|
}
|
|
16391
16518
|
|
|
16392
16519
|
if (column.parent.isGroup) {
|
|
16393
|
-
var parentEl =
|
|
16520
|
+
var parentEl = _this4.getColGroupParentElement(column);
|
|
16394
16521
|
|
|
16395
16522
|
if (!leftParents.includes(parentEl)) {
|
|
16396
|
-
|
|
16523
|
+
_this4.layoutElement(parentEl, column);
|
|
16397
16524
|
|
|
16398
16525
|
leftParents.push(parentEl);
|
|
16399
16526
|
}
|
|
@@ -16402,33 +16529,33 @@
|
|
|
16402
16529
|
parentEl.classList.add("tabulator-frozen-" + column.modules.frozen.position);
|
|
16403
16530
|
}
|
|
16404
16531
|
} else {
|
|
16405
|
-
|
|
16532
|
+
_this4.layoutElement(column.getElement(), column);
|
|
16406
16533
|
}
|
|
16407
16534
|
|
|
16408
16535
|
if (allCells) {
|
|
16409
16536
|
column.cells.forEach(function (cell) {
|
|
16410
|
-
|
|
16537
|
+
_this4.layoutElement(cell.getElement(true), column);
|
|
16411
16538
|
});
|
|
16412
16539
|
}
|
|
16413
16540
|
});
|
|
16414
16541
|
this.rightColumns.forEach(function (column, i) {
|
|
16415
|
-
column.modules.frozen.margin =
|
|
16542
|
+
column.modules.frozen.margin = _this4.rightPadding - _this4._calcSpace(_this4.rightColumns, i + 1) + "px";
|
|
16416
16543
|
|
|
16417
|
-
if (i ==
|
|
16544
|
+
if (i == _this4.rightColumns.length - 1) {
|
|
16418
16545
|
column.modules.frozen.edge = true;
|
|
16419
16546
|
} else {
|
|
16420
16547
|
column.modules.frozen.edge = false;
|
|
16421
16548
|
}
|
|
16422
16549
|
|
|
16423
16550
|
if (column.parent.isGroup) {
|
|
16424
|
-
|
|
16551
|
+
_this4.layoutElement(_this4.getColGroupParentElement(column), column);
|
|
16425
16552
|
} else {
|
|
16426
|
-
|
|
16553
|
+
_this4.layoutElement(column.getElement(), column);
|
|
16427
16554
|
}
|
|
16428
16555
|
|
|
16429
16556
|
if (allCells) {
|
|
16430
16557
|
column.cells.forEach(function (cell) {
|
|
16431
|
-
|
|
16558
|
+
_this4.layoutElement(cell.getElement(true), column);
|
|
16432
16559
|
});
|
|
16433
16560
|
}
|
|
16434
16561
|
});
|
|
@@ -16442,14 +16569,14 @@
|
|
|
16442
16569
|
}, {
|
|
16443
16570
|
key: "layout",
|
|
16444
16571
|
value: function layout() {
|
|
16445
|
-
var
|
|
16572
|
+
var _this5 = this;
|
|
16446
16573
|
|
|
16447
16574
|
if (this.active) {
|
|
16448
16575
|
//calculate row padding
|
|
16449
16576
|
this.calcMargins();
|
|
16450
16577
|
this.table.rowManager.getDisplayRows().forEach(function (row) {
|
|
16451
16578
|
if (row.type === "row") {
|
|
16452
|
-
|
|
16579
|
+
_this5.layoutRow(row);
|
|
16453
16580
|
}
|
|
16454
16581
|
});
|
|
16455
16582
|
this.layoutCalcRows(); //calculate left columns
|
|
@@ -16461,7 +16588,7 @@
|
|
|
16461
16588
|
}, {
|
|
16462
16589
|
key: "layoutRow",
|
|
16463
16590
|
value: function layoutRow(row) {
|
|
16464
|
-
var
|
|
16591
|
+
var _this6 = this;
|
|
16465
16592
|
|
|
16466
16593
|
var rowEl = row.getElement();
|
|
16467
16594
|
rowEl.style.paddingLeft = this.leftMargin;
|
|
@@ -16469,14 +16596,14 @@
|
|
|
16469
16596
|
var cell = row.getCell(column);
|
|
16470
16597
|
|
|
16471
16598
|
if (cell) {
|
|
16472
|
-
|
|
16599
|
+
_this6.layoutElement(cell.getElement(true), column);
|
|
16473
16600
|
}
|
|
16474
16601
|
});
|
|
16475
16602
|
this.rightColumns.forEach(function (column) {
|
|
16476
16603
|
var cell = row.getCell(column);
|
|
16477
16604
|
|
|
16478
16605
|
if (cell) {
|
|
16479
|
-
|
|
16606
|
+
_this6.layoutElement(cell.getElement(true), column);
|
|
16480
16607
|
}
|
|
16481
16608
|
});
|
|
16482
16609
|
}
|
|
@@ -17320,7 +17447,7 @@
|
|
|
17320
17447
|
this.initialized = false;
|
|
17321
17448
|
this.height = 0;
|
|
17322
17449
|
|
|
17323
|
-
if (Helpers
|
|
17450
|
+
if (Helpers.elVisible(this.element)) {
|
|
17324
17451
|
this.initialize(true);
|
|
17325
17452
|
}
|
|
17326
17453
|
}
|
|
@@ -17354,7 +17481,10 @@
|
|
|
17354
17481
|
value: function setCellHeight() {}
|
|
17355
17482
|
}, {
|
|
17356
17483
|
key: "clearCellHeight",
|
|
17357
|
-
value: function clearCellHeight() {}
|
|
17484
|
+
value: function clearCellHeight() {}
|
|
17485
|
+
}, {
|
|
17486
|
+
key: "deinitializeHeight",
|
|
17487
|
+
value: function deinitializeHeight() {} //////////////// Object Generation /////////////////
|
|
17358
17488
|
|
|
17359
17489
|
}, {
|
|
17360
17490
|
key: "getComponent",
|
|
@@ -17727,13 +17857,11 @@
|
|
|
17727
17857
|
key: "getRows",
|
|
17728
17858
|
value: function getRows(rows) {
|
|
17729
17859
|
if (this.groupIDLookups.length) {
|
|
17730
|
-
|
|
17731
|
-
|
|
17732
|
-
this.generateGroups(rows);
|
|
17860
|
+
this.dispatchExternal("dataGrouping");
|
|
17861
|
+
this.generateGroups(rows);
|
|
17733
17862
|
|
|
17734
|
-
|
|
17735
|
-
|
|
17736
|
-
}
|
|
17863
|
+
if (this.subscribedExternal("dataGrouped")) {
|
|
17864
|
+
this.dispatchExternal("dataGrouped", this.getGroups(true));
|
|
17737
17865
|
}
|
|
17738
17866
|
|
|
17739
17867
|
return this.updateGroupRows();
|
|
@@ -17969,6 +18097,7 @@
|
|
|
17969
18097
|
var defaultUndoers = {
|
|
17970
18098
|
cellEdit: function cellEdit(action) {
|
|
17971
18099
|
action.component.setValueProcessData(action.data.oldValue);
|
|
18100
|
+
action.component.cellRendered();
|
|
17972
18101
|
},
|
|
17973
18102
|
rowAdd: function rowAdd(action) {
|
|
17974
18103
|
action.component.deleteActual();
|
|
@@ -17991,6 +18120,7 @@
|
|
|
17991
18120
|
var defaultRedoers = {
|
|
17992
18121
|
cellEdit: function cellEdit(action) {
|
|
17993
18122
|
action.component.setValueProcessData(action.data.newValue);
|
|
18123
|
+
action.component.cellRendered();
|
|
17994
18124
|
},
|
|
17995
18125
|
rowAdd: function rowAdd(action) {
|
|
17996
18126
|
var newRow = this.table.rowManager.addRowActual(action.data.data, action.data.pos, action.data.index);
|
|
@@ -18222,19 +18352,19 @@
|
|
|
18222
18352
|
_createClass(HtmlTableImport, [{
|
|
18223
18353
|
key: "initialize",
|
|
18224
18354
|
value: function initialize() {
|
|
18225
|
-
this.
|
|
18355
|
+
this.tableElementCheck();
|
|
18226
18356
|
}
|
|
18227
18357
|
}, {
|
|
18228
18358
|
key: "tableElementCheck",
|
|
18229
18359
|
value: function tableElementCheck() {
|
|
18230
|
-
if (this.table.
|
|
18360
|
+
if (this.table.originalElement && this.table.originalElement.tagName === "TABLE") {
|
|
18231
18361
|
this.parseTable();
|
|
18232
18362
|
}
|
|
18233
18363
|
}
|
|
18234
18364
|
}, {
|
|
18235
18365
|
key: "parseTable",
|
|
18236
18366
|
value: function parseTable() {
|
|
18237
|
-
var element = this.table.
|
|
18367
|
+
var element = this.table.originalElement,
|
|
18238
18368
|
options = this.table.options,
|
|
18239
18369
|
columns = options.columns,
|
|
18240
18370
|
headers = element.getElementsByTagName("th"),
|
|
@@ -18272,24 +18402,10 @@
|
|
|
18272
18402
|
|
|
18273
18403
|
|
|
18274
18404
|
data.push(item);
|
|
18275
|
-
}
|
|
18276
|
-
|
|
18277
|
-
|
|
18278
|
-
var newElement = document.createElement("div"); //transfer attributes to new element
|
|
18279
|
-
|
|
18280
|
-
var attributes = element.attributes; // loop through attributes and apply them on div
|
|
18281
|
-
|
|
18282
|
-
for (var i in attributes) {
|
|
18283
|
-
if (_typeof(attributes[i]) == "object") {
|
|
18284
|
-
newElement.setAttribute(attributes[i].name, attributes[i].value);
|
|
18285
|
-
}
|
|
18286
|
-
} // replace table with div element
|
|
18287
|
-
|
|
18405
|
+
}
|
|
18288
18406
|
|
|
18289
|
-
element.parentNode.replaceChild(newElement, element);
|
|
18290
18407
|
options.data = data;
|
|
18291
18408
|
this.dispatchExternal("htmlImported");
|
|
18292
|
-
this.table.element = newElement;
|
|
18293
18409
|
} //extract tabulator attribute options
|
|
18294
18410
|
|
|
18295
18411
|
}, {
|
|
@@ -18369,7 +18485,7 @@
|
|
|
18369
18485
|
|
|
18370
18486
|
header.attributes; // //check for tablator inline options
|
|
18371
18487
|
|
|
18372
|
-
this._extractOptions(header, col, Column.prototype.defaultOptionList);
|
|
18488
|
+
this._extractOptions(header, col, Column$1.prototype.defaultOptionList);
|
|
18373
18489
|
|
|
18374
18490
|
this.fieldIndex[index] = col.field;
|
|
18375
18491
|
|
|
@@ -19341,7 +19457,7 @@
|
|
|
19341
19457
|
y = touch ? e.touches[0].pageY : e.pageY;
|
|
19342
19458
|
this.positionReversedX = false;
|
|
19343
19459
|
} else {
|
|
19344
|
-
parentOffset = Helpers
|
|
19460
|
+
parentOffset = Helpers.elOffset(parentEl);
|
|
19345
19461
|
x = parentOffset.left + parentEl.offsetWidth;
|
|
19346
19462
|
y = parentOffset.top - 1;
|
|
19347
19463
|
}
|
|
@@ -19481,7 +19597,7 @@
|
|
|
19481
19597
|
|
|
19482
19598
|
config.mousemove = function (e) {
|
|
19483
19599
|
if (column.parent === self.moving.parent) {
|
|
19484
|
-
if ((self.touchMove ? e.touches[0].pageX : e.pageX) - Helpers
|
|
19600
|
+
if ((self.touchMove ? e.touches[0].pageX : e.pageX) - Helpers.elOffset(colEl).left + self.table.columnManager.element.scrollLeft > column.getWidth() / 2) {
|
|
19485
19601
|
if (self.toCol !== column || !self.toColAfter) {
|
|
19486
19602
|
colEl.parentNode.insertBefore(self.placeholderElement, colEl.nextSibling);
|
|
19487
19603
|
self.moveColumn(column, true);
|
|
@@ -19608,7 +19724,7 @@
|
|
|
19608
19724
|
value: function startMove(e, column) {
|
|
19609
19725
|
var element = column.getElement();
|
|
19610
19726
|
this.moving = column;
|
|
19611
|
-
this.startX = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers
|
|
19727
|
+
this.startX = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers.elOffset(element).left;
|
|
19612
19728
|
this.table.element.classList.add("tabulator-block-select"); //create placeholder
|
|
19613
19729
|
|
|
19614
19730
|
this.placeholderElement.style.width = column.getWidth() + "px";
|
|
@@ -19706,7 +19822,7 @@
|
|
|
19706
19822
|
|
|
19707
19823
|
var columnHolder = this.table.columnManager.getElement(),
|
|
19708
19824
|
scrollLeft = columnHolder.scrollLeft,
|
|
19709
|
-
xPos = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers
|
|
19825
|
+
xPos = (this.touchMove ? e.touches[0].pageX : e.pageX) - Helpers.elOffset(columnHolder).left + scrollLeft,
|
|
19710
19826
|
scrollPos;
|
|
19711
19827
|
this.hoverElement.style.left = xPos - this.startX + "px";
|
|
19712
19828
|
|
|
@@ -19830,7 +19946,7 @@
|
|
|
19830
19946
|
|
|
19831
19947
|
|
|
19832
19948
|
config.mousemove = function (e) {
|
|
19833
|
-
if (e.pageY - Helpers
|
|
19949
|
+
if (e.pageY - Helpers.elOffset(group.element).top + self.table.rowManager.element.scrollTop > group.getHeight() / 2) {
|
|
19834
19950
|
if (self.toRow !== group || !self.toRowAfter) {
|
|
19835
19951
|
var rowEl = group.getElement();
|
|
19836
19952
|
rowEl.parentNode.insertBefore(self.placeholderElement, rowEl.nextSibling);
|
|
@@ -19865,7 +19981,7 @@
|
|
|
19865
19981
|
config.mousemove = function (e) {
|
|
19866
19982
|
var rowEl = row.getElement();
|
|
19867
19983
|
|
|
19868
|
-
if (e.pageY - Helpers
|
|
19984
|
+
if (e.pageY - Helpers.elOffset(rowEl).top + self.table.rowManager.element.scrollTop > row.getHeight() / 2) {
|
|
19869
19985
|
if (self.toRow !== row || !self.toRowAfter) {
|
|
19870
19986
|
rowEl.parentNode.insertBefore(self.placeholderElement, rowEl.nextSibling);
|
|
19871
19987
|
self.moveRow(row, true);
|
|
@@ -20710,6 +20826,8 @@
|
|
|
20710
20826
|
this.size = Math.floor(this.table.rowManager.getElement().clientHeight / testElRow.offsetHeight);
|
|
20711
20827
|
this.table.rowManager.getTableElement().removeChild(testElRow);
|
|
20712
20828
|
}
|
|
20829
|
+
|
|
20830
|
+
this.generatePageSizeSelectList();
|
|
20713
20831
|
}
|
|
20714
20832
|
}, {
|
|
20715
20833
|
key: "initialLoadComplete",
|
|
@@ -20964,7 +21082,6 @@
|
|
|
20964
21082
|
|
|
20965
21083
|
this.page = this.table.options.paginationInitialPage;
|
|
20966
21084
|
this.count = this.table.options.paginationButtonCount;
|
|
20967
|
-
this.generatePageSizeSelectList();
|
|
20968
21085
|
} //set default values
|
|
20969
21086
|
|
|
20970
21087
|
|
|
@@ -22040,10 +22157,8 @@
|
|
|
22040
22157
|
}, {
|
|
22041
22158
|
key: "watchData",
|
|
22042
22159
|
value: function watchData(data) {
|
|
22043
|
-
var
|
|
22044
|
-
|
|
22045
|
-
|
|
22046
|
-
var version;
|
|
22160
|
+
var self = this,
|
|
22161
|
+
version;
|
|
22047
22162
|
this.currentVersion++;
|
|
22048
22163
|
version = this.currentVersion;
|
|
22049
22164
|
this.unwatchData();
|
|
@@ -22054,15 +22169,15 @@
|
|
|
22054
22169
|
enumerable: false,
|
|
22055
22170
|
configurable: true,
|
|
22056
22171
|
value: function value() {
|
|
22057
|
-
var args = Array.from(
|
|
22172
|
+
var args = Array.from(arguments);
|
|
22058
22173
|
|
|
22059
|
-
if (!
|
|
22174
|
+
if (!self.blocked && version === self.currentVersion) {
|
|
22060
22175
|
args.forEach(function (arg) {
|
|
22061
|
-
|
|
22176
|
+
self.table.rowManager.addRowActual(arg, false);
|
|
22062
22177
|
});
|
|
22063
22178
|
}
|
|
22064
22179
|
|
|
22065
|
-
return
|
|
22180
|
+
return self.origFuncs.push.apply(data, arguments);
|
|
22066
22181
|
}
|
|
22067
22182
|
}); //override array unshift function
|
|
22068
22183
|
|
|
@@ -22071,15 +22186,15 @@
|
|
|
22071
22186
|
enumerable: false,
|
|
22072
22187
|
configurable: true,
|
|
22073
22188
|
value: function value() {
|
|
22074
|
-
var args = Array.from(
|
|
22189
|
+
var args = Array.from(arguments);
|
|
22075
22190
|
|
|
22076
|
-
if (!
|
|
22191
|
+
if (!self.blocked && version === self.currentVersion) {
|
|
22077
22192
|
args.forEach(function (arg) {
|
|
22078
|
-
|
|
22193
|
+
self.table.rowManager.addRowActual(arg, true);
|
|
22079
22194
|
});
|
|
22080
22195
|
}
|
|
22081
22196
|
|
|
22082
|
-
return
|
|
22197
|
+
return self.origFuncs.unshift.apply(data, arguments);
|
|
22083
22198
|
}
|
|
22084
22199
|
}); //override array shift function
|
|
22085
22200
|
|
|
@@ -22090,9 +22205,9 @@
|
|
|
22090
22205
|
value: function value() {
|
|
22091
22206
|
var row;
|
|
22092
22207
|
|
|
22093
|
-
if (!
|
|
22094
|
-
if (
|
|
22095
|
-
row =
|
|
22208
|
+
if (!self.blocked && version === self.currentVersion) {
|
|
22209
|
+
if (self.data.length) {
|
|
22210
|
+
row = self.table.rowManager.getRowFromDataObject(self.data[0]);
|
|
22096
22211
|
|
|
22097
22212
|
if (row) {
|
|
22098
22213
|
row.deleteActual();
|
|
@@ -22100,7 +22215,7 @@
|
|
|
22100
22215
|
}
|
|
22101
22216
|
}
|
|
22102
22217
|
|
|
22103
|
-
return
|
|
22218
|
+
return self.origFuncs.shift.call(data);
|
|
22104
22219
|
}
|
|
22105
22220
|
}); //override array pop function
|
|
22106
22221
|
|
|
@@ -22111,9 +22226,9 @@
|
|
|
22111
22226
|
value: function value() {
|
|
22112
22227
|
var row;
|
|
22113
22228
|
|
|
22114
|
-
if (!
|
|
22115
|
-
if (
|
|
22116
|
-
row =
|
|
22229
|
+
if (!self.blocked && version === self.currentVersion) {
|
|
22230
|
+
if (self.data.length) {
|
|
22231
|
+
row = self.table.rowManager.getRowFromDataObject(self.data[self.data.length - 1]);
|
|
22117
22232
|
|
|
22118
22233
|
if (row) {
|
|
22119
22234
|
row.deleteActual();
|
|
@@ -22121,7 +22236,7 @@
|
|
|
22121
22236
|
}
|
|
22122
22237
|
}
|
|
22123
22238
|
|
|
22124
|
-
return
|
|
22239
|
+
return self.origFuncs.pop.call(data);
|
|
22125
22240
|
}
|
|
22126
22241
|
}); //override array splice function
|
|
22127
22242
|
|
|
@@ -22130,25 +22245,25 @@
|
|
|
22130
22245
|
enumerable: false,
|
|
22131
22246
|
configurable: true,
|
|
22132
22247
|
value: function value() {
|
|
22133
|
-
var args = Array.from(
|
|
22248
|
+
var args = Array.from(arguments),
|
|
22134
22249
|
start = args[0] < 0 ? data.length + args[0] : args[0],
|
|
22135
22250
|
end = args[1],
|
|
22136
22251
|
newRows = args[2] ? args.slice(2) : false,
|
|
22137
22252
|
startRow;
|
|
22138
22253
|
|
|
22139
|
-
if (!
|
|
22254
|
+
if (!self.blocked && version === self.currentVersion) {
|
|
22140
22255
|
//add new rows
|
|
22141
22256
|
if (newRows) {
|
|
22142
|
-
startRow = data[start] ?
|
|
22257
|
+
startRow = data[start] ? self.table.rowManager.getRowFromDataObject(data[start]) : false;
|
|
22143
22258
|
|
|
22144
22259
|
if (startRow) {
|
|
22145
22260
|
newRows.forEach(function (rowData) {
|
|
22146
|
-
|
|
22261
|
+
self.table.rowManager.addRowActual(rowData, true, startRow, true);
|
|
22147
22262
|
});
|
|
22148
22263
|
} else {
|
|
22149
22264
|
newRows = newRows.slice().reverse();
|
|
22150
22265
|
newRows.forEach(function (rowData) {
|
|
22151
|
-
|
|
22266
|
+
self.table.rowManager.addRowActual(rowData, true, false, true);
|
|
22152
22267
|
});
|
|
22153
22268
|
}
|
|
22154
22269
|
} //delete removed rows
|
|
@@ -22157,7 +22272,7 @@
|
|
|
22157
22272
|
if (end !== 0) {
|
|
22158
22273
|
var oldRows = data.slice(start, typeof args[1] === "undefined" ? args[1] : start + end);
|
|
22159
22274
|
oldRows.forEach(function (rowData, i) {
|
|
22160
|
-
var row =
|
|
22275
|
+
var row = self.table.rowManager.getRowFromDataObject(rowData);
|
|
22161
22276
|
|
|
22162
22277
|
if (row) {
|
|
22163
22278
|
row.deleteActual(i !== oldRows.length - 1);
|
|
@@ -22166,11 +22281,11 @@
|
|
|
22166
22281
|
}
|
|
22167
22282
|
|
|
22168
22283
|
if (newRows || end !== 0) {
|
|
22169
|
-
|
|
22284
|
+
self.table.rowManager.reRenderInPosition();
|
|
22170
22285
|
}
|
|
22171
22286
|
}
|
|
22172
22287
|
|
|
22173
|
-
return
|
|
22288
|
+
return self.origFuncs.splice.apply(data, arguments);
|
|
22174
22289
|
}
|
|
22175
22290
|
});
|
|
22176
22291
|
}
|
|
@@ -22207,7 +22322,7 @@
|
|
|
22207
22322
|
}, {
|
|
22208
22323
|
key: "watchTreeChildren",
|
|
22209
22324
|
value: function watchTreeChildren(row) {
|
|
22210
|
-
var
|
|
22325
|
+
var _arguments = arguments;
|
|
22211
22326
|
var childField = row.getData()[this.table.options.dataTreeChildField],
|
|
22212
22327
|
origFuncs = {};
|
|
22213
22328
|
|
|
@@ -22223,7 +22338,7 @@
|
|
|
22223
22338
|
enumerable: false,
|
|
22224
22339
|
configurable: true,
|
|
22225
22340
|
value: function value() {
|
|
22226
|
-
var result = origFuncs.push.apply(childField,
|
|
22341
|
+
var result = origFuncs.push.apply(childField, _arguments);
|
|
22227
22342
|
rebuildTree();
|
|
22228
22343
|
return result;
|
|
22229
22344
|
}
|
|
@@ -22233,7 +22348,7 @@
|
|
|
22233
22348
|
enumerable: false,
|
|
22234
22349
|
configurable: true,
|
|
22235
22350
|
value: function value() {
|
|
22236
|
-
var result = origFuncs.unshift.apply(childField,
|
|
22351
|
+
var result = origFuncs.unshift.apply(childField, _arguments);
|
|
22237
22352
|
rebuildTree();
|
|
22238
22353
|
return result;
|
|
22239
22354
|
}
|
|
@@ -22263,7 +22378,7 @@
|
|
|
22263
22378
|
enumerable: false,
|
|
22264
22379
|
configurable: true,
|
|
22265
22380
|
value: function value() {
|
|
22266
|
-
var result = origFuncs.splice.apply(childField,
|
|
22381
|
+
var result = origFuncs.splice.apply(childField, _arguments);
|
|
22267
22382
|
rebuildTree();
|
|
22268
22383
|
return result;
|
|
22269
22384
|
}
|
|
@@ -22273,7 +22388,7 @@
|
|
|
22273
22388
|
}, {
|
|
22274
22389
|
key: "watchKey",
|
|
22275
22390
|
value: function watchKey(row, data, key) {
|
|
22276
|
-
var
|
|
22391
|
+
var _this2 = this;
|
|
22277
22392
|
|
|
22278
22393
|
var props = Object.getOwnPropertyDescriptor(data, key),
|
|
22279
22394
|
value = data[key],
|
|
@@ -22282,7 +22397,7 @@
|
|
|
22282
22397
|
set: function set(newValue) {
|
|
22283
22398
|
value = newValue;
|
|
22284
22399
|
|
|
22285
|
-
if (!
|
|
22400
|
+
if (!_this2.blocked && version === _this2.currentVersion) {
|
|
22286
22401
|
var update = {};
|
|
22287
22402
|
update[key] = newValue;
|
|
22288
22403
|
row.updateData(update);
|
|
@@ -23072,6 +23187,10 @@
|
|
|
23072
23187
|
|
|
23073
23188
|
if (column.definition.title && column.field) {
|
|
23074
23189
|
if (column.modules.format && self.table.options.responsiveLayoutCollapseUseFormatters) {
|
|
23190
|
+
var onRendered = function onRendered(callback) {
|
|
23191
|
+
callback();
|
|
23192
|
+
};
|
|
23193
|
+
|
|
23075
23194
|
mockCellComponent = {
|
|
23076
23195
|
value: false,
|
|
23077
23196
|
data: {},
|
|
@@ -23094,7 +23213,7 @@
|
|
|
23094
23213
|
output.push({
|
|
23095
23214
|
field: column.field,
|
|
23096
23215
|
title: column.definition.title,
|
|
23097
|
-
value: column.modules.format.formatter.call(self.table.modules.format, mockCellComponent, column.modules.format.params)
|
|
23216
|
+
value: column.modules.format.formatter.call(self.table.modules.format, mockCellComponent, column.modules.format.params, onRendered)
|
|
23098
23217
|
});
|
|
23099
23218
|
} else {
|
|
23100
23219
|
output.push({
|