UNPKG

ts-gantt

Version:

simple gantt chart written using typescript

205 lines (201 loc) 6.45 kB
// Generated by dts-bundle-generator v7.0.0 import dayjs from 'dayjs'; export interface TsGanttRowSymbols { expanded: string; collapsed: string; childless: string; } export declare type ChartBarType = "planned" | "actual"; export declare type ChartBarMode = ChartBarType | "both"; export declare type ChartScale = "day" | "week" | "month" | "year"; export declare type ColumnTextAlignment = "start" | "center" | "end"; export interface TsGanttTaskModel { id: string; parentId: string; name: string; progress: number; datePlannedStart: Date; datePlannedEnd: Date; dateActualStart: Date; dateActualEnd: Date; localizedNames: { [key: string]: string; }; } export declare class TsGanttTask { readonly externalId: string; readonly parentExternalId: string; readonly uuid: string; readonly parentUuid: string; readonly nestingLvl: number; readonly hasChildren: boolean; readonly name: string; readonly localizedNames: { [key: string]: string; }; datePlannedStart: dayjs.Dayjs; datePlannedEnd: dayjs.Dayjs; dateActualStart: dayjs.Dayjs; dateActualEnd: dayjs.Dayjs; progress: number; shown: boolean; expanded: boolean; constructor(source?: Object, id?: string, parentId?: string, name?: string, localizedNames?: { [key: string]: string; }, progress?: number, datePlannedStart?: string | number | Date | dayjs.Dayjs, datePlannedEnd?: string | number | Date | dayjs.Dayjs, dateActualStart?: string | number | Date | dayjs.Dayjs, dateActualEnd?: string | number | Date | dayjs.Dayjs, nestingLvl?: number, hasChildren?: boolean, parentUuid?: string, uuid?: string, shown?: boolean, expanded?: boolean); static convertModelsToTasks(taskModels: TsGanttTaskModel[], idMap?: Map<string, string>): TsGanttTask[]; static detectTaskChanges(data: TsGanttTaskUpdateResult): TsGanttTaskChangeResult; static createTasksIdMap(tasks: TsGanttTask[]): Map<string, string>; static checkPaternity(tasks: TsGanttTask[], parent: TsGanttTask, child: TsGanttTask): boolean; static checkForCollapsedParent(tasks: readonly TsGanttTask[], task: TsGanttTask): boolean; static defaultComparer: (a: TsGanttTask, b: TsGanttTask) => number; static sortTasksRecursively(tasks: TsGanttTask[], parentUuid: string): TsGanttTask[]; static getMinMaxDates(tasks: TsGanttTask[]): { minDate: dayjs.Dayjs; maxDate: dayjs.Dayjs; }; equals(another: TsGanttTask): boolean; compareTo(another: TsGanttTask): number; getState(): TsGanttTaskState; toModel(): TsGanttTaskModel; toggleExpanded(): void; getMinMaxDates(chartBarMode: ChartBarMode): { minDate: dayjs.Dayjs; maxDate: dayjs.Dayjs; }; getHorizontalOffsetPx(chartBarMode: ChartBarMode, chartMinDate: dayjs.Dayjs, dayWidthPx: number): number; updateParents(): void; applyChangesFrom(source: TsGanttTask): void; clone(): TsGanttTask; } export interface TsGanttTaskUpdateResult { oldTasks: TsGanttTask[]; newTasks: TsGanttTask[]; } export interface TsGanttTaskChangeResult { added: TsGanttTask[]; deleted: TsGanttTask[]; changed: TsGanttTask[]; all: TsGanttTask[]; } export declare type TsGanttTaskState = "not-started" | "in-progress" | "overdue" | "completed" | "completed-late"; export declare class TsGanttOptions { bindParentDatesToChild: boolean; enableChartEdit: boolean; useShadowDom: false; multilineSelection: boolean; useCtrlKeyForMultilineSelection: boolean; drawTodayLine: boolean; highlightRowsDependingOnTaskState: boolean; columnsMinWidthPx: number[]; columnsContentAlign: (ColumnTextAlignment)[]; separatorWidthPx: number; headerHeightPx: number; rowHeightPx: number; borderWidthPx: number; barStrokeWidthPx: number; barMarginPx: number; barCornerRadiusPx: number; rowSymbols: TsGanttRowSymbols; chartShowProgress: boolean; chartDisplayMode: ChartBarMode; chartScale: ChartScale; chartDateOffsetDays: { [key: string]: number; }; chartDateOffsetDaysMin: { [key: string]: number; }; chartDayWidthPx: { [key: string]: number; }; locale: string; localeDecimalSeparator: { [key: string]: string; }; localeDateFormat: { [key: string]: string; }; localeFirstWeekDay: { [key: string]: number; }; localeDateMonths: { [key: string]: string[]; }; localeDateDays: { [key: string]: string[]; }; localeDateDaysShort: { [key: string]: string[]; }; localeDateScale: { [key: string]: string[]; }; localeFooters: { [key: string]: string[]; }; localeHeaders: { [key: string]: string[]; }; localeDurationFormatters: { [key: string]: (duration: number) => string; }; columnValueGetters: (ColumnValueGetter)[]; get dayWidthPx(): number; taskComparer: (taskA: TsGanttTask, taskB: TsGanttTask) => number; constructor(item?: object); } export declare type ColumnValueGetter = (a: TsGanttTask) => string; export declare class TsGantt { private readonly _data; private get _options(); private _htmlContainer; private _shadowRoot; private _htmlWrapper; private _htmlTableWrapper; private _htmlChartWrapper; private _separatorDragActive; private _ignoreNextScrollEvent; private _baseComponents; private _table; private _chart; get tasks(): TsGanttTaskModel[]; set tasks(models: TsGanttTaskModel[]); get selectedTasks(): TsGanttTaskModel[]; set selectedTasks(models: TsGanttTaskModel[]); set locale(value: string); set chartScale(value: ChartScale); set chartDisplayMode(value: ChartBarMode); onRowClickCb: (model: TsGanttTaskModel, event: MouseEvent) => void; onRowDoubleClickCb: (model: TsGanttTaskModel, event: MouseEvent) => void; onRowContextMenuCb: (model: TsGanttTaskModel, event: MouseEvent) => void; onSelectionChangeCb: (models: TsGanttTaskModel[]) => void; constructor(containerSelector: string, options?: TsGanttOptions); destroy(): void; expandAll(state: boolean): void; private setCssVariables; private createLayout; onResize: (e: Event) => void; private onPointerDownOnPartsSeparator; private onPointerMoveWhileResizingParts; private onPointerUpWhileResizingParts; private onWrapperScroll; private onRowClick; private onRowContextMenu; private onRowExpanderClick; private onTaskChange; private addGlobalEventListeners; private removeGlobalEventListeners; private toggleTaskSelection; private refreshSelection; private updateSelection; private applySelectionResult; private update; private updateTasks; private updateLocale; private updateChartScale; private updateChartDisplayMode; private toggleTaskExpanded; private scrollChartToTasks; } export {};