es-grid-template 1.8.65 → 1.8.67

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 (162) hide show
  1. package/es/grid-component/TempTable.d.ts +2 -2
  2. package/es/grid-component/TempTable.js +3 -3
  3. package/es/grid-component/hooks/constant.d.ts +1 -0
  4. package/es/grid-component/hooks/constant.js +2 -1
  5. package/es/grid-component/hooks/index.js +0 -1
  6. package/es/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  7. package/es/grid-component/hooks/useLazyKVMap.js +0 -4
  8. package/es/grid-component/hooks/utils.d.ts +3 -4
  9. package/es/grid-component/hooks/utils.js +2 -1
  10. package/es/grid-component/styles.scss +1394 -1394
  11. package/es/grid-component/type.d.ts +0 -414
  12. package/es/grid-component/type.js +490 -1
  13. package/es/table-component/TableContainerEdit.js +2 -127
  14. package/es/table-component/body/TableBodyCellEdit.js +2 -9
  15. package/es/table-component/header/TableHeadCell.js +1 -10
  16. package/es/table-component/header/TableHeadCell2.js +1 -1
  17. package/es/table-component/type.d.ts +3 -1
  18. package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  19. package/es/table-virtuoso/InternalTable.js +6 -28
  20. package/es/table-virtuoso/body/TableBodyCell.js +0 -9
  21. package/es/table-virtuoso/body/TableBodyRow.js +0 -4
  22. package/es/table-virtuoso/style.js +2 -1
  23. package/es/table-virtuoso/style.scss +2 -1
  24. package/es/table-virtuoso/table/Grid.js +0 -4
  25. package/es/table-virtuoso/table/TableContainer.js +31 -44
  26. package/es/table-virtuoso/table/TableWrapper.d.ts +2 -0
  27. package/es/table-virtuoso/table/TableWrapper.js +5 -2
  28. package/lib/grid-component/TempTable.d.ts +2 -2
  29. package/lib/grid-component/TempTable.js +3 -5
  30. package/lib/grid-component/hooks/constant.d.ts +1 -0
  31. package/lib/grid-component/hooks/constant.js +3 -2
  32. package/lib/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  33. package/lib/grid-component/hooks/useLazyKVMap.js +0 -3
  34. package/lib/grid-component/hooks/utils.d.ts +3 -4
  35. package/lib/grid-component/hooks/utils.js +3 -0
  36. package/lib/grid-component/styles.scss +1394 -1394
  37. package/lib/grid-component/type.d.ts +0 -414
  38. package/lib/grid-component/type.js +490 -4
  39. package/lib/table-component/TableContainerEdit.js +1 -126
  40. package/lib/table-component/body/TableBodyCellEdit.js +5 -11
  41. package/lib/table-component/header/TableHeadCell.js +4 -13
  42. package/lib/table-component/header/TableHeadCell2.js +4 -4
  43. package/lib/table-component/type.d.ts +3 -1
  44. package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  45. package/lib/table-virtuoso/InternalTable.js +6 -28
  46. package/lib/table-virtuoso/body/TableBodyCell.js +0 -9
  47. package/lib/table-virtuoso/body/TableBodyRow.js +0 -5
  48. package/lib/table-virtuoso/style.js +2 -1
  49. package/lib/table-virtuoso/style.scss +2 -1
  50. package/lib/table-virtuoso/table/Grid.js +0 -4
  51. package/lib/table-virtuoso/table/TableContainer.js +29 -42
  52. package/lib/table-virtuoso/table/TableWrapper.d.ts +2 -0
  53. package/lib/table-virtuoso/table/TableWrapper.js +4 -2
  54. package/package.json +1 -1
  55. package/es/grid-component/AdvanceFilter.d.ts +0 -14
  56. package/es/grid-component/AdvanceFilter.js +0 -454
  57. package/es/grid-component/CheckboxFilter.d.ts +0 -20
  58. package/es/grid-component/CheckboxFilter.js +0 -244
  59. package/es/grid-component/CheckboxFilter2.d.ts +0 -20
  60. package/es/grid-component/CheckboxFilter2.js +0 -244
  61. package/es/grid-component/ColumnsChoose.d.ts +0 -10
  62. package/es/grid-component/ColumnsChoose.js +0 -230
  63. package/es/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  64. package/es/grid-component/ColumnsGroup/ColumnsGroup.js +0 -232
  65. package/es/grid-component/ColumnsGroup/index.d.ts +0 -1
  66. package/es/grid-component/ColumnsGroup/index.js +0 -1
  67. package/es/grid-component/Command.d.ts +0 -8
  68. package/es/grid-component/Command.js +0 -80
  69. package/es/grid-component/ContextMenu.d.ts +0 -20
  70. package/es/grid-component/ContextMenu.js +0 -130
  71. package/es/grid-component/EditForm/EditForm.d.ts +0 -27
  72. package/es/grid-component/EditForm/EditForm.js +0 -394
  73. package/es/grid-component/EditForm/index.d.ts +0 -1
  74. package/es/grid-component/EditForm/index.js +0 -1
  75. package/es/grid-component/EditableCell.d.ts +0 -20
  76. package/es/grid-component/EditableCell.js +0 -1030
  77. package/es/grid-component/FilterSearch.d.ts +0 -12
  78. package/es/grid-component/FilterSearch.js +0 -33
  79. package/es/grid-component/GridStyle.d.ts +0 -8
  80. package/es/grid-component/GridStyle.js +0 -5
  81. package/es/grid-component/TableGrid.d.ts +0 -21
  82. package/es/grid-component/TableGrid.js +0 -493
  83. package/es/grid-component/async-select/index.d.ts +0 -11
  84. package/es/grid-component/async-select/index.js +0 -38
  85. package/es/grid-component/async-table-select/index.d.ts +0 -11
  86. package/es/grid-component/async-table-select/index.js +0 -40
  87. package/es/grid-component/checkbox-control/index.d.ts +0 -13
  88. package/es/grid-component/checkbox-control/index.js +0 -40
  89. package/es/grid-component/hooks/columns/index.d.ts +0 -10
  90. package/es/grid-component/hooks/columns/index.js +0 -503
  91. package/es/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  92. package/es/grid-component/hooks/content/ControlCheckbox.js +0 -87
  93. package/es/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  94. package/es/grid-component/hooks/content/HeaderContent.js +0 -44
  95. package/es/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  96. package/es/grid-component/hooks/content/TooltipContent.js +0 -74
  97. package/es/grid-component/hooks/useColumns.d.ts +0 -19
  98. package/es/grid-component/hooks/useColumns.js +0 -317
  99. package/es/grid-component/number/index.d.ts +0 -10
  100. package/es/grid-component/number/index.js +0 -39
  101. package/es/grid-component/number-range/index.d.ts +0 -11
  102. package/es/grid-component/number-range/index.js +0 -63
  103. package/es/grid-component/useContext.d.ts +0 -34
  104. package/es/grid-component/useContext.js +0 -8
  105. package/es/table-component/hook/constant.d.ts +0 -73
  106. package/es/table-component/hook/constant.js +0 -240
  107. package/es/table-virtuoso/body/TableBody.d.ts +0 -14
  108. package/es/table-virtuoso/body/TableBody.js +0 -84
  109. package/lib/grid-component/AdvanceFilter.d.ts +0 -14
  110. package/lib/grid-component/AdvanceFilter.js +0 -463
  111. package/lib/grid-component/CheckboxFilter.d.ts +0 -20
  112. package/lib/grid-component/CheckboxFilter.js +0 -253
  113. package/lib/grid-component/CheckboxFilter2.d.ts +0 -20
  114. package/lib/grid-component/CheckboxFilter2.js +0 -253
  115. package/lib/grid-component/ColumnsChoose.d.ts +0 -10
  116. package/lib/grid-component/ColumnsChoose.js +0 -240
  117. package/lib/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  118. package/lib/grid-component/ColumnsGroup/ColumnsGroup.js +0 -243
  119. package/lib/grid-component/ColumnsGroup/index.d.ts +0 -1
  120. package/lib/grid-component/ColumnsGroup/index.js +0 -16
  121. package/lib/grid-component/Command.d.ts +0 -8
  122. package/lib/grid-component/Command.js +0 -88
  123. package/lib/grid-component/ContextMenu.d.ts +0 -20
  124. package/lib/grid-component/ContextMenu.js +0 -140
  125. package/lib/grid-component/EditForm/EditForm.d.ts +0 -27
  126. package/lib/grid-component/EditForm/EditForm.js +0 -404
  127. package/lib/grid-component/EditForm/index.d.ts +0 -1
  128. package/lib/grid-component/EditForm/index.js +0 -16
  129. package/lib/grid-component/EditableCell.d.ts +0 -20
  130. package/lib/grid-component/EditableCell.js +0 -1032
  131. package/lib/grid-component/FilterSearch.d.ts +0 -12
  132. package/lib/grid-component/FilterSearch.js +0 -42
  133. package/lib/grid-component/GridStyle.d.ts +0 -8
  134. package/lib/grid-component/GridStyle.js +0 -12
  135. package/lib/grid-component/TableGrid.d.ts +0 -21
  136. package/lib/grid-component/TableGrid.js +0 -493
  137. package/lib/grid-component/async-select/index.d.ts +0 -11
  138. package/lib/grid-component/async-select/index.js +0 -47
  139. package/lib/grid-component/async-table-select/index.d.ts +0 -11
  140. package/lib/grid-component/async-table-select/index.js +0 -49
  141. package/lib/grid-component/checkbox-control/index.d.ts +0 -13
  142. package/lib/grid-component/checkbox-control/index.js +0 -48
  143. package/lib/grid-component/hooks/columns/index.d.ts +0 -10
  144. package/lib/grid-component/hooks/columns/index.js +0 -518
  145. package/lib/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  146. package/lib/grid-component/hooks/content/ControlCheckbox.js +0 -95
  147. package/lib/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  148. package/lib/grid-component/hooks/content/HeaderContent.js +0 -53
  149. package/lib/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  150. package/lib/grid-component/hooks/content/TooltipContent.js +0 -81
  151. package/lib/grid-component/hooks/useColumns.d.ts +0 -19
  152. package/lib/grid-component/hooks/useColumns.js +0 -328
  153. package/lib/grid-component/number/index.d.ts +0 -10
  154. package/lib/grid-component/number/index.js +0 -47
  155. package/lib/grid-component/number-range/index.d.ts +0 -11
  156. package/lib/grid-component/number-range/index.js +0 -71
  157. package/lib/grid-component/useContext.d.ts +0 -34
  158. package/lib/grid-component/useContext.js +0 -13
  159. package/lib/table-component/hook/constant.d.ts +0 -73
  160. package/lib/table-component/hook/constant.js +0 -247
  161. package/lib/table-virtuoso/body/TableBody.d.ts +0 -14
  162. package/lib/table-virtuoso/body/TableBody.js +0 -95
