use-row.d.ts 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. import type { ComponentInternalInstance, Ref, ShallowRef } from 'vue';
  2. import type { TableV2Props } from '../table';
  3. import type { RowExpandParams, RowHeightChangedParams, RowHoverParams } from '../row';
  4. import type { FixedDirection, KeyType } from '../types';
  5. import type { onRowRenderedParams } from '../grid';
  6. import type { TableGridInstance } from '../table-grid';
  7. import type { UseNamespaceReturn } from 'element-plus/es/hooks';
  8. type Heights = Record<KeyType, number>;
  9. type GridInstanceRef = Ref<TableGridInstance | undefined>;
  10. type UseRowProps = {
  11. mainTableRef: GridInstanceRef;
  12. leftTableRef: GridInstanceRef;
  13. rightTableRef: GridInstanceRef;
  14. tableInstance: ComponentInternalInstance;
  15. ns: UseNamespaceReturn;
  16. isScrolling: ShallowRef<boolean>;
  17. };
  18. export declare const useRow: (props: TableV2Props, { mainTableRef, leftTableRef, rightTableRef, tableInstance, ns, isScrolling, }: UseRowProps) => {
  19. expandedRowKeys: Ref<KeyType[]>;
  20. lastRenderedRowIndex: Ref<number>;
  21. isDynamic: import("vue").ComputedRef<boolean>;
  22. isResetting: ShallowRef<boolean>;
  23. rowHeights: Ref<Heights>;
  24. resetAfterIndex: (index: number, forceUpdate?: boolean) => void;
  25. onRowExpanded: ({ expanded, rowData, rowIndex, rowKey, }: RowExpandParams) => void;
  26. onRowHovered: ({ hovered, rowKey }: RowHoverParams) => void;
  27. onRowsRendered: (params: onRowRenderedParams) => void;
  28. onRowHeightChange: ({ rowKey, height, rowIndex }: RowHeightChangedParams, fixedDir: FixedDirection) => void;
  29. };
  30. export type UseRowReturn = ReturnType<typeof useRow>;
  31. export {};