phx-react 1.3.1607 → 1.3.1609

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 (35) hide show
  1. package/dist/cjs/components/FormTarget/PHXFormTarget.d.ts +1 -1
  2. package/dist/cjs/components/FormTarget/PHXFormTarget.js +4 -1
  3. package/dist/cjs/components/FormTarget/PHXFormTarget.js.map +1 -1
  4. package/dist/cjs/components/FormTarget/type/target.d.ts +2 -1
  5. package/dist/cjs/components/FormTarget/type/target.js.map +1 -1
  6. package/dist/cjs/components/TableV3/TableV3.d.ts +2 -1
  7. package/dist/cjs/components/TableV3/TableV3.js +2 -1
  8. package/dist/cjs/components/TableV3/TableV3.js.map +1 -1
  9. package/dist/cjs/components/TableV5/PaginaitonSelectedV5.d.ts +3 -0
  10. package/dist/cjs/components/TableV5/PaginaitonSelectedV5.js +33 -0
  11. package/dist/cjs/components/TableV5/PaginaitonSelectedV5.js.map +1 -0
  12. package/dist/cjs/components/TableV5/PaginationV5.d.ts +3 -0
  13. package/dist/cjs/components/TableV5/PaginationV5.js +72 -0
  14. package/dist/cjs/components/TableV5/PaginationV5.js.map +1 -0
  15. package/dist/cjs/components/TableV5/TableV5.d.ts +104 -0
  16. package/dist/cjs/components/TableV5/TableV5.js +521 -0
  17. package/dist/cjs/components/TableV5/TableV5.js.map +1 -0
  18. package/dist/esm/components/FormTarget/PHXFormTarget.d.ts +1 -1
  19. package/dist/esm/components/FormTarget/PHXFormTarget.js +4 -1
  20. package/dist/esm/components/FormTarget/PHXFormTarget.js.map +1 -1
  21. package/dist/esm/components/FormTarget/type/target.d.ts +2 -1
  22. package/dist/esm/components/FormTarget/type/target.js.map +1 -1
  23. package/dist/esm/components/TableV3/TableV3.d.ts +2 -1
  24. package/dist/esm/components/TableV3/TableV3.js +2 -1
  25. package/dist/esm/components/TableV3/TableV3.js.map +1 -1
  26. package/dist/esm/components/TableV5/PaginaitonSelectedV5.d.ts +3 -0
  27. package/dist/esm/components/TableV5/PaginaitonSelectedV5.js +30 -0
  28. package/dist/esm/components/TableV5/PaginaitonSelectedV5.js.map +1 -0
  29. package/dist/esm/components/TableV5/PaginationV5.d.ts +3 -0
  30. package/dist/esm/components/TableV5/PaginationV5.js +69 -0
  31. package/dist/esm/components/TableV5/PaginationV5.js.map +1 -0
  32. package/dist/esm/components/TableV5/TableV5.d.ts +104 -0
  33. package/dist/esm/components/TableV5/TableV5.js +517 -0
  34. package/dist/esm/components/TableV5/TableV5.js.map +1 -0
  35. package/package.json +1 -1
