diff options
Diffstat (limited to 'src/client/components/token-generate-window.vue')
| -rw-r--r-- | src/client/components/token-generate-window.vue | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/src/client/components/token-generate-window.vue b/src/client/components/token-generate-window.vue index 51358d71bc..b46bb67b0f 100644 --- a/src/client/components/token-generate-window.vue +++ b/src/client/components/token-generate-window.vue @@ -1,36 +1,43 @@ <template> -<x-window ref="window" :width="400" :height="450" :no-padding="true" @closed="() => { $emit('closed'); destroyDom(); }" :with-ok-button="true" :ok-button-disabled="false" @ok="ok()" :can-close="false"> +<XModalWindow ref="dialog" + :width="400" + :height="450" + :with-ok-button="true" + :ok-button-disabled="false" + :can-close="false" + @close="$refs.dialog.close()" + @closed="$emit('closed')" + @ok="ok()" +> <template #header>{{ title || $t('generateAccessToken') }}</template> - <div class="ugkkpisj"> - <div v-if="information"> - <mk-info warn>{{ information }}</mk-info> - </div> - <div> - <mk-input v-model="name">{{ $t('name') }}</mk-input> - </div> - <div> - <div style="margin-bottom: 16px;"><b>{{ $t('permission') }}</b></div> - <mk-button inline @click="disableAll">{{ $t('disableAll') }}</mk-button> - <mk-button inline @click="enableAll">{{ $t('enableAll') }}</mk-button> - <mk-switch v-for="kind in (initialPermissions || kinds)" :key="kind" v-model="permissions[kind]">{{ $t(`_permissions.${kind}`) }}</mk-switch> - </div> + <div v-if="information" class="_section"> + <MkInfo warn>{{ information }}</MkInfo> </div> -</x-window> + <div class="_section"> + <MkInput v-model:value="name">{{ $t('name') }}</MkInput> + </div> + <div class="_section"> + <div style="margin-bottom: 16px;"><b>{{ $t('permission') }}</b></div> + <MkButton inline @click="disableAll">{{ $t('disableAll') }}</MkButton> + <MkButton inline @click="enableAll">{{ $t('enableAll') }}</MkButton> + <MkSwitch v-for="kind in (initialPermissions || kinds)" :key="kind" v-model:value="permissions[kind]">{{ $t(`_permissions.${kind}`) }}</MkSwitch> + </div> +</XModalWindow> </template> <script lang="ts"> -import Vue from 'vue'; +import { defineComponent } from 'vue'; import { kinds } from '../../misc/api-permissions'; -import XWindow from './window.vue'; +import XModalWindow from '@/components/ui/modal-window.vue'; import MkInput from './ui/input.vue'; import MkTextarea from './ui/textarea.vue'; import MkSwitch from './ui/switch.vue'; import MkButton from './ui/button.vue'; import MkInfo from './ui/info.vue'; -export default Vue.extend({ +export default defineComponent({ components: { - XWindow, + XModalWindow, MkInput, MkTextarea, MkSwitch, @@ -61,6 +68,8 @@ export default Vue.extend({ } }, + emits: ['done', 'closed'], + data() { return { name: this.initialName, @@ -72,22 +81,22 @@ export default Vue.extend({ created() { if (this.initialPermissions) { for (const kind of this.initialPermissions) { - Vue.set(this.permissions, kind, true); + this.permissions[kind] = true; } } else { for (const kind of this.kinds) { - Vue.set(this.permissions, kind, false); + this.permissions[kind] = false; } } }, methods: { ok() { - this.$emit('ok', { + this.$emit('done', { name: this.name, permissions: Object.keys(this.permissions).filter(p => this.permissions[p]) }); - this.$refs.window.close(); + this.$refs.dialog.close(); }, disableAll() { @@ -104,12 +113,3 @@ export default Vue.extend({ } }); </script> - -<style lang="scss" scoped> -.ugkkpisj { - > div { - padding: 24px; - border-top: solid 1px var(--divider); - } -} -</style> |