@syncfusion/ej2-gantt 22.2.11 → 22.2.12

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.
@@ -1536,8 +1536,8 @@ var DateProcessor = /** @__PURE__ @class */ (function () {
1536
1536
  }
1537
1537
  if (!editArgs) {
1538
1538
  this.prevProjectStartDate = this.parent.cloneProjectStartDate;
1539
- this.parent.cloneProjectStartDate = minStartDate ? minStartDate : new Date(projectStartDate.getTime());
1540
- this.parent.cloneProjectEndDate = maxEndDate ? maxEndDate : new Date(projectEndDate.getTime());
1539
+ this.parent.cloneProjectStartDate = minStartDate ? (!this.parent.timelineModule.isZoomToFit) ? (!isNullOrUndefined(projectStartDate)) ? new Date(projectStartDate.getTime()) : minStartDate : minStartDate : new Date(projectStartDate.getTime());
1540
+ this.parent.cloneProjectEndDate = maxEndDate ? (!this.parent.timelineModule.isZoomToFit) ? (!isNullOrUndefined(projectEndDate)) ? new Date(projectEndDate.getTime()) : maxEndDate : maxEndDate : new Date(projectEndDate.getTime());
1541
1541
  }
1542
1542
  else {
1543
1543
  setValue('minStartDate', minStartDate, editArgs);
@@ -3097,17 +3097,15 @@ var TaskProcessor = /** @__PURE__ @class */ (function (_super) {
3097
3097
  else {
3098
3098
  hierarchicalData = this.parent.dataSource;
3099
3099
  }
3100
- this.parent.flatData.map(function (data) {
3101
- hierarchicalData.map(function (record) {
3102
- if (data.ganttProperties.taskId === record[_this.parent.taskFields.id]) {
3103
- if (!isNullOrUndefined(_this.parent.taskFields.startDate)) {
3104
- task[_this.parent.taskFields.endDate] = record[_this.parent.taskFields.endDate];
3105
- }
3106
- if (!isNullOrUndefined(_this.parent.taskFields.endDate)) {
3107
- task[_this.parent.taskFields.endDate] = record[_this.parent.taskFields.endDate];
3108
- }
3100
+ hierarchicalData.map(function (record) {
3101
+ if (task.ganttProperties.taskId === record[_this.parent.taskFields.id]) {
3102
+ if (!isNullOrUndefined(_this.parent.taskFields.startDate)) {
3103
+ task[_this.parent.taskFields.startDate] = record[_this.parent.taskFields.startDate];
3109
3104
  }
3110
- });
3105
+ if (!isNullOrUndefined(_this.parent.taskFields.endDate)) {
3106
+ task[_this.parent.taskFields.endDate] = record[_this.parent.taskFields.endDate];
3107
+ }
3108
+ }
3111
3109
  });
3112
3110
  };
3113
3111
  TaskProcessor.prototype.getWorkInHour = function (work, workUnit) {
@@ -3149,7 +3147,9 @@ var TaskProcessor = /** @__PURE__ @class */ (function (_super) {
3149
3147
  this.setRecordDate(ganttData, ganttProperties.endDate, dataMapping.endDate);
3150
3148
  }
3151
3149
  if (dataMapping.duration) {
3152
- this.setRecordDuration(ganttData, dataMapping.duration);
3150
+ if (!isNullOrUndefined(dataMapping.milestone) && !ganttData.taskData[dataMapping.milestone]) {
3151
+ this.setRecordDuration(ganttData, dataMapping.duration);
3152
+ }
3153
3153
  }
3154
3154
  if (dataMapping.durationUnit) {
3155
3155
  data[dataMapping.durationUnit] = ganttProperties.durationUnit;
@@ -7380,13 +7380,16 @@ var Timeline = /** @__PURE__ @class */ (function () {
7380
7380
  this.parent.updateProjectDates(args.projectStartDate, args.ProjectEndDate, args.isTimelineRoundOff, isFrom);
7381
7381
  if (type === 'prevTimeSpan' && isFrom === 'publicMethod') {
7382
7382
  this.parent.ganttChartModule.updateScrollLeft(0);
7383
+ this.parent.timelineModule.isZoomToFit = false;
7383
7384
  }
7384
7385
  else if (type === 'nextTimeSpan' && isFrom === 'publicMethod') {
7385
7386
  this.parent.ganttChartModule.updateScrollLeft(this.parent.timelineModule.totalTimelineWidth);
7387
+ this.parent.timelineModule.isZoomToFit = false;
7386
7388
  }
7387
7389
  else if (type === 'nextTimeSpan' && isFrom === 'TaskbarEditing') {
7388
7390
  var currentScrollLeft = document.getElementsByClassName('e-chart-scroll-container e-content')[0].scrollLeft;
7389
7391
  this.parent.element.querySelector('.e-timeline-header-container').scrollLeft = currentScrollLeft;
7392
+ this.parent.timelineModule.isZoomToFit = false;
7390
7393
  }
7391
7394
  this.parent.timelineModule.timeSpanActionEvent('actionComplete', type, isFrom);
7392
7395
  }
@@ -13484,34 +13487,38 @@ var Tooltip$1 = /** @__PURE__ @class */ (function () {
13484
13487
  */
13485
13488
  Tooltip$$1.prototype.updateTooltipPosition = function (args) {
13486
13489
  args.element.style.visibility = 'visible';
13487
- // if (isNullOrUndefined(this.tooltipMouseEvent) || args.target.classList.contains('e-notes-info')) {
13488
- // return;
13489
- // }
13490
- // const postion: { x: number, y: number } = this.getPointorPosition(this.tooltipMouseEvent);
13491
- // const containerPosition: { top: number, left: number, width?: number, height?: number } =
13492
- // this.parent.getOffsetRect(this.parent.chartPane);
13493
- // const topEnd: number = containerPosition.top + this.parent.chartPane.offsetHeight;
13494
- // const leftEnd: number = containerPosition.left + this.parent.chartPane.offsetWidth;
13495
- // let tooltipPositionX: number = postion.x;
13496
- // let tooltipPositionY: number = postion.y;
13497
- // if (leftEnd < (tooltipPositionX + args.element.offsetWidth + 10)) {
13498
- // while (leftEnd < (tooltipPositionX + args.element.offsetWidth + 10)) {
13499
- // tooltipPositionX = leftEnd - args.element.offsetWidth - 10;
13500
- // args.element.style.left = tooltipPositionX + 'px';
13501
- // }
13502
- // } else {
13503
- // tooltipPositionX = tooltipPositionX + 10;
13504
- // args.element.style.left = tooltipPositionX + 'px';
13505
- // }
13506
- // if (window.innerHeight < args.element.offsetHeight + tooltipPositionY) {
13507
- // tooltipPositionY = tooltipPositionY - args.element.offsetHeight - 10;
13508
- // }
13509
- // if ((topEnd < (tooltipPositionY + args.element.offsetHeight + 20))) {
13510
- // tooltipPositionY = tooltipPositionY - args.element.offsetHeight - 10;
13511
- // } else {
13512
- // tooltipPositionY = tooltipPositionY + 10;
13513
- // }
13514
- // args.element.style.top = tooltipPositionY + 'px';
13490
+ var parentWithZoomStyle = this.parent.element.closest('[style*="zoom"]');
13491
+ if (isNullOrUndefined(parentWithZoomStyle)) {
13492
+ if (isNullOrUndefined(this.tooltipMouseEvent) || args.target.classList.contains('e-notes-info')) {
13493
+ return;
13494
+ }
13495
+ var postion = this.getPointorPosition(this.tooltipMouseEvent);
13496
+ var containerPosition = this.parent.getOffsetRect(this.parent.chartPane);
13497
+ var topEnd = containerPosition.top + this.parent.chartPane.offsetHeight;
13498
+ var leftEnd = containerPosition.left + this.parent.chartPane.offsetWidth;
13499
+ var tooltipPositionX = postion.x;
13500
+ var tooltipPositionY = postion.y;
13501
+ if (leftEnd < (tooltipPositionX + args.element.offsetWidth + 10)) {
13502
+ while (leftEnd < (tooltipPositionX + args.element.offsetWidth + 10)) {
13503
+ tooltipPositionX = leftEnd - args.element.offsetWidth - 10;
13504
+ args.element.style.left = tooltipPositionX + 'px';
13505
+ }
13506
+ }
13507
+ else {
13508
+ tooltipPositionX = tooltipPositionX + 10;
13509
+ args.element.style.left = tooltipPositionX + 'px';
13510
+ }
13511
+ if (window.innerHeight < args.element.offsetHeight + tooltipPositionY) {
13512
+ tooltipPositionY = tooltipPositionY - args.element.offsetHeight - 10;
13513
+ }
13514
+ if ((topEnd < (tooltipPositionY + args.element.offsetHeight + 20))) {
13515
+ tooltipPositionY = tooltipPositionY - args.element.offsetHeight - 10;
13516
+ }
13517
+ else {
13518
+ tooltipPositionY = tooltipPositionY + 10;
13519
+ }
13520
+ args.element.style.top = tooltipPositionY + 'px';
13521
+ }
13515
13522
  };
13516
13523
  /**
13517
13524
  * Method to get mouse pointor position
@@ -14896,7 +14903,9 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
14896
14903
  this.wireEvents();
14897
14904
  this.notify('initPredessorDialog', {});
14898
14905
  }
14899
- this.splitterModule.updateSplitterPosition();
14906
+ if (!this.isFromOnPropertyChange) {
14907
+ this.splitterModule.updateSplitterPosition();
14908
+ }
14900
14909
  // if (this.gridLines === 'Vertical' || this.gridLines === 'Both') {
14901
14910
  // this.renderChartVerticalLines();
14902
14911
  // }
@@ -14908,6 +14917,8 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
14908
14917
  removeClass(ganttChartElement.querySelectorAll('.e-critical-milestone'), criticalMilestone);
14909
14918
  removeClass(this.element.querySelectorAll('.e-connector-line'), criticalConnectorLineSVG);
14910
14919
  removeClass(this.element.querySelectorAll('.e-connector-line-arrow'), criticalConnectorArrowSVG);
14920
+ var innerDivs = document.querySelector('.e-gantt-child-taskbar-inner-div');
14921
+ innerDivs.style.outlineColor = "";
14911
14922
  };
14912
14923
  Gantt.prototype.wireEvents = function () {
14913
14924
  if (this.allowKeyboard) {
@@ -15620,6 +15631,7 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
15620
15631
  break;
15621
15632
  case 'projectStartDate':
15622
15633
  case 'projectEndDate':
15634
+ this.timelineModule.isZoomToFit = false;
15623
15635
  this.dataOperation.calculateProjectDates();
15624
15636
  this.updateProjectDates(this.cloneProjectStartDate, this.cloneProjectEndDate, this.isTimelineRoundOff);
15625
15637
  break;
@@ -16744,8 +16756,11 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
16744
16756
  }
16745
16757
  else {
16746
16758
  this.editModule.addRecord(data, rowPosition, rowIndex);
16759
+ if (rowPosition === 'Bottom') {
16760
+ this.selectedRowIndex = rowIndex;
16761
+ }
16747
16762
  if (rowPosition === 'Above' || rowPosition === 'Below' || rowPosition === 'Child') {
16748
- this.currentSelection = data;
16763
+ this.currentSelection = !isNullOrUndefined(data) ? data : this.currentSelection;
16749
16764
  }
16750
16765
  }
16751
16766
  }
@@ -18552,13 +18567,16 @@ var EditTooltip = /** @__PURE__ @class */ (function () {
18552
18567
  * @returns {void} .
18553
18568
  */
18554
18569
  EditTooltip.prototype.updateTooltipPosition = function (args) {
18555
- // const containerPosition: { top: number, left: number } = this.parent.getOffsetRect(this.parent.chartPane);
18556
- // const leftEnd: number = containerPosition.left + this.parent.chartPane.offsetWidth;
18557
- // let tooltipPositionX: number = args.element.offsetLeft;
18558
- // if (leftEnd < (tooltipPositionX + args.element.offsetWidth)) {
18559
- // tooltipPositionX += leftEnd - (tooltipPositionX + args.element.offsetWidth);
18560
- // }
18561
- // args.element.style.left = tooltipPositionX + 'px';
18570
+ var parentWithZoomStyle = this.parent.element.closest('[style*="zoom"]');
18571
+ if (isNullOrUndefined(parentWithZoomStyle)) {
18572
+ var containerPosition = this.parent.getOffsetRect(this.parent.chartPane);
18573
+ var leftEnd = containerPosition.left + this.parent.chartPane.offsetWidth;
18574
+ var tooltipPositionX = args.element.offsetLeft;
18575
+ if (leftEnd < (tooltipPositionX + args.element.offsetWidth)) {
18576
+ tooltipPositionX += leftEnd - (tooltipPositionX + args.element.offsetWidth);
18577
+ }
18578
+ args.element.style.left = tooltipPositionX + 'px';
18579
+ }
18562
18580
  args.element.style.visibility = 'visible';
18563
18581
  };
18564
18582
  /**
@@ -24706,6 +24724,11 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
24706
24724
  var ganttPropByMapping = getSwapKey(ganttObj.columnMapping);
24707
24725
  var scheduleFieldNames = [];
24708
24726
  var isScheduleValueUpdated = false;
24727
+ if (!isNullOrUndefined(ganttData[tasks.milestone])) {
24728
+ if (ganttData[tasks.milestone] === true) {
24729
+ ganttData[tasks.milestone] = false;
24730
+ }
24731
+ }
24709
24732
  for (var _i = 0, _b = Object.keys(data); _i < _b.length; _i++) {
24710
24733
  var key = _b[_i];
24711
24734
  if ([tasks.startDate, tasks.endDate, tasks.duration].indexOf(key) !== -1) {
@@ -24767,6 +24790,22 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
24767
24790
  else if (key === tasks.cssClass) {
24768
24791
  ganttPropKey = 'cssClass';
24769
24792
  }
24793
+ else if (key === tasks.milestone) {
24794
+ ganttPropKey = 'isMilestone';
24795
+ if (!isNullOrUndefined(tasks.duration)) {
24796
+ var ganttProp = ganttData.ganttProperties;
24797
+ var durationValue = data[tasks.duration];
24798
+ if (value) {
24799
+ durationValue = 0;
24800
+ }
24801
+ else {
24802
+ durationValue = durationValue <= 0 ? 1 : durationValue;
24803
+ }
24804
+ ganttObj.setRecordValue(tasks.duration, durationValue, ganttData, true);
24805
+ ganttObj.setRecordValue('duration', durationValue, ganttProp, true);
24806
+ ganttObj.setRecordValue('taskData.' + tasks.duration, durationValue, ganttData);
24807
+ }
24808
+ }
24770
24809
  else if ((key === tasks.segments) && (!isNullOrUndefined(ganttData.ganttProperties.segments))) {
24771
24810
  ganttPropKey = 'segments';
24772
24811
  /* eslint-disable-next-line */
@@ -27169,6 +27208,57 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
27169
27208
  }
27170
27209
  }
27171
27210
  };
27211
+ /**
27212
+ * Method to update the values to client side from server side.
27213
+ *
27214
+ * @param {Object} e - Defines the new modified data from the server.
27215
+ * @param {ITaskAddedEventArgs} args - Defines the client side data.
27216
+ * @returns {void} .
27217
+ */
27218
+ Edit$$1.prototype.updateClientDataFromServer = function (e, args) {
27219
+ var serverReturnedValue = e.addedRecords[0];
27220
+ var _aLength = Object.keys(serverReturnedValue).length;
27221
+ for (var j = 0, _a = Object.keys(serverReturnedValue); j < _aLength; j++) {
27222
+ var key = _a[parseInt(j.toString(), 10)];
27223
+ args.data["" + key] = serverReturnedValue["" + key];
27224
+ }
27225
+ if (this.parent.taskFields.id !== null) {
27226
+ args.data.ganttProperties['taskId'] = serverReturnedValue[this.parent.taskFields.id];
27227
+ }
27228
+ if (this.parent.taskFields.name !== null) {
27229
+ args.data.ganttProperties['taskName'] = serverReturnedValue[this.parent.taskFields.name];
27230
+ }
27231
+ if (this.parent.taskFields.startDate !== null) {
27232
+ args.data.ganttProperties['startDate'] = serverReturnedValue[this.parent.taskFields.startDate];
27233
+ }
27234
+ if (this.parent.taskFields.endDate !== null) {
27235
+ args.data.ganttProperties['endDate'] = serverReturnedValue[this.parent.taskFields.endDate];
27236
+ }
27237
+ if (this.parent.taskFields.duration !== null) {
27238
+ args.data.ganttProperties['duration'] = parseInt(serverReturnedValue[this.parent.taskFields.duration]);
27239
+ }
27240
+ if (this.parent.taskFields.durationUnit !== null) {
27241
+ args.data.ganttProperties['durationUnit'] = serverReturnedValue[this.parent.taskFields.durationUnit];
27242
+ }
27243
+ if (this.parent.taskFields.progress !== null) {
27244
+ args.data.ganttProperties['progress'] = serverReturnedValue[this.parent.taskFields.progress];
27245
+ }
27246
+ if (this.parent.taskFields.dependency !== null) {
27247
+ args.data.ganttProperties['dependency'] = serverReturnedValue[this.parent.taskFields.dependency];
27248
+ }
27249
+ if (this.parent.taskFields.parentID !== null) {
27250
+ args.data.ganttProperties['parentID'] = serverReturnedValue[this.parent.taskFields.parentID];
27251
+ }
27252
+ if (this.parent.taskFields.baselineEndDate !== null) {
27253
+ args.data.ganttProperties['baselineEndDate'] = serverReturnedValue[this.parent.taskFields.baselineEndDate];
27254
+ }
27255
+ if (this.parent.taskFields.baselineStartDate !== null) {
27256
+ args.data.ganttProperties['baselineStartDate'] = serverReturnedValue[this.parent.taskFields.baselineStartDate];
27257
+ }
27258
+ if (this.parent.taskFields.resourceInfo !== null) {
27259
+ args.data.ganttProperties['resources'] = serverReturnedValue[this.parent.taskFields.resourceInfo];
27260
+ }
27261
+ };
27172
27262
  /**
27173
27263
  * Method to add new record.
27174
27264
  *
@@ -27230,7 +27320,8 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
27230
27320
  /* tslint:disable-next-line */
27231
27321
  var query = _this.parent.query instanceof Query ? _this.parent.query : new Query();
27232
27322
  var adaptor = data_2.adaptor;
27233
- if (!(adaptor instanceof WebApiAdaptor && adaptor instanceof ODataAdaptor && adaptor instanceof ODataV4Adaptor) || data_2.dataSource.batchUrl) {
27323
+ var moduleName = adaptor.getModuleName();
27324
+ if (!(moduleName == "WebApiAdaptor" || moduleName == "ODataAdaptor" || moduleName == "ODataV4Adaptor") || data_2.dataSource.batchUrl) {
27234
27325
  /* tslint:disable-next-line */
27235
27326
  var crud = data_2.saveChanges(updatedData_2, _this.parent.taskFields.id, null, query);
27236
27327
  crud.then(function (e) {
@@ -27240,6 +27331,7 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
27240
27331
  _this.parent.setRecordValue('taskData', e.addedRecords[0], args.data);
27241
27332
  _this.parent.setRecordValue(_this.parent.taskFields.id, e.addedRecords[0][_this.parent.taskFields.id], args.data);
27242
27333
  _this.parent.setRecordValue('rowUniqueID', e.addedRecords[0][_this.parent.taskFields.id].toString(), args.data.ganttProperties, true);
27334
+ _this.updateClientDataFromServer(e, args);
27243
27335
  var idsIndex = _this.parent.ids.indexOf(prevID_1);
27244
27336
  if (idsIndex !== -1) {
27245
27337
  _this.parent.ids[idsIndex] = e.addedRecords[0][_this.parent.taskFields.id].toString();
@@ -28542,6 +28634,9 @@ var Filter$1 = /** @__PURE__ @class */ (function () {
28542
28634
  break;
28543
28635
  }
28544
28636
  if (!isNullOrUndefined(this.parent.element.parentNode)) {
28637
+ if (parentNode.parentNode instanceof HTMLDocument) {
28638
+ break;
28639
+ }
28545
28640
  parentNode = parentNode.parentNode;
28546
28641
  marginLeft = parentNode.style.marginLeft;
28547
28642
  }
@@ -30957,6 +31052,8 @@ var CriticalPath = /** @__PURE__ @class */ (function () {
30957
31052
  }
30958
31053
  if (element.getElementsByClassName('e-gantt-child-taskbar-inner-div').length > 0) {
30959
31054
  addClass(element.querySelectorAll('.e-gantt-child-taskbar-inner-div'), criticalChildTaskBarInnerDiv);
31055
+ var innerDivs = document.querySelector('.e-gantt-child-taskbar-inner-div');
31056
+ innerDivs.style.outlineColor = "";
30960
31057
  }
30961
31058
  if (element.getElementsByClassName('e-gantt-child-progressbar-inner-div').length > 0) {
30962
31059
  addClass(element.querySelectorAll('.e-gantt-child-progressbar-inner-div'), taskClass);
@@ -31182,7 +31279,7 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
31182
31279
  taskfields = this.parent.taskFields;
31183
31280
  if (!isNullOrUndefined(taskfields.duration)) {
31184
31281
  var ganttProp = this.rowData.ganttProperties;
31185
- data[taskfields.duration] = '1 ' + ganttProp.durationUnit;
31282
+ data[taskfields.duration] = data[taskfields.duration] <= 0 ? 1 : data[taskfields.duration];
31186
31283
  }
31187
31284
  else {
31188
31285
  data[taskfields.startDate] = new Date(this.rowData.taskData[taskfields.startDate]);
@@ -31195,6 +31292,9 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
31195
31292
  data[taskfields.milestone] = false;
31196
31293
  }
31197
31294
  }
31295
+ if (data[taskfields.startDate]) {
31296
+ this.parent.setRecordValue(taskfields.startDate, this.rowData.ganttProperties.startDate, data, true);
31297
+ }
31198
31298
  this.parent.updateRecordByID(data);
31199
31299
  }
31200
31300
  break;
@@ -33741,6 +33841,9 @@ var PdfTreeGridLayouter = /** @__PURE__ @class */ (function (_super) {
33741
33841
  }
33742
33842
  }
33743
33843
  var size = new SizeF(column.width, height);
33844
+ if (cell.columnSpan > 1) {
33845
+ size = new SizeF(cell.width, height);
33846
+ }
33744
33847
  if (!this.checkIfDefaultFormat(column.format) && this.checkIfDefaultFormat(cell.style.format)) {
33745
33848
  cell.style.format = column.format;
33746
33849
  }
@@ -34196,12 +34299,15 @@ var PdfTreeGrid = /** @__PURE__ @class */ (function (_super) {
34196
34299
  colSpan = cell.columnSpan;
34197
34300
  currentCellIndex = j;
34198
34301
  cell.isCellMergeStart = true;
34302
+ var totalColumnWidth = this.columns.columns[currentCellIndex].width;
34199
34303
  //set Column merges.
34200
34304
  while (colSpan > 1) {
34201
34305
  currentCellIndex++;
34202
34306
  row.cells.getCell(currentCellIndex).isCellMergeContinue = true;
34203
34307
  colSpan--;
34308
+ totalColumnWidth += this.columns.columns[currentCellIndex].width;
34204
34309
  }
34310
+ cell.width = totalColumnWidth;
34205
34311
  }
34206
34312
  else if (cell.columnSpan === 1 && cell.rowSpan > 1) {
34207
34313
  rowSpan = cell.rowSpan;
@@ -35541,7 +35647,8 @@ var ExportHelper = /** @__PURE__ @class */ (function () {
35541
35647
  row.height = pixelToPoint(this.parent.rowHeight);
35542
35648
  this.copyStyles(this.ganttStyle.columnHeader, row.cells.getCell(0), row.isParentRow);
35543
35649
  var count = this.columns.length;
35544
- this.mergeCells(0, 0, count);
35650
+ row.cells.getCell(0).value = this.parent.localeObj.getConstant('emptyRecord');
35651
+ this.mergeCells(1, 0, count);
35545
35652
  };
35546
35653
  ExportHelper.prototype.mergeCells = function (rowIndex, colIndex, lastColIndex) {
35547
35654
  this.gantt.rows.getRow(rowIndex).cells.getCell(colIndex).columnSpan = lastColIndex;