es-grid-template 1.7.22 → 1.7.24

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 (173) hide show
  1. package/es/grid-component/GridStyle.js +1 -1
  2. package/es/grid-component/InternalTable.js +5 -1
  3. package/es/grid-component/TableGrid.js +2 -2
  4. package/es/index.d.ts +1 -0
  5. package/es/index.js +3 -1
  6. package/es/table-component/ColumnsChoose.d.ts +10 -0
  7. package/es/table-component/ColumnsChoose.js +557 -0
  8. package/es/table-component/ContextMenu.d.ts +20 -0
  9. package/es/table-component/ContextMenu.js +75 -0
  10. package/es/table-component/InternalTable.d.ts +9 -0
  11. package/es/table-component/InternalTable.js +295 -0
  12. package/es/table-component/TableContainer.d.ts +22 -0
  13. package/es/table-component/TableContainer.js +130 -0
  14. package/es/table-component/TableContainerEdit.d.ts +28 -0
  15. package/es/table-component/TableContainerEdit.js +1211 -0
  16. package/es/table-component/body/EditableCell.d.ts +16 -0
  17. package/es/table-component/body/EditableCell.js +1036 -0
  18. package/es/table-component/body/TableBody.d.ts +19 -0
  19. package/es/table-component/body/TableBody.js +64 -0
  20. package/es/table-component/body/TableBodyCell.d.ts +10 -0
  21. package/es/table-component/body/TableBodyCell.js +139 -0
  22. package/es/table-component/body/TableBodyCellEdit.d.ts +15 -0
  23. package/es/table-component/body/TableBodyCellEdit.js +814 -0
  24. package/es/table-component/body/TableBodyRow.d.ts +21 -0
  25. package/es/table-component/body/TableBodyRow.js +146 -0
  26. package/es/table-component/components/ControlCheckbox.d.ts +13 -0
  27. package/es/table-component/components/ControlCheckbox.js +87 -0
  28. package/es/table-component/components/EditForm/EditForm.d.ts +27 -0
  29. package/es/table-component/components/EditForm/EditForm.js +395 -0
  30. package/es/table-component/components/EditForm/index.d.ts +1 -0
  31. package/es/table-component/components/EditForm/index.js +1 -0
  32. package/es/table-component/components/InputControl/InputControl.d.ts +27 -0
  33. package/es/table-component/components/InputControl/InputControl.js +121 -0
  34. package/es/table-component/components/InputControl/index.d.ts +1 -0
  35. package/es/table-component/components/InputControl/index.js +1 -0
  36. package/es/table-component/components/async-select/index.d.ts +11 -0
  37. package/es/table-component/components/async-select/index.js +41 -0
  38. package/es/table-component/components/async-table-select/index.d.ts +11 -0
  39. package/es/table-component/components/async-table-select/index.js +43 -0
  40. package/es/table-component/components/checkbox-control/index.d.ts +13 -0
  41. package/es/table-component/components/checkbox-control/index.js +40 -0
  42. package/es/table-component/components/checkbox-filter/CheckboxFilter.d.ts +18 -0
  43. package/es/table-component/components/checkbox-filter/CheckboxFilter.js +240 -0
  44. package/es/table-component/components/checkbox-filter/FilterSearch.d.ts +12 -0
  45. package/es/table-component/components/checkbox-filter/FilterSearch.js +36 -0
  46. package/es/table-component/components/command/Command.d.ts +9 -0
  47. package/es/table-component/components/command/Command.js +28 -0
  48. package/es/table-component/components/number/index.d.ts +10 -0
  49. package/es/table-component/components/number/index.js +42 -0
  50. package/es/table-component/components/number-range/index.d.ts +11 -0
  51. package/es/table-component/components/number-range/index.js +66 -0
  52. package/es/table-component/features/operator.d.ts +24 -0
  53. package/es/table-component/features/operator.js +62 -0
  54. package/es/table-component/footer/TableFooter.d.ts +13 -0
  55. package/es/table-component/footer/TableFooter.js +33 -0
  56. package/es/table-component/footer/TableFooterCell.d.ts +10 -0
  57. package/es/table-component/footer/TableFooterCell.js +24 -0
  58. package/es/table-component/footer/TableFooterRow.d.ts +14 -0
  59. package/es/table-component/footer/TableFooterRow.js +71 -0
  60. package/es/table-component/header/TableHead.d.ts +14 -0
  61. package/es/table-component/header/TableHead.js +60 -0
  62. package/es/table-component/header/TableHeadCell.d.ts +14 -0
  63. package/es/table-component/header/TableHeadCell.js +324 -0
  64. package/es/table-component/header/TableHeadRow.d.ts +16 -0
  65. package/es/table-component/header/TableHeadRow.js +86 -0
  66. package/es/table-component/header/renderFilter.d.ts +20 -0
  67. package/es/table-component/header/renderFilter.js +281 -0
  68. package/es/table-component/hook/constant.d.ts +73 -0
  69. package/es/table-component/hook/constant.js +240 -0
  70. package/es/table-component/hook/useColumns.d.ts +11 -0
  71. package/es/table-component/hook/useColumns.js +209 -0
  72. package/es/table-component/hook/useFilterOperator.d.ts +7 -0
  73. package/es/table-component/hook/useFilterOperator.js +33 -0
  74. package/es/table-component/hook/utils.d.ts +121 -0
  75. package/es/table-component/hook/utils.js +1727 -0
  76. package/es/table-component/index.d.ts +5 -0
  77. package/es/table-component/index.js +2 -0
  78. package/es/table-component/style.scss +1083 -0
  79. package/es/table-component/table/Grid.d.ts +23 -0
  80. package/es/table-component/table/Grid.js +310 -0
  81. package/es/table-component/table/GridEdit.d.ts +23 -0
  82. package/es/table-component/table/GridEdit.js +282 -0
  83. package/es/table-component/type.d.ts +482 -0
  84. package/es/table-component/type.js +1 -0
  85. package/es/table-component/useContext.d.ts +119 -0
  86. package/es/table-component/useContext.js +61 -0
  87. package/lib/grid-component/GridStyle.js +1 -1
  88. package/lib/grid-component/InternalTable.js +5 -1
  89. package/lib/grid-component/TableGrid.js +2 -2
  90. package/lib/index.d.ts +1 -0
  91. package/lib/index.js +8 -1
  92. package/lib/table-component/ColumnsChoose.d.ts +10 -0
  93. package/lib/table-component/ColumnsChoose.js +568 -0
  94. package/lib/table-component/ContextMenu.d.ts +20 -0
  95. package/lib/table-component/ContextMenu.js +85 -0
  96. package/lib/table-component/InternalTable.d.ts +9 -0
  97. package/lib/table-component/InternalTable.js +299 -0
  98. package/lib/table-component/TableContainer.d.ts +22 -0
  99. package/lib/table-component/TableContainer.js +137 -0
  100. package/lib/table-component/TableContainerEdit.d.ts +28 -0
  101. package/lib/table-component/TableContainerEdit.js +1220 -0
  102. package/lib/table-component/body/EditableCell.d.ts +16 -0
  103. package/lib/table-component/body/EditableCell.js +1038 -0
  104. package/lib/table-component/body/TableBody.d.ts +19 -0
  105. package/lib/table-component/body/TableBody.js +72 -0
  106. package/lib/table-component/body/TableBodyCell.d.ts +10 -0
  107. package/lib/table-component/body/TableBodyCell.js +148 -0
  108. package/lib/table-component/body/TableBodyCellEdit.d.ts +15 -0
  109. package/lib/table-component/body/TableBodyCellEdit.js +821 -0
  110. package/lib/table-component/body/TableBodyRow.d.ts +21 -0
  111. package/lib/table-component/body/TableBodyRow.js +153 -0
  112. package/lib/table-component/components/ControlCheckbox.d.ts +13 -0
  113. package/lib/table-component/components/ControlCheckbox.js +95 -0
  114. package/lib/table-component/components/EditForm/EditForm.d.ts +27 -0
  115. package/lib/table-component/components/EditForm/EditForm.js +406 -0
  116. package/lib/table-component/components/EditForm/index.d.ts +1 -0
  117. package/lib/table-component/components/EditForm/index.js +16 -0
  118. package/lib/table-component/components/InputControl/InputControl.d.ts +27 -0
  119. package/lib/table-component/components/InputControl/InputControl.js +131 -0
  120. package/lib/table-component/components/InputControl/index.d.ts +1 -0
  121. package/lib/table-component/components/InputControl/index.js +16 -0
  122. package/lib/table-component/components/async-select/index.d.ts +11 -0
  123. package/lib/table-component/components/async-select/index.js +49 -0
  124. package/lib/table-component/components/async-table-select/index.d.ts +11 -0
  125. package/lib/table-component/components/async-table-select/index.js +51 -0
  126. package/lib/table-component/components/checkbox-control/index.d.ts +13 -0
  127. package/lib/table-component/components/checkbox-control/index.js +48 -0
  128. package/lib/table-component/components/checkbox-filter/CheckboxFilter.d.ts +18 -0
  129. package/lib/table-component/components/checkbox-filter/CheckboxFilter.js +249 -0
  130. package/lib/table-component/components/checkbox-filter/FilterSearch.d.ts +12 -0
  131. package/lib/table-component/components/checkbox-filter/FilterSearch.js +44 -0
  132. package/lib/table-component/components/command/Command.d.ts +9 -0
  133. package/lib/table-component/components/command/Command.js +37 -0
  134. package/lib/table-component/components/number/index.d.ts +10 -0
  135. package/lib/table-component/components/number/index.js +50 -0
  136. package/lib/table-component/components/number-range/index.d.ts +11 -0
  137. package/lib/table-component/components/number-range/index.js +74 -0
  138. package/lib/table-component/features/operator.d.ts +24 -0
  139. package/lib/table-component/features/operator.js +67 -0
  140. package/lib/table-component/footer/TableFooter.d.ts +13 -0
  141. package/lib/table-component/footer/TableFooter.js +42 -0
  142. package/lib/table-component/footer/TableFooterCell.d.ts +10 -0
  143. package/lib/table-component/footer/TableFooterCell.js +32 -0
  144. package/lib/table-component/footer/TableFooterRow.d.ts +14 -0
  145. package/lib/table-component/footer/TableFooterRow.js +79 -0
  146. package/lib/table-component/header/TableHead.d.ts +14 -0
  147. package/lib/table-component/header/TableHead.js +69 -0
  148. package/lib/table-component/header/TableHeadCell.d.ts +14 -0
  149. package/lib/table-component/header/TableHeadCell.js +333 -0
  150. package/lib/table-component/header/TableHeadRow.d.ts +16 -0
  151. package/lib/table-component/header/TableHeadRow.js +94 -0
  152. package/lib/table-component/header/renderFilter.d.ts +20 -0
  153. package/lib/table-component/header/renderFilter.js +291 -0
  154. package/lib/table-component/hook/constant.d.ts +73 -0
  155. package/lib/table-component/hook/constant.js +247 -0
  156. package/lib/table-component/hook/useColumns.d.ts +11 -0
  157. package/lib/table-component/hook/useColumns.js +220 -0
  158. package/lib/table-component/hook/useFilterOperator.d.ts +7 -0
  159. package/lib/table-component/hook/useFilterOperator.js +40 -0
  160. package/lib/table-component/hook/utils.d.ts +121 -0
  161. package/lib/table-component/hook/utils.js +1817 -0
  162. package/lib/table-component/index.d.ts +5 -0
  163. package/lib/table-component/index.js +9 -0
  164. package/lib/table-component/style.scss +1083 -0
  165. package/lib/table-component/table/Grid.d.ts +23 -0
  166. package/lib/table-component/table/Grid.js +313 -0
  167. package/lib/table-component/table/GridEdit.d.ts +23 -0
  168. package/lib/table-component/table/GridEdit.js +284 -0
  169. package/lib/table-component/type.d.ts +482 -0
  170. package/lib/table-component/type.js +5 -0
  171. package/lib/table-component/useContext.d.ts +119 -0
  172. package/lib/table-component/useContext.js +67 -0
  173. package/package.json +3 -1
