返回 slidev
overview.ts
根目录 / packages / client / logic / overview.ts
1 import { computed, ref } from 'vue'
2 import { slides } from './slides'
3
4 // To have same format(.value) as max, wrap it with ref.
5 const min = ref(1)
6 const max = computed(() => slides.value.length)
7
8 export const currentOverviewPage = ref(0)
9 export const overviewRowCount = ref(0)
10
11 export function prevOverviewPage() {
12 if (currentOverviewPage.value > min.value)
13 currentOverviewPage.value -= 1
14 }
15
16 export function nextOverviewPage() {
17 if (currentOverviewPage.value < max.value)
18 currentOverviewPage.value += 1
19 }
20
21 export function upOverviewPage() {
22 if (currentOverviewPage.value > min.value) {
23 let current = currentOverviewPage.value - overviewRowCount.value
24 if (current < min.value)
25 current = min.value
26
27 currentOverviewPage.value = current
28 }
29 }
30
31 export function downOverviewPage() {
32 if (currentOverviewPage.value < max.value) {
33 let current = currentOverviewPage.value + overviewRowCount.value
34 if (current > max.value)
35 current = max.value
36
37 currentOverviewPage.value = current
38 }
39 }
40
40 lines TYPESCRIPT