feat: 下書きを自動保存するかどうかを設定できるように
This commit is contained in:
parent
d564bd73bc
commit
ab98d149a5
|
@ -706,6 +706,8 @@ function onDrop(ev: DragEvent): void {
|
||||||
function saveDraft(auto = true) {
|
function saveDraft(auto = true) {
|
||||||
if (props.instant || props.mock) return;
|
if (props.instant || props.mock) return;
|
||||||
|
|
||||||
|
if (auto && defaultStore.state.draftSavingBehavior !== 'auto') return;
|
||||||
|
|
||||||
if (!auto) {
|
if (!auto) {
|
||||||
// 手動での保存の場合は自動保存したものを削除した上で保存
|
// 手動での保存の場合は自動保存したものを削除した上で保存
|
||||||
noteDrafts.remove(draftType.value, $i.id, 'default', draftAuxId.value as string);
|
noteDrafts.remove(draftType.value, $i.id, 'default', draftAuxId.value as string);
|
||||||
|
@ -952,6 +954,18 @@ function cancel() {
|
||||||
emit('cancel');
|
emit('cancel');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function closed() {
|
||||||
|
if (defaultStore.state.draftSavingBehavior === 'manual' && text.value !== '') {
|
||||||
|
os.confirm({
|
||||||
|
type: 'question',
|
||||||
|
text: i18n.ts.saveConfirm,
|
||||||
|
}).then(({ canceled }) => {
|
||||||
|
if (canceled) return;
|
||||||
|
saveDraft(false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function insertMention() {
|
function insertMention() {
|
||||||
os.selectUser({ localOnly: localOnly.value, includeSelf: true }).then(user => {
|
os.selectUser({ localOnly: localOnly.value, includeSelf: true }).then(user => {
|
||||||
insertTextAtCursor(textareaEl.value, '@' + Misskey.acct.toString(user) + ' ');
|
insertTextAtCursor(textareaEl.value, '@' + Misskey.acct.toString(user) + ' ');
|
||||||
|
@ -1109,6 +1123,7 @@ onMounted(() => {
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
clear,
|
clear,
|
||||||
|
closed,
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ function onPosted() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function onModalClosed() {
|
function onModalClosed() {
|
||||||
|
form.value?.closed();
|
||||||
emit('closed');
|
emit('closed');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -101,8 +101,27 @@ export const defaultStore = markRaw(new Storage('base', {
|
||||||
defaultHomeNoteLocalOnly: {
|
defaultHomeNoteLocalOnly: {
|
||||||
where: 'account',
|
where: 'account',
|
||||||
default: false,
|
default: false,
|
||||||
|
}, defaultFollowersNoteLocalOnly: {
|
||||||
|
where: 'account',
|
||||||
|
default: false,
|
||||||
},
|
},
|
||||||
defaultFollowersNoteLocalOnly: {
|
draftSavingBehavior: {
|
||||||
|
where: 'account',
|
||||||
|
default: 'auto' as 'auto' | 'manual',
|
||||||
|
},
|
||||||
|
rememberNoteVisibility: {
|
||||||
|
where: 'account',
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
rememberReactionAcceptance: {
|
||||||
|
where: 'account',
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
defaultNoteVisibility: {
|
||||||
|
where: 'account',
|
||||||
|
default: 'home',
|
||||||
|
},
|
||||||
|
defaultNoteLocalOnly: {
|
||||||
where: 'account',
|
where: 'account',
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue