es-grid-template 1.8.64 → 1.8.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/es/grid-component/TempTable.d.ts +2 -2
  2. package/es/grid-component/TempTable.js +5 -5
  3. package/es/grid-component/hooks/index.js +0 -1
  4. package/es/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  5. package/es/grid-component/hooks/useLazyKVMap.js +0 -4
  6. package/es/grid-component/hooks/utils.d.ts +1 -8
  7. package/es/grid-component/hooks/utils.js +176 -144
  8. package/es/grid-component/index.d.ts +1 -1
  9. package/es/grid-component/index.js +0 -4
  10. package/es/grid-component/styles.scss +1394 -1394
  11. package/es/grid-component/type.d.ts +0 -407
  12. package/es/grid-component/type.js +490 -1
  13. package/es/table-component/type.d.ts +10 -0
  14. package/es/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.js +4 -3
  15. package/es/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
  16. package/es/table-virtuoso/InternalTable.js +391 -0
  17. package/es/table-virtuoso/body/TableBodyCell.d.ts +14 -0
  18. package/es/table-virtuoso/body/TableBodyCell.js +457 -0
  19. package/es/table-virtuoso/body/TableBodyRow.d.ts +13 -0
  20. package/es/table-virtuoso/body/TableBodyRow.js +112 -0
  21. package/es/table-virtuoso/footer/TableFooterCell.d.ts +7 -0
  22. package/es/table-virtuoso/footer/TableFooterCell.js +54 -0
  23. package/es/table-virtuoso/header/TableHeadCell.d.ts +14 -0
  24. package/es/table-virtuoso/header/TableHeadCell.js +265 -0
  25. package/es/table-virtuoso/header/renderFilter.d.ts +20 -0
  26. package/es/table-virtuoso/header/renderFilter.js +289 -0
  27. package/es/table-virtuoso/hook/constant.d.ts +73 -0
  28. package/es/table-virtuoso/hook/constant.js +240 -0
  29. package/es/table-virtuoso/hook/convert.d.ts +1 -0
  30. package/es/table-virtuoso/hook/convert.js +28 -0
  31. package/es/table-virtuoso/hook/useColumns.d.ts +28 -0
  32. package/es/table-virtuoso/hook/useColumns.js +302 -0
  33. package/es/table-virtuoso/hook/useFilterOperator.d.ts +7 -0
  34. package/es/table-virtuoso/hook/useFilterOperator.js +33 -0
  35. package/es/table-virtuoso/hook/utils.d.ts +159 -0
  36. package/es/table-virtuoso/hook/utils.js +2263 -0
  37. package/es/table-virtuoso/index.d.ts +2 -0
  38. package/es/table-virtuoso/index.js +2 -0
  39. package/es/table-virtuoso/style.d.ts +22 -0
  40. package/es/table-virtuoso/style.js +12 -0
  41. package/es/table-virtuoso/style.scss +1441 -0
  42. package/es/table-virtuoso/table/Grid.d.ts +37 -0
  43. package/es/table-virtuoso/table/Grid.js +298 -0
  44. package/es/table-virtuoso/table/TableContainer.d.ts +49 -0
  45. package/es/table-virtuoso/table/TableContainer.js +292 -0
  46. package/es/table-virtuoso/table/TableWrapper.d.ts +22 -0
  47. package/es/table-virtuoso/table/TableWrapper.js +161 -0
  48. package/es/table-virtuoso/type.d.ts +0 -0
  49. package/es/table-virtuoso/type.js +785 -0
  50. package/es/table-virtuoso/useContext.d.ts +97 -0
  51. package/es/table-virtuoso/useContext.js +21 -0
  52. package/lib/grid-component/TempTable.d.ts +2 -2
  53. package/lib/grid-component/TempTable.js +5 -7
  54. package/lib/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  55. package/lib/grid-component/hooks/useLazyKVMap.js +0 -3
  56. package/lib/grid-component/hooks/utils.d.ts +1 -8
  57. package/lib/grid-component/hooks/utils.js +179 -152
  58. package/lib/grid-component/index.d.ts +1 -1
  59. package/lib/grid-component/index.js +0 -3
  60. package/lib/grid-component/styles.scss +1394 -1394
  61. package/lib/grid-component/type.d.ts +0 -407
  62. package/lib/grid-component/type.js +490 -4
  63. package/lib/table-component/type.d.ts +10 -0
  64. package/lib/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.js +4 -3
  65. package/lib/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
  66. package/lib/table-virtuoso/InternalTable.js +400 -0
  67. package/lib/table-virtuoso/body/TableBodyCell.d.ts +14 -0
  68. package/lib/table-virtuoso/body/TableBodyCell.js +464 -0
  69. package/lib/table-virtuoso/body/TableBodyRow.d.ts +13 -0
  70. package/lib/table-virtuoso/body/TableBodyRow.js +119 -0
  71. package/lib/table-virtuoso/footer/TableFooterCell.d.ts +7 -0
  72. package/lib/table-virtuoso/footer/TableFooterCell.js +63 -0
  73. package/lib/table-virtuoso/header/TableHeadCell.d.ts +14 -0
  74. package/lib/table-virtuoso/header/TableHeadCell.js +274 -0
  75. package/lib/table-virtuoso/header/renderFilter.d.ts +20 -0
  76. package/lib/table-virtuoso/header/renderFilter.js +299 -0
  77. package/lib/table-virtuoso/hook/constant.d.ts +73 -0
  78. package/lib/table-virtuoso/hook/constant.js +247 -0
  79. package/lib/table-virtuoso/hook/convert.d.ts +1 -0
  80. package/lib/table-virtuoso/hook/convert.js +34 -0
  81. package/lib/table-virtuoso/hook/useColumns.d.ts +28 -0
  82. package/lib/table-virtuoso/hook/useColumns.js +315 -0
  83. package/lib/table-virtuoso/hook/useFilterOperator.d.ts +7 -0
  84. package/lib/table-virtuoso/hook/useFilterOperator.js +40 -0
  85. package/lib/table-virtuoso/hook/utils.d.ts +159 -0
  86. package/lib/table-virtuoso/hook/utils.js +2389 -0
  87. package/lib/table-virtuoso/index.d.ts +2 -0
  88. package/lib/table-virtuoso/index.js +9 -0
  89. package/lib/table-virtuoso/style.d.ts +22 -0
  90. package/lib/table-virtuoso/style.js +19 -0
  91. package/lib/table-virtuoso/style.scss +1441 -0
  92. package/lib/table-virtuoso/table/Grid.d.ts +37 -0
  93. package/lib/table-virtuoso/table/Grid.js +307 -0
  94. package/lib/table-virtuoso/table/TableContainer.d.ts +49 -0
  95. package/lib/table-virtuoso/table/TableContainer.js +300 -0
  96. package/lib/table-virtuoso/table/TableWrapper.d.ts +22 -0
  97. package/lib/table-virtuoso/table/TableWrapper.js +166 -0
  98. package/lib/table-virtuoso/type.d.ts +0 -0
  99. package/lib/table-virtuoso/type.js +786 -0
  100. package/lib/table-virtuoso/useContext.d.ts +97 -0
  101. package/lib/table-virtuoso/useContext.js +27 -0
  102. package/package.json +2 -1
  103. package/es/grid-component/AdvanceFilter.d.ts +0 -14
  104. package/es/grid-component/AdvanceFilter.js +0 -454
  105. package/es/grid-component/CheckboxFilter.d.ts +0 -20
  106. package/es/grid-component/CheckboxFilter.js +0 -244
  107. package/es/grid-component/CheckboxFilter2.d.ts +0 -20
  108. package/es/grid-component/CheckboxFilter2.js +0 -244
  109. package/es/grid-component/ColumnsChoose.d.ts +0 -10
  110. package/es/grid-component/ColumnsChoose.js +0 -230
  111. package/es/grid-component/Command.d.ts +0 -8
  112. package/es/grid-component/Command.js +0 -80
  113. package/es/grid-component/ContextMenu.d.ts +0 -20
  114. package/es/grid-component/ContextMenu.js +0 -130
  115. package/es/grid-component/ConvertColumnTable.d.ts +0 -7
  116. package/es/grid-component/ConvertColumnTable.js +0 -144
  117. package/es/grid-component/EditForm/EditForm.d.ts +0 -27
  118. package/es/grid-component/EditForm/EditForm.js +0 -394
  119. package/es/grid-component/EditForm/index.d.ts +0 -1
  120. package/es/grid-component/EditForm/index.js +0 -1
  121. package/es/grid-component/EditableCell.d.ts +0 -20
  122. package/es/grid-component/EditableCell.js +0 -1030
  123. package/es/grid-component/FilterSearch.d.ts +0 -12
  124. package/es/grid-component/FilterSearch.js +0 -33
  125. package/es/grid-component/GridStyle.d.ts +0 -8
  126. package/es/grid-component/GridStyle.js +0 -5
  127. package/es/grid-component/InternalTable.js +0 -1170
  128. package/es/grid-component/TableGrid.d.ts +0 -21
  129. package/es/grid-component/TableGrid.js +0 -493
  130. package/es/grid-component/async-select/index.d.ts +0 -11
  131. package/es/grid-component/async-select/index.js +0 -38
  132. package/es/grid-component/async-table-select/index.d.ts +0 -11
  133. package/es/grid-component/async-table-select/index.js +0 -40
  134. package/es/grid-component/checkbox-control/index.d.ts +0 -13
  135. package/es/grid-component/checkbox-control/index.js +0 -40
  136. package/es/grid-component/hooks/columns/index.d.ts +0 -10
  137. package/es/grid-component/hooks/columns/index.js +0 -503
  138. package/es/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  139. package/es/grid-component/hooks/content/ControlCheckbox.js +0 -87
  140. package/es/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  141. package/es/grid-component/hooks/content/HeaderContent.js +0 -44
  142. package/es/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  143. package/es/grid-component/hooks/content/TooltipContent.js +0 -74
  144. package/es/grid-component/hooks/useColumns.d.ts +0 -19
  145. package/es/grid-component/hooks/useColumns.js +0 -317
  146. package/es/grid-component/number/index.d.ts +0 -10
  147. package/es/grid-component/number/index.js +0 -39
  148. package/es/grid-component/number-range/index.d.ts +0 -11
  149. package/es/grid-component/number-range/index.js +0 -63
  150. package/es/grid-component/table/Grid.d.ts +0 -23
  151. package/es/grid-component/table/Grid.js +0 -49
  152. package/es/grid-component/table/GridEdit.d.ts +0 -23
  153. package/es/grid-component/table/GridEdit.js +0 -2726
  154. package/es/grid-component/table/Group.d.ts +0 -21
  155. package/es/grid-component/table/Group.js +0 -195
  156. package/es/grid-component/table/InfiniteTable.d.ts +0 -23
  157. package/es/grid-component/table/InfiniteTable.js +0 -101
  158. package/es/grid-component/useContext.d.ts +0 -34
  159. package/es/grid-component/useContext.js +0 -8
  160. package/lib/grid-component/AdvanceFilter.d.ts +0 -14
  161. package/lib/grid-component/AdvanceFilter.js +0 -463
  162. package/lib/grid-component/CheckboxFilter.d.ts +0 -20
  163. package/lib/grid-component/CheckboxFilter.js +0 -253
  164. package/lib/grid-component/CheckboxFilter2.d.ts +0 -20
  165. package/lib/grid-component/CheckboxFilter2.js +0 -253
  166. package/lib/grid-component/ColumnsChoose.d.ts +0 -10
  167. package/lib/grid-component/ColumnsChoose.js +0 -240
  168. package/lib/grid-component/Command.d.ts +0 -8
  169. package/lib/grid-component/Command.js +0 -88
  170. package/lib/grid-component/ContextMenu.d.ts +0 -20
  171. package/lib/grid-component/ContextMenu.js +0 -140
  172. package/lib/grid-component/ConvertColumnTable.d.ts +0 -7
  173. package/lib/grid-component/ConvertColumnTable.js +0 -153
  174. package/lib/grid-component/EditForm/EditForm.d.ts +0 -27
  175. package/lib/grid-component/EditForm/EditForm.js +0 -404
  176. package/lib/grid-component/EditForm/index.d.ts +0 -1
  177. package/lib/grid-component/EditForm/index.js +0 -16
  178. package/lib/grid-component/EditableCell.d.ts +0 -20
  179. package/lib/grid-component/EditableCell.js +0 -1032
  180. package/lib/grid-component/FilterSearch.d.ts +0 -12
  181. package/lib/grid-component/FilterSearch.js +0 -42
  182. package/lib/grid-component/GridStyle.d.ts +0 -8
  183. package/lib/grid-component/GridStyle.js +0 -12
  184. package/lib/grid-component/InternalTable.js +0 -1178
  185. package/lib/grid-component/TableGrid.d.ts +0 -21
  186. package/lib/grid-component/TableGrid.js +0 -493
  187. package/lib/grid-component/async-select/index.d.ts +0 -11
  188. package/lib/grid-component/async-select/index.js +0 -47
  189. package/lib/grid-component/async-table-select/index.d.ts +0 -11
  190. package/lib/grid-component/async-table-select/index.js +0 -49
  191. package/lib/grid-component/checkbox-control/index.d.ts +0 -13
  192. package/lib/grid-component/checkbox-control/index.js +0 -48
  193. package/lib/grid-component/hooks/columns/index.d.ts +0 -10
  194. package/lib/grid-component/hooks/columns/index.js +0 -518
  195. package/lib/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  196. package/lib/grid-component/hooks/content/ControlCheckbox.js +0 -95
  197. package/lib/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  198. package/lib/grid-component/hooks/content/HeaderContent.js +0 -53
  199. package/lib/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  200. package/lib/grid-component/hooks/content/TooltipContent.js +0 -81
  201. package/lib/grid-component/hooks/useColumns.d.ts +0 -19
  202. package/lib/grid-component/hooks/useColumns.js +0 -328
  203. package/lib/grid-component/number/index.d.ts +0 -10
  204. package/lib/grid-component/number/index.js +0 -47
  205. package/lib/grid-component/number-range/index.d.ts +0 -11
  206. package/lib/grid-component/number-range/index.js +0 -71
  207. package/lib/grid-component/table/Grid.d.ts +0 -23
  208. package/lib/grid-component/table/Grid.js +0 -58
  209. package/lib/grid-component/table/GridEdit.d.ts +0 -23
  210. package/lib/grid-component/table/GridEdit.js +0 -2723
  211. package/lib/grid-component/table/Group.d.ts +0 -21
  212. package/lib/grid-component/table/Group.js +0 -204
  213. package/lib/grid-component/table/InfiniteTable.d.ts +0 -23
  214. package/lib/grid-component/table/InfiniteTable.js +0 -109
  215. package/lib/grid-component/useContext.d.ts +0 -34
  216. package/lib/grid-component/useContext.js +0 -13
  217. /package/es/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.d.ts +0 -0
  218. /package/es/{grid-component → table-virtuoso}/ColumnsGroup/index.d.ts +0 -0
  219. /package/es/{grid-component → table-virtuoso}/ColumnsGroup/index.js +0 -0
  220. /package/lib/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.d.ts +0 -0
  221. /package/lib/{grid-component → table-virtuoso}/ColumnsGroup/index.d.ts +0 -0
  222. /package/lib/{grid-component → table-virtuoso}/ColumnsGroup/index.js +0 -0
