@syncfusion/ej2-gantt 24.1.44 → 24.1.46

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/dist/ej2-gantt.min.js +2 -2
  3. package/dist/ej2-gantt.umd.min.js +2 -2
  4. package/dist/ej2-gantt.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-gantt.es2015.js +128 -51
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +133 -55
  8. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  9. package/dist/global/ej2-gantt.min.js +2 -2
  10. package/dist/global/ej2-gantt.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +16 -16
  13. package/src/gantt/actions/dialog-edit.js +16 -1
  14. package/src/gantt/actions/edit.js +21 -7
  15. package/src/gantt/actions/pdf-export.d.ts +2 -1
  16. package/src/gantt/actions/pdf-export.js +3 -3
  17. package/src/gantt/actions/taskbar-edit.js +4 -4
  18. package/src/gantt/base/task-processor.js +41 -28
  19. package/src/gantt/base/tree-grid.d.ts +1 -0
  20. package/src/gantt/base/tree-grid.js +3 -0
  21. package/src/gantt/export/export-helper.js +3 -2
  22. package/src/gantt/export/pdf-taskbar.js +42 -10
  23. package/styles/bootstrap-dark.css +1 -1
  24. package/styles/bootstrap.css +1 -1
  25. package/styles/bootstrap4.css +1 -1
  26. package/styles/bootstrap5-dark.css +1 -1
  27. package/styles/bootstrap5.css +1 -1
  28. package/styles/fabric-dark.css +1 -1
  29. package/styles/fabric.css +1 -1
  30. package/styles/fluent-dark.css +1 -1
  31. package/styles/fluent.css +1 -1
  32. package/styles/gantt/_layout.scss +1 -1
  33. package/styles/gantt/bootstrap-dark.css +1 -1
  34. package/styles/gantt/bootstrap.css +1 -1
  35. package/styles/gantt/bootstrap4.css +1 -1
  36. package/styles/gantt/bootstrap5-dark.css +1 -1
  37. package/styles/gantt/bootstrap5.css +1 -1
  38. package/styles/gantt/fabric-dark.css +1 -1
  39. package/styles/gantt/fabric.css +1 -1
  40. package/styles/gantt/fluent-dark.css +1 -1
  41. package/styles/gantt/fluent.css +1 -1
  42. package/styles/gantt/highcontrast-light.css +1 -1
  43. package/styles/gantt/highcontrast.css +1 -1
  44. package/styles/gantt/material-dark.css +1 -1
  45. package/styles/gantt/material.css +1 -1
  46. package/styles/gantt/material3-dark.css +1 -1
  47. package/styles/gantt/material3.css +1 -1
  48. package/styles/gantt/tailwind-dark.css +1 -1
  49. package/styles/gantt/tailwind.css +1 -1
  50. package/styles/highcontrast-light.css +1 -1
  51. package/styles/highcontrast.css +1 -1
  52. package/styles/material-dark.css +1 -1
  53. package/styles/material.css +1 -1
  54. package/styles/material3-dark.css +1 -1
  55. package/styles/material3.css +1 -1
  56. package/styles/tailwind-dark.css +1 -1
  57. package/styles/tailwind.css +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 24.1.44
3
+ * version : 24.1.46
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-gantt@*",
3
- "_id": "@syncfusion/ej2-gantt@24.1.43",
3
+ "_id": "@syncfusion/ej2-gantt@24.1.45",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-DRuve/LRz6Qjehh0PgeFggD79hE5FCpP78+kc3uNkaWxbye6xKiWpDHCuzh3GSy4Kcml0vTeIIHx2MuU+mGDRw==",
5
+ "_integrity": "sha512-ouyWG2m2BKnXPY82s0pedbcWVo6BY0O5MDekp48im55Xx7Kn3AygKgPxaOjQExnEcZTZI4OXroStsTQzOK49Qw==",
6
6
  "_location": "/@syncfusion/ej2-gantt",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-gantt",
24
24
  "/@syncfusion/ej2-vue-gantt"
25
25
  ],
26
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-24.1.43.tgz",
27
- "_shasum": "a7039db650d619071377c37ea25f97e8dff27972",
26
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-24.1.45.tgz",
27
+ "_shasum": "ade85add34aa65cd55272fb32abe37fa12e109c9",
28
28
  "_spec": "@syncfusion/ej2-gantt@*",
29
29
  "_where": "/jenkins/workspace/elease-automation_release_24.1.1/packages/included",
