mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-05 15:36:49 +08:00
feat: 添加完成事件触发
为CustomRuleCard、FilterRuleGroupCard、NotificationChannelCard和AccountSettingDirectory组件添加done事件触发,以便在完成相关操作后通知其他组件。
This commit is contained in:
@@ -21,7 +21,7 @@ const props = defineProps({
|
|||||||
const $toast = useToast()
|
const $toast = useToast()
|
||||||
|
|
||||||
// 定义触发的自定义事件
|
// 定义触发的自定义事件
|
||||||
const emit = defineEmits(['close', 'change'])
|
const emit = defineEmits(['close', 'change', 'done'])
|
||||||
|
|
||||||
// 规则详情弹窗
|
// 规则详情弹窗
|
||||||
const ruleInfoDialog = ref(false)
|
const ruleInfoDialog = ref(false)
|
||||||
@@ -67,12 +67,12 @@ function saveRuleInfo() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// ID已存在
|
// ID已存在
|
||||||
if (ruleId.value !== props.rule.id && props.rules.find((rule) => rule.id === ruleId.value)) {
|
if (ruleId.value !== props.rule.id && props.rules.find(rule => rule.id === ruleId.value)) {
|
||||||
$toast.error(`规则ID【${ruleId.value}】已存在,请替换`)
|
$toast.error(`规则ID【${ruleId.value}】已存在,请替换`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 规则名称已存在
|
// 规则名称已存在
|
||||||
if (ruleName.value !== props.rule.name && props.rules.find((rule) => rule.name === ruleName.value)) {
|
if (ruleName.value !== props.rule.name && props.rules.find(rule => rule.name === ruleName.value)) {
|
||||||
$toast.error(`规则名称【${ruleName.value}】已存在,请替换`)
|
$toast.error(`规则名称【${ruleName.value}】已存在,请替换`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -81,6 +81,7 @@ function saveRuleInfo() {
|
|||||||
ruleInfo.value.id = ruleId.value
|
ruleInfo.value.id = ruleId.value
|
||||||
ruleInfo.value.name = ruleName.value
|
ruleInfo.value.name = ruleName.value
|
||||||
emit('change', ruleInfo.value)
|
emit('change', ruleInfo.value)
|
||||||
|
emit('done')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 按钮点击
|
// 按钮点击
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ interface FilterCard {
|
|||||||
const $toast = useToast()
|
const $toast = useToast()
|
||||||
|
|
||||||
// 定义触发的自定义事件
|
// 定义触发的自定义事件
|
||||||
const emit = defineEmits(['close', 'change'])
|
const emit = defineEmits(['close', 'change', 'done'])
|
||||||
|
|
||||||
// 规则详情弹窗
|
// 规则详情弹窗
|
||||||
const groupInfoDialog = ref(false)
|
const groupInfoDialog = ref(false)
|
||||||
@@ -198,6 +198,7 @@ function savegroupInfo() {
|
|||||||
.map(card => card.rules.join('&'))
|
.map(card => card.rules.join('&'))
|
||||||
.join('>')
|
.join('>')
|
||||||
emit('change', groupInfo.value)
|
emit('change', groupInfo.value)
|
||||||
|
emit('done')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 按钮点击
|
// 按钮点击
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ const props = defineProps({
|
|||||||
})
|
})
|
||||||
|
|
||||||
// 定义触发的自定义事件
|
// 定义触发的自定义事件
|
||||||
const emit = defineEmits(['close', 'change'])
|
const emit = defineEmits(['close', 'change', 'done'])
|
||||||
|
|
||||||
// 通知详情弹窗
|
// 通知详情弹窗
|
||||||
const notificationInfoDialog = ref(false)
|
const notificationInfoDialog = ref(false)
|
||||||
@@ -66,6 +66,7 @@ function saveNotificationInfo() {
|
|||||||
notificationInfoDialog.value = false
|
notificationInfoDialog.value = false
|
||||||
notificationInfo.value.name = notificationName.value
|
notificationInfo.value.name = notificationName.value
|
||||||
emit('change', notificationInfo.value)
|
emit('change', notificationInfo.value)
|
||||||
|
emit('done')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据存储类型选择图标
|
// 根据存储类型选择图标
|
||||||
|
|||||||
@@ -61,6 +61,12 @@ async function saveStorages() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 修改后生效
|
||||||
|
async function updatedStorage() {
|
||||||
|
await saveStorages()
|
||||||
|
loadStorages()
|
||||||
|
}
|
||||||
|
|
||||||
// 查询目录
|
// 查询目录
|
||||||
async function loadDirectories() {
|
async function loadDirectories() {
|
||||||
try {
|
try {
|
||||||
@@ -141,7 +147,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 }">
|
||||||
<StorageCard :storage="element" @done="loadStorages" />
|
<StorageCard :storage="element" @done="updatedStorage" />
|
||||||
</template>
|
</template>
|
||||||
</draggable>
|
</draggable>
|
||||||
</VCardText>
|
</VCardText>
|
||||||
|
|||||||
@@ -145,7 +145,11 @@ 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 }">
|
||||||
<NotificationChannelCard :notification="element" @close="removeNotification(element)" />
|
<NotificationChannelCard
|
||||||
|
:notification="element"
|
||||||
|
@close="removeNotification(element)"
|
||||||
|
@done="saveNotificationSetting"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
</draggable>
|
</draggable>
|
||||||
</VCardText>
|
</VCardText>
|
||||||
|
|||||||
@@ -181,7 +181,9 @@ onMounted(() => {
|
|||||||
:rule="element"
|
:rule="element"
|
||||||
:rules="customRules"
|
:rules="customRules"
|
||||||
@close="removeCustomRule(element)"
|
@close="removeCustomRule(element)"
|
||||||
@change="onRuleChange" />
|
@change="onRuleChange"
|
||||||
|
@done="saveCustomRules"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
</draggable>
|
</draggable>
|
||||||
</VCardText>
|
</VCardText>
|
||||||
@@ -215,6 +217,7 @@ onMounted(() => {
|
|||||||
:categories="mediaCategories"
|
:categories="mediaCategories"
|
||||||
@close="removeFilterRuleGroup(element)"
|
@close="removeFilterRuleGroup(element)"
|
||||||
@change="changeRuleGroup"
|
@change="changeRuleGroup"
|
||||||
|
@done="saveFilterRuleGroups"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</draggable>
|
</draggable>
|
||||||
|
|||||||
@@ -223,6 +223,7 @@ onDeactivated(() => {
|
|||||||
:downloaders="downloaders"
|
:downloaders="downloaders"
|
||||||
@close="removeDownloader(element)"
|
@close="removeDownloader(element)"
|
||||||
@change="onDownloaderChange"
|
@change="onDownloaderChange"
|
||||||
|
@done="saveDownloaderSetting"
|
||||||
:allow-refresh="isRequest"
|
:allow-refresh="isRequest"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@@ -272,6 +273,7 @@ onDeactivated(() => {
|
|||||||
:mediaservers="mediaServers"
|
:mediaservers="mediaServers"
|
||||||
@close="removeMediaServer(element)"
|
@close="removeMediaServer(element)"
|
||||||
@change="onMediaServerChange"
|
@change="onMediaServerChange"
|
||||||
|
@done="saveMediaServerSetting"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</draggable>
|
</draggable>
|
||||||
|
|||||||
Reference in New Issue
Block a user