mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
28 lines
721 B
TypeScript
28 lines
721 B
TypeScript
import { defineComponent } from 'vue'
|
|
import type { DownloadVideoInputItem } from '../types'
|
|
import EpisodesPicker from './EpisodesPicker.vue'
|
|
|
|
export interface EpisodeItem {
|
|
key: string
|
|
title: string
|
|
isChecked: boolean
|
|
inputItem: DownloadVideoInputItem
|
|
durationText?: string
|
|
}
|
|
export const createEpisodesPicker = (
|
|
fetchEpisodeItems: (instance: any) => Promise<EpisodeItem[]>,
|
|
) =>
|
|
defineComponent({
|
|
computed: {
|
|
checkedInputItems(): DownloadVideoInputItem[] {
|
|
return (this.$refs.picker as any).checkedInputItems
|
|
},
|
|
},
|
|
render(createElement) {
|
|
return createElement(EpisodesPicker, {
|
|
props: { api: fetchEpisodeItems },
|
|
ref: 'picker',
|
|
})
|
|
},
|
|
})
|