File size: 994 Bytes
4d70170 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<script lang="ts">
import type { PropType } from 'vue'
import { computed, defineComponent } from 'vue'
import type { PluginPermission } from '@vue-devtools/shared-utils'
import { hasPluginPermission, setPluginPermission } from '@vue-devtools/shared-utils'
export default defineComponent({
props: {
pluginId: {
type: String,
required: true,
},
permission: {
type: String as PropType<PluginPermission>,
required: true,
},
label: {
type: String,
required: true,
},
},
setup(props) {
const model = computed({
get() {
return hasPluginPermission(props.pluginId, props.permission)
},
set(value: boolean) {
setPluginPermission(props.pluginId, props.permission, value)
},
})
return {
model,
}
},
})
</script>
<template>
<VueSwitch
v-model="model"
class="right w-full hover:bg-green-50 dark:hover:bg-green-900"
>
{{ label }}
</VueSwitch>
</template>
|