summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-12-30 14:32:40 +0900
committerGitHub <noreply@github.com>2025-12-30 14:32:40 +0900
commit4285303c8155dd91be7dcbb865d5e8f7cb0e1c71 (patch)
tree51a193c90401ada45f25921e4efdc07b46095ac5 /packages/frontend/src/components
parentenhance(frontend): ウィジェットの設定画面を改良 (#17033) (diff)
downloadmisskey-4285303c8155dd91be7dcbb865d5e8f7cb0e1c71.tar.gz
misskey-4285303c8155dd91be7dcbb865d5e8f7cb0e1c71.tar.bz2
misskey-4285303c8155dd91be7dcbb865d5e8f7cb0e1c71.zip
fix(frontend): follow-up of #17033 (#17047)
* wip * fix * ref -> reactive * tweak throttle threshold * tweak throttle threshold * rss設定にはmanualSaveを使用するように * Update MkWidgetSettingsDialog.vue --------- Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/MkForm.vue6
-rw-r--r--packages/frontend/src/components/MkWidgetSettingsDialog.vue11
2 files changed, 5 insertions, 12 deletions
diff --git a/packages/frontend/src/components/MkForm.vue b/packages/frontend/src/components/MkForm.vue
index 750ffa77df..711aa611c3 100644
--- a/packages/frontend/src/components/MkForm.vue
+++ b/packages/frontend/src/components/MkForm.vue
@@ -7,15 +7,15 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-if="Object.keys(form).filter(item => !form[item].hidden).length > 0" class="_gaps_m">
<template v-for="v, k in 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">
+ <MkInput v-else-if="v.type === 'number'" v-model="values[k]" type="number" :step="v.step || 1" :manualSave="v.manualSave">
<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>
- <MkInput v-else-if="v.type === 'string' && !v.multiline" v-model="values[k]" type="text" :mfmAutocomplete="v.treatAsMfm">
+ <MkInput v-else-if="v.type === 'string' && !v.multiline" v-model="values[k]" type="text" :mfmAutocomplete="v.treatAsMfm" :manualSave="v.manualSave">
<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>
- <MkTextarea v-else-if="v.type === 'string' && v.multiline" v-model="values[k]" :mfmAutocomplete="v.treatAsMfm" :mfmPreview="v.treatAsMfm">
+ <MkTextarea v-else-if="v.type === 'string' && v.multiline" v-model="values[k]" :mfmAutocomplete="v.treatAsMfm" :mfmPreview="v.treatAsMfm" :manualSave="v.manualSave">
<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>
</MkTextarea>
diff --git a/packages/frontend/src/components/MkWidgetSettingsDialog.vue b/packages/frontend/src/components/MkWidgetSettingsDialog.vue
index cebbe93986..0dc26e054d 100644
--- a/packages/frontend/src/components/MkWidgetSettingsDialog.vue
+++ b/packages/frontend/src/components/MkWidgetSettingsDialog.vue
@@ -29,7 +29,6 @@ SPDX-License-Identifier: AGPL-3.0-only
>
<component
:is="`widget-${widgetName}`"
- :key="currentId"
:widget="{ name: widgetName, id: '__PREVIEW__', data: settings }"
></component>
</div>
@@ -48,13 +47,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<script setup lang="ts">
import { reactive, useTemplateRef, ref, computed, watch, onBeforeUnmount, onMounted } from 'vue';
+import MkPreviewWithControls from './MkPreviewWithControls.vue';
+import type { Form } from '@/utility/form.js';
import { deepClone } from '@/utility/clone.js';
-import { genId } from '@/utility/id.js';
import { i18n } from '@/i18n.js';
import MkModalWindow from '@/components/MkModalWindow.vue';
-import MkPreviewWithControls from './MkPreviewWithControls.vue';
import MkForm from '@/components/MkForm.vue';
-import type { Form } from '@/utility/form.js';
const props = defineProps<{
widgetName: string;
@@ -71,11 +69,6 @@ const emit = defineEmits<{
const dialog = useTemplateRef('dialog');
const settings = reactive<Record<string, any>>(deepClone(props.currentSettings));
-const currentId = ref(genId());
-
-watch(settings, () => {
- currentId.value = genId();
-});
function save() {
emit('saved', deepClone(settings));