UNPKG

@syncfusion/ej2-gantt

Version:
1,246 lines (1,245 loc) 41.9 kB
import { PdfTreeGridCell } from './../export/pdf-base/pdf-grid-table'; import { PdfBorders } from './../export/pdf-base/pdf-borders'; import { ColumnModel } from './../models/column'; import { PointF, PdfColor, PdfFontFamily, PdfFontStyle, PdfStringFormat, PdfTrueTypeFont, PdfStandardFont, PdfTextWebLink, PdfImage, PdfPen } from '@syncfusion/ej2-pdf-export'; import { ContextMenuType, PdfPageSize, PageOrientation, ExportType, PdfTheme, TaskType, ContentType, PdfPageNumberType, PdfDashStyle, PdfHAlign, PdfVAlign, ConstraintType, ViolationType } from './enum'; import { ContextMenuOpenEventArgs as GridContextMenuOpenEventArgs } from '@syncfusion/ej2-grids'; import { ContextMenuClickEventArgs as GridContextMenuClickEventArgs } from '@syncfusion/ej2-grids'; import { RecordDoubleClickEventArgs as GridRecordDoubleClickEventArgs } from '@syncfusion/ej2-grids'; import { RowSelectingEventArgs as GridRowSelectingEventArgs } from '@syncfusion/ej2-grids'; import { CellSelectingEventArgs as GridCellSelectingEventArgs } from '@syncfusion/ej2-grids'; import { RowDeselectEventArgs as GridRowDeselectEventArgs } from '@syncfusion/ej2-grids'; import { RowSelectEventArgs as GridRowSelectEventArgs, RowDataBoundEventArgs as GridRowDataBoundEventArgs } from '@syncfusion/ej2-grids'; import { Column } from '../models/column'; import { TooltipEventArgs } from '@syncfusion/ej2-popups'; import { TimelineViewMode } from '../base/enum'; import { TimelineTierSettingsModel } from '../models/timeline-settings-model'; import { EventMarkerModel } from '../models/event-marker-model'; import { PdfPaddings } from '../export/pdf-base/index'; /** * Specifies Gantt-chart interfaces * */ export interface IGanttData { /** Defines the child records of task. */ childRecords?: IGanttData[]; /** Defines the expanded state of task. */ expanded?: boolean; /** Defines the properties which used in internal calculations. */ ganttProperties?: ITaskData; /** Defines gantt data has child records or not. */ hasChildRecords?: boolean; /** Defines the index of task. */ index?: number; /** Defines the level of task. */ level?: number; /** Defines the direct parent item of task. */ parentItem?: IParent; /** Defines the parent unique id of task. */ parentUniqueID?: string; /** Defines the data which specified in data source. * * @isGenericType true */ taskData?: Object; /** Defines the unique id of task. */ uniqueID?: string; /** Defines the indicators value of task. */ indicators?: IIndicator[]; /** Defines the delete . */ isDelete?: boolean; /** Defines the critical path of task. */ isCritical?: boolean; /** Defines the slack value of critical path task. */ slack?: string | number; } export interface IGanttTaskInfo { /** The baseline width of the task. */ baselineWidth?: number; /** The baseline left position of the task. */ baselineLeft?: number; /** Indicates whether the task is on the critical path. */ isCritical?: boolean; /** The slack value for a critical path task. */ slack?: string | number; /** The width of the task's progress bar. */ progressWidth?: number; /** The left position of an auto-scheduled task. */ autoTaskLeft?: number; /** The width of an auto-scheduled task. */ autoTaskWidth?: number; /** The left position of a manually scheduled task. */ manualTaskLeft?: number; /** The width of a manually scheduled task. */ manualTaskWidth?: number; /** The segments of the task. */ segments?: ITaskSegment[]; /** The Work Breakdown Structure (WBS) code for the task. */ wbsCode?: string; /** The WBS predecessor code for the task. */ wbsPredecessor?: string; /** Indicates whether the task is auto-scheduleable. */ isAutoSchedule?: boolean; /** The left position of an auto-scheduled taskbar within a manually scheduled parent task. */ manualTaskAutoLeft?: number; /** The width of an auto-scheduled taskbar within a manually scheduled parent task. */ manualTaskAutoWidth?: number; /** The start date of an auto-scheduled taskbar within a manually scheduled parent task. */ manualTaskAutoStartDate?: Date; /** The end date of an auto-scheduled taskbar within a manually scheduled parent task. */ manualTaskAutoEndDate?: Date; } export interface IParent { /** Defines the unique id of task. */ uniqueID?: string; /** Defines the expanded state of task. */ expanded?: boolean; /** Defines the level of task. */ level?: number; /** Defines the id of task. */ taskId?: string; /** Defines the index of task. */ index?: number; } export interface ITaskData { /** Defines the baselineleft of task. */ baselineLeft?: number; /** Defines the baseline startdate of task. */ baselineStartDate?: Date; /** Defines the baseline enddate of task. */ baselineEndDate?: Date; /** Defines the baseline width of task. */ baselineWidth?: number; /** Defines the end date of task. */ endDate?: Date; /** Defines the css class of task. */ cssClass?: string; /** Defines the duration of task. */ duration?: number; /** Defines the duration unit of task. */ durationUnit?: string; /** Defines the task is auto schedule-able or not. */ isAutoSchedule?: boolean; /** Defines the task is milestone or not. */ isMilestone?: boolean; /** Defines the left of task. */ left?: number; /** Defines the critical path of task. */ isCritical?: boolean; /** Defines the slack value of critical path task. */ slack?: string | number; /** Defines the progress of task. */ progress?: number; /** Defines the progress width of task. */ progressWidth?: number; /** Defines the resource info of task. */ resourceInfo?: Object[]; /** Defines the resource names of task. */ resourceNames?: string; /** Defines the start date of task. */ startDate?: Date; /** Defines the notes of task. */ notes?: string; /** Defines the predecessors name of task. */ predecessorsName?: string | number | object[]; /** Defines the predecessor of task. */ predecessor?: IPredecessor[]; /** Defines the id of task. */ taskId?: string; /** Defines the parent id of task. */ parentId?: string; /** Defines the name of task. */ taskName?: string; /** Defines the width of task. */ width?: number; /** Defines the indicators of task. */ indicators?: IIndicator[]; /** Defines the unique id of task. */ uniqueID?: string; /** Defines the total progress of task. */ totalProgress?: number; /** Defines the total duration of task. */ totalDuration?: number; /** Defines the work of the task. */ work?: number; /** Defines the work unit of task. */ workUnit?: string; /** Defines task type */ taskType?: TaskType; /** Defines the auto scheduled task's start date. */ autoStartDate?: Date; /** Defines the auto scheduled task's end date. */ autoEndDate?: Date; /** Defines the auto scheduled task's duration */ autoDuration?: number; /** Defines the auto scheduled task's left. */ autoLeft?: number; /** Defines the auto scheduled task's width. */ autoWidth?: number; /** It have taskId for ProjectView and uniqueID for resourceView */ rowUniqueID?: string; /** Defines work timeline ranges. */ workTimelineRanges?: IWorkTimelineRanges[]; /** Defines overlap index. */ eOverlapIndex?: number; /** Defines whether overlapped with other taskbar or not. */ eOverlapped?: boolean; /** Defines task segments. */ segments?: ITaskSegment[]; /** * Defines shared task unique ids. */ sharedTaskUniqueIds?: string[]; /** Defines the wbs value for each task */ wbsCode?: string; /** Defines the wbs predecessor value for each task */ wbsPredecessor?: string; /** Defines the constraint date of the task. */ constraintDate?: Date; /** Defines the constraint type of the task. */ constraintType?: ConstraintType; } export interface ITaskSegment { /** Defines start date of the segment */ startDate?: Date; /** Defines end date of the segment */ endDate?: Date; /** Defines the duration of the segment. */ duration?: number; /** Defines the width of a segment. */ width?: number; /** Defines the progress width of a segment. */ progressWidth?: number; /** Defines the left position of a segment. */ left?: number; /** Defines the segment index */ segmentIndex?: number; /** Defines the duration between 2 segments */ offsetDuration?: number; /** Set for displaying progress in split taskbar */ showProgress?: boolean; } export interface IWorkTimelineRanges { /** Defines start date of task */ startDate?: Date; /** Defines end date of task */ endDate?: Date; /** Defines left value of resource usage/resource histogram. */ left?: number; /** Defines width of the resource usage/resource histogram. */ width?: number; /** Defines height of the resource usage/resource histogram. */ height?: number; /** Defines per day work. */ workPerDay?: number; /** Defines whether resource is over allocate or not. */ isOverAllocated?: boolean; /** Defines the task. */ task?: IGanttData; /** Defines start date of task */ from?: Date; /** Defines start date of task */ to?: Date; } export interface IGanttColumn { /** Defines column name */ field?: string; /** Defines header text of column */ headerText?: string; /** Defines edit type of column */ editType?: string; /** Defines mapping name of column */ mappingName?: string; /** Defines whether editing is enabled or not */ allowEditing: boolean; /** Defines width of column */ width: number; /** Defines format of column */ format: string; /** Defines whether column is visible or not */ visible: boolean; } export interface IIndicator { /** Defines the date of indicator. */ date?: Date | string; /** Defines the icon class of indicator. */ iconClass?: string; /** Defines the pdf image of indicator. */ base64?: string; /** Defines the name of indicator. */ name?: string; /** Defines the tooltip of indicator. */ tooltip?: string; } export interface IWorkingTimeRange { /** Defines the from date. */ from?: number; /** Defines the to date. */ to?: number; /** Defines whether it is working day or not. */ isWorking?: boolean; /** Defines the color to render. */ color?: string; /** Defines the interval between from and to dates. */ interval?: number; } export interface IQueryTaskbarInfoEventArgs { /** Defines the data. */ data: IGanttData; /** Defines the row element. */ rowElement: Element; /** Defines the taskbar element. */ taskbarElement: Element; /** Defines the taskbar background color. */ taskbarBgColor?: string; /** Defines the taskbar border color. */ taskbarBorderColor?: string; /** Defines the progressbar background color. */ progressBarBgColor?: string; /** Defines the milestone color. */ milestoneColor?: string; /** Defines the right label color. */ rightLabelColor?: string; /** Defines the left label color. */ leftLabelColor?: string; /** Defines the task label color. */ taskLabelColor?: string; /** Defines the baseline color. */ baselineColor?: string; /** Defines the taskbar type. */ taskbarType: string; } export interface IGanttCellFormatter { /** Method to format the cell value of date columns. */ getValue(column: Column, data: Object): Object; } export interface ITaskbarEditedEventArgs { /** Defines the editingFields. */ editingFields?: ITaskData; /** Defines the data. */ data?: IGanttData; /** Defines the index of edited task. */ recordIndex?: number; /** Defines the previous value of editing task. */ previousData?: ITaskData; /** Defines the type of taskbar edit action. */ taskBarEditAction?: string; /** Defines the duration roundoff. */ roundOffDuration?: boolean; /** Defines the event is cancel-able or not. */ cancel?: boolean; /** Defines the action. */ action?: string; /** Defines the target element. */ target?: Element; /** Defines the segment index. */ segmentIndex?: number; } export interface IKeyPressedEventArgs { /** Defines the request type. */ requestType?: string; /** Defines the key action. */ action?: string; /** Defines the event. */ keyEvent?: Event; } export interface ITaskDeletedEventArgs { /** Defines the deleted records */ deletedRecordCollection?: IGanttData[]; /** Defines the updated records */ updatedRecordCollection?: IGanttData[]; /** Defines the event is cancel-able or not. */ cancel?: boolean; /** Defines the event action. */ action?: string; } export interface IDependencyEditData { id?: string; text?: string; value?: string; } export interface IPredecessor { /** Defines the from value of predecessor. */ from?: string; /** Defines the to value of predecessor. */ to?: string; /** Defines the type of predecessor. */ type?: string; /** Defines the offset value of predecessor. */ offset?: number; /** Defines the offset unit of predecessor. */ offsetUnit?: string; /** Defines the predecessor is drawn-able or not. */ isDrawn?: boolean; } export interface IValidateArgs { /** Defines the gantt data. */ data?: IGanttData; /** Defines the record index. */ recordIndex?: number; /** Defines the request type */ requestType?: string; /** Defines whether to cancel the action or not */ cancel?: boolean; /** Defines the validation mode. */ validateMode?: IValidateMode; /** Defines the edited arguments. */ editEventArgs?: object; /** Defines the type of constraint violation. */ violationType?: ViolationType; } export interface ITimeSpanEventArgs { /** Defines the project start date. */ projectStartDate?: Date; /** Defines the project end date. */ ProjectEndDate?: Date; /** Defines the timeline roundoff state. */ isTimelineRoundOff?: boolean; /** Defines the request type. */ requestType?: string; /** Defines the event is cancel-able or not. */ cancel?: boolean; /** Defines the action. */ action?: string; } export interface IValidateMode { respectLink?: boolean; removeLink?: boolean; preserveLinkWithEditing?: boolean; /** * If false, reverts edits violating Must Start On (MSO) * and shows dialog with violationType: "MustStartOn". */ respectMustStartOn?: boolean; /** * If false, reverts edits violating Must Finish On (MFO) * and shows dialog with violationType: "MustFinishOn". */ respectMustFinishOn?: boolean; /** * If false, reverts edits violating Start No Later Than (SNLT) * and shows dialog with violationType: "StartNoLaterThan". */ respectStartNoLaterThan?: boolean; /** * If false, reverts edits violating Finish No Later Than (FNLT) * and shows dialog with violationType: "FinishNoLaterThan". */ respectFinishNoLaterThan?: boolean; } export interface IActionBeginEventArgs { /** Defines the action type. */ requestType?: string; /** Defines the gantt record. */ data?: IGanttData | IGanttData[]; /** Defines the modified records. */ modifiedRecords?: IGanttData[]; /** Defines the modified task data. */ modifiedTaskData?: object[] | object; /** Defines the event is cancel-able or not. */ cancel?: boolean; /** Defines the taskbar edit action. */ taskBarEditAction?: string; /** Defines the event action. */ action?: string; /** Defines the target element. */ target?: Element; } export interface IValidateLinkedTaskArgs { editMode?: string; data?: IGanttData; requestType?: string; validateMode?: IValidateMode; cancel?: boolean; } export interface IConnectorLineObject { parentLeft?: number; childLeft?: number; parentWidth?: number; childWidth?: number; parentIndex?: number; childIndex?: number; rowHeight?: number; type?: string; connectorLineId?: string; milestoneParent?: boolean; milestoneChild?: boolean; parentIndexInCurrentView?: number; childIndexInCurrentView?: number; isCritical?: boolean; parentEndPoint?: number; childEndPoint?: number; } export interface ISplitterResizedEventArgs { /** Defines the element. */ element?: HTMLElement; /** Defines the event. */ event?: Event; /** Defines the size of resized pane. */ paneSize?: number[]; /** Defines the pane. */ pane?: HTMLElement[]; /** Defines the index of resizing pane. */ index?: number[]; /** Defines the separator. */ separator?: HTMLElement; /** Defines the event is cancel-able or not. */ cancel?: boolean; } export interface PredecessorTooltip { /** Defines the from id of predecessor. */ fromId?: string; /** Defines the to id of predecessor. */ toId?: string; /** Defines the from name of predecessor. */ fromName?: string; /** Defines the to name of predecessor. */ toName?: string; /** Defines the link type of predecessor. */ linkType?: string; /** Defines the link text of predecessor. */ linkText?: string; /** Defines the offset value of predecessor. */ offset?: number; /** Defines the offset unit of predecessor. */ offsetUnit?: string; /** Defines the offset string value of predecessor. */ offsetString?: string; } export interface BeforeTooltipRenderEventArgs { /** Defines the data. */ data?: BeforeTooltipRenderEventArgsData; /** Defines the original event arguments of tooltip control. */ args?: TooltipEventArgs; /** Defines the content. */ content?: string | Element | Function; /** Cancel the tooltip */ cancel?: boolean; } export interface QueryCellInfoEventArgs { /** Defines the row data associated with this cell. */ data?: IGanttData; /** Defines the cell element. */ cell?: Element; /** Defines the column object associated with this cell. */ column?: Column; /** Defines the no. of columns to be spanned */ colSpan?: number; /** Defines the no. of rows to be spanned */ rowSpan?: number; /** Defines the current action. */ requestType?: string; /** Define the foreignKey row data associated with this column */ foreignKeyData?: Object; } /** * Extending IGanttData and PredecessorTooltip interfaces for data used in BeforeTooltipRenderEventArgs interface. */ export interface BeforeTooltipRenderEventArgsData extends IGanttData, PredecessorTooltip { } export interface IDependencyEventArgs { /** Specifies the predecessor task of dependency. */ fromItem?: IGanttData; /** Specifies the successor task of dependency. */ toItem?: IGanttData; /** Defines the new predecessor string. */ newPredecessorString?: string; /** Defines the dependency link is valid or not */ isValidLink?: boolean; /** Defines the request type. */ requestType?: string; /** Defines predecessor object */ predecessor?: IPredecessor; } export interface ITaskAddedEventArgs { /** Specifies the newly added task data with Gantt properties. */ data?: IGanttData[] | IGanttData; /** Specifies the newly added task data without custom Gantt properties. */ newTaskData?: object[] | object; /** Defines the modified records. */ modifiedRecords?: IGanttData[]; /** Defines the modified task data. */ modifiedTaskData?: object[] | object; /** Defines the record index. */ recordIndex?: number | number[]; /** Defines the event is cancel-able or not. */ cancel?: boolean; /** Defines the action. */ action?: string; /** Defines the request type. */ requestType?: string; /** Defines the row position. */ rowPosition?: string; } export interface ICollapsingEventArgs { /** Defines the TreeGrid row element */ gridRow: Node; /** Defines the Gantt chart row element */ chartRow: Node; /** Defines the name of the action. */ name?: string; /** Defines the parent row data. */ data?: IGanttData; /** Cancel the row expanding action */ cancel?: boolean; } export interface ContextMenuOpenEventArgs extends GridContextMenuOpenEventArgs { /** Defines the TreeGrid row element */ gridRow?: Element; /** Defines the chart row element */ chartRow?: Element; /** Defines the selected row record */ rowData?: IGanttData; /** Defines the context menu type */ type?: ContextMenuType; /** Defines the hidden items collection */ hideItems?: string[]; /** Defines the sub menu hidden items collection */ hideChildItems?: string[]; /** Defines the disabled items collection */ disableItems?: string[]; /** Defines the target element. */ target?: Element; top?: number; left?: number; } export interface ContextMenuClickEventArgs extends GridContextMenuClickEventArgs { /** Defines the selected row record */ rowData?: IGanttData; /** Defines the context menu type */ type?: ContextMenuType; } export declare type ITimelineFormatter = (date?: Date, format?: string, tier?: string, mode?: string) => string; export interface ZoomEventArgs { /** Defines the request type. */ requestType?: string; /** Defines the zoom action. */ action?: string; /** Defines Zoom timeline settings. */ timeline?: ZoomTimelineSettings; /** Defines the cancel option value. */ cancel?: boolean; } export interface ZoomTimelineSettings { /** Defines the timeline view mode. */ timelineViewMode?: TimelineViewMode; /** Defines top tier values. */ topTier?: TimelineTierSettingsModel; /** Defines bottom tier values. */ bottomTier?: TimelineTierSettingsModel; /** Defines timeline unit size. */ timelineUnitSize?: number; /** Defines the week start day. */ weekStartDay?: number; /** Defines weekend background color. */ weekendBackground?: string; /** Defines showTooltip whether the tooltip will rendered or not. */ showTooltip?: boolean; /** Defines perDay width. */ perDayWidth?: number; /** Defines zooming level. */ level?: number; /** Defines the updateTimescaleView. */ updateTimescaleView?: boolean; } /** @private */ export interface MousePoint { pageX?: number; pageY?: number; } /** @private */ export interface ITemplateData { expanded?: boolean; hasChildRecords?: boolean; index?: number; level?: number; baselineLeft?: number; baselineWidth?: number; taskStartDate?: Date; taskEndDate?: Date; taskDuration?: number; taskDurationUnit?: string; taskPredecessorsName?: string; taskResourceNames?: string; isAutoSchedule?: boolean; isMilestone?: boolean; left?: number; progressWidth?: number; width?: number; } export interface RowSelectingEventArgs extends GridRowSelectingEventArgs { /** Defines the data collections. */ data: IGanttData; } export interface RowSelectEventArgs extends GridRowSelectEventArgs { /** Defines the data collections. */ data: IGanttData; } export interface RowDataBoundEventArgs extends GridRowDataBoundEventArgs { /** Defines the data collections. */ data: IGanttData; /** Defines the row element. */ row?: Element; } export interface RowDeselectEventArgs extends GridRowDeselectEventArgs { /** Defines the selected/deselected row index. */ rowIndex?: number; /** Defines the data collections. */ data?: IGanttData[]; /** Defines the selected/deselected row. */ row?: Element; } export interface IEventMarkerInfo { id?: number; left?: number; label?: string; date?: Date; } export interface ActionCompleteArgs extends ZoomEventArgs, IKeyPressedEventArgs { element?: HTMLElement; requestType?: string; data?: IGanttData[]; modifiedRecords?: IGanttData[]; modifiedTaskData?: IGanttData[]; cancel?: boolean; /** Specifies the newly added task data without custom Gantt properties. * * @isGenericType true */ newTaskData?: object; /** Defines the record index. */ recordIndex?: number; /** Defines the action. */ action?: string; /** Defines the type of event. */ type?: string; } export interface ActionBeginArgs extends IDependencyEventArgs { rowData?: IGanttData; name?: string; requestType?: string; cancel?: boolean; data?: IGanttData[]; modifiedRecords?: IGanttData[]; /** * @isGenericType true */ modifiedTaskData?: object[]; /** Specifies the newly added task data without custom Gantt properties. * * @isGenericType true */ newTaskData?: object; /** Defines the split date on context click action */ splitDate?: Date; /** Defines the array of merge items indexes on context click action */ mergeSegmentIndexes?: { firstSegmentIndex: number; secondSegmentIndex: number; }[]; /** Defines the record index. */ recordIndex?: number; /** Defines the action. */ action?: string; /** Defines the type of event. */ type?: string; /** Defines the target element. */ target?: Element; } export interface CellEditArgs { /** Defines the cancel option value. */ cancel?: boolean; /** Defines the current row. */ row?: Element; /** Defines the validation rules. */ validationRules?: Object; /** Defines the name of the event. */ type?: string; /** Defines foreign data object */ foreignKeyData?: Object; /** Defines the row data object. */ rowData?: IGanttData; /** Defines the column name. */ columnName?: string; /** Defines the cell object. */ cell?: Element; /** Defines the column object. */ columnObject?: Column; /** Defines the cell value. */ value?: string; /** Defines isForeignKey option value. */ isForeignKey?: boolean; /** Defines the primaryKey. */ primaryKey?: string[]; } export interface CellSelectingEventArgs extends GridCellSelectingEventArgs { /** Defines the previously selected cell index */ previousRowCellIndex?: number; } export interface ScrollArgs { /** Defines the action. */ action?: string; /** Defines the action type. */ requestType?: string; /** Defines the scroll direction. */ scrollDirection?: string; /** Defines the scroll left value. */ scrollLeft?: number; /** Defines the scroll top value. */ scrollTop?: number; /** Defines the previous scroll top value. */ previousScrollTop?: number; /** Defines the previous scroll left value. */ previousScrollLeft?: number; } export interface ITaskbarClickEventArgs { /** Defines the taskbar element. */ taskbarElement?: Element; /** Defines the data of record. */ data?: IGanttData; /** Defines the row index of record. */ rowIndex?: number; /** Defines the target element. */ target?: Element; } export interface RecordDoubleClickEventArgs extends GridRecordDoubleClickEventArgs { /** Defines the row element. */ row?: Element; /** Defines the data of record. */ rowData?: IGanttData; /** Defines the row index of record. */ rowIndex?: number; /** Defines the target element. */ target?: Element; } export interface RowDropEventArgs { /** Defines the selected row's element. */ rows?: Element[]; /** Defines the target element from which drag starts. */ target?: Element; /** Defines the type of the element to be dragged. * * @hidden */ draggableType?: string; /** Defines the selected row data. * * @isGenericType true */ data?: Object[]; /** Defines the drag element from index. */ fromIndex?: number; /** Defines the target element from index. */ dropIndex?: number; /** Define the mouse event */ originalEvent?: object; cancel?: boolean; /** Defines drop position of the dragged record */ dropPosition?: string; /** Defines the request type. */ requestType?: string; /** Defines the modified records. */ modifiedRecords?: IGanttData[]; /** Defines the modified records. */ dropRecord?: IGanttData; } export interface IMouseMoveEventArgs { /** Defines the row data. */ data?: IGanttData; /** Defines the column. */ column?: Object; /** Defines the timeline date. */ date?: Date; /** Defines the original event. */ originalEvent?: Object; /** Defines the predecessor. */ predecessor?: PredecessorTooltip; /** Defines the indicator. */ indicator?: IIndicator; /** Defines the event markers. */ eventMarkers?: EventMarkerModel; } export interface PdfExportProperties { /** Defines the Pdf orientation. */ pageOrientation?: PageOrientation; /** Defines the Pdf page size. */ pageSize?: PdfPageSize; /** Enable the footer. */ enableFooter?: boolean; /** Enable the header. */ enableHeader?: boolean; /** Indicates whether to show the hidden columns in exported Pdf */ includeHiddenColumn?: boolean; /** Defines the theme for exported Gantt */ theme?: PdfTheme; /** Defines the style for exported Gantt */ ganttStyle?: IGanttStyle; /** Defines the file name for the exported file */ fileName?: string; /** Indicates to export current data or all data */ exportType?: ExportType; /** Indicates whether to show the predecessors in exported Pdf */ showPredecessorLines?: boolean; /** Defines the export options in rendering each row fit to the PDF page width */ fitToWidthSettings?: FitToWidthSettings; /** Defines the Pdf header. */ header?: PdfHeader; /** Defines the Pdf footer. */ footer?: PdfFooter; } export interface PdfQueryCellInfoEventArgs { /** Defines the column of the current cell. */ column?: ColumnModel; /** Defines the style of the current cell. */ style?: PdfGanttCellStyle; /** Defines the value of the current cell. */ value?: Date | string | number | boolean | PdfTextWebLink | PdfImage; /** Defines the data of the cell */ data?: Object; /** Defines the current PDF cell */ cell?: PdfTreeGridCell; /** Defines the image details */ image?: Image; /** Defines the hyperlink of the cell */ hyperLink?: Hyperlink; } export interface Image { /** Defines the base 64 string for image */ base64: string; /** Defines the height for the image */ height?: number; /** Defines the height for the image */ width?: number; } export interface Hyperlink { /** Defines the Url for hyperlink */ target?: string; /** Defines the display text for hyperlink */ displayText?: string; } export interface TimelineDetails { startPoint?: number; endPoint?: number; startDate?: Date; endDate?: Date; dayStartDate?: Date; totalWidth?: number; startIndex?: number; endIndex?: number; pageStartPoint?: PointF; } export interface PageDetail { startPoint?: PointF; width?: number; height?: number; pageStartX?: number; } export interface TimelineFormat { width?: number; height?: number; value?: string; isWeekend?: boolean; style?: PdfGanttCellStyle; isFinished?: boolean; completedWidth?: number; startDate?: Date; endDate?: Date; } export interface PdfGanttFontStyle { /** Defines the font size */ fontSize?: number; /** Defines the font style */ fontStyle?: PdfFontStyle; /** Defines the font color */ fontColor?: PdfColor; /** Defines the background color of the cell */ backgroundColor?: PdfColor; /** Defines the border color of the cell */ borderColor?: PdfColor; /** Defines the format of the cell value */ format?: PdfStringFormat; /** Defines the fontFamily*/ fontFamily?: PdfFontFamily; /** Defines the fontBrush*/ fontBrush?: PdfColor; } export interface PdfGanttCellStyle extends PdfGanttFontStyle { /** Defines the cell borders */ borders?: PdfBorders; /** Defines the cell padding */ padding?: PdfPaddings; } export interface ITaskbarStyle { /** Defines the parent taskbar background color */ parentTaskColor?: PdfColor; /** Defines the parent progressbar background color */ parentProgressColor?: PdfColor; /** Defines the parent taskbar border color */ parentTaskBorderColor?: PdfColor; /** Defines the child taskbar background color */ taskColor?: PdfColor; /** Defines the child progressbar background color */ progressColor?: PdfColor; /** Defines the child taskbar border color */ taskBorderColor?: PdfColor; /** Defines the milestone background color */ milestoneColor?: PdfColor; /** Defines the progress text color */ progressFontColor?: PdfColor; /** Defines the critical task color */ criticalTaskColor?: PdfColor; /** Defines the critical child progressbar background color */ criticalProgressColor?: PdfColor; /** Defines the child taskbar border color */ criticalTaskBorderColor?: PdfColor; /** Defines the baseline color */ baselineColor?: PdfColor; /** Defines the baseline border color */ baselineBorderColor?: PdfColor; /** Defines the split line background color */ splitLineBackground?: PdfColor; /** Defines the unscheduled taskbar background color */ unscheduledTaskBarColor?: PdfColor; /** Defines the manualParent Background color */ manualParentBackground?: PdfColor; /** Defines the manualParent Progress color */ manualParentProgress?: PdfColor; /** Defines the manualChild Background color */ manualChildBackground?: PdfColor; /** Defines the manualChild Progress color */ manualChildProgress?: PdfColor; /** Defines the manual line color */ manualLineColor?: PdfColor; /** Defines the manualParent Background color */ manualParentBorder?: PdfColor; /** Defines the manualChild Background color */ manualChildBorder?: PdfColor; /** Defines the segment color collections */ taskSegmentStyles?: ITaskSegmentStyles[]; } export interface ITaskSegmentStyles { /** Defines the segment taskbar background color */ taskColor?: PdfColor; /** Defines the segment progressbar background color */ progressColor?: PdfColor; /** Defines the segment taskbar border color */ taskBorderColor?: PdfColor; } export interface FitToWidthSettings { /** Specifies whether to export gantt data where each row is adjusted and rendered to fit the PDF document page size. */ isFitToWidth?: boolean; /** Specifies the grid width in percentage while exporting. */ gridWidth?: string; /** Specifies the chart width in percentage while exporting. */ chartWidth?: string; } export interface IGanttStyle { /** Defines the columnHeader style. */ columnHeader?: PdfGanttCellStyle; /** Defines the font family. */ fontFamily?: PdfFontFamily; /** Defines the cell style. */ cell?: PdfGanttCellStyle; /** Defines the taskbar style. */ taskbar?: ITaskbarStyle; /** Defines the font style. */ label?: PdfGanttCellStyle; /** Defines the timeline style. */ timeline?: PdfGanttCellStyle; /** Defines the chart line color. */ chartGridLineColor?: PdfColor; /** Defines the connector line color. */ connectorLineColor?: PdfColor; /** Defines the critical connector line color. */ criticalConnectorLineColor?: PdfColor; /** Defines the footer format. */ footer?: PdfGanttCellStyle; /** Defines the font of the theme. */ font?: PdfTrueTypeFont; /** Defines the event marker customization to rely with theme. */ eventMarker?: PdfEventMarkerStyle; /** Defines the holidays customization to rely with theme. */ holiday?: PdfGanttCellStyle; } export interface PdfEventMarkerStyle { /** Defines the event marker label style */ label?: PdfGanttCellStyle; /** Defines the event marker line style */ lineStyle?: PdfPen; } export interface PdfQueryTimelineCellInfoEventArgs { /** Defines the timeline cell */ timelineCell?: PdfGanttCellStyle; /** Specify the value of the timeline cell */ value?: string; } export interface PdfQueryTaskbarInfoEventArgs { /** Defines the Taskbar style */ taskbar?: ITaskbarStyle; /** Specify the value of the task data */ data?: IGanttData; /** Defines the Indicator */ indicators?: IIndicator[]; /** * Defines the customized string content or image for the left, right and task label * */ labelSettings?: ILabel; /** * Defines the taskbar element appearance customizations and provides options to add image and string in taskbar * */ taskbarTemplate?: ITemplateDetails; } export interface ILabel { /** * Defines the customized string content or image for the leftLabel * */ leftLabel?: ITemplateDetails; /** * Defines the customized string content or image for the rightLabel * */ rightLabel?: ITemplateDetails; /** * Defines the customized string content or image for the task label * */ taskLabel?: ITemplateDetails; /** * Specifies the label of left. * * @private */ left?: number; /** * Specifies the isLeftCalculated or not. * * @private */ isLeftCalculated?: boolean; } export interface ITemplateDetails { /** Defines the value of template content. */ value?: string; /** Defines the image of a template content. */ image?: Image[]; /** Defines the appearance customization details of the template content */ fontStyle?: PdfGanttFontStyle; } export interface PdfColumnHeaderQueryCellInfoEventArgs { /** Defines the PDF grid current cell. */ cell?: PdfTreeGridCell; /** Defines the style of the current cell. */ style?: PdfGanttCellStyle; /** Defines the current cell with column */ column?: ColumnModel; /** Specify the value of the column header cell */ value?: string | Object; /** Specify the image of the column header cell */ image?: PdfImage; /** Defines the customized string content or image for the header cell */ headerTemplate?: ITemplateDetails; } /** @private */ export interface TaskLabel { value?: string; left?: number; isCompleted?: boolean; isLeftCalculated?: boolean; } /** * public Enum for `PdfHorizontalOverflowType`. * * @private */ export declare enum PdfHorizontalOverflowType { /** * Specifies the type of `NextPage`. * * @private */ NextPage = 0, /** * Specifies the type of `LastPage`. * * @private */ LastPage = 1 } export interface PdfHeader { /** Defines the header content distance from top. */ fromTop?: number; /** Defines the height of header content. */ height?: number; /** Defines the header contents. */ contents?: PdfHeaderFooterContent[]; } export interface PdfFooter { /** Defines the footer content distance from bottom. */ fromBottom?: number; /** Defines the height of footer content. */ height?: number; /** Defines the footer contents */ contents?: PdfHeaderFooterContent[]; } export interface PdfHeaderFooterContent { /** Defines the content type */ type: ContentType; /** Defines the page number type */ pageNumberType?: PdfPageNumberType; /** Defines the style of content */ style?: PdfContentStyle; /** Defines the pdf points for drawing line */ points?: PdfPoints; /** Defines the format for customizing page number */ format?: string; /** Defines the position of the content */ position?: PdfPosition; /** Defines the size of content */ size?: PdfSize; /** Defines the base64 string for image content type */ src?: string; /** Defines the value for content */ value?: any; /** Defines the font for the content */ font?: PdfStandardFont | PdfTrueTypeFont; /** Defines the alignment of header */ stringFormat?: PdfStringFormat; } export interface PdfContentStyle { /** Defines the pen color. */ penColor?: string; /** Defines the pen size. */ penSize?: number; /** Defines the dash style. */ dashStyle?: PdfDashStyle; /** Defines the text brush color. */ textBrushColor?: string; /** Defines the text pen color. */ textPenColor?: string; /** Defines the font size. */ fontSize?: number; /** Defines the horizontal alignment. */ hAlign?: PdfHAlign; /** Defines the vertical alignment. */ vAlign?: PdfVAlign; } export interface PdfPoints { /** Defines the x1 position */ x1: number; /** Defines the y1 position */ y1: number; /** Defines the x2 position */ x2: number; /** Defines the y2 position */ y2: number; } export interface PdfPosition { /** Defines the x position */ x: number; /** Defines the y position */ y: number; } export interface PdfSize { /** Defines the height */ height: number; /** Defines the width */ width: number; }