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