diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-05-21 06:31:51 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-05-21 06:31:51 +0900 |
| commit | 5f741ac46eaadce0b3ef2da7bfbeab2fc3a57e44 (patch) | |
| tree | 3327e9df8f9feb846576f8329bddadeb51666c1f /src/client/app/common/views/components | |
| parent | Fix (diff) | |
| download | misskey-5f741ac46eaadce0b3ef2da7bfbeab2fc3a57e44.tar.gz misskey-5f741ac46eaadce0b3ef2da7bfbeab2fc3a57e44.tar.bz2 misskey-5f741ac46eaadce0b3ef2da7bfbeab2fc3a57e44.zip | |
Refactoring
Diffstat (limited to 'src/client/app/common/views/components')
| -rw-r--r-- | src/client/app/common/views/components/index.ts | 2 | ||||
| -rw-r--r-- | src/client/app/common/views/components/ui/pagination.vue | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/client/app/common/views/components/index.ts b/src/client/app/common/views/components/index.ts index 65e689c896..d5392fb8cd 100644 --- a/src/client/app/common/views/components/index.ts +++ b/src/client/app/common/views/components/index.ts @@ -45,6 +45,7 @@ import uiSelect from './ui/select.vue'; import uiInfo from './ui/info.vue'; import uiMargin from './ui/margin.vue'; import uiHr from './ui/hr.vue'; +import uiPagination from './ui/pagination.vue'; import formButton from './ui/form/button.vue'; import formRadio from './ui/form/radio.vue'; @@ -93,5 +94,6 @@ Vue.component('ui-select', uiSelect); Vue.component('ui-info', uiInfo); Vue.component('ui-margin', uiMargin); Vue.component('ui-hr', uiHr); +Vue.component('ui-pagination', uiPagination); Vue.component('form-button', formButton); Vue.component('form-radio', formRadio); diff --git a/src/client/app/common/views/components/ui/pagination.vue b/src/client/app/common/views/components/ui/pagination.vue new file mode 100644 index 0000000000..67aa89d369 --- /dev/null +++ b/src/client/app/common/views/components/ui/pagination.vue @@ -0,0 +1,36 @@ +<template> +<div class="mwermpua" v-if="!fetching"> + <sequential-entrance animation="entranceFromTop" delay="25"> + <slot :items="items"></slot> + </sequential-entrance> + <div class="more" v-if="more"> + <ui-button @click="fetchMore()">{{ $t('@.load-more') }}</ui-button> + </div> +</div> +</template> + +<script lang="ts"> +import Vue from 'vue'; +import paging from '../../../scripts/paging'; + +export default Vue.extend({ + mixins: [ + paging({ + captureWindowScroll: false, + }), + ], + + props: { + pagination: { + required: true + }, + }, +}); +</script> + +<style lang="stylus" scoped> +.mwermpua + > .more + margin-top 16px + +</style> |