[ExtensionPanel] Add disable all / enable all actions (#2017)

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Chenlei Hu
2024-12-22 18:57:58 -05:00
committed by GitHub
parent f4c523f188
commit b81ccc0507
6 changed files with 52 additions and 1 deletions

View File

@@ -33,9 +33,19 @@
<Column field="name" :header="$t('g.extensionName')" sortable></Column>
<Column
:pt="{
headerCell: 'flex items-center justify-end',
bodyCell: 'flex items-center justify-end'
}"
>
<template #header>
<Button
icon="pi pi-ellipsis-h"
text
severity="secondary"
@click="menu.show($event)"
/>
<ContextMenu ref="menu" :model="contextMenuItems" />
</template>
<template #body="slotProps">
<ToggleSwitch
:disabled="
@@ -58,6 +68,7 @@ import DataTable from 'primevue/datatable'
import Column from 'primevue/column'
import ToggleSwitch from 'primevue/toggleswitch'
import Button from 'primevue/button'
import ContextMenu from 'primevue/contextmenu'
import Message from 'primevue/message'
import { FilterMatchMode } from '@primevue/core/api'
import PanelTemplate from './PanelTemplate.vue'
@@ -104,8 +115,38 @@ const updateExtensionStatus = () => {
])
}
const enableAllExtensions = () => {
extensionStore.extensions.forEach((ext) => {
editingEnabledExtensions.value[ext.name] = true
})
updateExtensionStatus()
}
const disableAllExtensions = () => {
extensionStore.extensions.forEach((ext) => {
if (extensionStore.isExtensionAlwaysEnabled(ext.name)) return
editingEnabledExtensions.value[ext.name] = false
})
updateExtensionStatus()
}
const applyChanges = () => {
// Refresh the page to apply changes
window.location.reload()
}
const menu = ref<InstanceType<typeof ContextMenu>>()
const contextMenuItems = [
{
label: 'Enable All',
icon: 'pi pi-check',
command: enableAllExtensions
},
{
label: 'Disable All',
icon: 'pi pi-times',
command: disableAllExtensions
}
]
</script>

View File

@@ -59,7 +59,9 @@
"searchFailedMessage": "We couldn't find any settings matching your search. Try adjusting your search terms.",
"noTasksFound": "No Tasks Found",
"noTasksFoundMessage": "There are no tasks in the queue.",
"newFolder": "New Folder"
"newFolder": "New Folder",
"enableAll": "Enable All",
"disableAll": "Disable All"
},
"color": {
"default": "Default",

View File

@@ -77,8 +77,10 @@
"delete": "削除",
"deprecated": "非推奨",
"devices": "デバイス",
"disableAll": "すべて無効にする",
"download": "ダウンロード",
"empty": "空",
"enableAll": "すべて有効にする",
"error": "エラー",
"experimental": "ベータ",
"extensionName": "拡張機能名",

View File

@@ -77,8 +77,10 @@
"delete": "삭제",
"deprecated": "사용 중단",
"devices": "장치",
"disableAll": "모두 비활성화",
"download": "다운로드",
"empty": "비어 있음",
"enableAll": "모두 활성화",
"error": "오류",
"experimental": "베타",
"extensionName": "확장 이름",

View File

@@ -77,8 +77,10 @@
"delete": "Удалить",
"deprecated": "УСТАРЕЛО",
"devices": "Устройства",
"disableAll": "Отключить все",
"download": "Скачать",
"empty": "Пусто",
"enableAll": "Включить все",
"error": "Ошибка",
"experimental": "БЕТА",
"extensionName": "Имя расширения",

View File

@@ -77,8 +77,10 @@
"delete": "删除",
"deprecated": "已弃用",
"devices": "设备",
"disableAll": "禁用全部",
"download": "下载",
"empty": "空",
"enableAll": "启用全部",
"error": "错误",
"experimental": "测试版",
"extensionName": "扩展名称",