c2242e8f614ade7d014b65a49ce099bc1820aaa763a6ecb772553e7d486138d86311cdc3c249f679f19e120ec87cc8f5197c3e415b8183e648548eb34d1283 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. import type { CSSProperties, Ref } from 'vue';
  2. import type { TableV2Props } from '../table';
  3. import type { AnyColumns, Column, KeyType } from '../types';
  4. declare function useColumns(props: TableV2Props, columns: Ref<AnyColumns>, fixed: Ref<boolean>): {
  5. columns: import("vue").ComputedRef<{
  6. key: KeyType;
  7. align?: import("../types").Alignment;
  8. class?: string | import("../types").ClassNameGetter<any> | undefined;
  9. dataKey?: KeyType;
  10. fixed?: true | import("../types").FixedDirection;
  11. flexGrow?: CSSProperties["flexGrow"];
  12. flexShrink?: CSSProperties["flexShrink"];
  13. title?: string;
  14. hidden?: boolean;
  15. headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
  16. maxWidth?: number;
  17. minWidth?: number;
  18. style?: CSSProperties;
  19. sortable?: boolean;
  20. width: number;
  21. cellRenderer?: import("../types").CellRenderer<any> | undefined;
  22. headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
  23. }[]>;
  24. columnsStyles: import("vue").ComputedRef<Record<KeyType, CSSProperties>>;
  25. columnsTotalWidth: import("vue").ComputedRef<number>;
  26. fixedColumnsOnLeft: import("vue").ComputedRef<{
  27. key: KeyType;
  28. align?: import("../types").Alignment;
  29. class?: string | import("../types").ClassNameGetter<any> | undefined;
  30. dataKey?: KeyType;
  31. fixed?: true | import("../types").FixedDirection;
  32. flexGrow?: CSSProperties["flexGrow"];
  33. flexShrink?: CSSProperties["flexShrink"];
  34. title?: string;
  35. hidden?: boolean;
  36. headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
  37. maxWidth?: number;
  38. minWidth?: number;
  39. style?: CSSProperties;
  40. sortable?: boolean;
  41. width: number;
  42. cellRenderer?: import("../types").CellRenderer<any> | undefined;
  43. headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
  44. }[]>;
  45. fixedColumnsOnRight: import("vue").ComputedRef<{
  46. key: KeyType;
  47. align?: import("../types").Alignment;
  48. class?: string | import("../types").ClassNameGetter<any> | undefined;
  49. dataKey?: KeyType;
  50. fixed?: true | import("../types").FixedDirection;
  51. flexGrow?: CSSProperties["flexGrow"];
  52. flexShrink?: CSSProperties["flexShrink"];
  53. title?: string;
  54. hidden?: boolean;
  55. headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
  56. maxWidth?: number;
  57. minWidth?: number;
  58. style?: CSSProperties;
  59. sortable?: boolean;
  60. width: number;
  61. cellRenderer?: import("../types").CellRenderer<any> | undefined;
  62. headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
  63. }[]>;
  64. hasFixedColumns: import("vue").ComputedRef<number>;
  65. mainColumns: import("vue").ComputedRef<AnyColumns>;
  66. normalColumns: import("vue").ComputedRef<{
  67. key: KeyType;
  68. align?: import("../types").Alignment;
  69. class?: string | import("../types").ClassNameGetter<any> | undefined;
  70. dataKey?: KeyType;
  71. fixed?: true | import("../types").FixedDirection;
  72. flexGrow?: CSSProperties["flexGrow"];
  73. flexShrink?: CSSProperties["flexShrink"];
  74. title?: string;
  75. hidden?: boolean;
  76. headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
  77. maxWidth?: number;
  78. minWidth?: number;
  79. style?: CSSProperties;
  80. sortable?: boolean;
  81. width: number;
  82. cellRenderer?: import("../types").CellRenderer<any> | undefined;
  83. headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
  84. }[]>;
  85. visibleColumns: import("vue").ComputedRef<{
  86. key: KeyType;
  87. align?: import("../types").Alignment;
  88. class?: string | import("../types").ClassNameGetter<any> | undefined;
  89. dataKey?: KeyType;
  90. fixed?: true | import("../types").FixedDirection;
  91. flexGrow?: CSSProperties["flexGrow"];
  92. flexShrink?: CSSProperties["flexShrink"];
  93. title?: string;
  94. hidden?: boolean;
  95. headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
  96. maxWidth?: number;
  97. minWidth?: number;
  98. style?: CSSProperties;
  99. sortable?: boolean;
  100. width: number;
  101. cellRenderer?: import("../types").CellRenderer<any> | undefined;
  102. headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
  103. }[]>;
  104. getColumn: (key: KeyType) => {
  105. key: KeyType;
  106. align?: import("../types").Alignment;
  107. class?: string | import("../types").ClassNameGetter<any> | undefined;
  108. dataKey?: KeyType;
  109. fixed?: true | import("../types").FixedDirection;
  110. flexGrow?: CSSProperties["flexGrow"];
  111. flexShrink?: CSSProperties["flexShrink"];
  112. title?: string;
  113. hidden?: boolean;
  114. headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
  115. maxWidth?: number;
  116. minWidth?: number;
  117. style?: CSSProperties;
  118. sortable?: boolean;
  119. width: number;
  120. cellRenderer?: import("../types").CellRenderer<any> | undefined;
  121. headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
  122. } | undefined;
  123. getColumnStyle: (key: KeyType) => CSSProperties;
  124. updateColumnWidth: (column: Column<any>, width: number) => void;
  125. onColumnSorted: (e: MouseEvent) => void;
  126. };
  127. export { useColumns };
  128. export type UseColumnsReturn = ReturnType<typeof useColumns>;