@syncfusion/ej2-gantt
Version:
Essential JS 2 Gantt Component
366 lines (365 loc) • 9.4 kB
TypeScript
import { Gantt } from '../base/gantt';
import { KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';
import { ChartScroll } from '../actions/chart-scroll';
import { IGanttData } from '../base/interface';
import { RecordDoubleClickEventArgs } from '../base/interface';
import { VirtualContentRenderer } from '../renderer/virtual-content-render';
/**
* module to render gantt chart - project view
*/
export declare class GanttChart {
private parent;
chartElement: HTMLElement;
chartTimelineContainer: HTMLElement;
chartBodyContainer: HTMLElement;
chartBodyContent: HTMLElement;
rangeViewContainer: HTMLElement;
scrollElement: HTMLElement;
scrollObject: ChartScroll;
isExpandCollapseFromChart: boolean;
isExpandAll: boolean;
isCollapseAll: boolean;
private focusedElement;
focusedRowIndex: number;
debounceTimeoutNext: number;
debounceTimeout: number;
private isGanttElement;
keyboardModule: KeyboardEvents;
targetElement: Element;
previousPinchDistance: number;
virtualRender: VirtualContentRenderer;
isEditableElement: boolean;
tempNextElement: any;
nextElementIndex: number;
childrenIndex: number;
private currentToolbarIndex;
private initPinchDistance;
private isPinching;
private preventScrollIntoView;
constructor(parent: Gantt);
private addEventListener;
private renderChartContents;
/**
* Method to render top level containers in Gantt chart
*
* @returns {void} .
* @private
*/
renderChartContainer(): void;
/**
* method to render timeline, holidays, weekends at load time
*
* @returns {void} .
*/
private renderInitialContents;
/**
* @returns {void} .
* @private
*/
renderOverAllocationContainer(): void;
private renderChartElements;
/**
* @param {IGanttData[]} records .
* @returns {void} .
* @private
*/
renderRangeContainer(records: IGanttData[]): void;
private getTopValue;
private getHierarchyChildRecords;
private collectHierarchyChildren;
private getRangeHeight;
private calculateCollapsedRowHeight;
private calculateHierarchyChildLength;
private calculateExpandedRowHeight;
private renderRange;
/**
* @returns {void} .
* @private
*/
renderTimelineContainer(): void;
/**
* initiate chart container
*
* @returns {void} .
*/
private renderBodyContainers;
/**
* @returns {void} .
* @private
*/
updateWidthAndHeight(): void;
private setVirtualHeight;
/**
* Method to update bottom border for chart rows
*
* @returns {void} .
*/
updateLastRowBottomWidth(): void;
private removeEventListener;
/**
* Click event handler in chart side
*
* @param {PointerEvent} e .
* @returns {void} .
*/
private ganttChartMouseDown;
private calculatePinchDistance;
private ganttChartMouseClick;
private ganttChartMouseUp;
/**
*
* @param {PointerEvent} e .
* @returns {void} .
*/
private scrollToTarget;
/**
* To focus selected task in chart side
*
* @param {number} scrollLeft .
* @returns {void} .
* @private
*/
updateScrollLeft(scrollLeft: number): void;
/**
* Method trigger while perform mouse up action.
*
* @param {PointerEvent} e .
* @returns {void}
* @private
*/
private mouseUp;
/**
* Method trigger while perform mouse up action.
*
* @param {PointerEvent} e .
* @returns {void} .
* @private
*/
private documentMouseUp;
/**
* This event triggered when click on taskbar element
*
* @param {PointerEvent | KeyboardEventArgs} e .
* @param {EventTarget} target .
* @param {Element} taskbarElement .
* @returns {void}
*/
onTaskbarClick(e: PointerEvent | KeyboardEventArgs, target: EventTarget, taskbarElement: Element): void;
/**
* Method trigger while perform mouse leave action.
*
* @param {PointerEvent} e .
* @returns {void} .
* @private
*/
private ganttChartLeave;
/**
* Method trigger while perform mouse move action.
*
* @param {PointerEvent} e .
* @returns {void} .
* @private
*/
private ganttChartMove;
/**
* Method trigger while perform right click action.
*
* @param {PointerEvent} e .
* @returns {void} .
* @private
*/
private contextClick;
/**
* Method to trigger while perform mouse move on Gantt.
*
* @param {PointerEvent} e .
* @returns {void} .
* @private
*/
mouseMoveHandler(e: PointerEvent): void;
/**
* Double click handler for chart
*
* @param {PointerEvent} e .
* @returns {void} .
*/
private doubleClickHandler;
/**
* To trigger record double click event.
*
* @param {RecordDoubleClickEventArgs} args .
* @returns {void} .
* @private
*/
recordDoubleClick(args: RecordDoubleClickEventArgs): void;
/**
* @param {PointerEvent | KeyboardEventArgs} e .
* @returns {IGanttData} .
* @private
*/
getRecordByTarget(e: PointerEvent | KeyboardEventArgs): IGanttData;
/**
* To get gantt chart row elements
*
* @returns {NodeListOf<Element>} .
* @private
*/
getChartRows(): NodeListOf<Element>;
/**
* Expand Collapse operations from gantt chart side
*
* @param {PointerEvent} e .
* @returns {void} .
* @private
*/
private chartExpandCollapseRequest;
/**
* @returns {void} .
* @private
*/
reRenderConnectorLines(): void;
/**
* To collapse gantt rows
*
* @param {object} args .
* @param {boolean} isCancel .
* @returns {void} .
* @private
*/
collapseGanttRow(args: object): void;
/**
* @returns {void} .
* @param {object} args .
* @private
*/
collapsedGanttRow(args: object): void;
/**
* To expand gantt rows
*
* @returns {void} .
* @param {object} args .
* @param {boolean} isCancel .
* @private
*/
expandGanttRow(args: object): void;
/**
* @returns {void} .
* @param {object} args .
* @private
*/
expandedGanttRow(args: object): void;
/**
* On expand collapse operation row properties will be updated here.
*
* @param {string} action .
* @param {Node} rowElement .
* @param {IGanttData} record .
* @param {boolean} isChild .
* @returns {void} .
* @private
*/
private expandCollapseChartRows;
/**
* Public method to expand or collapse all the rows of Gantt
*
* @returns {void}
* @param {string} action .
* @private
*/
expandCollapseAll(action: string): void;
/**
* Public method to expand particular level of rows.
*
* @returns {void} .
* @param {number} level .
* @private
*/
expandAtLevel(level: number): void;
/**
* Public method to collapse particular level of rows.
*
* @returns {void} .
* @param {number} level .
* @private
*/
collapseAtLevel(level: number): void;
/**
* Event Binding for gantt chart click
*
* @returns {void} .
*/
private wireEvents;
private unWireEvents;
private onWheelZoom;
/**
* To get record by taskbar element.
*
* @param {Element} target .
* @returns {IGanttData} .
* @private
*/
getRecordByTaskBar(target: Element): IGanttData;
private updateElement;
/**
* Trigger Tab & Shift + Tab keypress to highlight active element.
*
* @param {KeyboardEventArgs} e .
* @returns {void} .
* @private
*/
onTabAction(e: KeyboardEventArgs): void;
/**
* Get next/previous sibling element.
*
* @param {Element} $target .
* @param {boolean} isTab .
* @param {boolean} isInEditedState .
* @returns {Element | string} .
*/
private getNextElement;
/**
* Get next/previous row element.
*
* @param {number} rowIndex .
* @param {boolean} isTab .
* @param {boolean} isChartRow .
* @returns {Element} .
*/
private getNextRowElement;
/**
* Validate next/previous sibling element haschilds.
*
* @param {Element} $target .
* @param {string} className .
* @returns {boolean} .
*/
private validateNextElement;
/**
* Getting child element based on row element.
*
* @param {Element} rowElement .
* @param {boolean} isTab .
* @returns {Element | string} .
*/
private getChildElement;
/**
* Add/Remove active element.
*
* @private
* @param {HTMLElement} element .
* @param {string} focus .
* @param {boolean} isChartElement .
* @param {string} keyAction .
* @returns {void} .
*/
manageFocus(element: HTMLElement, focus: string, isChartElement?: boolean, keyAction?: string): void;
/**
* To get index by taskbar element.
*
* @param {Element} target .
* @returns {number} .
* @private
*/
getIndexByTaskBar(target: Element): number;
private destroy;
}