mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-21 21:35:28 +02:00
fix(frontend): popupのemit型が正しく利用できるように修正 (#16826)
* fix(frontend): popupのemit型が正しく利用できるように修正 * fix: revert unnecessary code (for testing purpose) * fix lint * fix type errors * fix types * add comment * fix * fix * fix: OverloadToUnionの仕組みを変更 * add comments, clean up * fix lint * fix types * clean up [ci skip] * fix * add comments [ci skip]
This commit is contained in:
@@ -213,10 +213,11 @@ export class Autocomplete {
|
||||
const _y = ref(y);
|
||||
const _q = ref(q);
|
||||
|
||||
const { dispose } = await popup(defineAsyncComponent(() => import('@/components/MkAutocomplete.vue')), {
|
||||
const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkAutocomplete.vue')), {
|
||||
textarea: this.textarea,
|
||||
close: this.close,
|
||||
type: type,
|
||||
//@ts-expect-error popupは今のところジェネリック型のコンポーネントに対応していない
|
||||
q: _q,
|
||||
x: _x,
|
||||
y: _y,
|
||||
|
||||
@@ -301,14 +301,26 @@ export async function createCroppedImageDriveFileFromImageDriveFile(imageDriveFi
|
||||
});
|
||||
}
|
||||
|
||||
export async function selectDriveFolder(initialFolder: Misskey.entities.DriveFolder['id'] | null): Promise<(Misskey.entities.DriveFolder | null)[]> {
|
||||
export async function selectDriveFolder(initialFolder: Misskey.entities.DriveFolder['id'] | null): Promise<{
|
||||
canceled: false;
|
||||
folders: (Misskey.entities.DriveFolder | null)[];
|
||||
} | {
|
||||
canceled: true;
|
||||
folders: undefined;
|
||||
}> {
|
||||
return new Promise((resolve, reject) => {
|
||||
let dispose: () => void;
|
||||
os.popupAsyncWithDialog(import('@/components/MkDriveFolderSelectDialog.vue').then(x => x.default), {
|
||||
initialFolder,
|
||||
}, {
|
||||
done: folders => {
|
||||
resolve(folders);
|
||||
resolve(folders == null ? {
|
||||
canceled: true,
|
||||
folders: undefined,
|
||||
} : {
|
||||
canceled: false,
|
||||
folders,
|
||||
});
|
||||
},
|
||||
closed: () => dispose(),
|
||||
}).then(d => dispose = d.dispose, reject);
|
||||
|
||||
@@ -44,10 +44,11 @@ async function describe(file: Misskey.entities.DriveFile) {
|
||||
}
|
||||
|
||||
function move(file: Misskey.entities.DriveFile) {
|
||||
selectDriveFolder(null).then(folder => {
|
||||
selectDriveFolder(null).then(({ canceled, folders }) => {
|
||||
if (canceled) return;
|
||||
misskeyApi('drive/files/update', {
|
||||
fileId: file.id,
|
||||
folderId: folder[0] ? folder[0].id : null,
|
||||
folderId: folders[0] ? folders[0].id : null,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user