@syncfusion/ej2-gantt 23.2.7 → 24.1.43

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 (112) hide show
  1. package/CHANGELOG.md +2 -5
  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 +2993 -332
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +3047 -366
  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 +21 -21
  13. package/src/gantt/actions/cell-edit.js +7 -3
  14. package/src/gantt/actions/chart-scroll.d.ts +9 -1
  15. package/src/gantt/actions/chart-scroll.js +111 -3
  16. package/src/gantt/actions/connector-line-edit.js +8 -1
  17. package/src/gantt/actions/context-menu.js +2 -2
  18. package/src/gantt/actions/day-markers.d.ts +2 -1
  19. package/src/gantt/actions/dependency.js +2 -2
  20. package/src/gantt/actions/dialog-edit.d.ts +24 -0
  21. package/src/gantt/actions/dialog-edit.js +393 -2
  22. package/src/gantt/actions/edit.js +68 -21
  23. package/src/gantt/actions/keyboard.js +5 -1
  24. package/src/gantt/actions/pdf-export.js +12 -4
  25. package/src/gantt/actions/rowdragdrop.js +20 -9
  26. package/src/gantt/actions/selection.js +6 -3
  27. package/src/gantt/actions/taskbar-edit.d.ts +14 -0
  28. package/src/gantt/actions/taskbar-edit.js +517 -82
  29. package/src/gantt/actions/toolbar.js +4 -1
  30. package/src/gantt/base/css-constants.d.ts +2 -0
  31. package/src/gantt/base/css-constants.js +2 -0
  32. package/src/gantt/base/enum.d.ts +22 -0
  33. package/src/gantt/base/gantt-chart.js +63 -21
  34. package/src/gantt/base/gantt-model.d.ts +9 -1
  35. package/src/gantt/base/gantt.d.ts +11 -1
  36. package/src/gantt/base/gantt.js +46 -18
  37. package/src/gantt/base/interface.d.ts +135 -3
  38. package/src/gantt/base/splitter.js +6 -0
  39. package/src/gantt/base/task-processor.d.ts +1 -1
  40. package/src/gantt/base/task-processor.js +38 -10
  41. package/src/gantt/export/export-helper.d.ts +12 -0
  42. package/src/gantt/export/export-helper.js +316 -9
  43. package/src/gantt/export/pdf-base/pdf-grid-table.js +14 -1
  44. package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +36 -0
  45. package/src/gantt/export/pdf-connector-line.js +137 -32
  46. package/src/gantt/export/pdf-event-marker.d.ts +10 -0
  47. package/src/gantt/export/pdf-event-marker.js +57 -0
  48. package/src/gantt/export/pdf-gantt.d.ts +2 -0
  49. package/src/gantt/export/pdf-gantt.js +30 -10
  50. package/src/gantt/export/pdf-taskbar.d.ts +23 -2
  51. package/src/gantt/export/pdf-taskbar.js +771 -43
  52. package/src/gantt/export/pdf-timeline.d.ts +9 -0
  53. package/src/gantt/export/pdf-timeline.js +98 -20
  54. package/src/gantt/models/column.d.ts +12 -0
  55. package/src/gantt/renderer/chart-rows.d.ts +1 -1
  56. package/src/gantt/renderer/chart-rows.js +29 -16
  57. package/src/gantt/renderer/connector-line.js +8 -5
  58. package/src/gantt/renderer/edit-tooltip.js +3 -0
  59. package/src/gantt/renderer/event-marker.js +4 -1
  60. package/src/gantt/renderer/nonworking-day.js +18 -5
  61. package/src/gantt/renderer/timeline.d.ts +9 -0
  62. package/src/gantt/renderer/timeline.js +207 -27
  63. package/styles/bootstrap-dark.css +77 -16
  64. package/styles/bootstrap.css +78 -17
  65. package/styles/bootstrap4.css +78 -17
  66. package/styles/bootstrap5-dark.css +78 -17
  67. package/styles/bootstrap5.css +78 -17
  68. package/styles/fabric-dark.css +78 -17
  69. package/styles/fabric.css +78 -17
  70. package/styles/fluent-dark.css +78 -17
  71. package/styles/fluent.css +78 -17
  72. package/styles/gantt/_bootstrap-dark-definition.scss +7 -2
  73. package/styles/gantt/_bootstrap-definition.scss +7 -2
  74. package/styles/gantt/_bootstrap4-definition.scss +7 -2
  75. package/styles/gantt/_bootstrap5-definition.scss +7 -2
  76. package/styles/gantt/_fabric-dark-definition.scss +7 -2
  77. package/styles/gantt/_fabric-definition.scss +7 -2
  78. package/styles/gantt/_fluent-definition.scss +7 -2
  79. package/styles/gantt/_fusionnew-definition.scss +6 -2
  80. package/styles/gantt/_highcontrast-definition.scss +7 -2
  81. package/styles/gantt/_highcontrast-light-definition.scss +7 -2
  82. package/styles/gantt/_layout.scss +92 -20
  83. package/styles/gantt/_material-dark-definition.scss +7 -2
  84. package/styles/gantt/_material-definition.scss +7 -2
  85. package/styles/gantt/_material3-definition.scss +7 -2
  86. package/styles/gantt/_tailwind-definition.scss +6 -1
  87. package/styles/gantt/_theme.scss +11 -0
  88. package/styles/gantt/bootstrap-dark.css +77 -16
  89. package/styles/gantt/bootstrap.css +78 -17
  90. package/styles/gantt/bootstrap4.css +78 -17
  91. package/styles/gantt/bootstrap5-dark.css +78 -17
  92. package/styles/gantt/bootstrap5.css +78 -17
  93. package/styles/gantt/fabric-dark.css +78 -17
  94. package/styles/gantt/fabric.css +78 -17
  95. package/styles/gantt/fluent-dark.css +78 -17
  96. package/styles/gantt/fluent.css +78 -17
  97. package/styles/gantt/highcontrast-light.css +78 -17
  98. package/styles/gantt/highcontrast.css +78 -17
  99. package/styles/gantt/material-dark.css +78 -17
  100. package/styles/gantt/material.css +78 -17
  101. package/styles/gantt/material3-dark.css +77 -16
  102. package/styles/gantt/material3.css +77 -16
  103. package/styles/gantt/tailwind-dark.css +78 -17
  104. package/styles/gantt/tailwind.css +78 -17
  105. package/styles/highcontrast-light.css +78 -17
  106. package/styles/highcontrast.css +78 -17
  107. package/styles/material-dark.css +78 -17
  108. package/styles/material.css +78 -17
  109. package/styles/material3-dark.css +77 -16
  110. package/styles/material3.css +77 -16
  111. package/styles/tailwind-dark.css +78 -17
  112. package/styles/tailwind.css +78 -17
