summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkFormDialog.vue
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-05-31 12:26:07 +0100
committerdakkar <dakkar@thenautilus.net>2024-05-31 12:26:07 +0100
commit3372e0ffe153d996bdf04ae3d834633d0ba18fca (patch)
tree7a46452030b2a2ca24d1ea9158fa5f0f75000245 /packages/frontend/src/components/MkFormDialog.vue
parentMerge branch 'develop' into future (diff)
parentBump version to 2024.5.0-rc.9 (diff)
downloadsharkey-3372e0ffe153d996bdf04ae3d834633d0ba18fca.tar.gz
sharkey-3372e0ffe153d996bdf04ae3d834633d0ba18fca.tar.bz2
sharkey-3372e0ffe153d996bdf04ae3d834633d0ba18fca.zip
Merge remote-tracking branch 'misskey/release/2024.5.0' into future
Diffstat (limited to 'packages/frontend/src/components/MkFormDialog.vue')
-rw-r--r--packages/frontend/src/components/MkFormDialog.vue12
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/frontend/src/components/MkFormDialog.vue b/packages/frontend/src/components/MkFormDialog.vue
index deedc5badb..124f114111 100644
--- a/packages/frontend/src/components/MkFormDialog.vue
+++ b/packages/frontend/src/components/MkFormDialog.vue
@@ -21,8 +21,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSpacer :marginMin="20" :marginMax="32">
<div v-if="Object.keys(form).filter(item => !form[item].hidden).length > 0" class="_gaps_m">
- <template v-for="(v, k) in Object.fromEntries(Object.entries(form).filter(([_, v]) => !('hidden' in v) || 'hidden' in v && !v.hidden))">
- <MkInput v-if="v.type === 'number'" v-model="values[k]" type="number" :step="v.step || 1">
+ <template v-for="(v, k) in Object.fromEntries(Object.entries(form))">
+ <template v-if="typeof v.hidden == 'function' ? v.hidden(values) : v.hidden"></template>
+ <MkInput v-else-if="v.type === 'number'" v-model="values[k]" type="number" :step="v.step || 1">
<template #label><span v-text="v.label || k"></span><span v-if="v.required === false"> ({{ i18n.ts.optional }})</span></template>
<template v-if="v.description" #caption>{{ v.description }}</template>
</MkInput>
@@ -53,6 +54,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkButton v-else-if="v.type === 'button'" @click="v.action($event, values)">
<span v-text="v.content || k"></span>
</MkButton>
+ <XFile
+ v-else-if="v.type === 'drive-file'"
+ :fileId="v.defaultFileId"
+ :validate="async f => !v.validate || await v.validate(f)"
+ @update="f => values[k] = f"
+ />
</template>
</div>
<div v-else class="_fullinfo">
@@ -72,6 +79,7 @@ import MkSelect from './MkSelect.vue';
import MkRange from './MkRange.vue';
import MkButton from './MkButton.vue';
import MkRadios from './MkRadios.vue';
+import XFile from './MkFormDialog.file.vue';
import type { Form } from '@/scripts/form.js';
import MkModalWindow from '@/components/MkModalWindow.vue';
import { i18n } from '@/i18n.js';