@@ -1 +1,490 @@
1
- export {};
1
+ // import type { Key, ReactElement, ReactNode } from "react"
2
+ // import type React from "react"
3
+ // import type { IOperator } from "./hooks"
4
+ // import type {
5
+ // TypeFilter,
6
+ // TableProps as RcTableProps,
7
+ // TableColumnType as RcColumnType,
8
+ // EditType,
9
+ // TablePaginationConfig
10
+ // } from "rc-master-ui"
11
+ // import type { FilterOperator, TableRowSelection } from "rc-master-ui/es/table/interface"
12
+ // import type { ToolbarItem as RcToolbarItem } from "rc-master-ui/es/toolbar"
13
+ // import type { ItemType } from "rc-master-ui/es/menu/interface"
14
+ // import type { FieldNames, FilterFunc } from "rc-select/es/Select"
15
+ // import type { ColorPickerProps } from "antd"
16
+ // import type { FixedType } from "rc-base-table/lib/interface"
17
+ // import type { TableLocale } from "rc-master-ui/lib/table/interface"
18
+ // import type { Cell, Header, Row } from '@tanstack/react-table'
19
+
20
+ // export type IColumnType = "number" | "time" | "date" | "week" | "month" | "file" | "quarter" | "year" | "datetime" | "string" | "boolean" | "checkbox" | "color" | null | undefined
21
+
22
+ // export type AnyObject = Record<PropertyKey, any>;
23
+
24
+ // export type SelectMode = 'checkbox' | 'radio' | undefined
25
+ // export type ITextAlign = 'center' | 'left' | 'right'
26
+ // export type Frozen = 'left' | 'right' | 'Left' | 'Right'
27
+
28
+ // export type ToolbarItem = Omit<RcToolbarItem, 'position' | 'align'> & {
29
+ // position?: 'Top' | 'Bottom',
30
+ // align?: ITextAlign
31
+ // onClick?: (args: any) => void
32
+ // };
33
+
34
+ // // export type ContextMenuItem = MenuProps['items'] & {}
35
+ // export type ContextMenuItem = ItemType
36
+
37
+ // export type ITemplateColumn = {
38
+ // value: any
39
+ // column: any
40
+ // rowData: any
41
+ // field: number | string
42
+ // index: number
43
+ // // [key: string]: any
44
+ // }
45
+
46
+ // export type ColumnSelectTable = {
47
+ // field: string,
48
+ // dataIndex?: string,
49
+ // type?: IColumnType
50
+ // headerText?: string,
51
+ // fixedType?: 'left' | 'right' | undefined,
52
+ // width?: number | undefined,
53
+ // minWidth?: number,
54
+ // maxWidth?: number,
55
+ // visible?: boolean
56
+ // textAlign?: ITextAlign
57
+ // headerTextAlign?: ITextAlign
58
+ // // eslint-disable-next-line no-unused-vars
59
+ // template?: (props: ITemplateColumn) => ReactNode | ReactElement
60
+ // headerTemplate?: any
61
+ // ellipsis?: boolean | undefined
62
+ // format?: IFormat
63
+ // // eslint-disable-next-line no-unused-vars
64
+ // tooltipDescription?: string | ((rowData: any) => string | ReactNode)
65
+ // // tooltipDescription?: string | ((rowData: any) => string | React.FC<any> | ReactNode)
66
+ // showTooltip?: boolean
67
+ // showTooltipHeader?: boolean
68
+ // }
69
+
70
+ // export type IEditSelectSettings = {
71
+ // fieldKey?: string
72
+ // options: any[] | ((rowData: any, field: string) => any[])
73
+ // /** get value form other field **/
74
+ // fieldValue?: string
75
+ // /** get label form other field **/
76
+ // fieldLabel?: string
77
+ // /** cho phép nhập giá trị - onBlur: giá trị search được set thành value **/
78
+ // searchTextAsValue?: boolean
79
+
80
+ // inputKey?: string
81
+
82
+ // filterKey?: string[]
83
+ // selectMode?: SelectMode
84
+
85
+ // // eslint-disable-next-line no-unused-vars
86
+ // getPasteValue?: (value: any) => Record<string, any> | null
87
+ // // eslint-disable-next-line no-unused-vars
88
+ // validateOption?: (rowData: any, field: string) => any[]
89
+
90
+ // defaultOptions?: any[]
91
+ // // eslint-disable-next-line no-unused-vars
92
+ // defaultValue?: (value: any, rowData: any) => {
93
+ // value: any
94
+ // label: string
95
+ // [key: string]: string
96
+
97
+ // } | null
98
+
99
+ // formatOptionLabel?: (option: any) => ReactNode | ReactElement
100
+ // // loadOptions?: (search: string, callback: (newOptions: any[]) => void) => void
101
+ // loadOptions?: (search: string, callback: (newOptions: any[]) => void, args?: LoadOptionsArgs) => void;
102
+ // isMulti?: boolean
103
+ // closeMenuOnSelect?: boolean
104
+ // menuWidth?: number
105
+ // menuHeight?: number
106
+
107
+ // columns?: ColumnSelectTable[]
108
+ // toolbarItems?: ToolbarItem[]
109
+ // // eslint-disable-next-line no-unused-vars
110
+ // toolbarClick?: (props: ToolbarClick) => void
111
+ // toolbarHeight?: number
112
+ // hideSelectedOptions?: boolean
113
+ // showItems?: number
114
+ // isLengthSelected?: boolean
115
+ // fieldNames?: FieldNames
116
+ // filterOption?: boolean | FilterFunc<any>;
117
+ // }
118
+ // export type ToolbarClick = {
119
+ // item: any
120
+ // column: any
121
+ // }
122
+ // export type LoadOptionsArgs = {
123
+ // rowData?: any
124
+
125
+ // }
126
+
127
+ // export type ColumnTable<RecordType = AnyObject> = Omit<RcColumnType<RecordType>, 'headerTemplate' | 'title' | 'format' | 'commandItems'> & {
128
+ // field?: string,
129
+ // key?: any,
130
+ // type?: IColumnType,
131
+ // /** @deprecated This function is deprecated and should use `onChange` instead */
132
+ // haveSum?: boolean
133
+ // isSummary?: boolean
134
+ // summaryTemplate?: (data: number, key: string) => ReactElement | ReactNode
135
+ // maxWidth?: string | number
136
+ // format?: IFormat | ((rowData: any) => IFormat)
137
+ // allowFiltering?: boolean
138
+ // allowSortering?: boolean
139
+ // operator?: FilterOperator
140
+ // hideOperator?: boolean
141
+ // placeholder?: string
142
+ // showInColumnChoose?: boolean
143
+ // typeFilter?: TypeFilter
144
+ // source?: any[]
145
+ // showFilterSearch?: boolean
146
+ // headerText?: string
147
+ // visible?: boolean
148
+ // headerTooltip?: boolean | string | (() => ReactNode | ReactElement)
149
+ // columnGroupText?: string
150
+ // textAlign?: ITextAlign
151
+ // headerTextAlign?: ITextAlign
152
+ // // template?: ReactNode | ReactElement | ((value: any, record: RecordType, index: number) => ReactNode | ReactElement)
153
+ // template?: ReactNode | ReactElement | ((args: ColumnTemplate<RecordType>) => ReactNode | ReactElement)
154
+ // showTooltip?: boolean
155
+ // tooltipDescription?: ReactNode | ReactElement | ((args: { value: any, record: RecordType }) => ReactNode | ReactElement)
156
+ // headerTemplate?: React.ReactNode | React.ReactElement | ((column: ColumnTable<RecordType>) => React.ReactNode | React.ReactElement);
157
+ // commandItems?: CommandItem[]
158
+
159
+ // children?: ColumnTable<RecordType>[]
160
+
161
+ // editType?: EditType | ((rowData?: RecordType) => EditType)
162
+ // disable?: boolean | ((rowData: any) => boolean)
163
+ // editEnable?: boolean | ((rowData: any) => boolean)
164
+ // isClearable?: boolean
165
+ // maxDate?: any
166
+ // minDate?: any
167
+ // maxTime?: any
168
+ // minTime?: any
169
+ // max?: number
170
+ // min?: number
171
+ // editSelectSettings?: IEditSelectSettings
172
+ // editFromSettings?: IEditFromSettings
173
+ // fixedType?: FixedType,
174
+ // headerTextWrap?: boolean
175
+ // // children?: ColumnEditType<RecordType>[]
176
+
177
+ // sumGroup?: boolean
178
+
179
+ // allowSelection?: boolean | ((rowData: RecordType) => boolean)
180
+
181
+ // onCellStyles?: Omit<React.CSSProperties, 'display' | 'width' | 'minWidth' | 'left' | 'right' | 'position'> | ((cellValue: any, cell: Cell<RecordType, unknown>) => Omit<React.CSSProperties, 'display' | 'width' | 'minWidth' | 'left' | 'right' | 'position'>)
182
+ // onCellHeaderStyles?: Omit<React.CSSProperties, 'display' | 'width' | 'minWidth' | 'left' | 'right' | 'position'> | ((cell: Header<RecordType, unknown>) => Omit<React.CSSProperties, 'display' | 'width' | 'minWidth' | 'left' | 'right' | 'position'>)
183
+ // onCellFooterStyles?: Omit<React.CSSProperties, 'display' | 'width' | 'minWidth' | 'left' | 'right' | 'position'> | ((cellValue: any, cell: Header<RecordType, unknown>) => Omit<React.CSSProperties, 'display' | 'width' | 'minWidth' | 'left' | 'right' | 'position'>)
184
+
185
+ // }
186
+
187
+ // export type IFormOpen = {
188
+ // value?: any
189
+ // setValue?: any
190
+ // getValues?: any
191
+ // reset?: any
192
+ // rowData?: any
193
+ // }
194
+
195
+ // export type IEditFromSettings = {
196
+ // fieldKey: string
197
+ // // eslint-disable-next-line no-unused-vars
198
+ // formOpen?: (props: IFormOpen) => void
199
+ // // eslint-disable-next-line no-unused-vars
200
+ // formClose?: (props: IFormOpen) => void
201
+ // // eslint-disable-next-line no-unused-vars
202
+ // formatLabel?: (value: any) => string
203
+ // menuWidth?: number
204
+ // menuHeight?: number
205
+ // labelWith?: number
206
+ // items: any[]
207
+ // layout?: {
208
+ // xl?: IGrid
209
+ // lg?: IGrid
210
+ // md?: IGrid
211
+ // sm?: IGrid
212
+ // xs?: IGrid
213
+ // }
214
+
215
+ // defaultValues?: Record<string, any>
216
+
217
+ // schema?: any
218
+ // }
219
+
220
+ // type IGrid = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
221
+
222
+ // export type ColumnTemplate<RecordType> = {
223
+ // value: any,
224
+ // rowData: RecordType,
225
+ // index: number,
226
+ // field: string
227
+ // }
228
+
229
+ // export type ColumnsTable<RecordType = AnyObject> = ColumnTable<RecordType>[]
230
+
231
+ // export type Locale = TableLocale & {
232
+ // ok_btn: string
233
+ // cancel_btn: string
234
+ // add_rows: string
235
+ // add_rows_before: string
236
+ // add_rows_after: string
237
+ // add_1: string
238
+ // add_10: string
239
+ // add_50: string
240
+ // add_100: string
241
+ // add_children: string
242
+ // delete_content: string
243
+ // delete_rows: string
244
+ // custom: string
245
+ // }
246
+
247
+ // export type Sort = {
248
+ // columnKey: string,
249
+ // field: string,
250
+ // order: 'ascend' | 'descend' | null
251
+ // }
252
+
253
+ // export interface TableProps<RecordType = AnyObject> extends Omit<RcTableProps<RecordType>, 'columns' | 'rowSelection' | 'loading' | 'dataSource' | 'summary' | 'pagination' | 'locale' | 'virtual'> {
254
+ // editAble?: boolean
255
+ // infiniteScroll?: boolean
256
+ // theme?: {
257
+ // theme?: 'dark' | 'light',
258
+ // backgroundColor?: string
259
+ // color?: string
260
+ // }
261
+ // virtualRow?: boolean
262
+ // virtualColumns?: boolean
263
+ // next?: () => void
264
+ // locale?: Locale
265
+ // groupAble?: boolean
266
+ // groupColumns?: string[]
267
+ // groupSetting?: IGroupSetting
268
+ // onChooseColumns?: (props: IOnChooseColumns) => void
269
+ // pagination?: false | PaginationConfig;
270
+ // showCustomTooltip?: boolean
271
+
272
+ // sortMultiple?: boolean
273
+ // dataSource: RecordType[]
274
+ // columns: ColumnsTable<RecordType>,
275
+ // height?: number
276
+ // minHeight?: number
277
+ // format?: IFormat
278
+ // t?: any
279
+ // lang?: string
280
+ // contextMenuItems?: ContextMenuItem[]
281
+ // showDefaultContext?: boolean
282
+ // contextMenuHidden?: string[] | ((args?: Omit<ContextInfo<RecordType>, 'item' | 'event'>) => string[])
283
+ // contextMenuOpen?: (args: Omit<ContextInfo<RecordType>, 'item'>) => void
284
+ // contextMenuClick?: (args: ContextInfo<RecordType>) => void
285
+ // recordDoubleClick?: (args: RecordDoubleClickEventArgs<RecordType>) => void
286
+ // toolbarItems?: ToolbarItem[]
287
+ // showColumnChoose?: boolean
288
+ // showAdvanceFilter?: boolean
289
+
290
+ // allowFiltering?: boolean
291
+ // onFilter?: (query: { field: string, key: string, operator: IOperator, predicate: 'and' | 'or', value: any }[]) => void
292
+ // allowSortering?: boolean
293
+ // onSorter?: (args: { column: ColumnTable<RecordType>, columnKey: string, field: string, order: 'ascend' | 'descend' | null }) => void
294
+ // defaultSorter?: Sort[]
295
+ // selectionSettings?: SelectionSettings
296
+ // // rowKey?: string
297
+ // rowKey?: string | keyof RecordType | GetRowKey<RecordType>;
298
+
299
+ // rowSelection?: RowSelection<RecordType>
300
+ // rowSelected?: (args: { type: string, rowData: RecordType, selected: RecordType | RecordType[] }) => void
301
+ // dataSourceFilter?: SourceFilter[]
302
+ // onFilterClick?: (column: ColumnTable<RecordType>, callback: (key: string, data: any) => void) => void
303
+ // loading?: boolean
304
+ // allowResizing?: boolean
305
+ // showToolbar?: boolean
306
+ // onDataChange?: (data: RecordType[]) => void
307
+ // defaultValue?: AnyObject | (() => AnyObject)
308
+
309
+ // summary?: boolean | ((data: readonly RecordType[]) => React.ReactNode);
310
+ // showEmptyText?: boolean
311
+ // commandSettings?: CommandSettings
312
+
313
+ // // columns: ColumnsTable<RecordType>
314
+ // onCellPaste?: ICellPasteModel<RecordType>
315
+ // onCellChange?: (args: CellChangeArgs<RecordType>, handleCallback: (rowData: any, index: any, value?: any) => void) => void
316
+ // onCellClick?: (args: ICellClick, callback?: any) => void
317
+ // rowEditable?: (rowData: RecordType) => boolean
318
+ // validate?: any
319
+ // onBlur?: (data: RecordType[]) => void
320
+
321
+ // onExpandClick?: (args: { expandedKeys: string[], key: string, rowData: any }) => void
322
+
323
+ // wrapSettings?: IWrapSettings,
324
+
325
+ // actionTemplate?: ReactNode | ReactElement | (() => ReactNode | ReactElement)
326
+
327
+ // fullScreen?: boolean
328
+
329
+ // onRowStyles?: Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'> | ((data: RecordType, row: Row<RecordType>) => Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'>)
330
+ // onRowHeaderStyles?: Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'> | (() => Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'>)
331
+ // onRowFooterStyles?: Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'> | (() => Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'>)
332
+
333
+ // fullScreenTitle?: ReactNode | (() => ReactNode)
334
+ // }
335
+
336
+ // // export interface TableEditProps<RecordType = AnyObject> extends Omit<TableProps<RecordType>, 'columns' > {
337
+ // // columns: ColumnsTable<RecordType>
338
+ // // onCellPaste?: ICellPasteModel<RecordType>
339
+ // // onCellChange?: (args: CellChangeArgs<RecordType>, handleCallback: (rowData: any, index: any, value?: any) => void) => void
340
+ // // onCellClick?: (args: ICellClick, callback?: any) => void
341
+ // // rowEditable?: (rowData: RecordType) => boolean
342
+ // // }
343
+
344
+ // export type PaginationConfig = TablePaginationConfig & {
345
+ // currentPage?: number
346
+ // }
347
+ // export type ICellClick = {
348
+ // index: number
349
+ // indexCol?: number
350
+ // rowId: string | number
351
+ // type: 'Editing' | 'Default'
352
+ // field: string
353
+ // cellValue: any
354
+ // rowData: any
355
+ // }
356
+
357
+ // export type GridTableProps<RecordType = AnyObject> = TableProps<RecordType>
358
+
359
+ // export interface CommandItem {
360
+ // id: string
361
+ // type?: string
362
+ // visible?: boolean | ((record: any) => boolean)
363
+ // title: string
364
+ // color?: 'blue' | 'purple' | 'cyan' | 'green' | 'magenta' | 'pink' | 'red' | 'orange' | 'yellow' | 'volcano' | 'geekblue' | 'lime' | 'gold';
365
+ // tooltip?: string
366
+ // icon?: ReactNode | ReactElement | (() => ReactNode | ReactElement)
367
+ // template?: ReactNode | ReactElement | ((record: any) => ReactNode | ReactElement)
368
+ // client?: boolean
369
+ // confirmDialog?: boolean
370
+ // }
371
+
372
+ // export type GroupTemplate = {
373
+ // rowData: any
374
+ // value: any
375
+ // column: ColumnTable
376
+ // }
377
+
378
+ // export type IGroupSetting = {
379
+ // client?: boolean
380
+ // onGroup?: (props: IOnGroup) => void
381
+ // groupColumnSpan?: number
382
+ // hiddenColumnGroup?: boolean
383
+ // showHeaderColumn?: boolean
384
+ // showGroupIcon?: boolean
385
+ // unClearableLevel?: 1 | 2 | 3 | undefined
386
+ // sumGroup?: boolean
387
+ // groupTemplate?: React.ReactNode | React.ReactElement | ((args: GroupTemplate) => React.ReactNode | React.ReactElement)
388
+ // }
389
+
390
+ // type IOnGroup = {
391
+ // columnGrouped: string[]
392
+ // columns: ColumnsTable
393
+ // flattenColumns: ColumnsTable
394
+ // }
395
+
396
+ // export type IOnChooseColumns = {
397
+ // columns: ColumnsTable
398
+ // showColumns: ColumnsTable
399
+ // flattenColumns: ColumnsTable
400
+ // }
401
+
402
+ // export type CellChangeArgs<T> = {
403
+ // type: 'onPaste' | 'onChange' | 'onCellPaste'
404
+ // value: any
405
+ // option: AnyObject
406
+ // rowData: T
407
+ // rowsData: T[]
408
+ // indexRow: number
409
+ // rowId?: string
410
+ // field: string | undefined
411
+ // indexCol: any
412
+ // sumValue?: any[]
413
+ // }
414
+
415
+ // export type IOnPastedProps = {
416
+ // data: any[]
417
+ // copyRows: any[]
418
+ // pastedColumns: string[]
419
+ // pasteData: any[]
420
+ // type: 'onPaste' | 'onChange' | 'onCellPaste'
421
+ // }
422
+
423
+ // export interface ICellPasteModel<RecordType = AnyObject> {
424
+
425
+ // onPasted?: (args: IOnPastedProps, handleCallback: (callbackData: any[]) => void) => void
426
+
427
+ // dataChange?: (data: RecordType[]) => void
428
+ // getCallbackData?: (props: any) => void
429
+ // maxRowsPaste?: number
430
+ // }
431
+
432
+ // export type SourceFilter = {
433
+ // key: string
434
+ // data: any[]
435
+ // loadOptions?: (search: string, callback: (newOptions: any[]) => void) => void;
436
+
437
+ // }
438
+
439
+ // export type RowSelection<RecordType> = Omit<TableRowSelection<RecordType>, 'type' | 'columnWidth' | 'hideSelectAll' | 'defaultSelectedRowKeys'>
440
+
441
+ // export type SelectionSettings = Omit<TableRowSelection, 'type' | 'onChange' | 'onSelect' | 'onSelectAll' | 'onSelectNone' | 'onSelectMultiple'> & {
442
+ // mode?: 'checkbox' | 'radio'
443
+ // type?: 'single' | 'multiple'
444
+ // checkboxOnly?: boolean
445
+ // }
446
+
447
+ // export type RecordDoubleClickEventArgs<RecordType> = {
448
+ // rowData: RecordType
449
+ // rowIndex: number | undefined
450
+ // e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
451
+ // }
452
+
453
+ // export type ContextInfo<RecordType> = {
454
+ // rowInfo: {
455
+ // rowData: RecordType | null
456
+ // }
457
+ // event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
458
+ // item: ItemType
459
+ // }
460
+
461
+ // export type IFormat = {
462
+ // thousandSeparator?: string
463
+ // decimalSeparator?: string
464
+ // decimalScale?: number | undefined // bao nhiêu số sau số thập phân
465
+ // allowNegative?: boolean // check nhập số âm
466
+ // prefix?: string | undefined
467
+ // suffix?: string | undefined
468
+ // fixedDecimalScale?: boolean // mặc định thêm số 0 sau số thập phân
469
+ // dateFormat?: string
470
+ // datetimeFormat?: string
471
+ // timeFormat?: string
472
+ // weekFormat?: string
473
+ // monthFormat?: string
474
+ // yearFormat?: string
475
+ // }
476
+
477
+ // export type GetRowKey<RecordType> = (record: RecordType, index?: number) => Key;
478
+
479
+ // export type Presets = Required<ColorPickerProps>['presets'][number];
480
+
481
+ // export type CommandSettings = {
482
+ // client?: boolean
483
+ // confirmDialog?: boolean
484
+ // }
485
+
486
+ // export type IWrapMode = 'Header' | 'Both' | 'Content'
487
+
488
+ // export type IWrapSettings = {
489
+ // wrapMode?: IWrapMode
490
+ // }
@@ -80,6 +80,7 @@ export type ColumnTemplate<RecordType> = {
80
80
  index: number;
81
81
  field: string;
82
82
  };
