@uozi-admin/curd
Version:
Easy to implement curd.
23 lines (22 loc) • 732 B
TypeScript
import { StdTableProps } from 'src/types';
import { Ref } from 'vue';
interface RowData {
id: number;
level?: number;
children?: RowData[];
parent?: any;
[key: string]: any;
}
export interface DragEndPayload {
target_id: number;
direction: number;
affected_ids: number[];
}
declare function useDraggableTable(options?: StdTableProps['rowDraggableOptions']): {
initSortable: (dataSource: Ref<any[]>) => void;
buildIndexMap: (data: RowData[] | any[], level?: number, index?: number, parentPath?: number[]) => void;
resetIndexMap: () => void;
tableId: Ref<string, string>;
rowKeyIndexMap: Ref<Record<number, number[]>, Record<number, number[]>>;
};
export default useDraggableTable;