@@ -1,8 +1,8 @@
1
1
  import { PdfTreeGridCell } from './../export/pdf-base/pdf-grid-table';
2
2
  import { PdfBorders } from './../export/pdf-base/pdf-borders';
3
3
  import { ColumnModel } from './../models/column';
4
- import { PointF, PdfColor, PdfFontFamily, PdfFontStyle, PdfStringFormat, PdfTrueTypeFont } from '@syncfusion/ej2-pdf-export';
5
- import { ContextMenuType, PdfPageSize, PageOrientation, ExportType, PdfTheme, TaskType } from './enum';
4
+ import { PointF, PdfColor, PdfFontFamily, PdfFontStyle, PdfStringFormat, PdfTrueTypeFont, PdfStandardFont, PdfTextWebLink, PdfImage } from '@syncfusion/ej2-pdf-export';
5
+ import { ContextMenuType, PdfPageSize, PageOrientation, ExportType, PdfTheme, TaskType, ContentType, PdfPageNumberType, PdfDashStyle, PdfHAlign, PdfVAlign } from './enum';
6
6
  import { ContextMenuOpenEventArgs as GridContextMenuOpenEventArgs } from '@syncfusion/ej2-grids';
7
7
  import { ContextMenuClickEventArgs as GridContextMenuClickEventArgs } from '@syncfusion/ej2-grids';
8
8
  import { RecordDoubleClickEventArgs as GridRecordDoubleClickEventArgs } from '@syncfusion/ej2-grids';