83
+ export type GetRowKey<RecordType> = (record: RecordType, index?: number) => Key;
83
84
  export type ColumnTable<RecordType = AnyObject> = {
84
85
  field: string;
85
86
  width?: number;
@@ -200,6 +201,7 @@ export type TableProps<RecordType = AnyObject> = {
200
201
  title?: ReactNode | ((data: RecordType) => ReactNode);
201
202
  fullScreenTitle?: ReactNode | (() => ReactNode);
202
203
  editAble?: boolean;
204
+ rowKey?: string;
203
205
  infiniteScroll?: boolean;
204
206
  next?: () => void;
205
207
  locale?: Locale;
@@ -425,13 +427,21 @@ export type ToolbarItem = {
425
427
  export type LoadOptionsArgs = {
426
428
  rowData?: any;
427
429
  };
430
+ export type GroupTemplate = {
431
+ rowData: any;
432
+ value: any;
433
+ column: ColumnTable;
434
+ };
428
435
  export type IGroupSetting = {
429
436
  client?: boolean;
430
437
  onGroup?: (props: IOnGroup) => void;
438
+ groupColumnSpan?: number;
431
439
  hiddenColumnGroup?: boolean;
440
+ showHeaderColumn?: boolean;
432
441
  showGroupIcon?: boolean;
433
442
  unClearableLevel?: 1 | 2 | 3 | undefined;
434
443
  sumGroup?: boolean;
444
+ groupTemplate?: React.ReactNode | React.ReactElement | ((args: GroupTemplate) => React.ReactNode | React.ReactElement);
435
445
  };
436
446
  type IOnGroup = {
437
447
  columnGrouped: string[];
@@ -10,10 +10,10 @@ import { Button, Popover, Tooltip } from "antd";
10
10
  // import {SettingOutlined} from "@ant-design/icons";
11
11
  import { Select } from "rc-master-ui";
12
12
  import styled from "styled-components";
13
- import { customFilterOption } from "../hooks";
13
+ import { customFilterOption } from "../../grid-component/hooks";
14
14
  const BoxAction = styled.div.withConfig({
15
15
  displayName: "BoxAction",
16
- componentId: "es-grid-template__sc-1uj3tyy-0"
16
+ componentId: "es-grid-template__sc-z2q149-0"
17
17
  })(["padding-top:.75rem;display:flex;justify-content:end;gap:10px;.btn-action{background:none !important;border:none !important;&.btn-action-submit{color:#df4318;&:disabled{background-color:#f0f0f0 !important;}&:hover{color:#df4318 !important;}}&:hover{background-color:#f0f0f0 !important;}}"]);
18
18
  export const ColumnsGroup = props => {
19
19
  const {
@@ -28,7 +28,7 @@ export const ColumnsGroup = props => {
28
28
  const [tempGroup, setTempGroup] = useState([]);
29
29
  const [clicked, setClicked] = useState(false);
30
30
  const rsCol = React.useMemo(() => {
31
- return columns.filter(it => it.hidden !== true && !tempGroup.includes(it.field) && it.field !== '#' && it.field !== 'command');
31
+ return columns.filter(it => it.visible !== false && !tempGroup.includes(it.field) && it.field !== '#' && it.field !== 'selection_column' && it.field !== 'command');
32
32
  }, [columns, tempGroup]);
33
33
  const options = React.useMemo(() => {
34
34
  return rsCol.map(it => ({
@@ -222,6 +222,7 @@ export const ColumnsGroup = props => {
222
222
  title: 'Nhóm dữ liệu'
223
223
  }, /*#__PURE__*/React.createElement(Group, {
224
224
  fontSize: 18,
225
+ color: "#555555",
225
226
  style: {
226
227
  cursor: 'pointer'
227
228
  }
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import 'react-resizable/css/styles.css';
3
- import type { GridTableProps } from "./type";
4
3
  import 'dayjs/locale/es';
5
4
  import 'dayjs/locale/vi';
6
- import './styles.scss';
5
+ import type { TableProps } from '../table-component/type';
7
6
  export declare const SELECTION_COLUMN: {};
8
- declare const InternalTable: <RecordType extends object>(props: GridTableProps<RecordType>) => React.JSX.Element;
7
+ declare const InternalTable: <RecordType extends object>(props: TableProps<RecordType>) => React.JSX.Element;
9
8
  export default InternalTable;