next-helios-fe 1.4.36 → 1.4.37

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-helios-fe",
3
- "version": "1.4.36",
3
+ "version": "1.4.37",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -78,6 +78,7 @@ export const Table: TableComponentProps = ({
78
78
  actionColumn,
79
79
  }) => {
80
80
  const paginationRef = useRef<HTMLDivElement>(null);
81
+ const [excludedColumn, setExcludedColumn] = useState<string[]>([]);
81
82
  const [search, setSearch] = useState<string>("");
82
83
  const [filter, setFilter] = useState<any[]>([]);
83
84
  const [categoryFilter, setCategoryFilter] = useState<any[]>([]);
@@ -93,7 +94,6 @@ export const Table: TableComponentProps = ({
93
94
  column: "",
94
95
  order: "",
95
96
  });
96
- const [excluded, setExcluded] = useState<string[]>([]);
97
97
 
98
98
  const height =
99
99
  options?.height === "fit"
@@ -118,10 +118,6 @@ export const Table: TableComponentProps = ({
118
118
  }
119
119
  }, [selected]);
120
120
 
121
- useEffect(() => {
122
- setPage(1);
123
- }, [search, filter, categoryFilter]);
124
-
125
121
  useEffect(() => {
126
122
  setFilter(
127
123
  header.map((item) => {
@@ -180,12 +176,14 @@ export const Table: TableComponentProps = ({
180
176
  if (search === "") {
181
177
  return item;
182
178
  } else if (
183
- header.some((headerItem) => {
184
- return item[headerItem.key as keyof typeof item]
185
- ?.toString()
186
- ?.toLowerCase()
187
- ?.includes(search.toLowerCase());
188
- })
179
+ header
180
+ .filter((item) => !excludedColumn.includes(item.key))
181
+ .some((headerItem) => {
182
+ return item[headerItem.key as keyof typeof item]
183
+ ?.toString()
184
+ ?.toLowerCase()
185
+ ?.includes(search.toLowerCase());
186
+ })
189
187
  ) {
190
188
  return item;
191
189
  }
@@ -200,6 +198,7 @@ export const Table: TableComponentProps = ({
200
198
  })
201
199
  .filter((item) => {
202
200
  return header
201
+ .filter((item) => !excludedColumn.includes(item.key))
203
202
  .filter((headerItem) => headerItem.type === "category")
204
203
  .every((headerItem) => {
205
204
  return categoryFilter.includes(
@@ -229,8 +228,18 @@ export const Table: TableComponentProps = ({
229
228
  }
230
229
  }, [header, data, filter, categoryFilter, search, sortBy]);
231
230
 
231
+ useEffect(() => {
232
+ if (page > Math.ceil(filteredData.length / maxRow)) {
233
+ setPage(1);
234
+ paginationRef.current?.scrollTo({
235
+ left: 0,
236
+ behavior: "smooth",
237
+ });
238
+ }
239
+ }, [filteredData]);
240
+
232
241
  const headerArr = header
233
- ?.filter((item) => !excluded.includes(item.key))
242
+ ?.filter((item) => !excludedColumn.includes(item.key))
234
243
  ?.map((item) => {
235
244
  return (
236
245
  <th
@@ -403,7 +412,7 @@ export const Table: TableComponentProps = ({
403
412
  </td>
404
413
  )}
405
414
  {header
406
- ?.filter((headerItem) => !excluded.includes(headerItem.key))
415
+ ?.filter((headerItem) => !excludedColumn.includes(headerItem.key))
407
416
  ?.map((headerItem) => {
408
417
  if (headerItem?.render) {
409
418
  return (
@@ -504,12 +513,12 @@ export const Table: TableComponentProps = ({
504
513
  <Dropdown.Item
505
514
  key={item.key}
506
515
  onClick={() => {
507
- if (excluded.includes(item.key)) {
508
- setExcluded(
509
- excluded.filter((prev) => prev !== item.key)
516
+ if (excludedColumn.includes(item.key)) {
517
+ setExcludedColumn(
518
+ excludedColumn.filter((prev) => prev !== item.key)
510
519
  );
511
520
  } else {
512
- setExcluded([...excluded, item.key]);
521
+ setExcludedColumn([...excludedColumn, item.key]);
513
522
  }
514
523
  }}
515
524
  >
@@ -517,7 +526,7 @@ export const Table: TableComponentProps = ({
517
526
  <Form.Checkbox
518
527
  options={{ disableHover: true }}
519
528
  label={item.title}
520
- checked={!excluded.includes(item.key)}
529
+ checked={!excludedColumn.includes(item.key)}
521
530
  />
522
531
  </div>
523
532
  </Dropdown.Item>