mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-08-28 03:27:54 +08:00
fix: close plugin filter menus after selection
This commit is contained in:
@@ -222,6 +222,23 @@ function toggleMarketFilter(field: 'author' | 'label' | 'repo', value: string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 关闭插件市场过滤菜单。
|
||||||
|
function closeMarketFilterMenu() {
|
||||||
|
filterMarketPluginDialog.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 选择插件市场排序项并关闭过滤菜单。
|
||||||
|
function selectMarketSort(value: string) {
|
||||||
|
activeSort.value = value
|
||||||
|
closeMarketFilterMenu()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提交插件市场关键字过滤并关闭过滤菜单。
|
||||||
|
function submitMarketNameFilter(event: KeyboardEvent) {
|
||||||
|
if (event.isComposing) return
|
||||||
|
closeMarketFilterMenu()
|
||||||
|
}
|
||||||
|
|
||||||
// 插件过滤条件
|
// 插件过滤条件
|
||||||
const installedFilter = ref(null)
|
const installedFilter = ref(null)
|
||||||
|
|
||||||
@@ -237,6 +254,29 @@ const filterInstalledPluginDialog = ref(false)
|
|||||||
// 插件市场过滤窗口
|
// 插件市场过滤窗口
|
||||||
const filterMarketPluginDialog = ref(false)
|
const filterMarketPluginDialog = ref(false)
|
||||||
|
|
||||||
|
// 关闭已安装插件过滤菜单。
|
||||||
|
function closeInstalledFilterMenu() {
|
||||||
|
filterInstalledPluginDialog.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 切换已启用插件过滤条件并关闭过滤菜单。
|
||||||
|
function toggleEnabledInstalledFilter() {
|
||||||
|
enabledFilter.value = !enabledFilter.value
|
||||||
|
closeInstalledFilterMenu()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 切换有新版本插件过滤条件并关闭过滤菜单。
|
||||||
|
function toggleHasUpdateInstalledFilter() {
|
||||||
|
hasUpdateFilter.value = !hasUpdateFilter.value
|
||||||
|
closeInstalledFilterMenu()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提交已安装插件关键字过滤并关闭过滤菜单。
|
||||||
|
function submitInstalledNameFilter(event: KeyboardEvent) {
|
||||||
|
if (event.isComposing) return
|
||||||
|
closeInstalledFilterMenu()
|
||||||
|
}
|
||||||
|
|
||||||
// 作者过滤项
|
// 作者过滤项
|
||||||
const authorFilterOptions = ref<string[]>([])
|
const authorFilterOptions = ref<string[]>([])
|
||||||
// 标签过滤项
|
// 标签过滤项
|
||||||
@@ -1480,13 +1520,14 @@ function onDragStartPlugin(evt: any) {
|
|||||||
variant="outlined"
|
variant="outlined"
|
||||||
hide-details
|
hide-details
|
||||||
clearable
|
clearable
|
||||||
|
@keyup.enter="submitInstalledNameFilter"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<VDivider class="mt-2" />
|
<VDivider class="mt-2" />
|
||||||
<!-- 快捷筛选 -->
|
<!-- 快捷筛选 -->
|
||||||
<VList density="compact" class="px-2 py-1">
|
<VList density="compact" class="px-2 py-1">
|
||||||
<VListSubheader>{{ t('common.filter') }}</VListSubheader>
|
<VListSubheader>{{ t('common.filter') }}</VListSubheader>
|
||||||
<VListItem :active="enabledFilter" @click="enabledFilter = !enabledFilter" density="compact">
|
<VListItem :active="enabledFilter" @click="toggleEnabledInstalledFilter" density="compact">
|
||||||
<template #prepend>
|
<template #prepend>
|
||||||
<VIcon icon="mdi-play-circle" color="success" size="small" />
|
<VIcon icon="mdi-play-circle" color="success" size="small" />
|
||||||
</template>
|
</template>
|
||||||
@@ -1495,7 +1536,7 @@ function onDragStartPlugin(evt: any) {
|
|||||||
<VIcon v-if="enabledFilter" icon="mdi-check" color="primary" size="small" />
|
<VIcon v-if="enabledFilter" icon="mdi-check" color="primary" size="small" />
|
||||||
</template>
|
</template>
|
||||||
</VListItem>
|
</VListItem>
|
||||||
<VListItem :active="hasUpdateFilter" @click="hasUpdateFilter = !hasUpdateFilter" density="compact">
|
<VListItem :active="hasUpdateFilter" @click="toggleHasUpdateInstalledFilter" density="compact">
|
||||||
<template #prepend>
|
<template #prepend>
|
||||||
<VIcon icon="mdi-arrow-up-circle" color="info" size="small" />
|
<VIcon icon="mdi-arrow-up-circle" color="info" size="small" />
|
||||||
</template>
|
</template>
|
||||||
@@ -1528,6 +1569,7 @@ function onDragStartPlugin(evt: any) {
|
|||||||
variant="outlined"
|
variant="outlined"
|
||||||
hide-details
|
hide-details
|
||||||
clearable
|
clearable
|
||||||
|
@keyup.enter="submitMarketNameFilter"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<VDivider class="mt-2" />
|
<VDivider class="mt-2" />
|
||||||
@@ -1538,7 +1580,7 @@ function onDragStartPlugin(evt: any) {
|
|||||||
v-for="option in sortOptions"
|
v-for="option in sortOptions"
|
||||||
:key="option.value"
|
:key="option.value"
|
||||||
:active="(activeSort || 'count') === option.value"
|
:active="(activeSort || 'count') === option.value"
|
||||||
@click="activeSort = option.value"
|
@click="selectMarketSort(option.value)"
|
||||||
density="compact"
|
density="compact"
|
||||||
>
|
>
|
||||||
<VListItemTitle>{{ option.title }}</VListItemTitle>
|
<VListItemTitle>{{ option.title }}</VListItemTitle>
|
||||||
|
|||||||
Reference in New Issue
Block a user