@syncfusion/ej2-gantt 23.2.5 → 24.1.41
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.
- package/CHANGELOG.md +3 -0
- package/dist/ej2-gantt.min.js +2 -2
- package/dist/ej2-gantt.umd.min.js +2 -2
- package/dist/ej2-gantt.umd.min.js.map +1 -1
- package/dist/es6/ej2-gantt.es2015.js +2980 -336
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +3034 -370
- package/dist/es6/ej2-gantt.es5.js.map +1 -1
- package/dist/global/ej2-gantt.min.js +2 -2
- package/dist/global/ej2-gantt.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +21 -21
- package/src/gantt/actions/cell-edit.js +7 -3
- package/src/gantt/actions/chart-scroll.d.ts +9 -1
- package/src/gantt/actions/chart-scroll.js +111 -3
- package/src/gantt/actions/connector-line-edit.js +8 -1
- package/src/gantt/actions/context-menu.js +2 -2
- package/src/gantt/actions/day-markers.d.ts +2 -1
- package/src/gantt/actions/dependency.js +2 -2
- package/src/gantt/actions/dialog-edit.d.ts +24 -0
- package/src/gantt/actions/dialog-edit.js +383 -1
- package/src/gantt/actions/edit.js +104 -41
- package/src/gantt/actions/keyboard.js +5 -1
- package/src/gantt/actions/pdf-export.js +12 -4
- package/src/gantt/actions/rowdragdrop.js +24 -5
- package/src/gantt/actions/selection.js +6 -3
- package/src/gantt/actions/taskbar-edit.d.ts +14 -0
- package/src/gantt/actions/taskbar-edit.js +513 -78
- package/src/gantt/actions/toolbar.js +4 -1
- package/src/gantt/base/css-constants.d.ts +2 -0
- package/src/gantt/base/css-constants.js +2 -0
- package/src/gantt/base/enum.d.ts +22 -0
- package/src/gantt/base/gantt-chart.js +63 -21
- package/src/gantt/base/gantt-model.d.ts +9 -1
- package/src/gantt/base/gantt.d.ts +11 -1
- package/src/gantt/base/gantt.js +46 -18
- package/src/gantt/base/interface.d.ts +135 -3
- package/src/gantt/base/splitter.js +6 -0
- package/src/gantt/base/task-processor.d.ts +1 -1
- package/src/gantt/base/task-processor.js +37 -9
- package/src/gantt/base/tree-grid.js +1 -1
- package/src/gantt/export/export-helper.d.ts +12 -0
- package/src/gantt/export/export-helper.js +316 -9
- package/src/gantt/export/pdf-base/pdf-grid-table.js +14 -1
- package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +36 -0
- package/src/gantt/export/pdf-connector-line.js +137 -32
- package/src/gantt/export/pdf-event-marker.d.ts +10 -0
- package/src/gantt/export/pdf-event-marker.js +57 -0
- package/src/gantt/export/pdf-gantt.d.ts +2 -0
- package/src/gantt/export/pdf-gantt.js +30 -10
- package/src/gantt/export/pdf-taskbar.d.ts +23 -2
- package/src/gantt/export/pdf-taskbar.js +771 -43
- package/src/gantt/export/pdf-timeline.d.ts +9 -0
- package/src/gantt/export/pdf-timeline.js +98 -20
- package/src/gantt/models/column.d.ts +12 -0
- package/src/gantt/renderer/chart-rows.d.ts +1 -1
- package/src/gantt/renderer/chart-rows.js +29 -16
- package/src/gantt/renderer/connector-line.js +8 -5
- package/src/gantt/renderer/edit-tooltip.js +3 -0
- package/src/gantt/renderer/event-marker.js +4 -1
- package/src/gantt/renderer/nonworking-day.js +18 -5
- package/src/gantt/renderer/timeline.d.ts +9 -0
- package/src/gantt/renderer/timeline.js +169 -21
- package/styles/bootstrap-dark.css +77 -16
- package/styles/bootstrap.css +78 -17
- package/styles/bootstrap4.css +78 -17
- package/styles/bootstrap5-dark.css +78 -17
- package/styles/bootstrap5.css +78 -17
- package/styles/fabric-dark.css +78 -17
- package/styles/fabric.css +78 -17
- package/styles/fluent-dark.css +78 -17
- package/styles/fluent.css +78 -17
- package/styles/gantt/_bootstrap-dark-definition.scss +7 -2
- package/styles/gantt/_bootstrap-definition.scss +7 -2
- package/styles/gantt/_bootstrap4-definition.scss +7 -2
- package/styles/gantt/_bootstrap5-definition.scss +7 -2
- package/styles/gantt/_fabric-dark-definition.scss +7 -2
- package/styles/gantt/_fabric-definition.scss +7 -2
- package/styles/gantt/_fluent-definition.scss +7 -2
- package/styles/gantt/_fusionnew-definition.scss +6 -2
- package/styles/gantt/_highcontrast-definition.scss +7 -2
- package/styles/gantt/_highcontrast-light-definition.scss +7 -2
- package/styles/gantt/_layout.scss +92 -20
- package/styles/gantt/_material-dark-definition.scss +7 -2
- package/styles/gantt/_material-definition.scss +7 -2
- package/styles/gantt/_material3-definition.scss +7 -2
- package/styles/gantt/_tailwind-definition.scss +6 -1
- package/styles/gantt/_theme.scss +11 -0
- package/styles/gantt/bootstrap-dark.css +77 -16
- package/styles/gantt/bootstrap.css +78 -17
- package/styles/gantt/bootstrap4.css +78 -17
- package/styles/gantt/bootstrap5-dark.css +78 -17
- package/styles/gantt/bootstrap5.css +78 -17
- package/styles/gantt/fabric-dark.css +78 -17
- package/styles/gantt/fabric.css +78 -17
- package/styles/gantt/fluent-dark.css +78 -17
- package/styles/gantt/fluent.css +78 -17
- package/styles/gantt/highcontrast-light.css +78 -17
- package/styles/gantt/highcontrast.css +78 -17
- package/styles/gantt/material-dark.css +78 -17
- package/styles/gantt/material.css +78 -17
- package/styles/gantt/material3-dark.css +77 -16
- package/styles/gantt/material3.css +77 -16
- package/styles/gantt/tailwind-dark.css +78 -17
- package/styles/gantt/tailwind.css +78 -17
- package/styles/highcontrast-light.css +78 -17
- package/styles/highcontrast.css +78 -17
- package/styles/material-dark.css +78 -17
- package/styles/material.css +78 -17
- package/styles/material3-dark.css +77 -16
- package/styles/material3.css +77 -16
- package/styles/tailwind-dark.css +78 -17
- 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 |
|
|
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
|
/**
|
|
@@ -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
|
|
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 =
|
|
1917
|
-
var cEndDate =
|
|
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
|
-
|
|
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
|
}
|
|
@@ -676,7 +676,7 @@ var GanttTreeGrid = /** @class */ (function () {
|
|
|
676
676
|
else {
|
|
677
677
|
column.headerText = column.headerText ? column.headerText : this.parent.localeObj.getConstant('duration');
|
|
678
678
|
}
|
|
679
|
-
column.valueAccessor = column.valueAccessor ? column.valueAccessor : !isNullOrUndefined(column.edit) ? null :
|
|
679
|
+
column.valueAccessor = column.valueAccessor ? column.valueAccessor : !isNullOrUndefined(column.edit) && !isNullOrUndefined(column.edit.read) ? null :
|
|
680
680
|
this.durationValueAccessor.bind(this);
|
|
681
681
|
column.editType = column.editType ? column.editType : 'stringedit';
|
|
682
682
|
column.type = column.type ? column.type : 'string';
|
|
@@ -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
|