30
30
  "author": {
@@ -35,21 +35,21 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~24.1.42",
39
- "@syncfusion/ej2-buttons": "~24.1.41",
38
+ "@syncfusion/ej2-base": "~24.1.46",
39
+ "@syncfusion/ej2-buttons": "~24.1.46",
40
40
  "@syncfusion/ej2-calendars": "~24.1.44",
41
41
  "@syncfusion/ej2-data": "~24.1.41",
42
- "@syncfusion/ej2-dropdowns": "~24.1.44",
43
- "@syncfusion/ej2-grids": "~24.1.44",
44
- "@syncfusion/ej2-inputs": "~24.1.41",
42
+ "@syncfusion/ej2-dropdowns": "~24.1.46",
43
+ "@syncfusion/ej2-grids": "~24.1.46",
44
+ "@syncfusion/ej2-inputs": "~24.1.45",
45
45
  "@syncfusion/ej2-layouts": "~24.1.41",
46
- "@syncfusion/ej2-lists": "~24.1.41",
47
- "@syncfusion/ej2-navigations": "~24.1.41",
46
+ "@syncfusion/ej2-lists": "~24.1.46",
47
+ "@syncfusion/ej2-navigations": "~24.1.46",
48
48
  "@syncfusion/ej2-notifications": "~24.1.41",
49
- "@syncfusion/ej2-popups": "~24.1.44",
50
- "@syncfusion/ej2-richtexteditor": "~24.1.43",
51
- "@syncfusion/ej2-svg-base": "~24.1.41",
52
- "@syncfusion/ej2-treegrid": "~24.1.44"
49
+ "@syncfusion/ej2-popups": "~24.1.46",
50
+ "@syncfusion/ej2-richtexteditor": "~24.1.46",
51
+ "@syncfusion/ej2-svg-base": "~24.1.46",
52
+ "@syncfusion/ej2-treegrid": "~24.1.46"
53
53
  },
54
54
  "deprecated": false,
55
55
  "description": "Essential JS 2 Gantt Component",
@@ -74,6 +74,6 @@
74
74
  "url": "git+https://github.com/syncfusion/ej2-gantt.git"
75
75
  },
76
76
  "typings": "index.d.ts",
77
- "version": "24.1.44",
77
+ "version": "24.1.46",
78
78
  "sideEffects": false
79
79
  }
