diff --git a/package-lock.json b/package-lock.json index 9c839f2d208c..b2a1a81dade0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@babel/runtime": "^7.12.1", "@devextreme/runtime": "3.0.12", "devexpress-diagram": "2.2.2", - "devexpress-gantt": "4.1.50", + "devexpress-gantt": "4.1.51", "devextreme-quill": "1.6.3", "devextreme-showdown": "^1.0.1", "inferno": "^7.4.9", @@ -9190,9 +9190,9 @@ } }, "node_modules/devexpress-gantt": { - "version": "4.1.50", - "resolved": "https://registry.npmjs.org/devexpress-gantt/-/devexpress-gantt-4.1.50.tgz", - "integrity": "sha512-GHScddmwLwatWtX1JmqwGVsvchPj5E4gs3UZbmrQ9vYgXWX4gAEWW8VQSAFhB2P4IW90oK/DBVFaMLPuTk7WRQ==", + "version": "4.1.51", + "resolved": "https://registry.npmjs.org/devexpress-gantt/-/devexpress-gantt-4.1.51.tgz", + "integrity": "sha512-sVCx7ffadSkXxvVasQDSka2VOnuu4WC08d/lq20zvr9EVMETggp2a3cTaymf9oIDDwuGugLOJdFVIz/3vWVfHw==", "dependencies": { "@devexpress/utils": "1.4.1", "tslib": "2.3.1" @@ -37697,9 +37697,9 @@ } }, "devexpress-gantt": { - "version": "4.1.50", - "resolved": "https://registry.npmjs.org/devexpress-gantt/-/devexpress-gantt-4.1.50.tgz", - "integrity": "sha512-GHScddmwLwatWtX1JmqwGVsvchPj5E4gs3UZbmrQ9vYgXWX4gAEWW8VQSAFhB2P4IW90oK/DBVFaMLPuTk7WRQ==", + "version": "4.1.51", + "resolved": "https://registry.npmjs.org/devexpress-gantt/-/devexpress-gantt-4.1.51.tgz", + "integrity": "sha512-sVCx7ffadSkXxvVasQDSka2VOnuu4WC08d/lq20zvr9EVMETggp2a3cTaymf9oIDDwuGugLOJdFVIz/3vWVfHw==", "requires": { "@devexpress/utils": "1.4.1", "tslib": "2.3.1" diff --git a/package.json b/package.json index bf7d055208d5..3a87d95e2273 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@babel/runtime": "^7.12.1", "@devextreme/runtime": "3.0.12", "devexpress-diagram": "2.2.2", - "devexpress-gantt": "4.1.50", + "devexpress-gantt": "4.1.51", "devextreme-quill": "1.6.3", "devextreme-showdown": "^1.0.1", "inferno": "^7.4.9", diff --git a/testing/tests/DevExpress.ui.widgets/ganttParts/dataSource.tests.js b/testing/tests/DevExpress.ui.widgets/ganttParts/dataSource.tests.js index fb093439090e..d96970bc412f 100644 --- a/testing/tests/DevExpress.ui.widgets/ganttParts/dataSource.tests.js +++ b/testing/tests/DevExpress.ui.widgets/ganttParts/dataSource.tests.js @@ -168,4 +168,28 @@ QUnit.module('DataSources', moduleConfig, () => { assert.ok(startDate - data.start < 1, 'new task start is right'); assert.ok(endDate - data.end < 1, 'new task end is right'); }); + test('check treeList with null start end data in autoparent mode', function(assert) { + const tasks = [ + { 'id': 1, 'title': 'Software Development', 'start': null, 'end': null, 'progress': 31, 'color': 'red' }, + { 'id': 2, 'parentId': 1, 'title': 'Scope', 'start': new Date('2019-02-21T05:00:00.000Z'), 'end': new Date('2019-02-26T09:00:00.000Z'), 'progress': 60 }, + { 'id': 3, 'parentId': 2, 'title': 'Determine project scope', 'start': null, 'end': null, 'progress': 100 } + ]; + this.createInstance({ + tasks: { dataSource: tasks }, + editing: { enabled: true }, + validation: { autoUpdateParentTasks: true }, + columns: [ + { dataField: 'title', caption: 'Subject' }, + { dataField: 'start', caption: 'Start' }, + { dataField: 'end', caption: 'End Date' } + ] + }); + this.clock.tick(10); + + + const startText = $(this.instance._treeList.getCellElement(2, 1)).text().trimEnd(); + const endText = $(this.instance._treeList.getCellElement(2, 2)).text().trimEnd(); + assert.notOk(!!startText, 'start text is not empty'); + assert.notOk(!!endText, 'end text is not empty'); + }); });