next-helios-fe 1.4.14 → 1.4.16

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.14",
3
+ "version": "1.4.16",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -113,6 +113,10 @@ export const Table: TableComponentProps = ({
113
113
  }
114
114
  }, [selected]);
115
115
 
116
+ useEffect(() => {
117
+ setPage(1);
118
+ }, [search, filter, categoryFilter]);
119
+
116
120
  useEffect(() => {
117
121
  setFilter(
118
122
  header.map((item) => {
@@ -125,7 +129,7 @@ export const Table: TableComponentProps = ({
125
129
  .map((item) => {
126
130
  data
127
131
  .map((dataItem) => dataItem[item.key as keyof typeof dataItem])
128
- .sort((a, b) => a.localeCompare(b))
132
+ .sort((a, b) => (a || "").localeCompare(b || ""))
129
133
  .filter((value, index, self) => self.indexOf(value) === index)
130
134
  .map((value) => {
131
135
  if (!categoryFilter.includes(value)) {
@@ -183,7 +187,7 @@ export const Table: TableComponentProps = ({
183
187
  })
184
188
  ?.filter((item) => {
185
189
  return filter.every((filterItem) => {
186
- return item[filterItem.key as keyof typeof item]
190
+ return (item[filterItem.key as keyof typeof item] || "")
187
191
  ?.toString()
188
192
  ?.toLowerCase()
189
193
  ?.includes(filterItem.value.toLowerCase());
@@ -280,7 +284,7 @@ export const Table: TableComponentProps = ({
280
284
  (dataItem) =>
281
285
  dataItem[item.key as keyof typeof dataItem]
282
286
  )
283
- .sort((a, b) => a.localeCompare(b))
287
+ .sort((a, b) => (a || "").localeCompare(b || ""))
284
288
  .filter(
285
289
  (value, index, self) => self.indexOf(value) === index
286
290
  )
@@ -646,8 +650,10 @@ export const Table: TableComponentProps = ({
646
650
  <span className="hidden md:block text-sm text-slate-400">{`Showing ${
647
651
  (page - 1) * maxRow + 1
648
652
  } to ${
649
- page * maxRow > data.length ? data.length : page * maxRow
650
- } of ${data.length} entries`}</span>
653
+ page * maxRow > filteredData.length
654
+ ? filteredData.length
655
+ : page * maxRow
656
+ } of ${filteredData.length} entries`}</span>
651
657
  <div className="flex items-center gap-2 text-xs">
652
658
  <button
653
659
  type="button"
@@ -678,29 +684,29 @@ export const Table: TableComponentProps = ({
678
684
  ref={paginationRef}
679
685
  className="flex gap-2 max-w-20 overflow-auto [&::-webkit-scrollbar]:hidden"
680
686
  >
681
- {Array.from({ length: Math.ceil(data.length / maxRow) }).map(
682
- (_, index) => {
683
- return (
684
- <button
685
- key={index}
686
- id={`pagination-page-${index}`}
687
- type="button"
688
- className="flex justify-center items-center min-w-9 h-9 border rounded-md select-none hover:bg-secondary-light disabled:bg-primary-transparent disabled:text-primary"
689
- disabled={page === index + 1}
690
- onClick={() => {
691
- setPage(index + 1);
692
- }}
693
- >
694
- {index + 1}
695
- </button>
696
- );
697
- }
698
- )}
687
+ {Array.from({
688
+ length: Math.ceil(filteredData.length / maxRow),
689
+ }).map((_, index) => {
690
+ return (
691
+ <button
692
+ key={index}
693
+ id={`pagination-page-${index}`}
694
+ type="button"
695
+ className="flex justify-center items-center min-w-9 h-9 border rounded-md select-none hover:bg-secondary-light disabled:bg-primary-transparent disabled:text-primary"
696
+ disabled={page === index + 1}
697
+ onClick={() => {
698
+ setPage(index + 1);
699
+ }}
700
+ >
701
+ {index + 1}
702
+ </button>
703
+ );
704
+ })}
699
705
  </div>
700
706
  <button
701
707
  type="button"
702
708
  className="hidden md:flex justify-center items-center min-w-9 h-9 border rounded-md bg-secondary-bg hover:bg-secondary-light disabled:bg-secondary-light disabled:text-slate-400 disabled:pointer-events-none"
703
- disabled={data.length <= page * maxRow}
709
+ disabled={filteredData.length <= page * maxRow}
704
710
  onClick={() => {
705
711
  setPage((prev) => prev + 1);
706
712
  handleOnNextClick();
@@ -711,9 +717,9 @@ export const Table: TableComponentProps = ({
711
717
  <button
712
718
  type="button"
713
719
  className="flex justify-center items-center min-w-9 h-9 border rounded-md bg-secondary-bg hover:bg-secondary-light disabled:bg-secondary-light disabled:text-slate-400 disabled:pointer-events-none"
714
- disabled={data.length <= page * maxRow}
720
+ disabled={filteredData.length <= page * maxRow}
715
721
  onClick={() => {
716
- setPage(Math.ceil(data.length / maxRow));
722
+ setPage(Math.ceil(filteredData.length / maxRow));
717
723
  paginationRef.current?.scrollTo({
718
724
  left: paginationRef.current.scrollWidth,
719
725
  behavior: "smooth",