From 1aad3153b584c53f738d0bf05948d8cc7be07b94 Mon Sep 17 00:00:00 2001 From: Bilux Date: Thu, 18 Nov 2021 16:41:33 +0100 Subject: [PATCH] Correct page number when dispatching update (#911) * Correct page number when dispatching update When in last page of data and the page size get changed to a bigger size the current page number will be out of range of total pages. This code will set the page number in range of total pages. * fix(pagination): page value should not exceed totalPages Co-authored-by: metonym --- src/Pagination/Pagination.svelte | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Pagination/Pagination.svelte b/src/Pagination/Pagination.svelte index 63171bd3..9587f5e4 100644 --- a/src/Pagination/Pagination.svelte +++ b/src/Pagination/Pagination.svelte @@ -70,7 +70,7 @@ /** Set an id for the top-level element */ export let id = "ccs-" + Math.random().toString(36); - import { createEventDispatcher } from "svelte"; + import { afterUpdate, createEventDispatcher } from "svelte"; import CaretLeft16 from "../icons/CaretLeft16.svelte"; import CaretRight16 from "../icons/CaretRight16.svelte"; import Button from "../Button/Button.svelte"; @@ -79,6 +79,12 @@ const dispatch = createEventDispatcher(); + afterUpdate(() => { + if (page > totalPages) { + page = totalPages; + } + }); + $: { if (typeof page !== "number") { page = Number(page);