diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-06-29 15:11:25 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-06-29 15:11:25 +0900 |
| commit | f1deb89e348eb8f1a39b51e33a0ae33d59529feb (patch) | |
| tree | 2e92a7a21a1bf377719e1b125a9ac44bc14a529e /packages/frontend/src/components/MkNoteDraftsDialog.vue | |
| parent | feat(backend): クリップ内でノートを検索できるように (diff) | |
| download | misskey-f1deb89e348eb8f1a39b51e33a0ae33d59529feb.tar.gz misskey-f1deb89e348eb8f1a39b51e33a0ae33d59529feb.tar.bz2 misskey-f1deb89e348eb8f1a39b51e33a0ae33d59529feb.zip | |
refactor(frontend): improve pagination implementation
Diffstat (limited to 'packages/frontend/src/components/MkNoteDraftsDialog.vue')
| -rw-r--r-- | packages/frontend/src/components/MkNoteDraftsDialog.vue | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/packages/frontend/src/components/MkNoteDraftsDialog.vue b/packages/frontend/src/components/MkNoteDraftsDialog.vue index eb103a8423..7d41740264 100644 --- a/packages/frontend/src/components/MkNoteDraftsDialog.vue +++ b/packages/frontend/src/components/MkNoteDraftsDialog.vue @@ -18,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts.drafts }} ({{ currentDraftsCount }}/{{ $i?.policies.noteDraftLimit }}) </template> <div class="_spacer"> - <MkPagination ref="pagingEl" :pagination="paging" withControl> + <MkPagination :paginator="paginator" withControl> <template #empty> <MkResult type="empty" :text="i18n.ts._drafts.noDrafts"/> </template> @@ -100,9 +100,8 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script lang="ts" setup> -import { ref, shallowRef, useTemplateRef } from 'vue'; +import { ref, shallowRef, markRaw } from 'vue'; import * as Misskey from 'misskey-js'; -import type { PagingCtx } from '@/composables/use-pagination.js'; import MkButton from '@/components/MkButton.vue'; import MkPagination from '@/components/MkPagination.vue'; import MkModalWindow from '@/components/MkModalWindow.vue'; @@ -111,6 +110,7 @@ import { i18n } from '@/i18n.js'; import * as os from '@/os.js'; import { $i } from '@/i.js'; import { misskeyApi } from '@/utility/misskey-api'; +import { Paginator } from '@/utility/paginator.js'; const emit = defineEmits<{ (ev: 'restore', draft: Misskey.entities.NoteDraft): void; @@ -118,12 +118,9 @@ const emit = defineEmits<{ (ev: 'closed'): void; }>(); -const paging = { - endpoint: 'notes/drafts/list', +const paginator = markRaw(new Paginator('notes/drafts/list', { limit: 10, -} satisfies PagingCtx; - -const pagingComponent = useTemplateRef('pagingEl'); +})); const currentDraftsCount = ref(0); misskeyApi('notes/drafts/count').then((count) => { @@ -151,7 +148,7 @@ async function deleteDraft(draft: Misskey.entities.NoteDraft) { if (canceled) return; os.apiWithDialog('notes/drafts/delete', { draftId: draft.id }).then(() => { - pagingComponent.value?.paginator.reload(); + paginator.reload(); }); } </script> |