@@ -1,230 +0,0 @@
1
- import React, { Fragment, useEffect, useMemo, useState } from "react";
2
- import styled from "styled-components";
3
- import { Button, Input, Popover, Tooltip } from "antd";
4
- import { Settings } from "becoxy-icons";
5
- import { getVisibleColumnKeys, updateColumns } from "./hooks";
6
-
7
- // import type {TableColumnsType} from "rc-master-ui";
8
- import Tree from "rc-master-ui/es/tree";
9
- import SearchOutlined from "@ant-design/icons/SearchOutlined";
10
- const BoxAction = styled.div.withConfig({
11
- displayName: "BoxAction",
12
- componentId: "es-grid-template__sc-1ix8yky-0"
13
- })(["border-top:1px solid #c4c4c4;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;}}"]);
14
- export const ColumnsChoose = props => {
15
- const {
16
- columns: propsColumns,
17
- triggerChangeColumns,
18
- triggerChangeKeys,
19
- t,
20
- columnsGroup
21
- } = props;
22
-
23
- // const dataList: { key: React.Key; title: string }[] = [];
24
-
25
- // const defaultColumns = useMemo(() => {
26
- // return propsColumns.filter((it) => it.key || it.dataIndex && it.showColumnChoose !== false)
27
- // }, [propsColumns])
28
-
29
- // const columnsChooseRef: any = useRef()
30
- // const searchRef: any = useRef()
31
-
32
- // const [columns, setColumns] = useState<TableColumnsType>([])
33
- const [selectedKeys, setSelectedKeys] = useState([]);
34
- const [isManualUpdate, setIsManualUpdate] = useState(false);
35
-
36
- // useEffect(() => {
37
- //
38
- // const defaultColumns = propsColumns.filter((it) => it.key || it.dataIndex && it.showInColumnChoose !== false)
39
- // setColumns(defaultColumns as TableColumnsType)
40
- //
41
- // }, [propsColumns])
42
-
43
- const columns = useMemo(() => {
44
- return propsColumns.filter(it => it.key || it.dataIndex && it.showInColumnChoose !== false);
45
- // setColumns(defaultColumns as TableColumnsType)
46
- }, [propsColumns]);
47
- useEffect(() => {
48
- // const defaultColumns = propsColumns.filter((it) => it.key || it.dataIndex && it.showInColumnChoose !== false)
49
- const defaultColumns = propsColumns.filter(it => (it.key || it.dataIndex) && it.showInColumnChoose !== false && !columnsGroup?.includes(it.field));
50
- const defaultSelectedKeys = getVisibleColumnKeys(defaultColumns);
51
- if (!isManualUpdate) {
52
- setSelectedKeys(defaultSelectedKeys);
53
- }
54
- setIsManualUpdate(false);
55
- }, [propsColumns]);
56
- const defaultSelectedKeys = useMemo(() => {
57
- const defaultColumns = propsColumns.filter(it => (it.key || it.dataIndex) && it.showInColumnChoose !== false && !columnsGroup?.includes(it.field));
58
- return getVisibleColumnKeys(defaultColumns);
59
- }, [columnsGroup, propsColumns]);
60
- const [clicked, setClicked] = useState(false);
61
- const [autoExpandParent, setAutoExpandParent] = useState(true);
62
-
63
- // const treeData = useMemo(() => {
64
- // const loop = (data: TreeDataNode[]): TreeDataNode[] =>
65
- // data.map((item) => {
66
- // const strTitle = item.title as string;
67
- // const index = strTitle.indexOf(searchValue);
68
- // const beforeStr = strTitle.substring(0, index);
69
- // const afterStr = strTitle.slice(index + searchValue.length);
70
- // const title =
71
- // index > -1 ? (
72
- // <span key={item.key}>
73
- // {beforeStr}
74
- // <span className="site-tree-search-value">{searchValue}</span>
75
- // {afterStr}
76
- // </span>
77
- // ) : (
78
- // <span key={item.key}>{strTitle}</span>
79
- // );
80
- // if (item.children) {
81
- // return { title, key: item.key, children: loop(item.children) };
82
- // }
83
- //
84
- // return {
85
- // title,
86
- // key: item.key,
87
- // };
88
- // });
89
- //
90
- // // return loop(defaultData);
91
- // return loop(columns as any);
92
- // }, [searchValue, columns]);
93
-
94
- const hide = () => {
95
- setClicked(false);
96
- };
97
- const handleClickChange = open => {
98
- setClicked(open);
99
- };
100
- const onExpand = () => {
101
- // setExpandedKeys(newExpandedKeys)
102
- setAutoExpandParent(false);
103
- };
104
-
105
- // const getParentKey = (key: React.Key, tree: TreeDataNode[]): React.Key => {
106
- // let parentKey: React.Key
107
- // for (let i = 0; i < tree.length; i++) {
108
- // const node = tree[i]
109
- // if (node.children) {
110
- // if (node.children.some((item) => item.key === key)) {
111
- // parentKey = node.key
112
- // } else if (getParentKey(key, node.children)) {
113
- // parentKey = getParentKey(key, node.children)
114
- // }
115
- // }
116
- // }
117
- // return parentKey!
118
- // }
119
-
120
- // const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
121
- const onChange = () => {
122
- // const { value } = e.target
123
- // const newExpandedKeys = dataList
124
- // .map((item) => {
125
- // if (item.title.indexOf(value) > -1) {
126
- // return getParentKey(item.key, defaultData)
127
- // }
128
- // return null
129
- // })
130
- // .filter((item, i, self): item is React.Key => !!(item && self.indexOf(item) === i))
131
- // setExpandedKeys(newExpandedKeys)
132
-
133
- // setSearchValue(value)
134
- setAutoExpandParent(true);
135
- };
136
- const onCheck = keys => {
137
- setSelectedKeys(keys);
138
- setIsManualUpdate(true);
139
- };
140
- const handleAccept = () => {
141
- const rs1 = updateColumns(propsColumns, selectedKeys);
142
- triggerChangeKeys?.(selectedKeys);
143
- triggerChangeColumns?.(rs1, 'columnChoose');
144
- hide();
145
- };
146
- const handleCancel = () => {
147
- setSelectedKeys(defaultSelectedKeys);
148
- hide();
149
- };
150
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Popover, {
151
- placement: 'bottomLeft',
152
- content: /*#__PURE__*/React.createElement("div", {
153
- style: {
154
- minWidth: 250,
155
- maxWidth: 320
156
- }
157
- }, /*#__PURE__*/React.createElement(Input, {
158
- style: {
159
- marginBottom: 8
160
- },
161
- placeholder: t ? t("Search") : 'Search',
162
- prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),
163
- onChange: onChange
164
- }), /*#__PURE__*/React.createElement(Tree, {
165
- onExpand: onExpand
166
- // expandedKeys={expandedKeys}
167
- ,
168
- autoExpandParent: autoExpandParent
169
- // treeData={treeData}
170
- ,
171
- treeData: columns.filter(it => !columnsGroup?.includes(it.field)),
172
- defaultExpandAll: true,
173
- checkable: true
174
- // onSelect={(keys, info) => {
175
- // const key = info.node.key
176
- //
177
- // const find = findItemByKey(columns, 'key', key)
178
- //
179
- // // const tmpColumn
180
- //
181
- // // if (selectedKeys.includes(key as string)) {
182
- // // const rssss = findKeyPath(columns, key as string)
183
- // // const rs = selectedKeys.filter(item => !rssss.includes(item));
184
- // //
185
- // // setSelectedKeys(rs)
186
- // // } else {
187
- //
188
- // // const rs = [...selectedKeys, keys[0]]
189
- //
190
- // // setSelectedKeys(keys)
191
- // // }
192
- // }}
193
- ,
194
- onCheck: keys => onCheck(keys),
195
- multiple: true,
196
- checkedKeys: selectedKeys,
197
- defaultCheckedKeys: selectedKeys
198
- // defaultCheckedKeys={defaultSelectedKeys}
199
- ,
200
- selectedKeys: []
201
-
202
- // height={window.innerHeight - 200}
203
- ,
204
- height: window.innerHeight / 2 > 450 ? 450 : window.innerHeight / 2 - 110
205
- // style={{height: 300}}
206
- }), /*#__PURE__*/React.createElement(BoxAction, {
207
- className: 'px-1'
208
- }, /*#__PURE__*/React.createElement(Button
209
- // className={classnames('btn-action btn-action-submit', {
210
- // // disable: !columns.find((item) => item.visible !== false || item.visible)
211
- // })}
212
- , {
213
- onClick: handleAccept
214
- // disabled={!columns.find((item) => item.visible !== false || item.visible)}
215
- }, t ? t('OK') : 'OK'), /*#__PURE__*/React.createElement(Button, {
216
- className: 'btn-action btn-action-cancel',
217
- onClick: handleCancel
218
- }, t ? t('Cancel') : 'Cancel'))),
219
- trigger: "click",
220
- open: clicked,
221
- onOpenChange: handleClickChange,
222
- arrow: false,
223
- zIndex: 1065
224
- }, /*#__PURE__*/React.createElement(Tooltip, {
225
- arrow: false,
226
- title: 'Cài đặt'
227
- }, /*#__PURE__*/React.createElement(Settings, {
228
- fontSize: 16
229
- }))));
230
- };
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- type IColumnsGroup = {
3
- columns: any[];
4
- dataSource?: string[];
5
- onSubmit: (value: any) => void;
6
- t?: any;
7
- columnsGrouped?: string[];
8
- unClearableLevel?: number;
9
- defaultGroupColumns?: string[];
10
- };
11
- export declare const ColumnsGroup: (props: IColumnsGroup) => React.JSX.Element;
12
- export {};
@@ -1,232 +0,0 @@
1
- import { Group } from "becoxy-icons";
2
- import React, { useRef, useState } from "react";
3
- // import {
4
- // // groupArrayByColumns,
5
- // // ungroupArray,
6
- // // useOnClickOutside
7
- // } from "../../hooks"
8
-
9
- import { Button, Popover, Tooltip } from "antd";
10
- // import {SettingOutlined} from "@ant-design/icons";
11
- import { Select } from "rc-master-ui";
12
- import styled from "styled-components";
13
- import { customFilterOption } from "../hooks";
14
- const BoxAction = styled.div.withConfig({
15
- displayName: "BoxAction",
16
- componentId: "es-grid-template__sc-1uj3tyy-0"
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
- export const ColumnsGroup = props => {
19
- const {
20
- columns,
21
- columnsGrouped,
22
- onSubmit,
23
- unClearableLevel,
24
- defaultGroupColumns,
25
- t
26
- } = props;
27
- const menuRef = useRef();
28
- const [tempGroup, setTempGroup] = useState([]);
29
- const [clicked, setClicked] = useState(false);
30
- console.log('columns', columns);
31
- console.log('columnsGrouped', columnsGrouped);
32
- const rsCol = React.useMemo(() => {
33
- return columns.filter(it => it.visible !== false && !tempGroup.includes(it.field) && it.field !== '#' && it.field !== 'selection_column' && it.field !== 'command');
34
- }, [columns, tempGroup]);
35
- console.log('rsCol', rsCol);
36
- const options = React.useMemo(() => {
37
- return rsCol.map(it => ({
38
- ...it,
39
- value: it.field,
40
- label: t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText
41
- }));
42
- }, [rsCol, t]);
43
-
44
- // React.useEffect(() => {
45
- // if(columnsGrouped) {
46
- // setTempGroup([...columnsGrouped])
47
- // }
48
- //
49
- // }, [!!columnsGrouped])
50
-
51
- const onChangeGroupColumns = (option, index) => {
52
- // if (option) {
53
- // tempGroup[index] = option
54
- // } else {
55
- // tempGroup.splice(index, 1)
56
- // }
57
- // setTempGroup([...tempGroup])
58
-
59
- const cloneTemp = [...tempGroup];
60
- if (option) {
61
- cloneTemp[index] = option;
62
- } else {
63
- cloneTemp.splice(index, 1);
64
- }
65
- setTempGroup([...cloneTemp]);
66
- };
67
- const handleGroup = () => {
68
- // setColumnsGrouped([...tempGroup])
69
- setClicked(false);
70
- // const dt = ungroupArray(dataSource)
71
-
72
- // const rs = groupArrayByColumns(dt, [...tempGroup])
73
-
74
- // setResource([...rs])
75
- onSubmit([...tempGroup]);
76
- };
77
- const handleClear = () => {
78
- // setColumnsGrouped([])
79
- setTempGroup(defaultGroupColumns ? defaultGroupColumns : []);
80
- // setIsOpen(false)
81
- setClicked(false);
82
- // const dt = ungroupArray(dataSource)
83
-
84
- // const rs = groupArrayByColumns(dt, [])
85
-
86
- // setResource([...rs])
87
- onSubmit(defaultGroupColumns ? defaultGroupColumns : []);
88
- };
89
- const handleClickChange = open => {
90
- setClicked(open);
91
- if (open) {
92
- if (columnsGrouped) {
93
- setTempGroup([...columnsGrouped]);
94
- }
95
- }
96
- if (!open) {
97
- setTempGroup([]);
98
- }
99
- };
100
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Popover, {
101
- placement: 'bottomLeft',
102
- content: /*#__PURE__*/React.createElement("div", {
103
- style: {
104
- minWidth: 250
105
- }
106
- }, /*#__PURE__*/React.createElement("div", {
107
- ref: menuRef,
108
- style: {
109
- position: 'relative'
110
- }
111
- }, /*#__PURE__*/React.createElement("p", {
112
- className: 'fw-bold'
113
- }, "Nh\xF3m d\u1EEF li\u1EC7u theo c\u1ED9t"), /*#__PURE__*/React.createElement("div", {
114
- className: 'mb-1',
115
- style: {
116
- marginBottom: '1rem'
117
- }
118
- }, /*#__PURE__*/React.createElement("p", {
119
- className: 'm-0',
120
- style: {
121
- margin: 0
122
- }
123
- }, "M\u1EE9c 1"), /*#__PURE__*/React.createElement(Select, {
124
- style: {
125
- width: '100%'
126
- },
127
- showSearch: true
128
- // labelInValue={true}
129
- // options={columns.filter((it: any) => !tempGroup.includes(it.field))}
130
- // options={columns && columns.length > 0 ? options : []}
131
- ,
132
- options: options,
133
- value: tempGroup?.[0],
134
- onChange: val => onChangeGroupColumns(val, 0),
135
- allowClear: !tempGroup?.[1] && !(unClearableLevel && unClearableLevel - 1 >= 0)
136
- // fieldNames={{
137
- // value: 'field',
138
- // label: 'headerText'
139
- // }}
140
- ,
141
- labelRender: labelProps => {
142
- const it = columns.find(col => col.field === labelProps.value);
143
- return t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText;
144
- },
145
- filterOption: customFilterOption
146
- // hideSelectedOptions
147
- })), /*#__PURE__*/React.createElement("div", {
148
- className: 'mb-1',
149
- style: {
150
- marginBottom: '1rem'
151
- }
152
- }, /*#__PURE__*/React.createElement("p", {
153
- className: 'm-0',
154
- style: {
155
- margin: 0
156
- }
157
- }, "M\u1EE9c 2"), /*#__PURE__*/React.createElement(Select, {
158
- showSearch: true,
159
- style: {
160
- width: '100%'
161
- },
162
- options: options,
163
- value: tempGroup?.[1],
164
- onChange: val => onChangeGroupColumns(val, 1),
165
- allowClear: !tempGroup?.[2] && !(unClearableLevel && unClearableLevel - 2 >= 0)
166
- // hideSelectedOptions
167
- // fieldNames={{
168
- // value: 'field',
169
- // label: 'headerText'
170
- // }}
171
- ,
172
- labelRender: labelProps => {
173
- const it = columns.find(col => col.field === labelProps.value);
174
- return t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText;
175
- },
176
- filterOption: customFilterOption
177
- })), /*#__PURE__*/React.createElement("div", {
178
- className: 'mb-1',
179
- style: {
180
- marginBottom: '1rem'
181
- }
182
- }, /*#__PURE__*/React.createElement("p", {
183
- className: 'm-0',
184
- style: {
185
- margin: 0
186
- }
187
- }, "M\u1EE9c 3"), /*#__PURE__*/React.createElement(Select, {
188
- style: {
189
- width: '100%'
190
- },
191
- options: options,
192
- showSearch: true,
193
- value: tempGroup?.[2],
194
- onChange: val => onChangeGroupColumns(val, 2),
195
- allowClear: !!tempGroup?.[2] && !(unClearableLevel && unClearableLevel - 3 >= 0)
196
- // fieldNames={{
197
- // value: 'field',
198
- // label: 'headerText'
199
- // }}
200
- ,
201
- labelRender: labelProps => {
202
- const it = columns.find(col => col.field === labelProps.value);
203
- return t ? t(it?.columnGroupText ?? it?.headerText) : it?.columnGroupText ?? it?.headerText;
204
- },
205
- filterOption: customFilterOption
206
- }))), /*#__PURE__*/React.createElement(BoxAction, {
207
- className: 'px-1'
208
- }, /*#__PURE__*/React.createElement(Button
209
- // className={classnames('btn-action btn-action-submit', {
210
- // // disable: !columns.find((item) => item.visible !== false || item.visible)
211
- // })}
212
- , {
213
- onClick: handleGroup
214
- // disabled={!columns.find((item) => item.visible !== false || item.visible)}
215
- }, t ? t('Thực hiện') : 'Thực hiện'), /*#__PURE__*/React.createElement(Button, {
216
- className: 'btn-action btn-action-cancel',
217
- onClick: handleClear
218
- }, t ? t('Clear') : 'Clear'))),
219
- trigger: "click",
220
- open: clicked,
221
- onOpenChange: handleClickChange,
222
- arrow: false
223
- }, /*#__PURE__*/React.createElement(Tooltip, {
224
- arrow: false,
225
- title: 'Nhóm dữ liệu'
226
- }, /*#__PURE__*/React.createElement(Group, {
227
- fontSize: 18,
228
- style: {
229
- cursor: 'pointer'
230
- }
231
- }))));
232
- };
@@ -1 +0,0 @@
1
- export * from './ColumnsGroup';
@@ -1 +0,0 @@
1
- export * from "./ColumnsGroup";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import type { CommandItem } from "./type";
3
- type Props = {
4
- item: CommandItem;
5
- onClick: (e: any) => void;
6
- };
7
- declare const Command: (props: Props) => React.JSX.Element;
8
- export default Command;
@@ -1,80 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React, { Fragment, useState } from "react";
3
- import classnames from "classnames";
4
- import { useFloating, autoUpdate, offset, flip, shift, useHover, useFocus, useDismiss, useRole, useInteractions, FloatingPortal
5
- // useClick
6
- } from "@floating-ui/react";
7
- // import {Button} from "antd";
8
- import styled from "styled-components";
9
- import { getTemplate } from "./hooks";
10
- const TooltipStyle = styled.div.withConfig({
11
- displayName: "TooltipStyle",
12
- componentId: "es-grid-template__sc-1iotu11-0"
13
- })(["width:max-content;background-color:#444;color:white;font-size:90%;padding:4px 8px;border-radius:4px;opacity:0.9;z-index:9999;max-width:450px;"]);
14
- const Command = props => {
15
- const {
16
- item,
17
- onClick
18
- } = props;
19
- const [isOpen, setIsOpen] = useState(false);
20
- const {
21
- refs,
22
- floatingStyles,
23
- context
24
- } = useFloating({
25
- open: isOpen,
26
- onOpenChange: setIsOpen,
27
- placement: "top",
28
- whileElementsMounted: autoUpdate,
29
- middleware: [offset(5), flip({
30
- fallbackAxisSideDirection: "start"
31
- }), shift()]
32
- });
33
- const hover = useHover(context, {
34
- move: false
35
- });
36
- const focus = useFocus(context);
37
- const dismiss = useDismiss(context);
38
- const role = useRole(context, {
39
- role: "tooltip"
40
- });
41
- const {
42
- getReferenceProps,
43
- getFloatingProps
44
- } = useInteractions([hover, focus, dismiss, role]);
45
- return /*#__PURE__*/React.createElement(Fragment, null, item.template ? /*#__PURE__*/React.createElement("div", _extends({
46
- ref: refs.setReference
47
- }, getReferenceProps(), {
48
- id: item.id,
49
- onClick: onClick
50
- }), getTemplate(item.template)) : /*#__PURE__*/React.createElement("div", _extends({
51
- ref: refs.setReference
52
- }, getReferenceProps(), {
53
- tabIndex: -1,
54
- style: {
55
- padding: '3px',
56
- maxWidth: 45,
57
- height: '100%',
58
- display: 'flex',
59
- cursor: 'pointer'
60
- },
61
- className: classnames('command-item', {
62
- 'btn-icon': item.title === ''
63
- }),
64
- color: item.color ? item.color : 'primary',
65
- onClick: onClick
66
- }), item.icon ? getTemplate(item.icon) : item.title)
67
-
68
- // <span>{item.title}</span>
69
- , isOpen && item.tooltip && /*#__PURE__*/React.createElement(FloatingPortal, {
70
- root: document.body
71
- }, /*#__PURE__*/React.createElement(TooltipStyle, _extends({
72
- className: "Tooltip",
73
- ref: refs.setFloating,
74
- style: {
75
- ...floatingStyles,
76
- zIndex: 1999
77
- }
78
- }, getFloatingProps()), item.tooltip)));
79
- };
80
- export default Command;
@@ -1,20 +0,0 @@
1
- import * as React from "react";
2
- import type { ContextInfo } from "./type";
3
- import type { ContextMenuItem } from "./type";
4
- export declare const findItemByKey: (array: any[], key: string, value: any) => any;
5
- type Props<RecordType> = {
6
- rowData: RecordType | null;
7
- contextMenuItems: ContextMenuItem[];
8
- contextMenuClick?: (args: ContextInfo<RecordType>) => void;
9
- open: boolean;
10
- menuRef?: any;
11
- setOpen: (open: boolean) => void;
12
- pos: {
13
- x: number;
14
- y: number;
15
- viewportWidth: number;
16
- viewportHeight: number;
17
- };
18
- };
19
- declare const ContextMenu: <RecordType extends object>(props: Props<RecordType>) => React.JSX.Element;
20
- export default ContextMenu;