mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-18 19:46:36 +00:00
feat(pagination): dispatch change event
Whenever the user interacts with Pagination, `change` is dispatched
This commit is contained in:
parent
29a83c325c
commit
7e64ee57de
5 changed files with 29 additions and 9 deletions
|
@ -2683,10 +2683,11 @@ None.
|
|||
### Events
|
||||
|
||||
| Event name | Type | Detail |
|
||||
| :--------------------- | :--------- | :----------------------------------------------- |
|
||||
| update | dispatched | <code>{ pageSize: number; page: number; }</code> |
|
||||
| :--------------------- | :--------- | :------------------------------------------------ |
|
||||
| change | dispatched | <code>{ page?: number; pageSize?: number }</code> |
|
||||
| click:button--previous | dispatched | <code>{ page: number; }</code> |
|
||||
| click:button--next | dispatched | <code>{ page: number; }</code> |
|
||||
| update | dispatched | <code>{ pageSize: number; page: number; }</code> |
|
||||
|
||||
## `PaginationNav`
|
||||
|
||||
|
|
|
@ -8405,8 +8405,8 @@
|
|||
"events": [
|
||||
{
|
||||
"type": "dispatched",
|
||||
"name": "update",
|
||||
"detail": "{ pageSize: number; page: number; }"
|
||||
"name": "change",
|
||||
"detail": "{ page?: number; pageSize?: number }"
|
||||
},
|
||||
{
|
||||
"type": "dispatched",
|
||||
|
@ -8417,6 +8417,11 @@
|
|||
"type": "dispatched",
|
||||
"name": "click:button--next",
|
||||
"detail": "{ page: number; }"
|
||||
},
|
||||
{
|
||||
"type": "dispatched",
|
||||
"name": "update",
|
||||
"detail": "{ pageSize: number; page: number; }"
|
||||
}
|
||||
],
|
||||
"typedefs": [],
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
<script>
|
||||
/**
|
||||
* @event {{ pageSize: number; page: number; }} update
|
||||
* @event {{ page?: number; pageSize?: number }} change - Dispatched after any user interaction
|
||||
* @event {{ page: number; }} click:button--previous
|
||||
* @event {{ page: number; }} click:button--next
|
||||
* @event {{ pageSize: number; page: number; }} update
|
||||
*/
|
||||
|
||||
/** Specify the current page index */
|
||||
|
@ -109,6 +110,9 @@
|
|||
hideLabel
|
||||
noLabel
|
||||
inline
|
||||
on:change="{() => {
|
||||
dispatch('change', { pageSize });
|
||||
}}"
|
||||
bind:selected="{pageSize}"
|
||||
>
|
||||
{#each pageSizes as size, i (size)}
|
||||
|
@ -136,6 +140,10 @@
|
|||
labelText="Page number, of {totalPages} pages"
|
||||
inline
|
||||
hideLabel
|
||||
on:input="{() => console.log('select input event')}"
|
||||
on:change="{() => {
|
||||
dispatch('change', { page });
|
||||
}}"
|
||||
bind:selected="{page}"
|
||||
>
|
||||
{#each selectItems as size, i (size)}
|
||||
|
@ -161,6 +169,7 @@
|
|||
on:click="{() => {
|
||||
page--;
|
||||
dispatch('click:button--previous', { page });
|
||||
dispatch('change', { page });
|
||||
}}"
|
||||
/>
|
||||
<Button
|
||||
|
@ -176,6 +185,7 @@
|
|||
on:click="{() => {
|
||||
page++;
|
||||
dispatch('click:button--next', { page });
|
||||
dispatch('change', { page });
|
||||
}}"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
<Pagination
|
||||
totalItems="{102}"
|
||||
pageSizes="{[10, 15, 20]}"
|
||||
on:change="{(e) => {
|
||||
console.log(e.detail); // { pageSize?: number, page?: number }
|
||||
}}"
|
||||
on:update="{(e) => {
|
||||
console.log(e.detail); // { pageSize: number; page: number; }
|
||||
}}"
|
||||
|
|
3
types/Pagination/Pagination.svelte.d.ts
vendored
3
types/Pagination/Pagination.svelte.d.ts
vendored
|
@ -103,9 +103,10 @@ export interface PaginationProps
|
|||
export default class Pagination extends SvelteComponentTyped<
|
||||
PaginationProps,
|
||||
{
|
||||
update: CustomEvent<{ pageSize: number; page: number }>;
|
||||
change: CustomEvent<{ page?: number; pageSize?: number }>;
|
||||
["click:button--previous"]: CustomEvent<{ page: number }>;
|
||||
["click:button--next"]: CustomEvent<{ page: number }>;
|
||||
update: CustomEvent<{ pageSize: number; page: number }>;
|
||||
},
|
||||
{}
|
||||
> {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue