hy-vue-gantt
Version:
Evolution of vue-ganttastic package
40 lines • 1.51 kB
TypeScript
import { type Ref } from "vue";
import type useTimeaxisUnits from "./useTimeaxisUnits";
/**
* Interface defining DOM references needed for scrolling functionality
*/
interface ScrollRefs {
rowsContainer: Ref<HTMLElement | null>;
labelColumn: Ref<any>;
}
/**
* Interface defining chart navigation configuration options
*/
interface ChartNavigationOptions {
scrollRefs: ScrollRefs;
updateBarPositions: () => void;
timeaxisUnits: ReturnType<typeof useTimeaxisUnits>;
}
/**
* Composable that manages navigation within the Gantt chart.
* Provides functionality for horizontal/vertical scrolling and zoom controls.
*
* @param options - Configuration options for navigation
* @param maxRows - Maximum number of rows that can be displayed simultaneously
* @returns Object containing navigation state and methods
*/
export declare function useChartNavigation(options: ChartNavigationOptions, maxRows: number): {
scrollPosition: Ref<number, number>;
isAtTop: Ref<boolean, boolean>;
isAtBottom: Ref<boolean, boolean>;
handleStep: (newPosition: number, wrapper: HTMLElement) => void;
handleScroll: (wrapper: HTMLElement) => void;
handleWheel: (e: WheelEvent, wrapper: HTMLElement) => void;
handleContentScroll: (e: Event) => void;
handleLabelScroll: (scrollTop: number) => void;
handleZoomUpdate: (increase: boolean) => Promise<void>;
scrollRowUp: () => void;
scrollRowDown: () => void;
};
export {};
//# sourceMappingURL=useChartNavigation.d.ts.map