fix(pagination): remove update event from afterUpdate cycle

It should only be called when page, pageSize values change after mounting.
This commit is contained in:
Eric Liu 2020-09-14 07:23:02 -07:00
commit 458d1b52c8

View file

@ -91,7 +91,7 @@
*/ */
export let id = "ccs-" + Math.random().toString(36); export let id = "ccs-" + Math.random().toString(36);
import { afterUpdate, createEventDispatcher } from "svelte"; import { createEventDispatcher } from "svelte";
import CaretLeft16 from "carbon-icons-svelte/lib/CaretLeft16"; import CaretLeft16 from "carbon-icons-svelte/lib/CaretLeft16";
import CaretRight16 from "carbon-icons-svelte/lib/CaretRight16"; import CaretRight16 from "carbon-icons-svelte/lib/CaretRight16";
import { Button } from "../Button"; import { Button } from "../Button";
@ -99,10 +99,6 @@
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
afterUpdate(() => {
dispatch("update", { pageSize, page });
});
$: { $: {
if (typeof page !== "number") { if (typeof page !== "number") {
page = Number(page); page = Number(page);
@ -111,6 +107,8 @@
if (typeof pageSize !== "number") { if (typeof pageSize !== "number") {
pageSize = Number(pageSize); pageSize = Number(pageSize);
} }
dispatch("update", { pageSize, page });
} }
$: totalPages = Math.max(Math.ceil(totalItems / pageSize), 1); $: totalPages = Math.max(Math.ceil(totalItems / pageSize), 1);
$: selectItems = Array.from({ length: totalPages }, (_, i) => i); $: selectItems = Array.from({ length: totalPages }, (_, i) => i);