@@ -362,6 +362,10 @@ return /******/ (function(modules) { // webpackBootstrap
362
362
363
363
var isKeyFieldDefined = typeof keyField === 'string' && keyField.length;
364
364
_react2.default.Children.forEach(props.children, function (column) {
365
+ if (column === null || column === undefined) {
366
+ // Skip null and undefined value
367
+ return;
368
+ }
365
369
if (column.props.isKey) {
366
370
if (keyField) {
367
371
throw new Error('Error. Multiple key column be detected in TableHeaderColumn.');
@@ -451,11 +455,21 @@ return /******/ (function(modules) { // webpackBootstrap
451
455
452
456
var rowCount = 0;
453
457
_react2.default.Children.forEach(children, function (column) {
458
+ if (column === null || column === undefined) {
459
+ // Skip null and undefined value
460
+ return;
461
+ }
462
+
454
463
if (Number(column.props.row) > rowCount) {
455
464
rowCount = Number(column.props.row);
456
465
}
457
466
});
458
467
return _react2.default.Children.map(children, function (column, i) {
468
+ if (column === null || column === undefined) {
469
+ // Return null for empty objects
470
+ return null;
471
+ }
472
+
459
473
var rowIndex = column.props.row ? Number(column.props.row) : 0;
460
474
var rowSpan = column.props.rowSpan ? Number(column.props.rowSpan) : 1;
461
475
if (rowSpan + rowIndex === rowCount + 1) {
@@ -1393,7 +1407,9 @@ return /******/ (function(modules) { // webpackBootstrap
1393
1407
}
1394
1408
1395
1409
var keys = [];
1396
- this.props.children.map(function (column) {
1410
+ this.props.children.filter(function (_) {
1411
+ return _ != null;
1412
+ }).map(function (column) {
1397
1413
if (column.props.export === true || typeof column.props.export === 'undefined' && column.props.hidden === false) {
1398
1414
keys.push({
1399
1415
field: column.props.dataField,
@@ -1531,7 +1547,10 @@ return /******/ (function(modules) { // webpackBootstrap
1531
1547
if (enableShowOnlySelected || insertRow || deleteRow || search || exportCSV || this.props.options.searchPanel || this.props.options.btnGroup || this.props.options.toolBar) {
1532
1548
var columns = void 0;
1533
1549
if (Array.isArray(children)) {
1534
- columns = children.map(function (column, r) {
1550
+ columns = children.filter(function (_) {
1551
+ return _ != null;
1552
+ }).map(function (column, r) {
1553
+ if (!column) return;
1535
1554
var props = column.props;
1536
1555
1537
1556
var isKey = props.isKey || keyField === props.dataField;
@@ -1687,7 +1706,9 @@ return /******/ (function(modules) { // webpackBootstrap
1687
1706
}
1688
1707
}
1689
1708
} else {
1690
- _react2.default.Children.forEach(this.props.children, function (child, i) {
1709
+ _react2.default.Children.forEach(this.props.children.filter(function (_) {
1710
+ return !!_;
1711
+ }), function (child, i) {
1691
1712
if (child.props.width) {
1692
1713
header[i].style.width = child.props.width + 'px';
1693
1714
header[i].style.minWidth = child.props.width + 'px';
@@ -2338,7 +2359,7 @@ return /******/ (function(modules) { // webpackBootstrap
2338
2359
}, this.props.tableHeaderClass);
2339
2360
2340
2361
var rowCount = Math.max.apply(Math, _toConsumableArray(_react2.default.Children.map(this.props.children, function (elm) {
2341
- return elm.props.row ? Number(elm.props.row) : 0;
2362
+ return elm && elm .props.row ? Number(elm.props.row) : 0;
2342
2363
})));
2343
2364
2344
2365
var rows = [];
@@ -2362,6 +2383,10 @@ return /******/ (function(modules) { // webpackBootstrap
2362
2383
2363
2384
2364
2385
_react2.default.Children.forEach(this.props.children, function (elm) {
2386
+ if (elm === null || elm === undefined) {
2387
+ // Skip null or undefined elements.
2388
+ return;
2389
+ }
2365
2390
var _elm$props = elm.props,
2366
2391
dataField = _elm$props.dataField,
2367
2392
dataSort = _elm$props.dataSort;
@@ -2714,7 +2739,7 @@ return /******/ (function(modules) { // webpackBootstrap
2714
2739
var customNavStyle = (typeof keyBoardNav === 'undefined' ? 'undefined' : _typeof(keyBoardNav)) === 'object' ? keyBoardNav.customStyle : null;
2715
2740
var ExpandColumnCustomComponent = this.props.expandColumnOptions.expandColumnComponent;
2716
2741
var expandColSpan = this.props.columns.filter(function (col) {
2717
- return !col.hidden;
2742
+ return col && !col.hidden;
2718
2743
}).length;
2719
2744
if (isSelectRowDefined && !this.props.selectRow.hideSelectColumn) {
2720
2745
expandColSpan += 1;
@@ -2725,7 +2750,9 @@ return /******/ (function(modules) { // webpackBootstrap
2725
2750
}
2726
2751
2727
2752
var tableRows = this.props.data.map(function (data, r) {
2728
- var tableColumns = this.props.columns.map(function (column, i) {
2753
+ var tableColumns = this.props.columns.filter(function (_) {
2754
+ return _ != null;
2755
+ }).map(function (column, i) {
2729
2756
var fieldValue = data[column.name];
2730
2757
var isFocusCell = r === y && i === x;
2731
2758
if (column.name !== this.props.keyField && // Key field can't be edit
@@ -4221,37 +4248,47 @@ return /******/ (function(modules) { // webpackBootstrap
4221
4248
attr.className = (editorClass || '') + ' form-control editor edit-' + editable.type + (editable.className ? ' ' + editable.className : '');
4222
4249
4223
4250
if (editable.type === 'select') {
4224
- // process select input
4225
- var options = [];
4226
- var values = editable.options.values;
4227
- if (Array.isArray(values)) {
4228
- (function () {
4229
- // only can use arrray data for options
4230
- var text = void 0;
4231
- var value = void 0;
4232
- options = values.map(function (option, i) {
4233
- if ((typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object') {
4234
- text = option.text;
4235
- value = option.value;
4236
- } else {
4237
- text = format ? format(option) : option;
4238
- value = option;
4239
- }
4240
- return _react2.default.createElement(
4241
- 'option',
4242
- { key: 'option' + i, value: value },
4243
- text
4244
- );
4245
- });
4246
- })();
4247
- }
4248
- return _react2.default.createElement(
4249
- 'select',
4250
- _extends({}, attr, { defaultValue: defaultValue }),
4251
- options
4252
- );
4251
+ var _ret = function () {
4252
+ // process select input
4253
+ var options = [];
4254
+ var _editable$options = editable.options,
4255
+ values = _editable$options.values,
4256
+ textKey = _editable$options.textKey,
4257
+ valueKey = _editable$options.valueKey;
4258
+
4259
+ if (Array.isArray(values)) {
4260
+ (function () {
4261
+ // only can use arrray data for options
4262
+ var text = void 0;
4263
+ var value = void 0;
4264
+ options = values.map(function (option, i) {
4265
+ if ((typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object') {
4266
+ text = textKey ? option[textKey] : option.text;
4267
+ value = valueKey ? option[valueKey] : option.value;
4268
+ } else {
4269
+ text = format ? format(option) : option;
4270
+ value = option;
4271
+ }
4272
+ return _react2.default.createElement(
4273
+ 'option',
4274
+ { key: 'option' + i, value: value },
4275
+ text
4276
+ );
4277
+ });
4278
+ })();
4279
+ }
4280
+ return {
4281
+ v: _react2.default.createElement(
4282
+ 'select',
4283
+ _extends({}, attr, { defaultValue: defaultValue }),
4284
+ options
4285
+ )
4286
+ };
4287
+ }();
4288
+
4289
+ if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v;
4253
4290
} else if (editable.type === 'textarea') {
4254
- var _ret2 = function () {
4291
+ var _ret3 = function () {
4255
4292
// process textarea input
4256
4293
// put other if exist
4257
4294
editable.cols && (attr.cols = editable.cols);
@@ -4283,7 +4320,7 @@ return /******/ (function(modules) { // webpackBootstrap
4283
4320
};
4284
4321
}();
4285
4322
4286
- if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2 )) === "object") return _ret2 .v;
4323
+ if ((typeof _ret3 === 'undefined' ? 'undefined' : _typeof(_ret3 )) === "object") return _ret3 .v;
4287
4324
} else if (editable.type === 'checkbox') {
4288
4325
var _values = 'true:false';
4289
4326
if (editable.options && editable.options.values) {
@@ -15035,6 +15072,10 @@ return /******/ (function(modules) { // webpackBootstrap
15035
15072
var filterMonth = filterVal.getMonth();
15036
15073
var filterYear = filterVal.getFullYear();
15037
15074
15075
+ if ((typeof targetVal === 'undefined' ? 'undefined' : _typeof(targetVal)) !== 'object') {
15076
+ targetVal = new Date(targetVal);
15077
+ }
15078
+
15038
15079
var targetDate = targetVal.getDate();
15039
15080
var targetMonth = targetVal.getMonth();
15040
15081
var targetYear = targetVal.getFullYear();
0 commit comments