UNPKG

vue-gantt-3

Version:

A gantt component for Vue 3

430 lines (429 loc) 25.2 kB
export * from './types'; export declare const VueGantt3: import('./utils/withInstall').SFCWithInstall<import('vue').DefineComponent<import('./Gantt.vue').GanttOption, { getRowNode: (id: string) => import('./types').GanttRowNode<import('./types').RowData> | undefined; getRowNodeChildren: (parentId?: string) => import('./types').GanttRowNode<import('./types').RowData>[]; getRowDataList: () => import('./types').RowData[]; freshRowNodes: (rows: import('./types').RowData[]) => void; refreshCells: (ids: string[], force?: boolean) => void; getDisplayRows: () => import('./types').RowData[] | null; expandAll: () => void; freshTimeLines: (rowIds: string[]) => void; selectRows: (ids: string[]) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { [x: string]: any; } & { [x: string]: any; }, string, import('vue').PublicProps, Readonly<import('./Gantt.vue').GanttOption> & Readonly<{ [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined; }>, { columns: import('./types').ColDef[]; rows: import('./types').RowData[]; rowHeight: number; headerHeight: number; rowBuffer: number; rowSelection: "single" | "multiple" | "none"; defaultTableViewWidth: number; maxTableViewWidth: number; defaultShowFirstLevel: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { vGanttRef: HTMLDivElement; tableViewRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/tableView/TableView.vue').Props> & Readonly<{ onViewPortChanged?: ((data: import('./types').RowData[]) => any) | undefined; onSelectionChanged?: ((data: import('ag-grid-community').SelectionChangedEvent<import('./types').RowData, any>) => any) | undefined; onCellContextMenu?: ((data: import('ag-grid-community').CellContextMenuEvent<import('./types').RowData, any>) => any) | undefined; onTriggerGanttViewScroll?: ((options: ScrollToOptions) => any) | undefined; onCellDoubleClicked?: ((rowData: import('./types').RowData | undefined, columnData?: import('./types').ColDef | undefined) => any) | undefined; }>, { scrollTo: (options: ScrollToOptions, onWheel?: boolean) => void; refreshCells: (rowIds: string[], force?: boolean) => void; onFilterChanged: () => void; handleEmptyRowChanged: (target?: HTMLDivElement) => boolean; getFirstDisplayedRow: () => number | undefined; getLastDisplayedRow: () => number | undefined; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { viewPortChanged: (data: import('./types').RowData[]) => any; selectionChanged: (data: import('ag-grid-community').SelectionChangedEvent<import('./types').RowData, any>) => any; cellContextMenu: (data: import('ag-grid-community').CellContextMenuEvent<import('./types').RowData, any>) => any; triggerGanttViewScroll: (options: ScrollToOptions) => any; cellDoubleClicked: (rowData: import('./types').RowData | undefined, columnData?: import('./types').ColDef | undefined) => any; }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { tableViewRef: HTMLDivElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/tableView/TableView.vue').Props> & Readonly<{ onViewPortChanged?: ((data: import('./types').RowData[]) => any) | undefined; onSelectionChanged?: ((data: import('ag-grid-community').SelectionChangedEvent<import('./types').RowData, any>) => any) | undefined; onCellContextMenu?: ((data: import('ag-grid-community').CellContextMenuEvent<import('./types').RowData, any>) => any) | undefined; onTriggerGanttViewScroll?: ((options: ScrollToOptions) => any) | undefined; onCellDoubleClicked?: ((rowData: import('./types').RowData | undefined, columnData?: import('./types').ColDef | undefined) => any) | undefined; }>, { scrollTo: (options: ScrollToOptions, onWheel?: boolean) => void; refreshCells: (rowIds: string[], force?: boolean) => void; onFilterChanged: () => void; handleEmptyRowChanged: (target?: HTMLDivElement) => boolean; getFirstDisplayedRow: () => number | undefined; getLastDisplayedRow: () => number | undefined; }, {}, {}, {}, {}> | null; ganttViewRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/ganttView/GanttView.vue').Props> & Readonly<{ onPerHourSpacingChange?: ((perHourSpacing: number) => any) | undefined; onGanttBodyResize?: ((target: HTMLDivElement) => any) | undefined; onTriggerTableViewScroll?: ((options: ScrollToOptions, onWheel?: boolean | undefined) => any) | undefined; }>, { scrollTo: (options: ScrollToOptions) => void; updateMinAndMaxDateByChangeRowNode: ({ addedRowNodes, deletedRowNodes, updatedRowNodes }: { addedRowNodes?: import('./types').GanttRowNode[]; deletedRowNodes?: import('./types').GanttRowNode[]; updatedRowNodes?: import('./types').GanttRowNode[]; }, freshRowNodes: import('./types').GanttRowNode[]) => void; freshTimeLines: (rowNodes: import('./types').GanttRowNode[]) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { perHourSpacingChange: (perHourSpacing: number) => any; ganttBodyResize: (target: HTMLDivElement) => any; triggerTableViewScroll: (options: ScrollToOptions, onWheel?: boolean | undefined) => any; }, import('vue').PublicProps, { defaultPerHourSpacing: number; }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { ganttGanttView: HTMLDivElement; ganttHeaderRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/ganttView/ganttHeader/GanttHeader.vue').Props> & Readonly<{}>, { onScroll: ({ scrollLeft }: { scrollLeft: number; }) => void; updateGanttHeaderWidth: (show: boolean, scrollbarWidth: number) => void; onResize: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { ganttHeaderRef: HTMLDivElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/ganttView/ganttHeader/GanttHeader.vue').Props> & Readonly<{}>, { onScroll: ({ scrollLeft }: { scrollLeft: number; }) => void; updateGanttHeaderWidth: (show: boolean, scrollbarWidth: number) => void; onResize: () => void; }, {}, {}, {}, {}> | null; scrollBarRef: ({ $: import('vue').ComponentInternalInstance; $data: {}; $props: { readonly tag?: string | undefined; readonly viewClass?: string | undefined; readonly wrapClass?: string | undefined; readonly viewStyle?: import('vue').StyleValue; readonly wrapStyle?: import('vue').StyleValue; readonly interceptShiftScroll?: boolean | undefined; readonly alwayHorizontal?: boolean | undefined; readonly alwayVertical?: boolean | undefined; readonly onResize?: ((target: HTMLDivElement) => any) | undefined; readonly onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined; readonly onWheel?: ((e: WheelEvent) => any) | undefined; readonly onWrapResize?: ((target: HTMLDivElement) => any) | undefined; readonly onShiftScroll?: ((e: WheelEvent) => any) | undefined; readonly onVerticalScrollBarShow?: ((args_0: { show: boolean; scrollbarWidth: number; }) => any) | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; } & { wrapRef: HTMLDivElement; resizeRef: unknown; barRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/scrollbar/Bar.vue').Props> & Readonly<{ onTriggerScrollFromThumb?: ((options: ScrollToOptions) => any) | undefined; }>, { handleScroll: (wrap: HTMLDivElement) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { triggerScrollFromThumb: (options: ScrollToOptions) => any; }, import('vue').PublicProps, { scrollbarHeight: number; scrollbarWidth: number; }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { horizontalThumbRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/scrollbar/Thumb.vue').Props> & Readonly<{ onTriggerScrollFromThumb?: ((options: ScrollToOptions) => any) | undefined; }>, { handleScroll: (option: { left: number; top: number; }) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { triggerScrollFromThumb: (options: ScrollToOptions) => any; }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { thumbRef: HTMLDivElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/scrollbar/Thumb.vue').Props> & Readonly<{ onTriggerScrollFromThumb?: ((options: ScrollToOptions) => any) | undefined; }>, { handleScroll: (option: { left: number; top: number; }) => void; }, {}, {}, {}, {}> | null; verticalThumbRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/scrollbar/Thumb.vue').Props> & Readonly<{ onTriggerScrollFromThumb?: ((options: ScrollToOptions) => any) | undefined; }>, { handleScroll: (option: { left: number; top: number; }) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { triggerScrollFromThumb: (options: ScrollToOptions) => any; }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { thumbRef: HTMLDivElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/scrollbar/Thumb.vue').Props> & Readonly<{ onTriggerScrollFromThumb?: ((options: ScrollToOptions) => any) | undefined; }>, { handleScroll: (option: { left: number; top: number; }) => void; }, {}, {}, {}, {}> | null; }, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/scrollbar/Bar.vue').Props> & Readonly<{ onTriggerScrollFromThumb?: ((options: ScrollToOptions) => any) | undefined; }>, { handleScroll: (wrap: HTMLDivElement) => void; }, {}, {}, {}, { scrollbarHeight: number; scrollbarWidth: number; }> | null; }; $slots: Readonly<{ [name: string]: import('vue').Slot<any> | undefined; }>; $root: import('vue').ComponentPublicInstance | null; $parent: import('vue').ComponentPublicInstance | null; $host: Element | null; $emit: ((event: "resize", target: HTMLDivElement) => void) & ((event: "scroll", args_0: { scrollTop: number; scrollLeft: number; }) => void) & ((event: "wheel", e: WheelEvent) => void) & ((event: "wrapResize", target: HTMLDivElement) => void) & ((event: "shiftScroll", e: WheelEvent) => void) & ((event: "verticalScrollBarShow", args_0: { show: boolean; scrollbarWidth: number; }) => void); $el: HTMLDivElement; $options: import('vue').ComponentOptionsBase<Readonly<import('./components/scrollbar/ScrollBar.vue').Props> & Readonly<{ onResize?: ((target: HTMLDivElement) => any) | undefined; onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined; onWheel?: ((e: WheelEvent) => any) | undefined; onWrapResize?: ((target: HTMLDivElement) => any) | undefined; onShiftScroll?: ((e: WheelEvent) => any) | undefined; onVerticalScrollBarShow?: ((args_0: { show: boolean; scrollbarWidth: number; }) => any) | undefined; }>, { onResize: () => void; scrollTo: (options: ScrollToOptions) => void; handleScroll: () => void; triggerScrollFromOutSide: (options: ScrollToOptions) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { resize: (target: HTMLDivElement) => any; scroll: (args_0: { scrollTop: number; scrollLeft: number; }) => any; wheel: (e: WheelEvent) => any; wrapResize: (target: HTMLDivElement) => any; shiftScroll: (e: WheelEvent) => any; verticalScrollBarShow: (args_0: { show: boolean; scrollbarWidth: number; }) => any; }, string, { tag: string; interceptShiftScroll: boolean; alwayHorizontal: boolean; alwayVertical: boolean; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import('vue').nextTick; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ tag: string; interceptShiftScroll: boolean; alwayHorizontal: boolean; alwayVertical: boolean; }> & Omit<Readonly<import('./components/scrollbar/ScrollBar.vue').Props> & Readonly<{ onResize?: ((target: HTMLDivElement) => any) | undefined; onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined; onWheel?: ((e: WheelEvent) => any) | undefined; onWrapResize?: ((target: HTMLDivElement) => any) | undefined; onShiftScroll?: ((e: WheelEvent) => any) | undefined; onVerticalScrollBarShow?: ((args_0: { show: boolean; scrollbarWidth: number; }) => any) | undefined; }>, "scrollTo" | "onResize" | "handleScroll" | ("tag" | "interceptShiftScroll" | "alwayHorizontal" | "alwayVertical") | "triggerScrollFromOutSide"> & import('vue').ShallowUnwrapRef<{ onResize: () => void; scrollTo: (options: ScrollToOptions) => void; handleScroll: () => void; triggerScrollFromOutSide: (options: ScrollToOptions) => void; }> & {} & import('vue').ComponentCustomProperties & {} & { $slots: { default?(_: {}): any; }; }) | null; ganttBodyRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/ganttView/ganttBody/GanttBody.vue').Props> & Readonly<{ onUpdateMinDate?: ((date: import('dayjs').Dayjs) => any) | undefined; onUpdateMaxDate?: ((date: import('dayjs').Dayjs) => any) | undefined; }>, { onResize: () => void; onScroll: ({ scrollTop, scrollLeft }: { scrollTop: number; scrollLeft: number; }) => void; freshTimeLines: (rowNodes: import('./types').GanttRowNode[]) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { updateMinDate: (date: import('dayjs').Dayjs) => any; updateMaxDate: (date: import('dayjs').Dayjs) => any; }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { ganttGridRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/ganttView/ganttBody/ganttGrid/GanttGrid.vue').Props> & Readonly<{}>, { onScroll: ({ scrollTop, scrollLeft }: { scrollTop: number; scrollLeft: number; }) => void; onResize: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, SVGSVGElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/ganttView/ganttBody/ganttGrid/GanttGrid.vue').Props> & Readonly<{}>, { onScroll: ({ scrollTop, scrollLeft }: { scrollTop: number; scrollLeft: number; }) => void; onResize: () => void; }, {}, {}, {}, {}> | null; ganttTimeLineViewRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./components/ganttView/ganttBody/ganttTimeLineView/GanttTimeLineView.vue').Props> & Readonly<{ onUpdateMinDate?: ((date: import('dayjs').Dayjs) => any) | undefined; onUpdateMaxDate?: ((date: import('dayjs').Dayjs) => any) | undefined; }>, { onScroll: ({ scrollTop, scrollLeft }: { scrollTop: number; scrollLeft: number; }) => void; onResize: () => void; freshTimeLines: (rowNodes: import('./types').GanttRowNode[]) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { updateMinDate: (date: import('dayjs').Dayjs) => any; updateMaxDate: (date: import('dayjs').Dayjs) => any; }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/ganttView/ganttBody/ganttTimeLineView/GanttTimeLineView.vue').Props> & Readonly<{ onUpdateMinDate?: ((date: import('dayjs').Dayjs) => any) | undefined; onUpdateMaxDate?: ((date: import('dayjs').Dayjs) => any) | undefined; }>, { onScroll: ({ scrollTop, scrollLeft }: { scrollTop: number; scrollLeft: number; }) => void; onResize: () => void; freshTimeLines: (rowNodes: import('./types').GanttRowNode[]) => void; }, {}, {}, {}, {}> | null; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/ganttView/ganttBody/GanttBody.vue').Props> & Readonly<{ onUpdateMinDate?: ((date: import('dayjs').Dayjs) => any) | undefined; onUpdateMaxDate?: ((date: import('dayjs').Dayjs) => any) | undefined; }>, { onResize: () => void; onScroll: ({ scrollTop, scrollLeft }: { scrollTop: number; scrollLeft: number; }) => void; freshTimeLines: (rowNodes: import('./types').GanttRowNode[]) => void; }, {}, {}, {}, {}> | null; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import('./components/ganttView/GanttView.vue').Props> & Readonly<{ onPerHourSpacingChange?: ((perHourSpacing: number) => any) | undefined; onGanttBodyResize?: ((target: HTMLDivElement) => any) | undefined; onTriggerTableViewScroll?: ((options: ScrollToOptions, onWheel?: boolean | undefined) => any) | undefined; }>, { scrollTo: (options: ScrollToOptions) => void; updateMinAndMaxDateByChangeRowNode: ({ addedRowNodes, deletedRowNodes, updatedRowNodes }: { addedRowNodes?: import('./types').GanttRowNode[]; deletedRowNodes?: import('./types').GanttRowNode[]; updatedRowNodes?: import('./types').GanttRowNode[]; }, freshRowNodes: import('./types').GanttRowNode[]) => void; freshTimeLines: (rowNodes: import('./types').GanttRowNode[]) => void; }, {}, {}, {}, { defaultPerHourSpacing: number; }> | null; }, HTMLDivElement>> & Record<string, any>; export default VueGantt3;