mirror of
https://github.com/docmost/docmost.git
synced 2026-08-28 01:07:08 +08:00
Table and kanban UI, formula engine package, and the base-embed editor extension
27 lines
695 B
TypeScript
27 lines
695 B
TypeScript
import { useEffect, useRef, useCallback } from "react";
|
|
import { Table } from "@tanstack/react-table";
|
|
import { IBaseRow } from "@/ee/base/types/base.types";
|
|
|
|
export function useColumnResize(
|
|
table: Table<IBaseRow>,
|
|
onResizeEnd: () => void,
|
|
) {
|
|
const wasResizingRef = useRef(false);
|
|
|
|
const checkResizeEnd = useCallback(() => {
|
|
const isResizing = table.getState().columnSizingInfo.isResizingColumn;
|
|
if (wasResizingRef.current && !isResizing) {
|
|
onResizeEnd();
|
|
}
|
|
wasResizingRef.current = !!isResizing;
|
|
}, [table, onResizeEnd]);
|
|
|
|
useEffect(() => {
|
|
checkResizeEnd();
|
|
});
|
|
|
|
return {
|
|
isResizing: !!table.getState().columnSizingInfo.isResizingColumn,
|
|
};
|
|
}
|