mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-05 15:36:49 +08:00
feat: Add allowRefresh prop to DownloaderCard component
This commit is contained in:
@@ -12,6 +12,11 @@ const props = defineProps({
|
|||||||
type: Object as PropType<DownloaderConf>,
|
type: Object as PropType<DownloaderConf>,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
|
// 是否允许刷新数据
|
||||||
|
allowRefresh: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
// 定义触发的自定义事件
|
// 定义触发的自定义事件
|
||||||
@@ -43,6 +48,9 @@ const downloaderInfo = ref<DownloaderConf>({
|
|||||||
|
|
||||||
// 调用API查询下载器数据
|
// 调用API查询下载器数据
|
||||||
async function loadDownloaderInfo() {
|
async function loadDownloaderInfo() {
|
||||||
|
if (!props.allowRefresh) {
|
||||||
|
return
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
const res: DownloaderInfo = await api.get('dashboard/downloader', {
|
const res: DownloaderInfo = await api.get('dashboard/downloader', {
|
||||||
params: {
|
params: {
|
||||||
@@ -99,7 +107,6 @@ function onClose() {
|
|||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
if (props.downloader.enabled) {
|
if (props.downloader.enabled) {
|
||||||
await loadDownloaderInfo()
|
await loadDownloaderInfo()
|
||||||
timeoutTimer = setTimeout(loadDownloaderInfo, 3000)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ const SystemSettings = ref({
|
|||||||
APP_DOMAIN: '',
|
APP_DOMAIN: '',
|
||||||
})
|
})
|
||||||
|
|
||||||
// 从 provide 中获取全局设置
|
// 是否发送请求的总开关
|
||||||
const globalSettings: any = inject('globalSettings')
|
const isRequest = ref(true)
|
||||||
|
|
||||||
// 选中的媒体服务器
|
// 选中的媒体服务器
|
||||||
const mediaServers = ref<MediaServerConf[]>([])
|
const mediaServers = ref<MediaServerConf[]>([])
|
||||||
@@ -149,6 +149,14 @@ onMounted(() => {
|
|||||||
loadMediaServerSetting()
|
loadMediaServerSetting()
|
||||||
loadSystemSettings()
|
loadSystemSettings()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onActivated(async () => {
|
||||||
|
isRequest.value = true
|
||||||
|
})
|
||||||
|
|
||||||
|
onDeactivated(() => {
|
||||||
|
isRequest.value = false
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -197,7 +205,7 @@ onMounted(() => {
|
|||||||
:component-data="{ 'class': 'grid gap-3 grid-app-card' }"
|
:component-data="{ 'class': 'grid gap-3 grid-app-card' }"
|
||||||
>
|
>
|
||||||
<template #item="{ element }">
|
<template #item="{ element }">
|
||||||
<DownloaderCard :downloader="element" @close="removeDownloader(element)" @change="onDownloaderChange" />
|
<DownloaderCard :downloader="element" @close="removeDownloader(element)" @change="onDownloaderChange" :allow-refresh="isRequest" />
|
||||||
</template>
|
</template>
|
||||||
</draggable>
|
</draggable>
|
||||||
</VCardText>
|
</VCardText>
|
||||||
|
|||||||
Reference in New Issue
Block a user