Skip to content

Commit 5712336

Browse files
committed
🐛 Fix pagination buttons not disabled when prop set + resolve errors when multiple paginate listen events are present
1 parent 0e9b6a3 commit 5712336

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

src/components/Carousel/Carousel.astro

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,11 @@ const style = visibleItems > 1
152152
listen('paginate', event => {
153153
const target = event.target
154154
const carousel = target.closest('section').querySelector('[data-id="w-carousel"] ul')
155+
156+
if (!carousel) {
157+
return
158+
}
159+
155160
const progress = target.closest('section').querySelector('.w-carousel-progress')
156161
const progressValue = (100 / (Number(target.dataset.totalPages) - 1))
157162
const visibleItems = Number(carousel.dataset.visibleItems) || 0

src/components/DataTable/DataTable.astro

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,10 @@ const hasPagination = data?.length && itemsPerPage
313313
.closest('section')
314314
.querySelector('table')
315315

316+
if (!table) {
317+
return
318+
}
319+
316320
const tableRows = Array.from(table.querySelectorAll('tbody tr') as NodeListOf<HTMLTableRowElement>)
317321

318322
table.dataset.page = event.page

src/components/Pagination/Pagination.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ const generatedPages = pages?.length
7171
<li>
7272
<Button
7373
disabled={disablePrevious || (calculatedCurrentPage === 1 && !previousLink)}
74-
href={previousLink}
74+
href={!disablePrevious ? previousLink : undefined}
7575
theme={theme}
7676
data-page="prev"
7777
>
@@ -103,7 +103,7 @@ const generatedPages = pages?.length
103103
<li>
104104
<Button
105105
disabled={disableNext || (calculatedCurrentPage === calculatedTotalPages && !nextLink)}
106-
href={nextLink}
106+
href={!disableNext ? nextLink : undefined}
107107
theme={theme}
108108
data-page="next"
109109
>

src/components/Pagination/Pagination.svelte

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@
8282
{:else}
8383
<li>
8484
<Button
85-
disabled={disablePrevious || (calculatedCurrentPage === 1 && !previousLink)}
86-
href={previousLink}
85+
disabled={(disablePrevious || (calculatedCurrentPage === 1 && !previousLink)) ? true : null}
86+
href={!disablePrevious ? previousLink : undefined}
8787
theme={theme}
8888
onClick={!(disablePrevious || (calculatedCurrentPage === 1 && !previousLink))
8989
? () => paginate('prev')
@@ -124,8 +124,8 @@
124124
{/if}
125125
<li>
126126
<Button
127-
disabled={disableNext || calculatedCurrentPage === calculatedTotalPages}
128-
href={nextLink}
127+
disabled={(disableNext || calculatedCurrentPage === calculatedTotalPages) ? true : null}
128+
href={!disableNext ? nextLink : undefined}
129129
theme={theme}
130130
onClick={!disableNext
131131
? () => paginate('next')

src/components/Pagination/Pagination.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ const Pagination = ({
100100
<li>
101101
<Button
102102
disabled={disablePrevious || (calculatedCurrentPage === 1 && !previousLink)}
103-
href={previousLink}
103+
href={!disablePrevious ? previousLink : undefined}
104104
theme={theme}
105105
onClick={!(disablePrevious || (calculatedCurrentPage === 1 && !previousLink))
106106
? () => paginate('prev')
@@ -140,7 +140,7 @@ const Pagination = ({
140140
<li>
141141
<Button
142142
disabled={disableNext || calculatedCurrentPage === calculatedTotalPages}
143-
href={nextLink}
143+
href={!disableNext ? nextLink : undefined}
144144
theme={theme}
145145
onClick={!disableNext
146146
? () => paginate('next')

0 commit comments

Comments
 (0)