You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.3 KiB

3 months ago
  1. import type { Ref } from 'vue';
  2. import type { TableColumnCtx } from './table-column/defaults';
  3. import type { TableHeader } from './table-header';
  4. import type { Table } from './table/defaults';
  5. import type { Store } from './store';
  6. declare class TableLayout<T> {
  7. observers: TableHeader[];
  8. table: Table<T>;
  9. store: Store<T>;
  10. columns: TableColumnCtx<T>[];
  11. fit: boolean;
  12. showHeader: boolean;
  13. height: Ref<null | number>;
  14. scrollX: Ref<boolean>;
  15. scrollY: Ref<boolean>;
  16. bodyWidth: Ref<null | number>;
  17. fixedWidth: Ref<null | number>;
  18. rightFixedWidth: Ref<null | number>;
  19. tableHeight: Ref<null | number>;
  20. headerHeight: Ref<null | number>;
  21. appendHeight: Ref<null | number>;
  22. footerHeight: Ref<null | number>;
  23. gutterWidth: number;
  24. constructor(options: Record<string, any>);
  25. updateScrollY(): boolean;
  26. setHeight(value: string | number, prop?: string): any;
  27. setMaxHeight(value: string | number): void;
  28. getFlattenColumns(): TableColumnCtx<T>[];
  29. updateElsHeight(): void;
  30. headerDisplayNone(elm: HTMLElement): boolean;
  31. updateColumnsWidth(): void;
  32. addObserver(observer: TableHeader): void;
  33. removeObserver(observer: TableHeader): void;
  34. notifyObservers(event: string): void;
  35. }
  36. export default TableLayout;