@@ -0,0 +1,406 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SelectStyle = exports.EditForm = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _reactHookForm = require("react-hook-form");
11
+ var _yup = require("@hookform/resolvers/yup");
12
+ var _grid = require("rc-master-ui/es/grid");
13
+ var _utils = require("../../hook/utils");
14
+ var _rcMasterUi = require("rc-master-ui");
15
+ var _antd = require("antd");
16
+ var _divider = _interopRequireDefault(require("rc-master-ui/es/divider"));
17
+ var _button = _interopRequireDefault(require("rc-master-ui/es/button"));
18
+ var _InputControl = _interopRequireDefault(require("../InputControl/InputControl"));
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ // import InputControl from "../control/InputControl/InputControl";
22
+
23
+ const SelectStyle = exports.SelectStyle = _styledComponents.default.div.withConfig({
24
+ displayName: "SelectStyle",
25
+ componentId: "es-grid-template__sc-18plqpt-0"
26
+ })(["width:100%;&.be-select{.input-group-merge{flex-wrap:nowrap;}}"]);
27
+ const EditForm = props => {
28
+ const {
29
+ id,
30
+ // menuPortalTarget,
31
+ value,
32
+ fieldKey,
33
+ placeholder,
34
+ // invalid,
35
+ menuHeight,
36
+ menuWidth,
37
+ // classNamePrefix,
38
+ onChange,
39
+ rowData,
40
+ // onKeyDown,
41
+ t,
42
+ cellFocus,
43
+ column
44
+ } = props;
45
+ const formRef = (0, _react.useRef)();
46
+ const divRef = (0, _react.useRef)(null);
47
+ const inputRef = (0, _react.useRef)(null);
48
+ const defaultValue = !(0, _utils.isNullOrUndefined)(value) ? column?.editFromSettings?.formatLabel ? column?.editFromSettings?.formatLabel(value) : value[fieldKey] : '';
49
+ const {
50
+ control,
51
+ handleSubmit,
52
+ getValues,
53
+ reset,
54
+ setValue,
55
+ setError,
56
+ formState: {
57
+ errors
58
+ }
59
+ } = (0, _reactHookForm.useForm)({
60
+ mode: 'onChange',
61
+ defaultValues: column.editFromSettings?.defaultValues,
62
+ resolver: column.editFromSettings?.schema ? (0, _yup.yupResolver)(column.editFromSettings?.schema) : undefined
63
+ });
64
+ const handleToggle = () => {
65
+ divRef?.current?.click(); // Giả lập click vào nút để mở dropdown
66
+ };
67
+ _react.default.useEffect(() => {
68
+ if (cellFocus) {
69
+ handleToggle();
70
+ }
71
+ }, [cellFocus]);
72
+ const handleOnSubmit = val => {
73
+ handleToggle();
74
+ onChange(val);
75
+ };
76
+
77
+ // const handleOnKeyDown = (e: any) => {
78
+ //
79
+ // if (dropdownOpen) {
80
+ // e.preventDefault()
81
+ //
82
+ // if (e.code === 'Tab') {
83
+ // e.stopPropagation()
84
+ // const formElement = document.getElementById('edit-form')
85
+ //
86
+ // if (formElement) {
87
+ //
88
+ // formElement.getElementsByTagName('input')[0]?.focus()
89
+ //
90
+ // }
91
+ //
92
+ // }
93
+ //
94
+ // if (e.code === "Escape") {
95
+ // e.preventDefault()
96
+ // e.stopPropagation()
97
+ // return e
98
+ // }
99
+ //
100
+ // const formElement = document.getElementById('edit-form')
101
+ //
102
+ // if (formElement) {
103
+ //
104
+ // formElement.getElementsByTagName('input')[0]?.focus()
105
+ //
106
+ // }
107
+ // return e.code
108
+ //
109
+ //
110
+ // } else {
111
+ // if (e.code === 'ArrowDown') {
112
+ // e.preventDefault()
113
+ //
114
+ // setTimeout(() => {
115
+ // const formElement = document.getElementById('edit-form')
116
+ // if (formElement) {
117
+ // formElement.getElementsByTagName('input')[0]?.focus()
118
+ //
119
+ // }
120
+ //
121
+ // }, 100)
122
+ //
123
+ //
124
+ // }
125
+ // }
126
+ //
127
+ // if (onKeyDown) {
128
+ // onKeyDown(e)
129
+ // }
130
+ //
131
+ //
132
+ // }
133
+ //
134
+
135
+ const handleOnFocus = e => {
136
+ e.target.setSelectionRange(0, e.target.innerText.length - 1);
137
+ };
138
+ const formItemKeyDown = (e, index, length) => {
139
+ if (e.code === 'Tab' || e.code === 'ArrowDown') {
140
+ const itemElement = document.getElementById(`edit-form-${index + 1}`);
141
+ if (itemElement && index < length) {
142
+ if (itemElement.className.includes('be-select')) {
143
+ itemElement.getElementsByTagName('input')[0]?.focus();
144
+ } else {
145
+ itemElement.focus();
146
+ }
147
+ }
148
+ e.preventDefault();
149
+ }
150
+ if (e.code === 'ArrowUp') {
151
+ const itemElement = document.getElementById(`edit-form-${index - 1}`);
152
+ if (itemElement && index !== 0) {
153
+ if (itemElement.className.includes('be-select')) {
154
+ itemElement.getElementsByTagName('input')[0]?.focus();
155
+ } else {
156
+ itemElement.focus();
157
+ }
158
+ }
159
+ e.preventDefault();
160
+ }
161
+ if (e.code === 'Enter') {
162
+ if ((0, _utils.isObjEmpty)(errors)) {
163
+ const rs = getValues();
164
+ if (column.editFromSettings?.schema) {
165
+ column.editFromSettings?.schema.validate(rs, {
166
+ abortEarly: false
167
+ }).then(() => {
168
+ handleToggle();
169
+ onChange(rs);
170
+ if (column.editFromSettings && column?.editFromSettings?.formClose) {
171
+ column?.editFromSettings?.formClose({
172
+ value,
173
+ setValue,
174
+ getValues,
175
+ reset
176
+ });
177
+ }
178
+ if (inputRef) {
179
+ inputRef.current.focus();
180
+ }
181
+ }).catch(err => {
182
+ e.preventDefault();
183
+ e.stopPropagation();
184
+ err.inner.forEach(error => {
185
+ setError(error.path ? error.path : '', {
186
+ type: "manual",
187
+ message: error.message
188
+ });
189
+ });
190
+ });
191
+ }
192
+ } else {
193
+ e.preventDefault();
194
+ e.stopPropagation();
195
+ }
196
+ }
197
+ };
198
+
199
+ // const checkErrors = () => {
200
+ //
201
+ //
202
+ // if (isObjEmpty(errors)) {
203
+ // const rs = getValues()
204
+ // if (column.editFromSettings?.schema) {
205
+ // column.editFromSettings?.schema.validate(rs, { abortEarly: false })
206
+ // .then(() => {
207
+ // handleToggle()
208
+ // onChange(rs)
209
+ //
210
+ // if (column.editFromSettings && column?.editFromSettings?.formClose) {
211
+ // column?.editFromSettings?.formClose({value, setValue, getValues, reset})
212
+ // }
213
+ // if (inputRef) {
214
+ // inputRef.current.focus()
215
+ // }
216
+ // })
217
+ // .catch((err: ValidationError) => {
218
+ //
219
+ // err.inner.forEach((error: ValidationError) => {
220
+ //
221
+ // setError(error.path ? error.path : '', {
222
+ // type: "manual",
223
+ // message: error.message
224
+ // })
225
+ // })
226
+ // })
227
+ // }
228
+ //
229
+ //
230
+ // } else {
231
+ //
232
+ // }
233
+ // }
234
+
235
+ const handleFormKeydown = e => {
236
+ // if (dropdownOpen) {
237
+
238
+ if (e.code === 'Tab' || e.code === 'ArrowUp' || e.code === 'ArrowDown') {
239
+ e.preventDefault();
240
+ e.stopPropagation();
241
+ // if (formElement && indexRowForm <= totalRowFrom) {
242
+ // setIndexRowForm((prevState) => prevState + 1)
243
+ // formElement.getElementsByTagName('input')[indexRowForm + 1]?.focus()
244
+ // }
245
+ }
246
+
247
+ // if (e.code === 'Enter') {
248
+ // const rs = getValues()
249
+ //
250
+ //
251
+ // onChange(rs)
252
+ //
253
+ // if (column.editFromSettings && column?.editFromSettings?.formClose) {
254
+ // column?.editFromSettings?.formClose({value, setValue, getValues, reset})
255
+ // }
256
+ // if (inputRef) {
257
+ // inputRef.current.focus()
258
+ // }
259
+ //
260
+ // e.preventDefault()
261
+ // e.stopPropagation()
262
+ // }
263
+
264
+ if (e.code === "Escape") {
265
+ handleToggle();
266
+ if (inputRef) {
267
+ inputRef.current.focus();
268
+ }
269
+ e.preventDefault();
270
+ e.stopPropagation();
271
+ }
272
+ return e.code;
273
+ // }
274
+ };
275
+ const renderForm = rows => {
276
+ return /*#__PURE__*/_react.default.createElement(_grid.Row, {
277
+ gutter: [0, 10]
278
+ }, rows.map((item, index) => {
279
+ return /*#__PURE__*/_react.default.createElement(_grid.Col, {
280
+ key: `${index}`,
281
+ xl: column.editFromSettings?.layout?.xl ? column.editFromSettings?.layout?.xl : 24,
282
+ lg: column.editFromSettings?.layout?.lg ? column.editFromSettings?.layout?.lg : 24,
283
+ md: column.editFromSettings?.layout?.md ? column.editFromSettings?.layout?.md : 24,
284
+ sm: column.editFromSettings?.layout?.sm ? column.editFromSettings?.layout?.sm : 24,
285
+ xs: column.editFromSettings?.layout?.xs ? column.editFromSettings?.layout?.xs : 24,
286
+ className: 'mb-1'
287
+ }, /*#__PURE__*/_react.default.createElement(_InputControl.default, {
288
+ id: `edit-form-${index}`,
289
+ t: t,
290
+ control: control
291
+ // name={`specificationCode${index + 1}`}
292
+ ,
293
+ name: item.name,
294
+ label: item.label ? item.label : '',
295
+ labelSize: "label-medium",
296
+ errors: errors[item.name],
297
+ onKeyDown: e => formItemKeyDown(e, index, column.editFromSettings?.items ? column.editFromSettings?.items.length : 0)
298
+ }));
299
+ }));
300
+ };
301
+ const contentStyle = {
302
+ padding: 6,
303
+ width: menuWidth,
304
+ backgroundColor: '#fff',
305
+ borderRadius: '6px',
306
+ boxShadow: '0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05)'
307
+ };
308
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(SelectStyle, {
309
+ ref: formRef,
310
+ id: id ? id : ''
311
+ }, /*#__PURE__*/_react.default.createElement(_antd.Dropdown, {
312
+ menu: {
313
+ items: []
314
+ },
315
+ autoFocus: true,
316
+ onOpenChange: open => {
317
+ if (open) {
318
+ setTimeout(() => {
319
+ const formElement = document.getElementById('edit-form-0');
320
+ if (formElement) {
321
+ formElement.focus();
322
+ }
323
+ }, 10);
324
+ if (column.editFromSettings && column?.editFromSettings?.formOpen) {
325
+ column?.editFromSettings?.formOpen({
326
+ value,
327
+ setValue,
328
+ getValues,
329
+ reset,
330
+ rowData
331
+ });
332
+ }
333
+ } else {
334
+ if (column.editFromSettings && column?.editFromSettings?.formClose) {
335
+ column?.editFromSettings?.formClose({
336
+ value,
337
+ setValue,
338
+ getValues,
339
+ reset,
340
+ rowData
341
+ });
342
+ }
343
+ }
344
+ },
345
+ trigger: ['click'],
346
+ destroyPopupOnHide: true,
347
+ rootClassName: 'be-popup-container',
348
+ dropdownRender: () => /*#__PURE__*/_react.default.createElement("div", {
349
+ style: contentStyle,
350
+ onKeyDown: e => handleFormKeydown(e),
351
+ onClick: e => {
352
+ e.preventDefault();
353
+ e.stopPropagation();
354
+ }
355
+ }, /*#__PURE__*/_react.default.createElement("form", {
356
+ className: "todo-modal",
357
+ onSubmit: handleSubmit(handleOnSubmit)
358
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
359
+ className: 'p-1',
360
+ style: {
361
+ maxHeight: menuHeight ? menuHeight : 300,
362
+ overflow: "auto"
363
+ }
364
+ }, column.editFromSettings?.items ? renderForm(column.editFromSettings?.items) : ''), /*#__PURE__*/_react.default.createElement(_divider.default, {
365
+ style: {
366
+ margin: 0
367
+ }
368
+ }), /*#__PURE__*/_react.default.createElement("div", {
369
+ className: "d-flex justify-content-end p-1"
370
+ // style={{ boxShadow: "0 4px 24px 0 rgb(34 41 47 / 10%)" }}
371
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
372
+ variant: "solid",
373
+ className: ""
374
+ // onSubmit={handleSubmit(handleOnSubmit)}
375
+ ,
376
+ onClick: handleSubmit(handleOnSubmit),
377
+ color: "primary",
378
+ style: {}
379
+ }, /*#__PURE__*/_react.default.createElement("div", {
380
+ className: "d-flex "
381
+ }, t ? t('Save') : 'Save'))))))
382
+ }, /*#__PURE__*/_react.default.createElement("div", {
383
+ ref: divRef,
384
+ style: {
385
+ height: '100%'
386
+ }
387
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Input, {
388
+ style: {
389
+ borderRadius: 0,
390
+ height: '100%'
391
+ },
392
+ ref: inputRef,
393
+ defaultValue: defaultValue,
394
+ value: defaultValue,
395
+ placeholder: placeholder,
396
+ className: 'be-select__input'
397
+ // onChange={handleOnChange}
398
+ ,
399
+ onFocus: handleOnFocus
400
+ // onClick={handleOnClick}
401
+ // onKeyDown={handleOnKeyDown}
402
+ ,
403
+ readOnly: true
404
+ })))));
405
+ };
406
+ exports.EditForm = EditForm;
@@ -0,0 +1 @@
1
+ export * from './EditForm';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _EditForm = require("./EditForm");
7
+ Object.keys(_EditForm).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _EditForm[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _EditForm[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1,27 @@
1
+ import type { HTMLInputTypeAttribute } from "react";
2
+ import React from "react";
3
+ interface IFFormInput {
4
+ id?: any;
5
+ control: any;
6
+ name: string;
7
+ type?: HTMLInputTypeAttribute;
8
+ label: string;
9
+ labelSize?: string;
10
+ required?: boolean;
11
+ errors?: any;
12
+ height?: number | string;
13
+ disabled?: boolean;
14
+ row?: number;
15
+ isLabel?: boolean;
16
+ inLine?: boolean;
17
+ autoFocus?: boolean;
18
+ placeholder?: string;
19
+ classes?: string;
20
+ callback?: any;
21
+ readOnly?: boolean;
22
+ isView?: boolean;
23
+ t?: any;
24
+ onKeyDown?: (event: any) => void;
25
+ }
26
+ declare const InputControl: (props: IFFormInput) => React.JSX.Element;
27
+ export default InputControl;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _reactHookForm = require("react-hook-form");
10
+ var _rcMasterUi = require("rc-master-ui");
11
+ var _antd = require("antd");
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _grid = require("rc-master-ui/es/grid");
15
+ var _utils = require("../../hook/utils");
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ // import {isNullOrUndefined} from "../../hooks";
19
+
20
+ // import {isNullOrUndefined} from "../../../hooks"
21
+
22
+ const {
23
+ Text
24
+ } = _antd.Typography;
25
+ const InputControl = props => {
26
+ const {
27
+ id,
28
+ control,
29
+ name,
30
+ type,
31
+ label,
32
+ labelSize,
33
+ required,
34
+ errors,
35
+ height,
36
+ disabled,
37
+ row,
38
+ isLabel,
39
+ placeholder,
40
+ autoFocus,
41
+ inLine,
42
+ callback,
43
+ readOnly,
44
+ classes,
45
+ isView,
46
+ t,
47
+ onKeyDown,
48
+ ...rest
49
+ } = props;
50
+ const renderLabel = () => {
51
+ return /*#__PURE__*/_react.default.createElement(_grid.Col, {
52
+ span: 6
53
+ }, isLabel === false ? '' : /*#__PURE__*/_react.default.createElement("label", {
54
+ className: "form-label"
55
+ }, t ? t(label ? label : '') : label ? label : '', " ", required ? /*#__PURE__*/_react.default.createElement("span", {
56
+ className: "text-danger"
57
+ }, "*") : '', " "));
58
+ };
59
+
60
+ // const renderText = () => {
61
+ // return (
62
+ // <Fragment>
63
+ // <Controller
64
+ // name={name}
65
+ // control={control}
66
+ // render={({ field: { value } }) => (
67
+ // <span>{value}</span>
68
+ // )}
69
+ // />
70
+ // </Fragment>
71
+ // )
72
+ // }
73
+
74
+ const renderInput = () => {
75
+ return /*#__PURE__*/_react.default.createElement("div", {
76
+ style: {
77
+ display: 'flex',
78
+ flexDirection: 'column'
79
+ }
80
+ }, /*#__PURE__*/_react.default.createElement(_reactHookForm.Controller, {
81
+ name: name,
82
+ control: control,
83
+ render: ({
84
+ field: {
85
+ value,
86
+ onChange
87
+ }
88
+ }) => /*#__PURE__*/_react.default.createElement(_rcMasterUi.Input, (0, _extends2.default)({}, rest, {
89
+ id: id,
90
+ value: !(0, _utils.isNullOrUndefined)(value) ? value : '',
91
+ onChange: val => {
92
+ onChange(val.target.value);
93
+ if (callback) {
94
+ callback(val);
95
+ }
96
+ },
97
+ style: {
98
+ height: `${height}px`
99
+ },
100
+ autoFocus: autoFocus,
101
+ disabled: disabled,
102
+ placeholder: placeholder,
103
+ type: type ? type : 'text'
104
+ // invalid={errors && true}
105
+ ,
106
+ status: errors && true ? 'error' : undefined
107
+ // rows={row}
108
+ ,
109
+ readOnly: readOnly,
110
+ onKeyDown: onKeyDown
111
+ }))
112
+ }), errors && /*#__PURE__*/_react.default.createElement(Text, {
113
+ type: "danger"
114
+ }, errors?.message));
115
+ };
116
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_grid.Row, {
117
+ gutter: [4, 4]
118
+ // className={classnames(' align', {
119
+ // [labelSize ? labelSize : '']: labelSize,
120
+ // [classes ? classes : '']: classes,
121
+ // 'form-row-inline-error': errors
122
+ // }, inLine === false ? 'form-group ' : 'form-row-inline d-flex'
123
+ // )}
124
+ }, renderLabel(), /*#__PURE__*/_react.default.createElement(_grid.Col, {
125
+ span: 18,
126
+ className: (0, _classnames.default)('', {
127
+ 'hidden-label': isLabel === false
128
+ })
129
+ }, renderInput())));
130
+ };
131
+ var _default = exports.default = InputControl;
@@ -0,0 +1 @@
1
+ export * from './InputControl';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _InputControl = require("./InputControl");
7
+ Object.keys(_InputControl).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _InputControl[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _InputControl[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { BaseOptionType, DefaultOptionType } from "rc-select/lib/Select";
3
+ import type { SelectProps } from "rc-master-ui/es/select";
4
+ import type { LoadOptionsArgs } from '../../type';
5
+ export interface DebounceSelectProps<OptionType extends BaseOptionType = DefaultOptionType> extends SelectProps {
6
+ loadOptions?: (search: string, callback: (newOptions: OptionType[]) => void, args?: LoadOptionsArgs) => void;
7
+ debounceTimeout?: number;
8
+ defaultOptions?: OptionType[];
9
+ rowData?: any;
10
+ }
11
+ export declare function AsyncSelect<OptionType extends BaseOptionType>({ loadOptions, debounceTimeout, defaultOptions, rowData, ...props }: DebounceSelectProps<OptionType>): React.JSX.Element;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AsyncSelect = AsyncSelect;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
11
+ var _rcMasterUi = require("rc-master-ui");
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ // import type {LoadOptionsArgs} from "../type";
15
+
16
+ function AsyncSelect({
17
+ loadOptions,
18
+ debounceTimeout = 500,
19
+ defaultOptions,
20
+ rowData,
21
+ ...props
22
+ }) {
23
+ const [options, setOptions] = (0, _react.useState)(defaultOptions ?? []);
24
+ const debounceFetcher = (0, _react.useMemo)(() => {
25
+ const fetchOptions = value => {
26
+ if (value.trim().length === 0) {
27
+ setOptions(defaultOptions ?? []);
28
+ return;
29
+ }
30
+ if (loadOptions) {
31
+ loadOptions(value, newOptions => {
32
+ setOptions(newOptions);
33
+ }, {
34
+ rowData
35
+ });
36
+ }
37
+ };
38
+ return (0, _debounce.default)(fetchOptions, debounceTimeout);
39
+ }, [loadOptions, debounceTimeout]);
40
+ (0, _react.useEffect)(() => {
41
+ setOptions(defaultOptions ?? []);
42
+ }, [defaultOptions]);
43
+ return /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select, (0, _extends2.default)({}, props, {
44
+ filterOption: loadOptions ? false : props?.filterOption,
45
+ onSearch: debounceFetcher,
46
+ onSelect: () => setOptions(defaultOptions ?? []),
47
+ options: options
48
+ }));
49
+ }
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { BaseOptionType, DefaultOptionType } from "rc-select/lib/Select";
3
+ import type { TableSelectProps } from "rc-master-ui/es/table-select";
4
+ import type { LoadOptionsArgs } from '../../type';
5
+ export interface DebounceSelectProps<OptionType extends BaseOptionType = DefaultOptionType> extends TableSelectProps {
6
+ loadOptions?: (search: string, callback: (newOptions: OptionType[]) => void, args?: LoadOptionsArgs) => void;
7
+ debounceTimeout?: number;
8
+ defaultOptions?: OptionType[];
9
+ rowData?: any;
10
+ }
11
+ export declare function AsyncTableSelect<OptionType extends BaseOptionType>({ loadOptions, debounceTimeout, defaultOptions, columns, rowData, ...props }: DebounceSelectProps<OptionType>): React.JSX.Element;