wip
This commit is contained in:
parent
01976c02fb
commit
292d004169
|
@ -44,6 +44,7 @@ import { copyToClipboard } from '@/utility/copy-to-clipboard.js';
|
|||
import { prefer } from '@/preferences.js';
|
||||
import { globalEvents } from '@/events.js';
|
||||
import { checkDragDataType, getDragData, setDragData } from '@/drag-and-drop.js';
|
||||
import { selectDriveFolder } from '@/utility/drive.js';
|
||||
|
||||
const props = withDefaults(defineProps<{
|
||||
folder: Misskey.entities.DriveFolder;
|
||||
|
@ -220,7 +221,7 @@ function rename() {
|
|||
}
|
||||
|
||||
function move() {
|
||||
os.selectDriveFolder().then(folder => {
|
||||
selectDriveFolder(null).then(folder => {
|
||||
if (folder[0] && folder[0].id === props.folder.id) return;
|
||||
|
||||
misskeyApi('drive/folders/update', {
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
import { markRaw, ref, defineAsyncComponent, nextTick } from 'vue';
|
||||
import { EventEmitter } from 'eventemitter3';
|
||||
import * as Misskey from 'misskey-js';
|
||||
import { getProxiedImageUrl } from './utility/media-proxy.js';
|
||||
import type { Component, Ref } from 'vue';
|
||||
import type { ComponentProps as CP } from 'vue-component-type-helpers';
|
||||
import type { Form, GetFormResultType } from '@/utility/form.js';
|
||||
|
@ -593,21 +592,6 @@ export async function selectUser(opts: { includeSelf?: boolean; localOnly?: bool
|
|||
});
|
||||
}
|
||||
|
||||
export async function selectDriveFolder(initialFolder: Misskey.entities.DriveFolder['id'] | null): Promise<Misskey.entities.DriveFolder[]> {
|
||||
return new Promise(resolve => {
|
||||
const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkDriveFolderSelectDialog.vue')), {
|
||||
initialFolder,
|
||||
}, {
|
||||
done: folders => {
|
||||
if (folders) {
|
||||
resolve(folders);
|
||||
}
|
||||
},
|
||||
closed: () => dispose(),
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export async function selectRole(params: ComponentProps<typeof MkRoleSelectDialog_TypeReferenceOnly>): Promise<
|
||||
{ canceled: true; result: undefined; } |
|
||||
{ canceled: false; result: Misskey.entities.Role[] }
|
||||
|
|
|
@ -80,6 +80,7 @@ import { i18n } from '@/i18n.js';
|
|||
import * as os from '@/os.js';
|
||||
import { misskeyApi } from '@/utility/misskey-api.js';
|
||||
import { useRouter } from '@/router.js';
|
||||
import { selectDriveFolder } from '@/utility/drive.js';
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
|
@ -127,7 +128,7 @@ function postThis() {
|
|||
function move() {
|
||||
if (!file.value) return;
|
||||
|
||||
os.selectDriveFolder().then(folder => {
|
||||
selectDriveFolder(null).then(folder => {
|
||||
misskeyApi('drive/files/update', {
|
||||
fileId: file.value.id,
|
||||
folderId: folder[0] ? folder[0].id : null,
|
||||
|
|
|
@ -99,6 +99,7 @@ import { ensureSignin } from '@/i.js';
|
|||
import { prefer } from '@/preferences.js';
|
||||
import MkPreferenceContainer from '@/components/MkPreferenceContainer.vue';
|
||||
import MkFeatureBanner from '@/components/MkFeatureBanner.vue';
|
||||
import { selectDriveFolder } from '@/utility/drive.js';
|
||||
|
||||
const $i = ensureSignin();
|
||||
|
||||
|
@ -138,7 +139,7 @@ if (prefer.s.uploadFolder) {
|
|||
}
|
||||
|
||||
function chooseUploadFolder() {
|
||||
os.selectDriveFolder().then(async folder => {
|
||||
selectDriveFolder(null).then(async folder => {
|
||||
prefer.commit('uploadFolder', folder[0] ? folder[0].id : null);
|
||||
os.success();
|
||||
if (prefer.s.uploadFolder) {
|
||||
|
|
|
@ -229,3 +229,18 @@ export async function createCroppedImageDriveFileFromImageDriveFile(imageDriveFi
|
|||
};
|
||||
});
|
||||
}
|
||||
|
||||
export async function selectDriveFolder(initialFolder: Misskey.entities.DriveFolder['id'] | null): Promise<Misskey.entities.DriveFolder[]> {
|
||||
return new Promise(resolve => {
|
||||
const { dispose } = os.popup(defineAsyncComponent(() => import('@/components/MkDriveFolderSelectDialog.vue')), {
|
||||
initialFolder,
|
||||
}, {
|
||||
done: folders => {
|
||||
if (folders) {
|
||||
resolve(folders);
|
||||
}
|
||||
},
|
||||
closed: () => dispose(),
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
import * as Misskey from 'misskey-js';
|
||||
import { defineAsyncComponent } from 'vue';
|
||||
import { selectDriveFolder } from './drive.js';
|
||||
import type { MenuItem } from '@/types/menu.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { copyToClipboard } from '@/utility/copy-to-clipboard.js';
|
||||
|
@ -42,7 +43,7 @@ function describe(file: Misskey.entities.DriveFile) {
|
|||
}
|
||||
|
||||
function move(file: Misskey.entities.DriveFile) {
|
||||
os.selectDriveFolder().then(folder => {
|
||||
selectDriveFolder(null).then(folder => {
|
||||
misskeyApi('drive/files/update', {
|
||||
fileId: file.id,
|
||||
folderId: folder[0] ? folder[0].id : null,
|
||||
|
|
|
@ -26,6 +26,7 @@ import type { GetFormResultType } from '@/utility/form.js';
|
|||
import * as os from '@/os.js';
|
||||
import { misskeyApi } from '@/utility/misskey-api.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { selectDriveFolder } from '@/utility/drive.js';
|
||||
|
||||
const name = 'slideshow';
|
||||
|
||||
|
@ -93,7 +94,7 @@ const fetch = () => {
|
|||
};
|
||||
|
||||
const choose = () => {
|
||||
os.selectDriveFolder().then(folder => {
|
||||
selectDriveFolder(null).then(folder => {
|
||||
if (folder[0] == null) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue