This commit is contained in:
syuilo 2025-05-13 20:37:10 +09:00
parent 7725107bc3
commit 052df8fb1a
4 changed files with 14 additions and 2 deletions

View File

@ -166,7 +166,7 @@ function onDrop(ev: DragEvent) {
folderId: droppedFolder.id, folderId: droppedFolder.id,
parentId: props.folder.id, parentId: props.folder.id,
}).then(() => { }).then(() => {
// noop globalEvents.emit('driveFoldersMoved', [droppedFolder], props.folder);
}).catch(err => { }).catch(err => {
switch (err.code) { switch (err.code) {
case 'RECURSIVE_NESTING': case 'RECURSIVE_NESTING':

View File

@ -113,6 +113,8 @@ function onDrop(ev: DragEvent) {
misskeyApi('drive/folders/update', { misskeyApi('drive/folders/update', {
folderId: droppedFolder.id, folderId: droppedFolder.id,
parentId: props.folder ? props.folder.id : null, parentId: props.folder ? props.folder.id : null,
}).then(() => {
globalEvents.emit('driveFoldersMoved', [droppedFolder], props.folder ?? null);
}); });
} }
} }

View File

@ -348,7 +348,7 @@ function onDrop(ev: DragEvent) {
folderId: droppedFolder.id, folderId: droppedFolder.id,
parentId: folder.value ? folder.value.id : null, parentId: folder.value ? folder.value.id : null,
}).then(() => { }).then(() => {
// noop globalEvents.emit('driveFoldersMoved', [droppedFolder], folder.value);
}).catch(err => { }).catch(err => {
switch (err.code) { switch (err.code) {
case 'RECURSIVE_NESTING': case 'RECURSIVE_NESTING':
@ -659,6 +659,15 @@ useGlobalEvent('driveFilesMoved', (files, to) => {
} }
}); });
useGlobalEvent('driveFoldersMoved', (folders, to) => {
for (const f of folders) {
foldersPaginator.removeItem(f.id);
}
if ((to?.id ?? null) === (folder.value?.id ?? null)) {
foldersPaginator.unshiftItems(folders);
}
});
let connection: Misskey.ChannelConnection<Misskey.Channels['drive']> | null = null; let connection: Misskey.ChannelConnection<Misskey.Channels['drive']> | null = null;
onMounted(() => { onMounted(() => {

View File

@ -15,6 +15,7 @@ type Events = {
noteDeleted: (noteId: Misskey.entities.Note['id']) => void; noteDeleted: (noteId: Misskey.entities.Note['id']) => void;
driveFileCreated: (file: Misskey.entities.DriveFile) => void; driveFileCreated: (file: Misskey.entities.DriveFile) => void;
driveFilesMoved: (files: Misskey.entities.DriveFile[], to: Misskey.entities.DriveFolder | null) => void; driveFilesMoved: (files: Misskey.entities.DriveFile[], to: Misskey.entities.DriveFolder | null) => void;
driveFoldersMoved: (folders: Misskey.entities.DriveFolder[], to: Misskey.entities.DriveFolder | null) => void;
}; };
export const globalEvents = new EventEmitter<Events>(); export const globalEvents = new EventEmitter<Events>();