es-grid-template 1.8.65 → 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 (146) 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/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 +3 -4
  7. package/es/grid-component/hooks/utils.js +2 -1
  8. package/es/grid-component/styles.scss +1394 -1394
  9. package/es/grid-component/type.d.ts +0 -414
  10. package/es/grid-component/type.js +490 -1
  11. package/es/table-component/type.d.ts +2 -0
  12. package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  13. package/es/table-virtuoso/InternalTable.js +6 -28
  14. package/es/table-virtuoso/body/TableBodyCell.js +0 -9
  15. package/es/table-virtuoso/body/TableBodyRow.js +0 -4
  16. package/es/table-virtuoso/style.js +2 -1
  17. package/es/table-virtuoso/style.scss +2 -1
  18. package/es/table-virtuoso/table/Grid.js +0 -4
  19. package/es/table-virtuoso/table/TableContainer.js +31 -44
  20. package/es/table-virtuoso/table/TableWrapper.d.ts +2 -0
  21. package/es/table-virtuoso/table/TableWrapper.js +5 -2
  22. package/lib/grid-component/TempTable.d.ts +2 -2
  23. package/lib/grid-component/TempTable.js +3 -5
  24. package/lib/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  25. package/lib/grid-component/hooks/useLazyKVMap.js +0 -3
  26. package/lib/grid-component/hooks/utils.d.ts +3 -4
  27. package/lib/grid-component/hooks/utils.js +3 -0
  28. package/lib/grid-component/styles.scss +1394 -1394
  29. package/lib/grid-component/type.d.ts +0 -414
  30. package/lib/grid-component/type.js +490 -4
  31. package/lib/table-component/type.d.ts +2 -0
  32. package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -3
  33. package/lib/table-virtuoso/InternalTable.js +6 -28
  34. package/lib/table-virtuoso/body/TableBodyCell.js +0 -9
  35. package/lib/table-virtuoso/body/TableBodyRow.js +0 -5
  36. package/lib/table-virtuoso/style.js +2 -1
  37. package/lib/table-virtuoso/style.scss +2 -1
  38. package/lib/table-virtuoso/table/Grid.js +0 -4
  39. package/lib/table-virtuoso/table/TableContainer.js +29 -42
  40. package/lib/table-virtuoso/table/TableWrapper.d.ts +2 -0
  41. package/lib/table-virtuoso/table/TableWrapper.js +4 -2
  42. package/package.json +1 -1
  43. package/es/grid-component/AdvanceFilter.d.ts +0 -14
  44. package/es/grid-component/AdvanceFilter.js +0 -454
  45. package/es/grid-component/CheckboxFilter.d.ts +0 -20
  46. package/es/grid-component/CheckboxFilter.js +0 -244
  47. package/es/grid-component/CheckboxFilter2.d.ts +0 -20
  48. package/es/grid-component/CheckboxFilter2.js +0 -244
  49. package/es/grid-component/ColumnsChoose.d.ts +0 -10
  50. package/es/grid-component/ColumnsChoose.js +0 -230
  51. package/es/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  52. package/es/grid-component/ColumnsGroup/ColumnsGroup.js +0 -232
  53. package/es/grid-component/ColumnsGroup/index.d.ts +0 -1
  54. package/es/grid-component/ColumnsGroup/index.js +0 -1
  55. package/es/grid-component/Command.d.ts +0 -8
  56. package/es/grid-component/Command.js +0 -80
  57. package/es/grid-component/ContextMenu.d.ts +0 -20
  58. package/es/grid-component/ContextMenu.js +0 -130
  59. package/es/grid-component/EditForm/EditForm.d.ts +0 -27
  60. package/es/grid-component/EditForm/EditForm.js +0 -394
  61. package/es/grid-component/EditForm/index.d.ts +0 -1
  62. package/es/grid-component/EditForm/index.js +0 -1
  63. package/es/grid-component/EditableCell.d.ts +0 -20
  64. package/es/grid-component/EditableCell.js +0 -1030
  65. package/es/grid-component/FilterSearch.d.ts +0 -12
  66. package/es/grid-component/FilterSearch.js +0 -33
  67. package/es/grid-component/GridStyle.d.ts +0 -8
  68. package/es/grid-component/GridStyle.js +0 -5
  69. package/es/grid-component/TableGrid.d.ts +0 -21
  70. package/es/grid-component/TableGrid.js +0 -493
  71. package/es/grid-component/async-select/index.d.ts +0 -11
  72. package/es/grid-component/async-select/index.js +0 -38
  73. package/es/grid-component/async-table-select/index.d.ts +0 -11
  74. package/es/grid-component/async-table-select/index.js +0 -40
  75. package/es/grid-component/checkbox-control/index.d.ts +0 -13
  76. package/es/grid-component/checkbox-control/index.js +0 -40
  77. package/es/grid-component/hooks/columns/index.d.ts +0 -10
  78. package/es/grid-component/hooks/columns/index.js +0 -503
  79. package/es/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  80. package/es/grid-component/hooks/content/ControlCheckbox.js +0 -87
  81. package/es/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  82. package/es/grid-component/hooks/content/HeaderContent.js +0 -44
  83. package/es/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  84. package/es/grid-component/hooks/content/TooltipContent.js +0 -74
  85. package/es/grid-component/hooks/useColumns.d.ts +0 -19
  86. package/es/grid-component/hooks/useColumns.js +0 -317
  87. package/es/grid-component/number/index.d.ts +0 -10
  88. package/es/grid-component/number/index.js +0 -39
  89. package/es/grid-component/number-range/index.d.ts +0 -11
  90. package/es/grid-component/number-range/index.js +0 -63
  91. package/es/grid-component/useContext.d.ts +0 -34
  92. package/es/grid-component/useContext.js +0 -8
  93. package/es/table-virtuoso/body/TableBody.d.ts +0 -14
  94. package/es/table-virtuoso/body/TableBody.js +0 -84
  95. package/lib/grid-component/AdvanceFilter.d.ts +0 -14
  96. package/lib/grid-component/AdvanceFilter.js +0 -463
  97. package/lib/grid-component/CheckboxFilter.d.ts +0 -20
  98. package/lib/grid-component/CheckboxFilter.js +0 -253
  99. package/lib/grid-component/CheckboxFilter2.d.ts +0 -20
  100. package/lib/grid-component/CheckboxFilter2.js +0 -253
  101. package/lib/grid-component/ColumnsChoose.d.ts +0 -10
  102. package/lib/grid-component/ColumnsChoose.js +0 -240
  103. package/lib/grid-component/ColumnsGroup/ColumnsGroup.d.ts +0 -12
  104. package/lib/grid-component/ColumnsGroup/ColumnsGroup.js +0 -243
  105. package/lib/grid-component/ColumnsGroup/index.d.ts +0 -1
  106. package/lib/grid-component/ColumnsGroup/index.js +0 -16
  107. package/lib/grid-component/Command.d.ts +0 -8
  108. package/lib/grid-component/Command.js +0 -88
  109. package/lib/grid-component/ContextMenu.d.ts +0 -20
  110. package/lib/grid-component/ContextMenu.js +0 -140
  111. package/lib/grid-component/EditForm/EditForm.d.ts +0 -27
  112. package/lib/grid-component/EditForm/EditForm.js +0 -404
  113. package/lib/grid-component/EditForm/index.d.ts +0 -1
  114. package/lib/grid-component/EditForm/index.js +0 -16
  115. package/lib/grid-component/EditableCell.d.ts +0 -20
  116. package/lib/grid-component/EditableCell.js +0 -1032
  117. package/lib/grid-component/FilterSearch.d.ts +0 -12
  118. package/lib/grid-component/FilterSearch.js +0 -42
  119. package/lib/grid-component/GridStyle.d.ts +0 -8
  120. package/lib/grid-component/GridStyle.js +0 -12
  121. package/lib/grid-component/TableGrid.d.ts +0 -21
  122. package/lib/grid-component/TableGrid.js +0 -493
  123. package/lib/grid-component/async-select/index.d.ts +0 -11
  124. package/lib/grid-component/async-select/index.js +0 -47
  125. package/lib/grid-component/async-table-select/index.d.ts +0 -11
  126. package/lib/grid-component/async-table-select/index.js +0 -49
  127. package/lib/grid-component/checkbox-control/index.d.ts +0 -13
  128. package/lib/grid-component/checkbox-control/index.js +0 -48
  129. package/lib/grid-component/hooks/columns/index.d.ts +0 -10
  130. package/lib/grid-component/hooks/columns/index.js +0 -518
  131. package/lib/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  132. package/lib/grid-component/hooks/content/ControlCheckbox.js +0 -95
  133. package/lib/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  134. package/lib/grid-component/hooks/content/HeaderContent.js +0 -53
  135. package/lib/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  136. package/lib/grid-component/hooks/content/TooltipContent.js +0 -81
  137. package/lib/grid-component/hooks/useColumns.d.ts +0 -19
  138. package/lib/grid-component/hooks/useColumns.js +0 -328
  139. package/lib/grid-component/number/index.d.ts +0 -10
  140. package/lib/grid-component/number/index.js +0 -47
  141. package/lib/grid-component/number-range/index.d.ts +0 -11
  142. package/lib/grid-component/number-range/index.js +0 -71
  143. package/lib/grid-component/useContext.d.ts +0 -34
  144. package/lib/grid-component/useContext.js +0 -13
  145. package/lib/table-virtuoso/body/TableBody.d.ts +0 -14
  146. 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;