UNPKG

@syncfusion/ej2-gantt

Version:
336 lines (335 loc) 8.86 kB
import { Gantt } from '../base/gantt'; import { DateProcessor } from '../base/date-processor'; import { IGanttData, ITaskSegment } from '../base/interface'; import { Row } from '@syncfusion/ej2-grids'; /** * To render the chart rows in Gantt */ export declare class ChartRows extends DateProcessor { ganttChartTableBody: Element; taskTable: HTMLElement; protected parent: Gantt; taskBarHeight: number; milestoneHeight: number; private milesStoneRadius; baselineTop: number; baselineHeight: number; private baselineColor; private parentTaskbarTemplateFunction; private leftTaskLabelTemplateFunction; private rightTaskLabelTemplateFunction; private taskLabelTemplateFunction; private childTaskbarTemplateFunction; private milestoneTemplateFunction; private templateData; private touchLeftConnectorpoint; private touchRightConnectorpoint; connectorPointWidth: number; private connectorPointMargin; taskBarMarginTop: number; milestoneMarginTop: number; private dropSplit; private refreshedTr; private refreshedData; private isUpdated; private tagRegex; private attributeRegex; private taskBaselineTemplateNode; constructor(ganttObj?: Gantt); /** * To initialize the public property. * * @returns {void} * @private */ private initPublicProp; private addEventListener; refreshChartByTimeline(): void; /** * To render chart rows. * * @returns {void} * @private */ private createChartTable; initiateTemplates(): void; /** * To render chart rows. * * @returns {void} * @private */ renderChartRows(): void; /** * To get gantt Indicator. * * @param {IIndicator} indicator . * @returns {NodeList} . * @private */ private getIndicatorNode; /** * To get gantt Indicator. * * @param {Date | string} date . * @returns {number} . * @private */ getIndicatorleft(date: Date | string): number; /** * To get child taskbar Node. * * @param {number} i . * @param {NodeList} rootElement . * @returns {NodeList} . * @private */ private getChildTaskbarNode; private splitTaskbar; private getSplitTaskbarLeftResizerNode; private getSplitTaskbarRightResizerNode; private getSplitProgressResizerNode; getSegmentIndex(splitStartDate: Date, record: IGanttData): number; mergeTask(taskId: number | string, segmentIndexes: { firstSegmentIndex: number; secondSegmentIndex: number; }[]): void; updateSegment(segmentData: any, taskId: number | string): void; private refreshChartAfterSegment; /** * public method to split task bar. * * @public */ splitTask(taskId: number | string, splitDates: Date | Date[]): void; private constructSegments; private splitSegmentedTaskbar; incrementSegments(segments: ITaskSegment[], segmentIndex: number, ganttData: IGanttData): void; private calculateLeftValue; /** * To get milestone node. * * @param {number} i . * @param {NodeList} rootElement . * @returns {NodeList} . * @private */ private getMilestoneNode; /** * To get task baseline Node. * * @returns {NodeList} . * @private */ private getTaskBaselineNode; private updateTaskBaselineNode; /** * To get milestone baseline node. * * @returns {NodeList} . * @private */ private getMilestoneBaselineNode; /** * To get left label node. * * @param {number} i . * @returns {NodeList} . * @private */ private getLeftLabelNode; private getLableText; /** * To get right label node. * * @param {number} i . * @returns {NodeList} . * @private */ private getRightLabelNode; private getManualTaskbar; /** * To get parent taskbar node. * * @param {number} i . * @param {NodeList} rootElement . * @returns {NodeList} . * @private */ private getParentTaskbarNode; /** * To get taskbar row('TR') node * * @param {number} i . * @param {IGanttData} tempTemplateData . * @param {Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>} gridRowData . * @returns {NodeList} . * @private */ private getTableTrNode; /** * To initialize chart templates. * * @returns {void} * @private */ private initializeChartTemplate; private createDivElement; private parseTemplate; private parseHtmlStringToElementTree; private constructElementFromNode; private setAttributes; private cleanStyleString; private isTemplate; /** * @param {string} templateName . * @returns {string} . * @private */ getTemplateID(templateName: string): string; private leftLabelContainer; private taskbarContainer; private rightLabelContainer; private childTaskbarLeftResizer; private childTaskbarRightResizer; private childTaskbarProgressResizer; private getLeftPointNode; private getRightPointNode; /** * To get task label. * * @param {string} field . * @returns {string} . * @private */ private getTaskLabel; private getExpandDisplayProp; private getRowClassName; private getBorderRadius; private getSplitTaskBorderRadius; private taskNameWidth; private getRightLabelLeft; private getExpandClass; private getFieldValue; private getResourceName; /** * To initialize private variable help to render task bars. * * @returns {void} * @private */ private initChartHelperPrivateVariable; /** * Function used to refresh Gantt rows. * * @returns {void} * @private */ refreshGanttRows(): void; /** * To trigger the touchmove. * * @param {TouchEvent} event . * @returns {void} * @private */ private handleTouchMove; /** * To trigger the touchend. * * @param {TouchEvent} event . * @returns {void} * @private */ private handleTouchEnd; /** * To render taskbars. * * @returns {void} * @private */ private createTaskbarTemplate; /** * To render taskbars. * * @param {number} i . * @param {IGanttData} tempTemplateData . * @param {Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>} gridRowData . * @returns {Node} . * @private */ getGanttChartRow(i: number, tempTemplateData: IGanttData, gridRowData?: Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>): Node; /** * To set data-rowindex for chart rows * * @returns {void} . * @private */ setAriaRowIndex(tempTemplateData: IGanttData, tRow: Node): void; /** * To trigger query taskbar info event. * * @returns {void} * @private */ triggerQueryTaskbarInfo(): void; private appendIndicators; private appendChildTaskbars; private customizeTaskbars; /** * * @param {Element} trElement . * @param {IGanttData} data . * @returns {void} . * @private */ triggerQueryTaskbarInfoByIndex(trElement: Element, data: IGanttData): void; /** * To update query taskbar info args. * * @param {IQueryTaskbarInfoEventArgs} args . * @param {Element} rowElement . * @param {Element} taskBarElement . * @returns {void} * @private */ private updateQueryTaskbarInfoArgs; private getClassName; /** * To compile template string. * * @param {string} template . * @returns {Function} . * @private */ templateCompiler(template: string | Function): Function; updateOverlapped(): void; updateDragDropRecords(data: IGanttData, tr?: Node): void; /** * To refresh edited TR * * @param {number} index . * @param {boolean} isValidateRange . * @param {boolean} isUndoRedo . * @returns {void} . * @private */ refreshRow(index: number, isValidateRange?: boolean, isUndoRedo?: boolean): void; private updateResourceTaskbarElement; /** * To refresh all edited records * * @param {IGanttData} items . * @param {boolean} isValidateRange . * @param {boolean} isUndoRedo . * @returns {void} . * @private */ refreshRecords(items: IGanttData[], isValidateRange?: boolean, isUndoRedo?: boolean): void; private removeEventListener; private destroy; private generateAriaLabel; private generateBaselineAriaLabel; private generateSpiltTaskAriaLabel; private generateTaskLabelAriaLabel; }