@@ -0,0 +1,521 @@
1
+ "use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.PHXTableV5 = PHXTableV5;
5
+ const tslib_1 = require("tslib");
6
+ const react_1 = require("@headlessui/react");
7
+ const solid_1 = require("@heroicons/react/24/solid");
8
+ const react_2 = tslib_1.__importStar(require("react"));
9
+ const Button_1 = require("../Button");
10
+ const EmptyRecord_1 = require("../EmptyRecord");
11
+ const useDebounce_1 = tslib_1.__importDefault(require("../Func/useDebounce"));
12
+ const Loading_1 = require("../Loading");
13
+ const Skeleton_1 = require("../Skeleton");
14
+ const types_1 = require("../types");
15
+ const PHXGrpcClientV5_1 = require("../Func/GRPC/PHXGrpcClientV5");
16
+ const sort_1 = tslib_1.__importDefault(require("../TableV3/sort"));
17
+ const RowTable_1 = require("../TableV3/RowTable");
18
+ const PaginaitonSelectedV5_1 = tslib_1.__importDefault(require("./PaginaitonSelectedV5"));
19
+ const PaginationV5_1 = tslib_1.__importDefault(require("./PaginationV5"));
20
+ const EmptyStateAction_1 = require("../EmptyStateAction");
21
+ const HeaderTable_1 = tslib_1.__importDefault(require("../TableV3/HeaderTable"));
22
+ const SelectedAction_1 = tslib_1.__importDefault(require("../TableV3/SelectedAction"));
23
+ const helpers_1 = require("../../helpers/helpers");
24
+ const useStickyLeft_1 = require("../TableVertical/useStickyLeft");
25
+ const CompleteState_1 = require("../CompleteState");
26
+ const EmptySearch_1 = require("../EmptySearch");
27
+ function PHXTableV5({ actionName, clickRow = true, clickType = 'edit', directDetail, editActionLink, filterLoading = false, fixedTableLayout = true, hidePagination, list, numericalOrder = {
28
+ enable: true,
29
+ title: 'STT',
30
+ disableSpacing: false,
31
+ sticky: false,
32
+ }, onChange, onClick, pagination, paginationData, router, routerCondition, rowNumber = 25, search, selectArray, selectedAllPeople, selectedBtn, setAggregate, setHeaderLoading, slectedTitle, sort, sortData, sortSelectData, thBody, thBodyComponent, thBodyFilter, thHeader, thHeaderComponent, typeLoading = { type: 'table' }, isSortEmpty = true, emptyStateAction = {
33
+ enable: false,
34
+ title: '',
35
+ description: '',
36
+ buttonContent: '',
37
+ buttonType: 'primary',
38
+ onAction: () => console.log('action'),
39
+ }, isCustomHeaderSelected = false, isUnaccentSearchValue = false, disableSpacing = { disable: false, indexStart: 0 }, border = false, isCenterText = false, searchValueData, stickyColumnNumber = 0, getDataTable, stickyColumnNumberRight = 0, isBackgroundReload = false, loaded, isResetPagination = false, tableKey = 'table', searchParams, completeState, completeStateTitle, completeStateDescription, type = 'default', title, }) {
40
+ const checkbox = (0, react_2.useRef)();
41
+ const [checked, setChecked] = (0, react_2.useState)(false);
42
+ const [indeterminate, setIndeterminate] = (0, react_2.useState)(false);
43
+ const [isMainLoading, setIsMainLoading] = (0, react_2.useState)(true);
44
+ const [dataTable, setDataTable] = (0, react_2.useState)([]);
45
+ const [selectedPeople, setSelectedPeople] = (0, react_2.useState)([]);
46
+ const [isSearchLoading, setIsSearchLoading] = (0, react_2.useState)(false);
47
+ const [searchDataResult, setSearchDataResult] = (0, react_2.useState)([]);
48
+ const [pagi, setPagi] = (0, react_2.useState)(0);
49
+ const [numericalOderInPage, setNumericalOderInPage] = (0, react_2.useState)(0);
50
+ const [count, setCount] = (0, react_2.useState)(0);
51
+ const timKiemPlacholder = 'Tìm kiếm';
52
+ const [activeMenu, setActiveMenu] = (0, react_2.useState)(sort === null || sort === void 0 ? void 0 : sort.defaultActive);
53
+ const [isSelectSort, setIsSelectSort] = (0, react_2.useState)(false);
54
+ const [isSort, setIsSort] = (0, react_2.useState)(false);
55
+ const [isSortLoading, setIsSortLoading] = (0, react_2.useState)(false);
56
+ const [numberOfFetchData, setNumberOfFetchData] = (0, react_2.useState)(0);
57
+ const [pageInfo, setPageInfo] = (0, react_2.useState)();
58
+ const [afterRecord, setAfterRecord] = (0, react_2.useState)('');
59
+ const [beforeRecord, setBeforeRecord] = (0, react_2.useState)('');
60
+ const numericalOrderDefault = {
61
+ ...numericalOrder,
62
+ sticky: !!stickyColumnNumber,
63
+ };
64
+ // @ts-ignore
65
+ const params = new URLSearchParams(searchParams);
66
+ const [searchValue, setSearchValue] = (0, react_2.useState)(params.get(`search-${tableKey}`) || '');
67
+ const [isSearch, setIsSearch] = (0, react_2.useState)(!!params.get(`search-${tableKey}`));
68
+ const entries = Object.fromEntries(params.entries());
69
+ const [rowQuantity, setRowQuantity] = (0, react_2.useState)((entries === null || entries === void 0 ? void 0 : entries[`row-${tableKey}`]) ? Number(entries === null || entries === void 0 ? void 0 : entries[`row-${tableKey}`]) : rowNumber);
70
+ const [isChangeRowQty, setIsChangeRowQty] = (0, react_2.useState)(false);
71
+ (0, react_2.useEffect)(() => {
72
+ if ((entries === null || entries === void 0 ? void 0 : entries[`row-${tableKey}`]) ? Number(entries === null || entries === void 0 ? void 0 : entries[`row-${tableKey}`]) !== rowQuantity : rowNumber !== rowQuantity) {
73
+ setRowQuantity((entries === null || entries === void 0 ? void 0 : entries[`row-${tableKey}`]) ? Number(entries === null || entries === void 0 ? void 0 : entries[`row-${tableKey}`]) : rowNumber);
74
+ if (!isChangeRowQty) {
75
+ setIsChangeRowQty(true);
76
+ }
77
+ }
78
+ }, [entries === null || entries === void 0 ? void 0 : entries[`row-${tableKey}`], rowNumber]);
79
+ const { lefts, refs } = (0, useStickyLeft_1.useStickyLefts)((numericalOrderDefault === null || numericalOrderDefault === void 0 ? void 0 : numericalOrderDefault.sticky) && selectedAllPeople && selectedAllPeople.enable
80
+ ? stickyColumnNumber + 2
81
+ : (numericalOrderDefault === null || numericalOrderDefault === void 0 ? void 0 : numericalOrderDefault.sticky) || (selectedAllPeople && selectedAllPeople.enable)
82
+ ? stickyColumnNumber + 1
83
+ : stickyColumnNumber, dataTable);
84
+ const { refs: refRights, rights } = (0, useStickyLeft_1.useStickyRights)(stickyColumnNumberRight, dataTable);
85
+ const queryHidePagi = list.query
86
+ ? list.query.replace(/first\s*:\s*\d+\s*,?|last\s*:\s*\d+\s*,?|after\s*:\s*\d+\s*,?|before\s*:\s*\d+\s*,?/g, '')
87
+ : '';
88
+ const queryWithNextPage = (after) => list.query
89
+ ? list.query
90
+ .replace(/first\s*:\s*\d+/g, `first: ${rowQuantity}`)
91
+ .replace(/\bafter\b\s*:\s*(["']).*?\1/g, after ? `after: "${after}"` : '')
92
+ .replace(/last\s*:\s*\d+/g, '')
93
+ .replace(/\bbefore\b\s*:\s*(["']).*?\1/g, '')
94
+ : '';
95
+ const queryWithPrevPage = (before) => list.query
96
+ ? list.query
97
+ .replace(/last\s*:\s*\d+/g, `last: ${rowQuantity}`)
98
+ .replace(/\bbefore\b\s*:\s*(["']).*?\1/g, before ? `before: "${before}"` : '')
99
+ .replace(/first\s*:\s*\d+/g, '')
100
+ .replace(/\bafter\b\s*:\s*(["']).*?\1/g, '')
101
+ : '';
102
+ const dataQuery = (after, before) => {
103
+ switch (true) {
104
+ case hidePagination:
105
+ return queryHidePagi;
106
+ case !!afterRecord:
107
+ return queryWithNextPage(after);
108
+ case !!beforeRecord:
109
+ return queryWithPrevPage(before);
110
+ default:
111
+ return queryWithNextPage('');
112
+ }
113
+ };
114
+ const { enable: enableEmptyStateAction, ...emptyStateActionAttribute } = emptyStateAction;
115
+ const filterQuery = (query, value) => {
116
+ const formatValue = isUnaccentSearchValue ? (0, helpers_1.unaccentValue)(value) : value;
117
+ return query.replace(/%@value%/g, `${formatValue}`);
118
+ };
119
+ const searchQuery = search && search.query ? filterQuery(search.query, searchValue.trim()) : '';
120
+ const searchQueryHidePagi = searchQuery
121
+ .replace(/last\s*:\s*\d+/g, '')
122
+ .replace(/\bbefore\b\s*:\s*(["']).*?\1/g, '')
123
+ .replace(/first\s*:\s*\d+/g, '')
124
+ .replace(/\bafter\b\s*:\s*(["']).*?\1/g, '');
125
+ const searchQueryWithNextPage = (after) => searchQuery
126
+ .replace(/first\s*:\s*\d+/g, `first: ${rowQuantity}`)
127
+ .replace(/\bafter\b\s*:\s*(["']).*?\1/g, after ? `after: "${after}"` : '')
128
+ .replace(/last\s*:\s*\d+/g, '')
129
+ .replace(/\bbefore\b\s*:\s*(["']).*?\1/g, '');
130
+ const searchQueryWithPrevPage = (before) => searchQuery
131
+ .replace(/last\s*:\s*\d+/g, `last: ${rowQuantity}`)
132
+ .replace(/\bbefore\b\s*:\s*(["']).*?\1/g, before ? `before: "${before}"` : '')
133
+ .replace(/first\s*:\s*\d+/g, '')
134
+ .replace(/\bafter\b\s*:\s*(["']).*?\1/g, '');
135
+ const searchDataQuery = (after, before) => {
136
+ switch (true) {
137
+ case hidePagination:
138
+ return searchQueryHidePagi;
139
+ case !!afterRecord:
140
+ return searchQueryWithNextPage(after);
141
+ case !!beforeRecord:
142
+ return searchQueryWithPrevPage(before);
143
+ default:
144
+ return searchQueryWithNextPage('');
145
+ }
146
+ };
147
+ const fetchSearchData = async () => {
148
+ try {
149
+ const variables = (search === null || search === void 0 ? void 0 : search.persistedId)
150
+ ? {
151
+ ...search === null || search === void 0 ? void 0 : search.variables,
152
+ first: rowQuantity,
153
+ after: afterRecord,
154
+ }
155
+ : {};
156
+ const queryFn = PHXGrpcClientV5_1.PHXClientQueryV5;
157
+ return queryFn({
158
+ query: searchDataQuery(afterRecord, beforeRecord),
159
+ variables,
160
+ persistedId: search === null || search === void 0 ? void 0 : search.persistedId,
161
+ schemaGroup: search === null || search === void 0 ? void 0 : search.schemaGroup,
162
+ });
163
+ }
164
+ catch (error) {
165
+ console.log(error);
166
+ return;
167
+ }
168
+ };
169
+ const getData = (result) => result.data;
170
+ const bindDataToTable = (dataTable) => {
171
+ // @ts-ignore
172
+ const data = [...dataTable];
173
+ setDataTable(data);
174
+ setSearchDataResult(data);
175
+ };
176
+ const [isChangePageLoading, setIsChangePageLoading] = (0, react_2.useState)(false);
177
+ const [previousValue, setPreviousValue] = (0, react_2.useState)(params.get(`search-${tableKey}`) || '');
178
+ const [currentPage, setCurrentPage] = (0, react_2.useState)(1);
179
+ const handleChangePage = (page) => {
180
+ if (page > 0 && page <= Math.ceil(count / rowQuantity)) {
181
+ setIsChangePageLoading(true);
182
+ setCurrentPage(page);
183
+ setPagi(page - 1);
184
+ paginationData(page - 1);
185
+ }
186
+ };
187
+ (0, react_2.useLayoutEffect)(() => {
188
+ const isIndeterminate = selectedPeople.length > 0 && selectedPeople.length < dataTable.length;
189
+ setChecked(selectedPeople.length === dataTable.length && dataTable.length > 0);
190
+ setIndeterminate(isIndeterminate);
191
+ // @ts-ignore
192
+ if (checkbox.current) {
193
+ checkbox.current.indeterminate = isIndeterminate;
194
+ }
195
+ }, [selectedPeople]);
196
+ function toggleAll() {
197
+ // @ts-ignore
198
+ if (searchValue) {
199
+ setSelectedPeople(checked || indeterminate ? [] : searchDataResult.filter((item) => !(item === null || item === void 0 ? void 0 : item.entered_school)));
200
+ }
201
+ else {
202
+ setSelectedPeople(checked || indeterminate ? [] : dataTable.filter((item) => !(item === null || item === void 0 ? void 0 : item.entered_school)));
203
+ }
204
+ if (onChange) {
205
+ onChange(checked || indeterminate ? [] : dataTable.filter((item) => !(item === null || item === void 0 ? void 0 : item.entered_school)));
206
+ }
207
+ setChecked(!checked && !indeterminate);
208
+ setIndeterminate(false);
209
+ }
210
+ function searchSetValue(value) {
211
+ setSearchValue(value);
212
+ if (searchValueData) {
213
+ const formatValue = isUnaccentSearchValue ? (0, helpers_1.unaccentValue)(value.trim()) : value.trim();
214
+ searchValueData(formatValue);
215
+ }
216
+ }
217
+ function brSetSelectedPeople(value) {
218
+ const maxSelectedPeople = (selectedAllPeople === null || selectedAllPeople === void 0 ? void 0 : selectedAllPeople.maxSelectedPeople) || 0; // loại bỏ item cũ, chỉ giữ lại số item mới nhất, nếu mặc định là 0 thì giữ nguyên mảng gốc
219
+ setSelectedPeople(value.slice(-maxSelectedPeople));
220
+ }
221
+ function renderInclude(person) {
222
+ // @ts-ignore
223
+ return selectedPeople.includes(person);
224
+ }
225
+ function searchChange(e) {
226
+ const value = e.target.value;
227
+ // Loại bỏ ký tự "\" từ chuỗi
228
+ const replaceSensitiveValue = value.replace(/\\/g, '');
229
+ searchSetValue(replaceSensitiveValue);
230
+ paginationData(0);
231
+ setCurrentPage(1);
232
+ setPagi(0);
233
+ setAfterRecord('');
234
+ setBeforeRecord('');
235
+ if (replaceSensitiveValue !== previousValue) {
236
+ setPreviousValue(replaceSensitiveValue);
237
+ }
238
+ if (replaceSensitiveValue.trim().length === 0) {
239
+ setSearchDataResult(dataTable);
240
+ }
241
+ params.set(`search-${tableKey}`, value);
242
+ params.set(`pagi-${tableKey}`, '1');
243
+ params.delete(`after-${tableKey}`);
244
+ params.delete(`before-${tableKey}`);
245
+ router.push(`?${params + ''}`, { scroll: false });
246
+ }
247
+ const debouncedSearch = (0, useDebounce_1.default)(searchValue, 300);
248
+ const sortOnChange = (item) => {
249
+ const isChangeSort = item.id !== activeMenu;
250
+ setIsSort(true);
251
+ sortData(item.field, item.sortDirection);
252
+ setActiveMenu(item.id);
253
+ if (isChangeSort) {
254
+ setIsSortLoading(true);
255
+ }
256
+ };
257
+ const sortSelectOnchange = (item, columnName) => {
258
+ const isChangeSort = item.id !== activeMenu;
259
+ setActiveMenu(item.id);
260
+ sortSelectData(item, columnName);
261
+ setIsSelectSort(true);
262
+ if (isChangeSort) {
263
+ setIsSortLoading(true);
264
+ }
265
+ };
266
+ const actionClickAll = () => {
267
+ actionName(selectedPeople, true);
268
+ };
269
+ const checkConditionRouter = (rowData) => {
270
+ if (routerCondition.conditionArray.some((item) => item === rowData[routerCondition.conditionName])) {
271
+ return true;
272
+ }
273
+ return false;
274
+ };
275
+ const handleSearch = async () => {
276
+ setIsSearchLoading(true);
277
+ const data = getData(await fetchSearchData());
278
+ const dataTable = search.keyResult;
279
+ setCount(data[dataTable].totalCount);
280
+ if (setAggregate) {
281
+ setAggregate(data[dataTable].totalCount);
282
+ }
283
+ if (previousValue !== searchValue) {
284
+ setCurrentPage(1);
285
+ }
286
+ setSearchDataResult(data[dataTable].nodes);
287
+ setIsSearchLoading(false);
288
+ setIsChangeRowQty(false);
289
+ setIsChangePageLoading(false);
290
+ setNumericalOderInPage(pagi);
291
+ // khi search sẽ reset những row đã select
292
+ // setSelectedPeople([]);
293
+ };
294
+ const paginationWithApplyUrl = () => {
295
+ let currentPagination = 1;
296
+ let afterParams = '';
297
+ let beforeParams = '';
298
+ if (!isResetPagination && !isChangeRowQty) {
299
+ const entries = Object.fromEntries(params.entries());
300
+ currentPagination = (entries === null || entries === void 0 ? void 0 : entries[`pagi-${tableKey}`]) ? Number(entries === null || entries === void 0 ? void 0 : entries[`pagi-${tableKey}`]) || 1 : 1;
301
+ afterParams = (entries === null || entries === void 0 ? void 0 : entries[`after-${tableKey}`]) ? (entries === null || entries === void 0 ? void 0 : entries[`after-${tableKey}`]) || '' : '';
302
+ beforeParams = (entries === null || entries === void 0 ? void 0 : entries[`before-${tableKey}`]) ? (entries === null || entries === void 0 ? void 0 : entries[`before-${tableKey}`]) || '' : '';
303
+ }
304
+ if (!isChangePageLoading && !hidePagination && !isChangeRowQty) {
305
+ setCurrentPage(currentPagination);
306
+ setPagi(currentPagination - 1);
307
+ paginationData(currentPagination - 1);
308
+ setAfterRecord(afterParams);
309
+ setBeforeRecord(beforeParams);
310
+ }
311
+ return { currentPagination, afterParams, beforeParams };
312
+ };
313
+ const queryData = async () => {
314
+ let query = dataQuery(afterRecord, beforeRecord);
315
+ const { afterParams, beforeParams, currentPagination } = paginationWithApplyUrl();
316
+ if (!isChangePageLoading) {
317
+ query = dataQuery(afterParams, beforeParams);
318
+ }
319
+ try {
320
+ const variables = (list === null || list === void 0 ? void 0 : list.persistedId)
321
+ ? {
322
+ ...list === null || list === void 0 ? void 0 : list.variables,
323
+ first: rowQuantity,
324
+ after: !isChangePageLoading ? afterParams : afterRecord,
325
+ }
326
+ : {};
327
+ const queryFn = PHXGrpcClientV5_1.PHXClientQueryV5;
328
+ const data = getData(searchValue
329
+ ? await fetchSearchData()
330
+ : await queryFn({
331
+ query,
332
+ variables,
333
+ persistedId: list === null || list === void 0 ? void 0 : list.persistedId,
334
+ schemaGroup: list === null || list === void 0 ? void 0 : list.schemaGroup,
335
+ }));
336
+ if (!data)
337
+ return;
338
+ if (!isBackgroundReload || (numberOfFetchData === 0 && isBackgroundReload)) {
339
+ setIsMainLoading(true);
340
+ }
341
+ const dataTable = list.keyResult;
342
+ bindDataToTable(data[dataTable].nodes);
343
+ setCount(data[dataTable].totalCount);
344
+ setPageInfo(data[dataTable].pageInfo);
345
+ if (setAggregate) {
346
+ setAggregate(data[dataTable].totalCount);
347
+ }
348
+ setIsMainLoading(false);
349
+ if (setHeaderLoading)
350
+ setHeaderLoading();
351
+ setIsSearchLoading(false);
352
+ setIsChangePageLoading(false);
353
+ setIsChangeRowQty(false);
354
+ setNumberOfFetchData(numberOfFetchData + 1);
355
+ loaded === null || loaded === void 0 ? void 0 : loaded(true);
356
+ if (!isChangePageLoading && !hidePagination && !isChangeRowQty) {
357
+ setNumericalOderInPage(currentPagination - 1);
358
+ }
359
+ else {
360
+ setNumericalOderInPage(pagi);
361
+ }
362
+ }
363
+ catch (e) {
364
+ console.log(e);
365
+ }
366
+ };
367
+ (0, react_2.useEffect)(() => {
368
+ if (!searchValue || numberOfFetchData === 0 || !(search === null || search === void 0 ? void 0 : search.enable)) {
369
+ queryData();
370
+ }
371
+ else if (debouncedSearch) {
372
+ handleSearch();
373
+ }
374
+ }, [pagi, debouncedSearch]);
375
+ (0, react_2.useEffect)(() => {
376
+ if (!isNaN(Number(pagination))) {
377
+ setCurrentPage(Number(pagination) + 1);
378
+ }
379
+ }, [pagination]);
380
+ (0, react_2.useEffect)(() => {
381
+ if (dataTable) {
382
+ setIsSortLoading(false);
383
+ }
384
+ if (getDataTable && dataTable.length) {
385
+ getDataTable(dataTable);
386
+ }
387
+ }, [dataTable]);
388
+ (0, react_2.useEffect)(() => {
389
+ if ((!isChangePageLoading && filterLoading && !isSortLoading) || isChangeRowQty) {
390
+ queryData();
391
+ if (!isBackgroundReload || (numberOfFetchData === 0 && isBackgroundReload)) {
392
+ setIsMainLoading(true);
393
+ }
394
+ setSelectedPeople([]);
395
+ }
396
+ if (search && search.enable && isChangePageLoading) {
397
+ setIsSearchLoading(true);
398
+ }
399
+ }, [list, afterRecord, beforeRecord, rowQuantity]);
400
+ (0, react_2.useEffect)(() => {
401
+ if (isSortLoading) {
402
+ queryData();
403
+ setSelectedPeople([]);
404
+ }
405
+ }, [sort]);
406
+ const funcItemReadOnly = thBodyComponent ? thBodyComponent === null || thBodyComponent === void 0 ? void 0 : thBodyComponent.readOnly : null;
407
+ const onClickItem = (item) => {
408
+ if (onClick && (!funcItemReadOnly || (funcItemReadOnly && !funcItemReadOnly(item)))) {
409
+ onClick(item);
410
+ }
411
+ };
412
+ return (react_2.default.createElement(react_2.default.Fragment, null,
413
+ isMainLoading ? (react_2.default.createElement(Skeleton_1.PHXSkeleton, { filterQty: typeLoading === null || typeLoading === void 0 ? void 0 : typeLoading.filterQty, reportQty: typeLoading === null || typeLoading === void 0 ? void 0 : typeLoading.reportQty, type: typeLoading.type })) : (react_2.default.createElement(react_2.default.Fragment, null,
414
+ title && react_2.default.createElement("div", { className: 'mb-4 text-sm font-semibold leading-5 text-gray-900' }, title),
415
+ react_2.default.createElement("div", { className: 'rounded-lg bg-white shadow-[0rem_.3125rem_.3125rem_-.15625rem_rgba(0,0,0,.03),0rem_.1875rem_.1875rem_-.09375rem_rgba(0,0,0,.02),0rem_.125rem_.125rem_-.0625rem_rgba(0,0,0,.02),0rem_.0625rem_.0625rem_-.03125rem_rgba(0,0,0,.03),0rem_.03125rem_.03125rem_0rem_rgba(0,0,0,.04),0rem_0rem_0rem_.0625rem_rgba(0,0,0,.06)] ring-1 ring-gray-200' },
416
+ react_2.default.createElement("div", { className: 'flex flex-col' },
417
+ (dataTable.length > 0 ||
418
+ (dataTable.length === 0 && isSearch) ||
419
+ (dataTable.length === 0 && isSelectSort) ||
420
+ (dataTable.length === 0 && isSort) ||
421
+ (dataTable.length === 0 && (sort === null || sort === void 0 ? void 0 : sort.enable))) && (react_2.default.createElement("div", { className: (0, types_1.classNames)(isSortEmpty && dataTable.length === 0 && !isSearch ? 'hidden' : 'min-w-full align-middle', (sort && sort.enable) || (search && search.enable) ? 'h-11' : '') },
422
+ react_2.default.createElement(react_1.Transition, { as: react_2.Fragment, enter: 'transition-[max-height,opacity] duration-300 ease-out overflow-hidden', enterFrom: 'max-h-0 opacity-0', enterTo: 'max-h-20 opacity-100', show: isSearch },
423
+ react_2.default.createElement("div", { className: (0, types_1.classNames)('flex flex-row items-center justify-center rounded-tl-lg rounded-tr-lg px-3 py-1 pl-5 ring-opacity-5', !sort || !sort.enable ? '' : '', searchDataResult.length === 0 && 'border-b', type === 'in-card' && 'bg-gray-50') },
424
+ react_2.default.createElement("div", { className: 'relative mr-2 w-11/12' },
425
+ react_2.default.createElement("input", { autoFocus: true, className: 'block w-full rounded-lg border-transparent bg-white py-1 text-xs hover:border hover:border-gray-500 focus:border-indigo-800 focus:bg-white focus:ring-indigo-800', id: 'search-value', name: 'search-value', onInput: searchChange, placeholder: timKiemPlacholder, type: 'text', value: searchValue })),
426
+ react_2.default.createElement("div", { className: 'flex w-14 justify-center pt-1' }, isSearchLoading ? react_2.default.createElement(Loading_1.PHXSpinner, null) : null),
427
+ react_2.default.createElement("div", null,
428
+ react_2.default.createElement("button", { className: 'inline-flex items-center rounded-lg border-gray-300 px-2 py-1 text-xs font-medium text-gray-700 hover:bg-gray-200', onClick: () => {
429
+ setIsSearch(false);
430
+ searchSetValue('');
431
+ params.delete(`search-${tableKey}`);
432
+ router.push(`?${params + ''}`, { scroll: false });
433
+ }, type: 'button' }, "Cancel")))),
434
+ react_2.default.createElement("div", { className: (0, types_1.classNames)((sort && sort.enable) || (search && search.enable)
435
+ ? `flex flex-row items-center rounded-tl-lg rounded-tr-lg px-3 pl-8 ${sort && sort.enable
436
+ ? `sm:justify-between ${dataTable.length === 0 || searchDataResult.length === 0 ? 'border-b' : ''}`
437
+ : 'sm:justify-end'} ${isSearch ? 'border-none py-1' : 'mb-2 py-1.5'}`
438
+ : '', isSearch && (!sort || !sort.enable) ? 'pointer-events-none opacity-0' : 'opacity-100', type === 'in-card' && 'bg-gray-50') },
439
+ sort && sort.enable ? (react_2.default.createElement(react_2.default.Fragment, null,
440
+ react_2.default.createElement(sort_1.default, { activeMenu: activeMenu, className: 'w-11/12', isSearch: isSearch, onChange: sortOnChange, onChangeSelect: sortSelectOnchange, selectArray: selectArray, sortList: sort.sortList }),
441
+ react_2.default.createElement("div", { className: 'flex justify-center lg:w-14' }, isSortLoading ? react_2.default.createElement(Loading_1.PHXSpinner, null) : null))) : null,
442
+ !isSearch && (search === null || search === void 0 ? void 0 : search.enable) && (react_2.default.createElement("div", { className: 'mr-3 flex justify-center' }, isChangePageLoading ? react_2.default.createElement(Loading_1.PHXSpinner, null) : null)),
443
+ search && search.enable && (react_2.default.createElement("div", { className: 'rounded-lg bg-white' }, !isSearch && (react_2.default.createElement("button", { className: 'ml-1 flex rounded-lg px-2 py-1 text-xs font-normal text-gray-900 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 active:bg-gray-200 active:pb-[0.2rem] active:pt-[0.3rem] active:shadow-[0rem_0.125rem_0.1rem_0rem_#0004_inset] sm:ml-0', onClick: () => setIsSearch(true), type: 'button' },
444
+ react_2.default.createElement(solid_1.MagnifyingGlassIcon, { className: 'h-4 w-4' })))))))),
445
+ dataTable.length > 0 || isSearch ? (react_2.default.createElement("div", { className: 'relative' }, searchDataResult.length > 0 && !isMainLoading ? (react_2.default.createElement("div", { className: '-my-2 overflow-x-auto' },
446
+ react_2.default.createElement("div", { className: (0, types_1.classNames)('min-w-full pb-2 align-middle ring-black ring-opacity-5', (search && search.enable) || (sort && sort.enable) ? '' : 'pt-0.5') },
447
+ react_2.default.createElement("div", { className: (0, types_1.classNames)('relative overflow-auto', (search && search.enable) || (sort && sort.enable)
448
+ ? 'ring-1 ring-black ring-opacity-5'
449
+ : 'mt-1.5') },
450
+ react_2.default.createElement(react_2.default.Fragment, null, selectedAllPeople && selectedAllPeople.enable ? (react_2.default.createElement(react_2.default.Fragment, null, selectedPeople.length > 0 && selectedAllPeople.title && (react_2.default.createElement("div", { className: 'absolute left-12 top-4 flex h-fit items-center space-x-3 bg-gray-50 sm:left-16' },
451
+ react_2.default.createElement(Button_1.PHXButton, { onClick: actionClickAll, secondary: true, size: 'micro' }, selectedAllPeople.title))))) : null),
452
+ react_2.default.createElement("table", { className: (0, types_1.classNames)('min-w-full divide-y divide-gray-300', fixedTableLayout ? 'table-fixed' : '', (search && search.enable) || (sort && sort.enable) ? 'border-t' : '') },
453
+ thHeaderComponent ? (react_2.default.createElement(react_2.default.Fragment, null, selectedAllPeople && selectedAllPeople.enable && isCustomHeaderSelected ? (react_2.default.createElement(react_2.default.Fragment, null, thHeaderComponent(react_2.default.createElement("th", { className: 'relative w-12 rounded-lg px-6 py-2.5 sm:w-16 sm:px-8', scope: 'col' },
454
+ react_2.default.createElement("input", { ref: checkbox, checked: checked, className: 'absolute left-4 top-1/2 -mt-2 block h-4 w-4 rounded border-[0.5px] border-gray-500 text-indigo-800 hover:cursor-pointer hover:bg-gray-100 focus:ring-transparent sm:left-6', onChange: toggleAll, type: 'checkbox' }))))) : (react_2.default.createElement(react_2.default.Fragment, null, thHeaderComponent)))) : (react_2.default.createElement("thead", null,
455
+ react_2.default.createElement(HeaderTable_1.default, { border: border, checkbox: checkbox, checked: checked, disableSpacing: disableSpacing, isCenterText: isCenterText, numericalOrder: numericalOrderDefault, selectedAllPeople: selectedAllPeople, thHeader: thHeader, toggleAll: toggleAll, lefts: lefts, refs: refs, stickyColumnNumber: stickyColumnNumber, selectedPeople: selectedPeople, stickyColumnNumberRight: stickyColumnNumberRight, rights: rights, refRights: refRights, search: search, tableKey: tableKey }))),
456
+ react_2.default.createElement("tbody", { className: 'divide-y divide-gray-200' }, searchValue === ''
457
+ ? dataTable.map((item, index) => (
458
+ // @ts-ignore
459
+ react_2.default.createElement("tr", { key: item.rowId, className: (0, types_1.classNames)(clickRow && !funcItemReadOnly ? 'hover:cursor-pointer hover:bg-gray-50' : '', renderInclude(item) && !(item === null || item === void 0 ? void 0 : item.entered_school) && (selectedAllPeople === null || selectedAllPeople === void 0 ? void 0 : selectedAllPeople.enable)
460
+ ? 'bg-gray-50'
461
+ : '', funcItemReadOnly && clickType === 'custom'
462
+ ? funcItemReadOnly(item)
463
+ ? ''
464
+ : 'hover:cursor-pointer hover:bg-gray-50'
465
+ : ''), onClick: () => {
466
+ if (clickRow) {
467
+ if (routerCondition) {
468
+ // eslint-disable-next-line no-unused-expressions
469
+ checkConditionRouter(item)
470
+ ? router.push(`${routerCondition.link}${item.rowId}`)
471
+ : router.push(`${editActionLink}${item.rowId}`);
472
+ }
473
+ else if (clickType === 'edit') {
474
+ router.push(`${editActionLink}${item.rowId}`);
475
+ }
476
+ else {
477
+ // @ts-ignore
478
+ onClickItem(item);
479
+ }
480
+ }
481
+ } }, thBody.map((bodyItem, bodyIndex) => (react_2.default.createElement(RowTable_1.RowTable, { key: bodyIndex, bodyIndex: bodyIndex, border: border, brSetSelectedPeople: brSetSelectedPeople, directDetail: directDetail, disableSpacing: disableSpacing, editActionLink: editActionLink, isCenterText: isCenterText, itemBody: item, numericalOrder: {
482
+ ...numericalOrderDefault,
483
+ order: numericalOderInPage * rowQuantity + index + 1,
484
+ }, onChange: onChange, selectedAllPeople: selectedAllPeople, selectedPeople: selectedPeople, thBody: thBody, thBodyComponent: thBodyComponent, thBodyFilter: thBodyFilter, lefts: lefts, stickyColumnNumber: stickyColumnNumber, stickyColumnNumberRight: stickyColumnNumberRight, rights: rights, hidePagination: hidePagination, dataTableAggregate: dataTable.length, itemIndex: index, tableKey: tableKey }))))))
485
+ : searchDataResult.map((item, index) => (
486
+ // @ts-ignore
487
+ react_2.default.createElement("tr", { key: item.rowId, className: (0, types_1.classNames)(clickRow && !funcItemReadOnly ? 'hover:cursor-pointer hover:bg-gray-50' : '', renderInclude(item) && !(item === null || item === void 0 ? void 0 : item.entered_school) && (selectedAllPeople === null || selectedAllPeople === void 0 ? void 0 : selectedAllPeople.enable)
488
+ ? 'bg-gray-50'
489
+ : '', funcItemReadOnly && clickType === 'custom'
490
+ ? funcItemReadOnly(item)
491
+ ? ''
492
+ : 'hover:cursor-pointer hover:bg-gray-50'
493
+ : '', hidePagination && index === searchDataResult.length - 1 && 'rounded-bl-lg'), onClick: () => {
494
+ if (clickRow) {
495
+ if (routerCondition) {
496
+ // eslint-disable-next-line no-unused-expressions
497
+ checkConditionRouter(item)
498
+ ? router.push(`${routerCondition.link}${item.rowId}`)
499
+ : router.push(`${editActionLink}${item.rowId}`);
500
+ }
501
+ else if (clickType === 'edit') {
502
+ router.push(`${editActionLink}${item.rowId}`);
503
+ }
504
+ else {
505
+ // @ts-ignore
506
+ onClickItem(item);
507
+ }
508
+ }
509
+ } }, thBody.map((bodyItem, bodyIndex) => (react_2.default.createElement(RowTable_1.RowTable, { key: bodyIndex, bodyIndex: bodyIndex, border: border, brSetSelectedPeople: brSetSelectedPeople, directDetail: directDetail, disableSpacing: disableSpacing, editActionLink: editActionLink, isCenterText: isCenterText, itemBody: item, numericalOrder: {
510
+ ...numericalOrderDefault,
511
+ order: numericalOderInPage * rowQuantity + index + 1,
512
+ }, onChange: onChange, selectedAllPeople: selectedAllPeople, selectedPeople: selectedPeople, thBody: thBody, thBodyComponent: thBodyComponent, thBodyFilter: thBodyFilter, lefts: lefts, stickyColumnNumber: stickyColumnNumber, stickyColumnNumberRight: stickyColumnNumberRight, rights: rights, hidePagination: hidePagination, dataTableAggregate: searchDataResult.length, itemIndex: index, tableKey: tableKey })))))))))))) : (react_2.default.createElement(EmptySearch_1.PHXEmptySearch, null)))) : (dataTable.length === 0 && isSearch) ||
513
+ (dataTable.length === 0 && isSelectSort) ||
514
+ (dataTable.length === 0 && isSort) ||
515
+ (dataTable.length === 0 && (sort === null || sort === void 0 ? void 0 : sort.enable)) ? (react_2.default.createElement(react_2.default.Fragment, null, enableEmptyStateAction ? react_2.default.createElement(EmptyStateAction_1.PHXEmptyStateAction, { ...emptyStateActionAttribute }) : react_2.default.createElement(EmptyRecord_1.PHXEmptyRecord, null))) : (react_2.default.createElement(react_2.default.Fragment, null, enableEmptyStateAction ? (react_2.default.createElement(EmptyStateAction_1.PHXEmptyStateAction, { ...emptyStateActionAttribute })) : completeState ? (react_2.default.createElement(CompleteState_1.PHXCompleteState, { title: completeStateTitle || 'Hoàn tất duyệt đơn!', description: completeStateDescription || 'Tất cả đơn đăng ký đã được duyệt.' })) : (react_2.default.createElement(EmptyRecord_1.PHXEmptyRecord, null))))),
516
+ dataTable.length > 0 && !hidePagination && (react_2.default.createElement("div", { className: 'flex items-center justify-between rounded-lg rounded-tl-none rounded-tr-none border-t border-gray-200 bg-[#F9FAFB] py-2 pl-7 pr-2' },
517
+ react_2.default.createElement(PaginaitonSelectedV5_1.default, { rowQuantity: rowQuantity, setIsChangeRowQty: setIsChangeRowQty, setRowQuantity: setRowQuantity, router: router, searchParams: params, tableKey: tableKey, setCurrentPage: setCurrentPage, setPagi: setPagi, paginationData: paginationData, setAfterRecord: setAfterRecord, setBeforeRecord: setBeforeRecord }),
518
+ react_2.default.createElement(PaginationV5_1.default, { count: count, currentPage: currentPage, handleChangePage: handleChangePage, pagination: pagination, router: router, rowQuantity: rowQuantity, totalPages: Math.ceil(count / rowQuantity), searchParams: params, tableKey: tableKey, setAfterRecord: setAfterRecord, setBeforeRecord: setBeforeRecord, pageInfo: pageInfo })))))),
519
+ (selectedAllPeople === null || selectedAllPeople === void 0 ? void 0 : selectedAllPeople.enable) && !(selectedAllPeople === null || selectedAllPeople === void 0 ? void 0 : selectedAllPeople.hideSelectedAction) && (react_2.default.createElement(SelectedAction_1.default, { selectedBtn: selectedBtn, selectedPeople: selectedPeople, slectedTitle: slectedTitle, toggleAll: toggleAll }))));
520
+ }
521
+ //# sourceMappingURL=TableV5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableV5.js","sourceRoot":"","sources":["../../../../src/components/TableV5/TableV5.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { ITargetGroupBuilderProps } from './type/target';
2
2
  import React from 'react';
3
- export declare const PHXFormTarget: ({ targetId }: ITargetGroupBuilderProps) => React.JSX.Element;
3
+ export declare const PHXFormTarget: ({ targetId, onLoading, onChange }: ITargetGroupBuilderProps) => React.JSX.Element;
@@ -16,7 +16,7 @@ import { PHXCheckbox } from '../Checkbox';
16
16
  import { PHXText } from '../Text/Text';
17
17
  import PHXToggle from '../PHXToggle/Toggle';
18
18
  import { useGetDataSelectTarget } from './hooks';
19
- export const PHXFormTarget = ({ targetId }) => {
19
+ export const PHXFormTarget = ({ targetId, onLoading, onChange }) => {
20
20
  var _a, _b, _c;
21
21
  const { clearErrors, control, formState: { errors }, register, setValue, watch, } = useFormContext();
22
22
  const [getDefaultLoading, setGetDefaultLoading] = useState(false);
@@ -33,6 +33,7 @@ export const PHXFormTarget = ({ targetId }) => {
33
33
  shouldValidate: false,
34
34
  shouldDirty: true,
35
35
  });
36
+ onChange === null || onChange === void 0 ? void 0 : onChange(newTargets);
36
37
  };
37
38
  useEffect(() => {
38
39
  register('target', {
@@ -104,6 +105,7 @@ export const PHXFormTarget = ({ targetId }) => {
104
105
  const getDefaultData = async () => {
105
106
  if (!targetId)
106
107
  return;
108
+ onLoading === null || onLoading === void 0 ? void 0 : onLoading(true);
107
109
  setGetDefaultLoading(true);
108
110
  try {
109
111
  const { data: { user_segment_target_by_pk: { school_year_id, target_by_roles }, }, } = await PHXClientQueryV3({
@@ -199,6 +201,7 @@ export const PHXFormTarget = ({ targetId }) => {
199
201
  }
200
202
  finally {
201
203
  setGetDefaultLoading(false);
204
+ onLoading === null || onLoading === void 0 ? void 0 : onLoading(false);
202
205
  }
203
206
  };
204
207
  useEffect(() => {