This commit is contained in:
syuilo 2025-05-13 20:42:27 +09:00
parent 052df8fb1a
commit 41f149a35e
5 changed files with 21 additions and 5 deletions

View File

@ -659,6 +659,12 @@ useGlobalEvent('driveFilesMoved', (files, to) => {
}
});
useGlobalEvent('driveFilesDeleted', (files) => {
for (const f of files) {
filesPaginator.removeItem(f.id);
}
});
useGlobalEvent('driveFoldersMoved', (folders, to) => {
for (const f of folders) {
foldersPaginator.removeItem(f.id);

View File

@ -43,6 +43,7 @@ import { misskeyApi } from '@/utility/misskey-api.js';
import { i18n } from '@/i18n.js';
import { prefer } from '@/preferences.js';
import { DI } from '@/di.js';
import { globalEvents } from '@/events.js';
const Sortable = defineAsyncComponent(() => import('vuedraggable').then(x => x.default));
@ -81,12 +82,13 @@ async function detachAndDeleteMedia(file: Misskey.entities.DriveFile) {
type: 'warning',
text: i18n.tsx.driveFileDeleteConfirm({ name: file.name }),
});
if (canceled) return;
os.apiWithDialog('drive/files/delete', {
await os.apiWithDialog('drive/files/delete', {
fileId: file.id,
});
globalEvents.emit('driveFilesDeleted', [file]);
}
function toggleSensitive(file) {

View File

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

View File

@ -81,6 +81,7 @@ import * as os from '@/os.js';
import { misskeyApi } from '@/utility/misskey-api.js';
import { useRouter } from '@/router.js';
import { selectDriveFolder } from '@/utility/drive.js';
import { globalEvents } from '@/events.js';
const router = useRouter();
@ -199,12 +200,14 @@ async function deleteFile() {
type: 'warning',
text: i18n.tsx.driveFileDeleteConfirm({ name: file.value.name }),
});
if (canceled) return;
await os.apiWithDialog('drive/files/delete', {
fileId: file.value.id,
});
globalEvents.emit('driveFilesDeleted', [file.value]);
router.push('/my/drive');
}

View File

@ -12,6 +12,7 @@ import { copyToClipboard } from '@/utility/copy-to-clipboard.js';
import * as os from '@/os.js';
import { misskeyApi } from '@/utility/misskey-api.js';
import { prefer } from '@/preferences.js';
import { globalEvents } from '@/events.js';
function rename(file: Misskey.entities.DriveFile) {
os.inputText({
@ -78,11 +79,13 @@ async function deleteFile(file: Misskey.entities.DriveFile) {
type: 'warning',
text: i18n.tsx.driveFileDeleteConfirm({ name: file.name }),
});
if (canceled) return;
misskeyApi('drive/files/delete', {
await os.apiWithDialog('drive/files/delete', {
fileId: file.id,
});
globalEvents.emit('driveFilesDeleted', [file]);
}
export function getDriveFileMenu(file: Misskey.entities.DriveFile, folder?: Misskey.entities.DriveFolder | null): MenuItem[] {