@@ -2186,6 +2186,9 @@ var DialogEdit = /** @class */ (function () {
2186
2186
  var ganttObj = this.parent;
2187
2187
  var resourceSettings = ganttObj.resourceFields;
2188
2188
  var ganttData = this.beforeOpenArgs.rowData;
2189
+ if (((this.beforeOpenArgs.requestType === 'beforeOpenEditDialog' && !isNullOrUndefined(this.editedRecord[this.parent.taskFields.resourceInfo])) || (this.beforeOpenArgs.requestType === 'beforeOpenAddDialog' && !isNullOrUndefined(this.editedRecord[this.parent.taskFields.resourceInfo]))) && (typeof (this.editedRecord[this.parent.taskFields.resourceInfo]) === "object")) {
2190
+ this.parent.setRecordValue('resourceInfo', this.parent.dataOperation.setResourceInfo(this.editedRecord), ganttData.ganttProperties, true);
2191
+ }
2189
2192
  var rowResource = ganttData.ganttProperties.resourceInfo;
2190
2193
  var inputModel = this.beforeOpenArgs[itemName];
2191
2194
  var resourceTreeGridId = ganttObj.element.id + '' + itemName + 'TabContainer';
@@ -2224,6 +2227,11 @@ var DialogEdit = /** @class */ (function () {
2224
2227
  this.ganttResources.push(resourceInfo[i]);
2225
2228
  }
2226
2229
  }
2230
+ else if (!this.isEdit && !isNullOrUndefined(resourceInfo)) {
2231
+ for (var i = 0; i < resourceInfo.length; i++) {
2232
+ this.ganttResources.push(resourceInfo[i]);
2233
+ }
2234
+ }
2227
2235
  inputModel.rowSelected = function (args) {
2228
2236
  _this.updateResourceCollection(args, resourceTreeGridId);
2229
2237
  };
@@ -2635,7 +2643,14 @@ var DialogEdit = /** @class */ (function () {
2635
2643
  }
2636
2644
  }
2637
2645
  else {
2638
- tasksData[fieldName] = controlObj.value;
2646
+ if (fieldName === "Duration") {
2647
+ var numericValue = parseFloat(String(controlObj.value));
2648
+ ;
2649
+ tasksData[fieldName] = numericValue;
2650
+ }
2651
+ else {
2652
+ tasksData[fieldName] = controlObj.value;
2653
+ }
2639
2654
  if (this.parent.enableHtmlSanitizer && typeof (controlObj.value) === 'string') {
2640
2655
  controlObj.value = SanitizeHtmlHelper.sanitize(controlObj.value);
2641
2656
  tasksData[fieldName] = controlObj.value;
@@ -1519,9 +1519,11 @@ var Edit = /** @class */ (function () {
1519
1519
  var taskID = updateRecord.ganttProperties.taskId;
1520
1520
  var resourceID = prevResource[index][this.parent.resourceFields.id];
1521
1521
  var record = flatRecords[this.parent.getTaskIds().indexOf('R' + resourceID)];
1522
- for (var j = 0; j < record.childRecords.length; j++) {
1523
- if (record.childRecords[j].ganttProperties.taskId === taskID) {
1524
- this.removeChildRecord(record.childRecords[j]);
1522
+ if (!isNullOrUndefined(record)) {
1523
+ for (var j = 0; j < record.childRecords.length; j++) {
1524
+ if (record.childRecords[j].ganttProperties.taskId === taskID) {
1525
+ this.removeChildRecord(record.childRecords[j]);
1526
+ }
1525
1527
  }
1526
1528
  }
1527
1529
  }
@@ -3062,10 +3064,16 @@ var Edit = /** @class */ (function () {
3062
3064
  }
3063
3065
  if (!isNullOrUndefined(args.data["" + tempTaskID])) {
3064
3066
  if (args.data[tempTaskID] != args.data['ganttProperties']['taskId']) {
3067
+ for (var _i = 0, _b = Object.keys(_this.parent.ids); _i < _b.length; _i++) {
3068
+ var key = _b[_i];
3069
+ if (_this.parent.ids[key] === args.data['ganttProperties']['taskId'].toString()) {
3070
+ _this.parent.ids[key] = args.data[tempTaskID].toString();
3071
+ break;
3072
+ }
3073
+ }
3065
3074
  args.data['ganttProperties']['taskId'] = args.data[tempTaskID];
3066
3075
  args.newTaskData[tempTaskID] = args.data[tempTaskID];
3067
3076
  args.data['ganttProperties']['rowUniqueID'] = args.data[tempTaskID].toString();
3068
- _this.parent.ids.push(args.data[tempTaskID].toString());
3069
3077
  }
3070
3078
  }
3071
3079
  if (!args.cancel) {
@@ -3075,7 +3083,6 @@ var Edit = /** @class */ (function () {
3075
3083
  addedRecords: [args.newTaskData],
3076
3084
  changedRecords: args.modifiedTaskData
3077
3085
  };
3078
- var prevID_1 = args.data.ganttProperties.taskId.toString();
3079
3086
  /* tslint:disable-next-line */
3080
3087
  var query = _this.parent.query instanceof Query ? _this.parent.query : new Query();
3081
3088
  var adaptor = data_2.adaptor;
@@ -3083,14 +3090,21 @@ var Edit = /** @class */ (function () {
3083
3090
  /* tslint:disable-next-line */
3084
3091
  var crud = data_2.saveChanges(updatedData_2, _this.parent.taskFields.id, null, query);
3085
3092
  crud.then(function (e) {
3093
+ if (e.addedRecords[0][_this.parent.taskFields.id].toString() != args.data['ganttProperties']['taskId']) {
3094
+ args.data['ganttProperties']['taskId'] = e.addedRecords[0][_this.parent.taskFields.id].toString();
3095
+ args.newTaskData[tempTaskID] = e.addedRecords[0][_this.parent.taskFields.id].toString();
3096
+ args.data['ganttProperties']['rowUniqueID'] = e.addedRecords[0][_this.parent.taskFields.id].toString();
3097
+ _this.parent.ids.push(e.addedRecords[0][_this.parent.taskFields.id].toString());
3098
+ }
3099
+ var prevID = args.data.ganttProperties.taskId.toString();
3086
3100
  if (_this.parent.taskFields.id && !isNullOrUndefined(e.addedRecords[0][_this.parent.taskFields.id]) &&
3087
- e.addedRecords[0][_this.parent.taskFields.id].toString() == prevID_1) {
3101
+ e.addedRecords[0][_this.parent.taskFields.id].toString() == prevID) {
3088
3102
  _this.parent.setRecordValue('taskId', e.addedRecords[0][_this.parent.taskFields.id], args.data.ganttProperties, true);
3089
3103
  _this.parent.setRecordValue('taskData', e.addedRecords[0], args.data);
3090
3104
  _this.parent.setRecordValue(_this.parent.taskFields.id, e.addedRecords[0][_this.parent.taskFields.id], args.data);
3091
3105
  _this.parent.setRecordValue('rowUniqueID', e.addedRecords[0][_this.parent.taskFields.id].toString(), args.data.ganttProperties, true);
3092
3106
  _this.updateClientDataFromServer(e, args);
3093
- var idsIndex = _this.parent.ids.indexOf(prevID_1);
3107
+ var idsIndex = _this.parent.ids.indexOf(prevID);
3094
3108
  if (idsIndex !== -1) {
3095
3109
  _this.parent.ids[idsIndex] = e.addedRecords[0][_this.parent.taskFields.id].toString();
3096
3110
  }
@@ -1,7 +1,7 @@
1
1
  import { PdfExportProperties } from './../base/interface';
2
2
  import { Gantt } from '../base/gantt';
3
3
  import { ExportHelper } from '../export/export-helper';
4
- import { SizeF } from '@syncfusion/ej2-pdf-export';
4
+ import { PdfPage, SizeF } from '@syncfusion/ej2-pdf-export';
5
5
  import { PdfGantt } from '../export/pdf-gantt';
6
6
  /**
7
7
  *
@@ -16,6 +16,7 @@ export declare class PdfExport {
16
16
  private isBlob;
17
17
  private blobPromise;
18
18
  pdfPageDimensions: SizeF;
19
+ pdfPage: PdfPage;
19
20
  /**
20
21
  * @param {Gantt} parent .
21
22
  * @hidden
@@ -125,8 +125,8 @@ var PdfExport = /** @class */ (function () {
125
125
  var _this = this;
126
126
  var section = this.pdfDocument.sections.add();
127
127
  this.processSectionExportProperties(section, pdfExportProperties);
128
- var pdfPage = section.pages.add();
129
- this.pdfPageDimensions = pdfPage.getClientSize();
128
+ this.pdfPage = section.pages.add();
129
+ this.pdfPageDimensions = this.pdfPage.getClientSize();
130
130
  /* eslint-disable-next-line */
131
131
  return new Promise(function (resolve, reject) {
132
132
  _this.helper.processGridExport(data, _this.gantt, pdfExportProperties);
@@ -135,7 +135,7 @@ var PdfExport = /** @class */ (function () {
135
135
  }).then(function () {
136
136
  var format = new PdfTreeGridLayoutFormat();
137
137
  format.break = PdfLayoutBreakType.FitElement;
138
- var layouter = _this.gantt.drawGrid(pdfPage, 0, 0, format);
138
+ var layouter = _this.gantt.drawGrid(_this.pdfPage, 0, 0, format);
139
139
  _this.gantt.drawChart(layouter);
140
140
  if (_this.helper.exportProps && _this.helper.exportProps.fitToWidthSettings && _this.helper.exportProps.fitToWidthSettings.isFitToWidth) {
141
141
  _this.parent.zoomingProjectStartDate = _this.helper.beforeSinglePageExport['zoomingProjectStartDate'];
@@ -1852,7 +1852,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
1852
1852
  pStartDate.setTime(pStartDate.getTime() + (left * milliSecondsPerPixel));
1853
1853
  /* To render the milestone in proper date while editing */
1854
1854
  if (isMilestone && !isNullOrUndefined(property.predecessorsName) && property.predecessorsName !== '') {
1855
- pStartDate.setDate(pStartDate.getDate() - 1);
1855
+ // pStartDate.setDate(pStartDate.getDate()-1);
1856
1856
  this.parent.dateValidationModule.setTime(this.parent.defaultEndTime, pStartDate);
1857
1857
  pStartDate = this.parent.dateValidationModule.checkStartDate(pStartDate, property, true);
1858
1858
  }
@@ -1862,9 +1862,9 @@ var TaskbarEdit = /** @class */ (function (_super) {
1862
1862
  if (this.parent.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && !this.parent.isInDst(pStartDate)) {
1863
1863
  pStartDate.setTime(pStartDate.getTime() + (60 * 60 * 1000));
1864
1864
  }
1865
- else if (!this.parent.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && this.parent.isInDst(pStartDate)) {
1866
- pStartDate.setTime(pStartDate.getTime() - (60 * 60 * 1000));
1867
- }
1865
+ // else if (!this.parent.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && this.parent.isInDst(pStartDate)) {
1866
+ // pStartDate.setTime(pStartDate.getTime() - (60 * 60 * 1000));
1867
+ // }
1868
1868
  }
1869
1869
  return pStartDate;
1870
1870
  };
@@ -84,19 +84,25 @@ var TaskProcessor = /** @class */ (function (_super) {
84
84
  var queryManager = this.parent.query instanceof Query ? this.parent.query : new Query();
85
85
  queryManager.requiresCount();
86
86
  var dataManager = this.parent.dataSource;
87
- dataManager.executeQuery(queryManager).then(function (e) {
88
- _this.dataArray = e.result;
89
- _this.processTimeline();
90
- if (_this.parent.loadChildOnDemand || (!_this.parent.loadChildOnDemand && !(_this.parent.taskFields.hasChildMapping))) {
91
- _this.cloneDataSource();
92
- }
93
- _this.parent.renderGantt(isChange);
94
- }).catch(function (e) {
95
- // Trigger action failure event
96
- _this.parent.processTimeline();
97
- _this.parent.renderGantt(isChange);
98
- _this.parent.trigger('actionFailure', { error: e });
99
- });
87
+ if (!this.parent.loadChildOnDemand && this.parent.taskFields.hasChildMapping) {
88
+ this.processTimeline();
89
+ this.parent.renderGantt(isChange);
90
+ }
91
+ else {
92
+ dataManager.executeQuery(queryManager).then(function (e) {
93
+ _this.dataArray = e.result;
94
+ _this.processTimeline();
95
+ if (_this.parent.loadChildOnDemand || (!_this.parent.loadChildOnDemand && !(_this.parent.taskFields.hasChildMapping))) {
96
+ _this.cloneDataSource();
97
+ }
98
+ _this.parent.renderGantt(isChange);
99
+ }).catch(function (e) {
100
+ // Trigger action failure event
101
+ _this.parent.processTimeline();
102
+ _this.parent.renderGantt(isChange);
103
+ _this.parent.trigger('actionFailure', { error: e });
104
+ });
105
+ }
100
106
  };
101
107
  TaskProcessor.prototype.constructDataSource = function (dataSource) {
102
108
  var mappingData = new DataManager(dataSource).executeLocal(new Query()
@@ -2280,14 +2286,11 @@ var TaskProcessor = /** @class */ (function (_super) {
2280
2286
  */
2281
2287
  TaskProcessor.prototype.updateWidthLeft = function (data) {
2282
2288
  var ganttRecord = data.ganttProperties;
2289
+ var totalSegmentsProgressWidth = 0;
2283
2290
  // task endDate may be changed in segment calculation so this must be calculated first.
2284
2291
  // task width calculating was based on endDate
2285
2292
  if (!isNullOrUndefined(ganttRecord.segments) && ganttRecord.segments.length > 0) {
2286
2293
  var segments = ganttRecord.segments;
2287
- var fixedWidth = true;
2288
- var totalTaskWidth = this.splitTasksDuration(segments) * ((this.parent.timelineModule.bottomTier === "Hour" || this.parent.timelineModule.bottomTier === "Minutes") ? this.parent.timelineSettings.timelineUnitSize : this.parent.perDayWidth);
2289
- ;
2290
- var totalProgressWidth = this.parent.dataOperation.getProgressWidth(totalTaskWidth, ganttRecord.progress);
2291
2294
  for (var i = 0; i < segments.length; i++) {
2292
2295
  var segment = segments[i];
2293
2296
  if (i === 0 && !isNullOrUndefined(ganttRecord.startDate) &&
@@ -2298,22 +2301,27 @@ var TaskProcessor = /** @class */ (function (_super) {
2298
2301
  this.parent.chartRowsModule.incrementSegments(segments, 0, data);
2299
2302
  }
2300
2303
  segment.width = this.getSplitTaskWidth(segment.startDate, segment.duration, data);
2304
+ totalSegmentsProgressWidth = totalSegmentsProgressWidth + segment.width;
2301
2305
  segment.showProgress = false;
2302
2306
  segment.progressWidth = -1;
2303
2307
  if (i !== 0) {
2304
2308
  var pStartDate = new Date(ganttRecord.startDate.getTime());
2305
2309
  segment.left = this.getSplitTaskLeft(segment.startDate, pStartDate);
2306
2310
  }
2307
- if (totalProgressWidth > 0 && totalProgressWidth > segment.width) {
2308
- totalProgressWidth = totalProgressWidth - segment.width;
2309
- segment.progressWidth = segment.width;
2310
- segment.showProgress = false;
2311
- }
2312
- else if (fixedWidth) {
2313
- segment.progressWidth = totalProgressWidth;
2314
- segment.showProgress = true;
2315
- totalProgressWidth = totalProgressWidth - segment.width;
2316
- fixedWidth = false;
2311
+ }
2312
+ var setProgress = this.parent.dataOperation.getProgressWidth(totalSegmentsProgressWidth, ganttRecord.progress);
2313
+ var isValid = true;
2314
+ for (var i = 0; i < segments.length; i++) {
2315
+ if (isValid) {
2316
+ if (setProgress <= segments[i].width) {
2317
+ segments[i].progressWidth = setProgress;
2318
+ segments[i].showProgress = true;
2319
+ isValid = false;
2320
+ }
2321
+ else {
2322
+ segments[i].progressWidth = segments[i].width;
2323
+ setProgress = setProgress - segments[i].progressWidth;
2324
+ }
2317
2325
  }
2318
2326
  }
2319
2327
  this.parent.setRecordValue('segments', ganttRecord.segments, ganttRecord, true);
@@ -2321,7 +2329,12 @@ var TaskProcessor = /** @class */ (function (_super) {
2321
2329
  }
2322
2330
  this.parent.setRecordValue('width', this.parent.dataOperation.calculateWidth(data), ganttRecord, true);
2323
2331
  this.parent.setRecordValue('left', this.parent.dataOperation.calculateLeft(ganttRecord), ganttRecord, true);
2324
- this.parent.setRecordValue('progressWidth', this.parent.dataOperation.getProgressWidth((ganttRecord.isAutoSchedule || !data.hasChildRecords ? ganttRecord.width : ganttRecord.autoWidth), ganttRecord.progress), ganttRecord, true);
2332
+ if (!isNullOrUndefined(ganttRecord.segments) && ganttRecord.segments.length > 0) {
2333
+ this.parent.setRecordValue('progressWidth', this.parent.dataOperation.getProgressWidth(totalSegmentsProgressWidth, ganttRecord.progress), ganttRecord, true);
2334
+ }
2335
+ else {
2336
+ this.parent.setRecordValue('progressWidth', this.parent.dataOperation.getProgressWidth((ganttRecord.isAutoSchedule || !data.hasChildRecords ? ganttRecord.width : ganttRecord.autoWidth), ganttRecord.progress), ganttRecord, true);
2337
+ }
2325
2338
  };
2326
2339
  /**
2327
2340
  * method to update left, width, progress width in record
@@ -15,6 +15,7 @@ export declare class GanttTreeGrid {
15
15
  * @private
16
16
  */
17
17
  currentEditRow: {};
18
+ private registeredTemplate;
18
19
  addedRecord: boolean;
19
20
  private previousScroll;
20
21
  /** @hidden */
@@ -110,6 +110,9 @@ var GanttTreeGrid = /** @class */ (function () {
110
110
  this.bindEvents();
111
111
  var root = 'root';
112
112
  this.parent.treeGrid[root] = this.parent[root] ? this.parent[root] : this.parent;
113
+ setValue('registeredTemplate', this.registeredTemplate, this.parent.treeGrid.grid);
114
+ var ref = 'viewContainerRef';
115
+ setValue('viewContainerRef', this["" + ref], this.parent.treeGrid.grid);
113
116
  this.parent.treeGrid.appendTo(this.treeGridElement);
114
117
  if (this.parent.treeGrid.grid && this.parent.toolbarModule && this.parent.isReact) {
115
118
  this.parent.treeGrid.grid.portals = this.parent.portals;
@@ -695,9 +695,11 @@ var ExportHelper = /** @class */ (function () {
695
695
  compositeField.draw(footer.graphics, new PointF(0, 0));
696
696
  pdfDoc.template.bottom = footer;
697
697
  }
698
+ var PdfPage = this.parent.pdfExportModule.pdfPage;
699
+ var pageSize = PdfPage.size;
700
+ var clientSize = !isNullOrUndefined(pageSize) ? pageSize : this.pdfDoc.pageSettings.size;
698
701
  // code for draw header content
699
702
  if (!isNullOrUndefined(this.exportProps.header)) {
700
- var clientSize = this.pdfDoc.pageSettings.size;
701
703
  var headerProp = this.exportProps.header;
702
704
  var position = new PointF(0, headerProp.fromTop);
703
705
  var size = new SizeF((clientSize.width * 1.1), ((headerProp && headerProp.height) ? headerProp.height * 0.75 : 50));
@@ -706,7 +708,6 @@ var ExportHelper = /** @class */ (function () {
706
708
  }
707
709
  // code for customization of footer
708
710
  if (!this.exportProps.enableFooter && !isNullOrUndefined(this.exportProps.footer)) {
709
- var clientSize = this.pdfDoc.pageSettings.size;
710
711
  var footer = this.exportProps.footer;
711
712
  var position = new PointF(0, ((clientSize.width - 80) - ((footer && footer.fromBottom) ?
712
713
  footer.fromBottom * 0.75 : 0)));
@@ -105,13 +105,32 @@ var PdfGanttTaskbarCollection = /** @class */ (function () {
105
105
  progressFormat.alignment = PdfTextAlignment.Left;
106
106
  }
107
107
  var pageIndex = -1;
108
+ var renderBaselineWidth = 0;
109
+ if (this.baselineWidth > detail.totalWidth) {
110
+ if (this.parent.timelineModule.isZoomedToFit || this.isAutoFit()) {
111
+ renderBaselineWidth = detail.totalWidth - this.baselineLeft;
112
+ }
113
+ else {
114
+ renderBaselineWidth = detail.totalWidth;
115
+ }
116
+ this.baselineWidth = this.baselineWidth - detail.totalWidth;
117
+ }
118
+ else {
119
+ if ((this.parent.timelineModule.isZoomedToFit || this.isAutoFit()) && this.baselineWidth + this.baselineLeft > detail.totalWidth) {
120
+ renderBaselineWidth = detail.totalWidth - this.baselineLeft;
121
+ }
122
+ else {
123
+ renderBaselineWidth = this.baselineWidth;
124
+ }
125
+ }
126
+ var baselinePen = new PdfPen(taskbar.baselineBorderColor);
127
+ var baselineBrush = new PdfSolidBrush(taskbar.baselineColor);
128
+ var renderedBaseline = false;
108
129
  if (!taskbar.isMilestone) {
109
130
  var taskbarPen_1 = new PdfPen(taskbar.taskBorderColor);
110
131
  var taskBrush_1 = new PdfSolidBrush(taskbar.taskColor);
111
- var baselinePen = new PdfPen(taskbar.baselineBorderColor);
112
132
  var manualParentBorderPen = new PdfPen(taskbar.manualParentBorder);
113
133
  var manualChildBorderPen = new PdfPen(taskbar.manualChildBorder);
114
- var baselineBrush = new PdfSolidBrush(taskbar.baselineColor);
115
134
  var manualTaskbarPen = new PdfPen(taskbar.manuallineColor);
116
135
  var manualParentPen = new PdfPen(taskbar.manualParentProgress);
117
136
  var manualline = new PdfPen(taskbar.manuallineColor);
@@ -182,11 +201,12 @@ var PdfGanttTaskbarCollection = /** @class */ (function () {
182
201
  else {
183
202
  if (this.parent.renderBaseline && taskbar.baselineStartDate && taskbar.baselineEndDate) {
184
203
  if (this.isAutoFit()) {
185
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (this.baselineWidth), pixelToPoint(this.baselineHeight));
204
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (renderBaselineWidth), pixelToPoint(this.baselineHeight));
186
205
  }
187
206
  else {
188
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(this.baselineWidth), pixelToPoint(this.baselineHeight));
207
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(renderBaselineWidth), pixelToPoint(this.baselineHeight));
189
208
  }
209
+ renderedBaseline = true;
190
210
  }
191
211
  if (taskbar.isSpliterTask) {
192
212
  splitline.dashStyle = PdfDashStyle.Dot;
@@ -399,11 +419,12 @@ var PdfGanttTaskbarCollection = /** @class */ (function () {
399
419
  else {
400
420
  if (this.parent.renderBaseline && taskbar.baselineStartDate && taskbar.baselineEndDate) {
401
421
  if (this.isAutoFit()) {
402
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (this.baselineWidth), pixelToPoint(this.baselineHeight));
422
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (renderBaselineWidth), pixelToPoint(this.baselineHeight));
403
423
  }
404
424
  else {
405
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(this.baselineWidth), pixelToPoint(this.baselineHeight));
425
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(renderBaselineWidth), pixelToPoint(this.baselineHeight));
406
426
  }
427
+ renderedBaseline = true;
407
428
  }
408
429
  if (taskbar.isSpliterTask) {
409
430
  var pervwidth_1 = 0;
@@ -560,11 +581,12 @@ var PdfGanttTaskbarCollection = /** @class */ (function () {
560
581
  }
561
582
  if (this.parent.renderBaseline && taskbar.baselineStartDate && taskbar.baselineEndDate) {
562
583
  if (this.isAutoFit()) {
563
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (this.baselineWidth), pixelToPoint(this.baselineHeight));
584
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (renderBaselineWidth), pixelToPoint(this.baselineHeight));
564
585
  }
565
586
  else {
566
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(this.baselineWidth), pixelToPoint(this.baselineHeight));
587
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(renderBaselineWidth), pixelToPoint(this.baselineHeight));
567
588
  }
589
+ renderedBaseline = true;
568
590
  }
569
591
  if (!this.isScheduledTask && this.unscheduledTaskBy === 'duration') {
570
592
  var brush1 = void 0;
@@ -716,11 +738,12 @@ var PdfGanttTaskbarCollection = /** @class */ (function () {
716
738
  }
717
739
  if (this.parent.renderBaseline && taskbar.baselineStartDate && taskbar.baselineEndDate) {
718
740
  if (this.isAutoFit()) {
719
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (this.baselineWidth), pixelToPoint(this.baselineHeight));
741
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), (renderBaselineWidth), pixelToPoint(this.baselineHeight));
720
742
  }
721
743
  else {
722
- taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(this.baselineWidth), pixelToPoint(this.baselineHeight));
744
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight_1 + pixelToPoint(taskbar.height + 3), pixelToPoint(renderBaselineWidth), pixelToPoint(this.baselineHeight));
723
745
  }
746
+ renderedBaseline = true;
724
747
  }
725
748
  if (!this.isScheduledTask && this.unscheduledTaskBy === 'duration') {
726
749
  var brush1 = void 0;
@@ -941,6 +964,15 @@ var PdfGanttTaskbarCollection = /** @class */ (function () {
941
964
  this.drawMilestone(page, startPoint, detail, cumulativeWidth);
942
965
  }
943
966
  }
967
+ if (this.baselineEndDate >= detail.startDate && !renderedBaseline && detail.startIndex != 1 && this.parent.renderBaseline && taskbar.baselineStartDate && taskbar.baselineEndDate) {
968
+ var adjustHeight = pixelToPoint((this.parent.rowHeight - this.height) / 4.5);
969
+ if (this.isAutoFit()) {
970
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + (taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight + pixelToPoint(taskbar.height + 3), (renderBaselineWidth), pixelToPoint(this.baselineHeight));
971
+ }
972
+ else {
973
+ taskGraphics.drawRectangle(baselinePen, baselineBrush, startPoint.x + pixelToPoint(taskbar.baselineLeft - cumulativeWidth) + 0.5, startPoint.y + adjustHeight + pixelToPoint(taskbar.height + 3), pixelToPoint(renderBaselineWidth), pixelToPoint(this.baselineHeight));
974
+ }
975
+ }
944
976
  this.drawRightLabel(page, startPoint, detail, cumulativeWidth);
945
977
  return isNextPage;
946
978
  };
@@ -825,7 +825,7 @@
825
825
  box-sizing: border-box;
826
826
  }
827
827
  .e-gantt .e-gantt-chart .e-zero-spacing {
828
- border-spacing: 0.25px;
828
+ border-spacing: 0;
829
829
  }
830
830
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
831
831
  border-top: 0;
@@ -963,7 +963,7 @@
963
963
  box-sizing: border-box;
964
964
  }
965
965
  .e-gantt .e-gantt-chart .e-zero-spacing {
966
- border-spacing: 0.25px;
966
+ border-spacing: 0;
967
967
  }
968
968
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
969
969
  border-top: 0;
@@ -1177,7 +1177,7 @@
1177
1177
  box-sizing: border-box;
1178
1178
  }
1179
1179
  .e-gantt .e-gantt-chart .e-zero-spacing {
1180
- border-spacing: 0.25px;
1180
+ border-spacing: 0;
1181
1181
  }
1182
1182
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
1183
1183
  border-top: 0;
@@ -864,7 +864,7 @@
864
864
  box-sizing: border-box;
865
865
  }
866
866
  .e-gantt .e-gantt-chart .e-zero-spacing {
867
- border-spacing: 0.25px;
867
+ border-spacing: 0;
868
868
  }
869
869
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
870
870
  border-top: 0;
@@ -864,7 +864,7 @@
864
864
  box-sizing: border-box;
865
865
  }
866
866
  .e-gantt .e-gantt-chart .e-zero-spacing {
867
- border-spacing: 0.25px;
867
+ border-spacing: 0;
868
868
  }
869
869
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
870
870
  border-top: 0;
@@ -780,7 +780,7 @@
780
780
  box-sizing: border-box;
781
781
  }
782
782
  .e-gantt .e-gantt-chart .e-zero-spacing {
783
- border-spacing: 0.25px;
783
+ border-spacing: 0;
784
784
  }
785
785
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
786
786
  border-top: 0;
package/styles/fabric.css CHANGED
@@ -773,7 +773,7 @@
773
773
  box-sizing: border-box;
774
774
  }
775
775
  .e-gantt .e-gantt-chart .e-zero-spacing {
776
- border-spacing: 0.25px;
776
+ border-spacing: 0;
777
777
  }
778
778
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
779
779
  border-top: 0;
@@ -848,7 +848,7 @@
848
848
  box-sizing: border-box;
849
849
  }
850
850
  .e-gantt .e-gantt-chart .e-zero-spacing {
851
- border-spacing: 0.25px;
851
+ border-spacing: 0;
852
852
  }
853
853
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
854
854
  border-top: 0;
package/styles/fluent.css CHANGED
@@ -848,7 +848,7 @@
848
848
  box-sizing: border-box;
849
849
  }
850
850
  .e-gantt .e-gantt-chart .e-zero-spacing {
851
- border-spacing: 0.25px;
851
+ border-spacing: 0;
852
852
  }
853
853
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
854
854
  border-top: 0;
@@ -813,7 +813,7 @@
813
813
  }
814
814
 
815
815
  .e-zero-spacing {
816
- border-spacing: .25px;
816
+ border-spacing: 0;
817
817
  }
818
818
 
819
819
  .e-chart-row:first-child .e-chart-row-border {
@@ -825,7 +825,7 @@
825
825
  box-sizing: border-box;
826
826
  }
827
827
  .e-gantt .e-gantt-chart .e-zero-spacing {
828
- border-spacing: 0.25px;
828
+ border-spacing: 0;
829
829
  }
830
830
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
831
831
  border-top: 0;
@@ -963,7 +963,7 @@
963
963
  box-sizing: border-box;
964
964
  }
965
965
  .e-gantt .e-gantt-chart .e-zero-spacing {
966
- border-spacing: 0.25px;
966
+ border-spacing: 0;
967
967
  }
968
968
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
969
969
  border-top: 0;
@@ -1177,7 +1177,7 @@
1177
1177
  box-sizing: border-box;
1178
1178
  }
1179
1179
  .e-gantt .e-gantt-chart .e-zero-spacing {
1180
- border-spacing: 0.25px;
1180
+ border-spacing: 0;
1181
1181
  }
1182
1182
  .e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
1183
1183
  border-top: 0;