@@ -220,6 +220,8 @@ export interface IIndicator {
220
220
  date?: Date | string;
221
221
  /** Defines the icon class of indicator. */
222
222
  iconClass?: string;
223
+ /** Defines the pdf image of indicator. */
224
+ base64?: string;
223
225
  /** Defines the name of indicator. */
224
226
  name?: string;
225
227
  /** Defines the tooltip of indicator. */
@@ -619,6 +621,12 @@ export interface RowDeselectEventArgs extends GridRowDeselectEventArgs {
619
621
  /** Defines the selected/deselected row. */
620
622
  row?: Element;
621
623
  }
624
+ export interface IEventMarkerInfo {
625
+ id?: number;
626
+ left?: number;
627
+ label?: string;
628
+ date?: Date;
629
+ }
622
630
  export interface ActionCompleteArgs extends ZoomEventArgs, IKeyPressedEventArgs {
623
631
  element?: HTMLElement;
624
632
  requestType?: string;
@@ -790,6 +798,8 @@ export interface PdfExportProperties {
790
798
  pageSize?: PdfPageSize;
791
799
  /** Enable the footer. */
792
800
  enableFooter?: boolean;
801
+ /** Enable the header. */
802
+ enableHeader?: boolean;
793
803
  /** Indicates whether to show the hidden columns in exported Pdf */
794
804
  includeHiddenColumn?: boolean;
795
805
  /** Defines the theme for exported Gantt */
@@ -804,6 +814,10 @@ export interface PdfExportProperties {
804
814
  showPredecessorLines?: boolean;
805
815
  /** Defines the export options in rendering each row fit to the PDF page width */
806
816
  fitToWidthSettings?: FitToWidthSettings;
817
+ /** Defines the Pdf header. */
818
+ header?: PdfHeader;
819
+ /** Defines the Pdf footer. */
820
+ footer?: PdfFooter;
807
821
  }
808
822
  export interface PdfQueryCellInfoEventArgs {
809
823
  /** Defines the column of the current cell. */
@@ -811,11 +825,29 @@ export interface PdfQueryCellInfoEventArgs {
811
825
  /** Defines the style of the current cell. */
812
826
  style?: PdfGanttCellStyle;
813
827
  /** Defines the value of the current cell. */
814
- value?: Date | string | number | boolean | Object;
828
+ value?: Date | string | number | boolean | PdfTextWebLink | PdfImage;
815
829
  /** Defines the data of the cell */
816
830
  data?: Object;
817
831
  /** Defines the current PDF cell */
818
832
  cell?: PdfTreeGridCell;
833
+ /** Defines the image details */
834
+ image?: Image;
835
+ /** Defines the hyperlink of the cell */
836
+ hyperLink?: Hyperlink;
837
+ }
838
+ export interface Image {
839
+ /** Defines the base 64 string for image */
840
+ base64: string;
841
+ /** Defines the height for the image */
842
+ height?: number;
843
+ /** Defines the height for the image */
844
+ width?: number;
845
+ }
846
+ export interface Hyperlink {
847
+ /** Defines the Url for hyperlink */
848
+ target?: string;
849
+ /** Defines the display text for hyperlink */
850
+ displayText?: string;
819
851
  }
820
852
  export interface TimelineDetails {
821
853
  startPoint?: number;
@@ -892,6 +924,24 @@ export interface ITaskbarStyle {
892
924
  baselineColor?: PdfColor;
893
925
  /** Defines the baseline border color */
894
926
  baselineBorderColor?: PdfColor;
927
+ /** Defines the split line background color */
928
+ splitLineBackground?: PdfColor;
929
+ /** Defines the unscheduled taskbar background color */
930
+ unscheduledTaskBarColor?: PdfColor;
931
+ /** Defines the manualParent Background color */
932
+ manualParentBackground?: PdfColor;
933
+ /** Defines the manualParent Progress color */
934
+ manualParentProgress?: PdfColor;
935
+ /** Defines the manualChild Background color */
936
+ manualChildBackground?: PdfColor;
937
+ /** Defines the manualChild Progress color */
938
+ manualChildProgress?: PdfColor;
939
+ /** Defines the manual line color */
940
+ manualLineColor?: PdfColor;
941
+ /** Defines the manualParent Background color */
942
+ manualParentBorder?: PdfColor;
943
+ /** Defines the manualChild Background color */
944
+ manualChildBorder?: PdfColor;
895
945
  }
896
946
  export interface FitToWidthSettings {
897
947
  /** Specifies whether to export gantt data where each row is adjusted and rendered to fit the PDF document page size. */
@@ -936,6 +986,8 @@ export interface PdfQueryTaskbarInfoEventArgs {
936
986
  taskbar?: ITaskbarStyle;
937
987
  /** Specify the value of the task data */
938
988
  data?: IGanttData;
989
+ /** Defines the Indicator */
990
+ indicators?: IIndicator[];
939
991
  }
940
992
  export interface PdfColumnHeaderQueryCellInfoEventArgs {
941
993
  /** Defines the PDF grid current cell. */
@@ -973,3 +1025,83 @@ export declare enum PdfHorizontalOverflowType {
973
1025
  */
974
1026
  LastPage = 1
975
1027
  }
1028
+ export interface PdfHeader {
1029
+ /** Defines the header content distance from top. */
1030
+ fromTop?: number;
1031
+ /** Defines the height of header content. */
1032
+ height?: number;
1033
+ /** Defines the header contents. */
1034
+ contents?: PdfHeaderFooterContent[];
1035
+ }
1036
+ export interface PdfFooter {
1037
+ /** Defines the footer content distance from bottom. */
1038
+ fromBottom?: number;
1039
+ /** Defines the height of footer content. */
1040
+ height?: number;
1041
+ /** Defines the footer contents */
1042
+ contents?: PdfHeaderFooterContent[];
1043
+ }
1044
+ export interface PdfHeaderFooterContent {
1045
+ /** Defines the content type */
1046
+ type: ContentType;
1047
+ /** Defines the page number type */
1048
+ pageNumberType?: PdfPageNumberType;
1049
+ /** Defines the style of content */
1050
+ style?: PdfContentStyle;
1051
+ /** Defines the pdf points for drawing line */
1052
+ points?: PdfPoints;
1053
+ /** Defines the format for customizing page number */
1054
+ format?: string;
1055
+ /** Defines the position of the content */
1056
+ position?: PdfPosition;
1057
+ /** Defines the size of content */
1058
+ size?: PdfSize;
1059
+ /** Defines the base64 string for image content type */
1060
+ src?: string;
1061
+ /** Defines the value for content */
1062
+ value?: any;
1063
+ /** Defines the font for the content */
1064
+ font?: PdfStandardFont | PdfTrueTypeFont;
1065
+ /** Defines the alignment of header */
1066
+ stringFormat?: PdfStringFormat;
1067
+ }
1068
+ export interface PdfContentStyle {
1069
+ /** Defines the pen color. */
1070
+ penColor?: string;
1071
+ /** Defines the pen size. */
1072
+ penSize?: number;
1073
+ /** Defines the dash style. */
1074
+ dashStyle?: PdfDashStyle;
1075
+ /** Defines the text brush color. */
1076
+ textBrushColor?: string;
1077
+ /** Defines the text pen color. */
1078
+ textPenColor?: string;
1079
+ /** Defines the font size. */
1080
+ fontSize?: number;
1081
+ /** Defines the horizontal alignment. */
1082
+ hAlign?: PdfHAlign;
1083
+ /** Defines the vertical alignment. */
1084
+ vAlign?: PdfVAlign;
1085
+ }
1086
+ export interface PdfPoints {
1087
+ /** Defines the x1 position */
1088
+ x1: number;
1089
+ /** Defines the y1 position */
1090
+ y1: number;
1091
+ /** Defines the x2 position */
1092
+ x2: number;
1093
+ /** Defines the y2 position */
1094
+ y2: number;
1095
+ }
1096
+ export interface PdfPosition {
1097
+ /** Defines the x position */
1098
+ x: number;
1099
+ /** Defines the y position */
1100
+ y: number;
1101
+ }
1102
+ export interface PdfSize {
1103
+ /** Defines the height */
1104
+ height: number;
1105
+ /** Defines the width */
1106
+ width: number;
1107
+ }
@@ -90,6 +90,12 @@ var Splitter = /** @class */ (function () {
90
90
  });
91
91
  this.parent.element.appendChild(this.parent.splitterElement);
92
92
  this.splitterObject.appendTo(this.parent.splitterElement);
93
+ var splitterLeftPane = this.splitterObject.element.querySelector('.e-split-bar');
94
+ if (splitterLeftPane) {
95
+ var numericValue = parseFloat(splitterPosition.replace('%', ''));
96
+ var ariaValueNow = Math.min(100, Math.max(0, numericValue));
97
+ splitterLeftPane.setAttribute('aria-valuenow', ariaValueNow.toString());
98
+ }
93
99
  };
94
100
  /**
95
101
  * @param {SplitterSettingsModel} splitter .
@@ -196,7 +196,7 @@ export declare class TaskProcessor extends DateProcessor {
196
196
  * @returns {number} .
197
197
  * @private
198
198
  */
199
- getTaskLeft(startDate: Date, isMilestone: boolean): number;
199
+ getTaskLeft(startDate: Date, isMilestone: boolean, isFromTimelineVirtulization?: boolean): number;
200
200
  getSplitTaskWidth(sDate: Date, duration: number, data: IGanttData): number;
201
201
  getSplitTaskLeft(sDate: Date, segmentTaskStartDate: Date): number;
202
202
  /**
@@ -1255,7 +1255,7 @@ var TaskProcessor = /** @class */ (function (_super) {
1255
1255
  }
1256
1256
  else {
1257
1257
  if (isValid) {
1258
- return ((this.getTimeDifference(sDate, eDate) / (1000 * 60 * 60 * 24)) * this.parent.perDayWidth);
1258
+ return ((this.getTimeDifference(sDate, eDate, true) / (1000 * 60 * 60 * 24)) * this.parent.perDayWidth);
1259
1259
  }
1260
1260
  else {
1261
1261
  return ((this.getTimeDifference(sDate, eDate) / (1000 * 60 * 60 * hour)) * this.parent.perDayWidth);
@@ -1290,7 +1290,7 @@ var TaskProcessor = /** @class */ (function (_super) {
1290
1290
  * @returns {number} .
1291
1291
  * @private
1292
1292
  */
1293
- TaskProcessor.prototype.getTaskLeft = function (startDate, isMilestone) {
1293
+ TaskProcessor.prototype.getTaskLeft = function (startDate, isMilestone, isFromTimelineVirtulization) {
1294
1294
  var date = new Date(startDate.getTime());
1295
1295
  var tierMode = this.parent.timelineModule.bottomTier !== 'None' ? this.parent.timelineModule.bottomTier :
1296
1296
  this.parent.timelineModule.topTier;
@@ -1305,7 +1305,18 @@ var TaskProcessor = /** @class */ (function (_super) {
1305
1305
  date.setHours(22);
1306
1306
  }
1307
1307
  }
1308
- var timelineStartDate = this.parent.timelineModule.timelineStartDate;
1308
+ var leftValueForStartDate;
1309
+ var isValid = true;
1310
+ if ((this.parent.editModule && ((this.parent.editModule.taskbarEditModule && this.parent.editModule.taskbarEditModule.taskBarEditAction) || (this.parent.editModule.dialogModule && this.parent.editModule.dialogModule['isEdit']) ||
1311
+ this.parent.ganttChartModule.scrollObject['isSetScrollLeft'])) && !isFromTimelineVirtulization) {
1312
+ isValid = false;
1313
+ }
1314
+ if (this.parent.enableTimelineVirtualization && isValid && !this.parent.timelineModule['performedTimeSpanAction']) {
1315
+ leftValueForStartDate = (this.parent.enableTimelineVirtualization && this.parent.ganttChartModule.scrollObject.element.scrollLeft != 0)
1316
+ ? this.parent.ganttChartModule.scrollObject.getTimelineLeft() : null;
1317
+ }
1318
+ var timelineStartDate = (this.parent.enableTimelineVirtualization && !isNullOrUndefined(leftValueForStartDate))
1319
+ ? new Date((this.parent.timelineModule['dateByLeftValue'](leftValueForStartDate)).toString()) : new Date(this.parent.timelineModule.timelineStartDate);
1309
1320
  if (timelineStartDate) {
1310
1321
  return (date.getTime() - timelineStartDate.getTime()) / (1000 * 60 * 60 * 24) * this.parent.perDayWidth;
1311
1322
  }
@@ -1746,7 +1757,7 @@ var TaskProcessor = /** @class */ (function (_super) {
1746
1757
  var resourceInfo = data.ganttProperties.resourceInfo;
1747
1758
  var resourceName = [];
1748
1759
  var taskMapping = this.parent.taskFields;
1749
- if (resourceInfo) {
1760
+ if (resourceInfo && resourceInfo.length > 0) {
1750
1761
  var resourceLength = resourceInfo.length;
1751
1762
  var taskResources = extend([], [], data.taskData[this.parent.taskFields.resourceInfo], true);
1752
1763
  this.parent.setRecordValue('taskData.' + this.parent.taskFields.resourceInfo, [], data);
@@ -1848,7 +1859,7 @@ var TaskProcessor = /** @class */ (function (_super) {
1848
1859
  */
1849
1860
  TaskProcessor.prototype.updateDurationValue = function (duration, ganttProperties) {
1850
1861
  var tempDuration = this.getDurationValue(duration);
1851
- if (!isNaN(getValue('duration', tempDuration)) && !(this.parent.viewType === "ResourceView" && tempDuration["duration"] === 0)) {
1862
+ if (!isNaN(getValue('duration', tempDuration)) && !(this.parent.viewType === "ResourceView" && tempDuration["duration"] === 0 && this.parent.editModule.cellEditModule.isCellEdit)) {
1852
1863
  this.parent.setRecordValue('duration', getValue('duration', tempDuration), ganttProperties, true);
1853
1864
  }
1854
1865
  if (!isNullOrUndefined(getValue('durationUnit', tempDuration))) {
@@ -1913,8 +1924,14 @@ var TaskProcessor = /** @class */ (function (_super) {
1913
1924
  this.updateOverlappingIndex(tasks);
1914
1925
  for (var count = 1; count < tasks.length; count++) {
1915
1926
  currentTask = tasks[count];
1916
- var cStartDate = new Date(currentTask.ganttProperties.startDate.getTime());
1917
- var cEndDate = new Date(currentTask.ganttProperties.endDate.getTime()); //task 2
1927
+ var cStartDate = void 0;
1928
+ var cEndDate = void 0;
1929
+ if (currentTask.ganttProperties.startDate) {
1930
+ cStartDate = new Date(currentTask.ganttProperties.startDate.getTime());
1931
+ }
1932
+ if (currentTask.ganttProperties.endDate) {
1933
+ cEndDate = new Date(currentTask.ganttProperties.endDate.getTime()); //task 2
1934
+ }
1918
1935
  var range = [];
1919
1936
  // eslint-disable-next-line
1920
1937
  var rangeObj = {};
@@ -1922,7 +1939,7 @@ var TaskProcessor = /** @class */ (function (_super) {
1922
1939
  var tStartDate = tasks[index].ganttProperties.startDate;
1923
1940
  var tEndDate = tasks[index].ganttProperties.endDate; // task 1
1924
1941
  var rangeObj_1 = {};
1925
- if (this._isInStartDateRange(cStartDate, tStartDate, tEndDate) || this._isInEndDateRange(cEndDate, tStartDate, tEndDate)) {
1942
+ if (cStartDate && cEndDate && (this._isInStartDateRange(cStartDate, tStartDate, tEndDate) || this._isInEndDateRange(cEndDate, tStartDate, tEndDate))) {
1926
1943
  if ((tStartDate.getTime() > cStartDate.getTime() && tStartDate.getTime() < cEndDate.getTime()
1927
1944
  && tEndDate.getTime() > cStartDate.getTime() && tEndDate.getTime() >= cEndDate.getTime())
1928
1945
  || (cStartDate.getTime() === tStartDate.getTime() && cEndDate.getTime() <= tEndDate.getTime())) {
@@ -2433,9 +2450,20 @@ var TaskProcessor = /** @class */ (function (_super) {
2433
2450
  else {
2434
2451
  milestoneCount++;
2435
2452
  }
2436
- childCompletedWorks += childData.ganttProperties.work;
2453
+ work = childData.ganttProperties.work;
2454
+ if (typeof work === 'string') {
2455
+ // If it's a string, convert it to a number
2456
+ numericValue = parseFloat(work);
2457
+ if (!isNaN(numericValue)) {
2458
+ childCompletedWorks += numericValue;
2459
+ }
2460
+ }
2461
+ else if (typeof work === 'number') {
2462
+ // If it's already a number, simply add it to childCompletedWorks
2463
+ childCompletedWorks += work;
2464
+ }
2437
2465
  };
2438
- var this_4 = this;
2466
+ var this_4 = this, work, numericValue;
2439
2467
  for (var count = 0; count < childLength; count++) {
2440
2468
  _loop_6(count);
2441
2469
  }
@@ -50,6 +50,7 @@ export declare class ExportHelper {
50
50
  private processPredecessor;
51
51
  private processRecordRow;
52
52
  private processRecordCell;
53
+ private setHyperLink;
53
54
  /**
54
55
  * Method for create the taskbar collection for rendering
55
56
  *
@@ -86,6 +87,17 @@ export declare class ExportHelper {
86
87
  * @private
87
88
  */
88
89
  initializePdf(pdfDoc: PdfDocument): void;
90
+ private drawPageTemplate;
91
+ private drawText;
92
+ private drawPageNumber;
93
+ private drawImage;
94
+ private drawLine;
95
+ private getPenFromContent;
96
+ private getDashStyle;
97
+ private getBrushFromContent;
98
+ private hexToRgb;
99
+ private setContentFormat;
100
+ private getPageNumberStyle;
89
101
  }
90
102
  /**
91
103
  * @hidden