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 { prefer } from '@/preferences.js';
|
||||||
import { globalEvents } from '@/events.js';
|
import { globalEvents } from '@/events.js';
|
||||||
import { checkDragDataType, getDragData, setDragData } from '@/drag-and-drop.js';
|
import { checkDragDataType, getDragData, setDragData } from '@/drag-and-drop.js';
|
||||||
|
import { selectDriveFolder } from '@/utility/drive.js';
|
||||||
|
|
||||||
const props = withDefaults(defineProps<{
|
const props = withDefaults(defineProps<{
|
||||||
folder: Misskey.entities.DriveFolder;
|
folder: Misskey.entities.DriveFolder;
|
||||||
|
@ -220,7 +221,7 @@ function rename() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function move() {
|
function move() {
|
||||||
os.selectDriveFolder().then(folder => {
|
selectDriveFolder(null).then(folder => {
|
||||||
if (folder[0] && folder[0].id === props.folder.id) return;
|
if (folder[0] && folder[0].id === props.folder.id) return;
|
||||||
|
|
||||||
misskeyApi('drive/folders/update', {
|
misskeyApi('drive/folders/update', {
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
import { markRaw, ref, defineAsyncComponent, nextTick } from 'vue';
|
import { markRaw, ref, defineAsyncComponent, nextTick } from 'vue';
|
||||||
import { EventEmitter } from 'eventemitter3';
|
import { EventEmitter } from 'eventemitter3';
|
||||||
import * as Misskey from 'misskey-js';
|
import * as Misskey from 'misskey-js';
|
||||||
import { getProxiedImageUrl } from './utility/media-proxy.js';
|
|
||||||
import type { Component, Ref } from 'vue';
|
import type { Component, Ref } from 'vue';
|
||||||
import type { ComponentProps as CP } from 'vue-component-type-helpers';
|
import type { ComponentProps as CP } from 'vue-component-type-helpers';
|
||||||
import type { Form, GetFormResultType } from '@/utility/form.js';
|
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<
|
export async function selectRole(params: ComponentProps<typeof MkRoleSelectDialog_TypeReferenceOnly>): Promise<
|
||||||
{ canceled: true; result: undefined; } |
|
{ canceled: true; result: undefined; } |
|
||||||
{ canceled: false; result: Misskey.entities.Role[] }
|
{ canceled: false; result: Misskey.entities.Role[] }
|
||||||
|
|
|
@ -80,6 +80,7 @@ import { i18n } from '@/i18n.js';
|
||||||
import * as os from '@/os.js';
|
import * as os from '@/os.js';
|
||||||
import { misskeyApi } from '@/utility/misskey-api.js';
|
import { misskeyApi } from '@/utility/misskey-api.js';
|
||||||
import { useRouter } from '@/router.js';
|
import { useRouter } from '@/router.js';
|
||||||
|
import { selectDriveFolder } from '@/utility/drive.js';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
@ -127,7 +128,7 @@ function postThis() {
|
||||||
function move() {
|
function move() {
|
||||||
if (!file.value) return;
|
if (!file.value) return;
|
||||||
|
|
||||||
os.selectDriveFolder().then(folder => {
|
selectDriveFolder(null).then(folder => {
|
||||||
misskeyApi('drive/files/update', {
|
misskeyApi('drive/files/update', {
|
||||||
fileId: file.value.id,
|
fileId: file.value.id,
|
||||||
folderId: folder[0] ? folder[0].id : null,
|
folderId: folder[0] ? folder[0].id : null,
|
||||||
|
|
|
@ -99,6 +99,7 @@ import { ensureSignin } from '@/i.js';
|
||||||
import { prefer } from '@/preferences.js';
|
import { prefer } from '@/preferences.js';
|
||||||
import MkPreferenceContainer from '@/components/MkPreferenceContainer.vue';
|
import MkPreferenceContainer from '@/components/MkPreferenceContainer.vue';
|
||||||
import MkFeatureBanner from '@/components/MkFeatureBanner.vue';
|
import MkFeatureBanner from '@/components/MkFeatureBanner.vue';
|
||||||
|
import { selectDriveFolder } from '@/utility/drive.js';
|
||||||
|
|
||||||
const $i = ensureSignin();
|
const $i = ensureSignin();
|
||||||
|
|
||||||
|
@ -138,7 +139,7 @@ if (prefer.s.uploadFolder) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function chooseUploadFolder() {
|
function chooseUploadFolder() {
|
||||||
os.selectDriveFolder().then(async folder => {
|
selectDriveFolder(null).then(async folder => {
|
||||||
prefer.commit('uploadFolder', folder[0] ? folder[0].id : null);
|
prefer.commit('uploadFolder', folder[0] ? folder[0].id : null);
|
||||||
os.success();
|
os.success();
|
||||||
if (prefer.s.uploadFolder) {
|
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 * as Misskey from 'misskey-js';
|
||||||
import { defineAsyncComponent } from 'vue';
|
import { defineAsyncComponent } from 'vue';
|
||||||
|
import { selectDriveFolder } from './drive.js';
|
||||||
import type { MenuItem } from '@/types/menu.js';
|
import type { MenuItem } from '@/types/menu.js';
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
import { copyToClipboard } from '@/utility/copy-to-clipboard.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) {
|
function move(file: Misskey.entities.DriveFile) {
|
||||||
os.selectDriveFolder().then(folder => {
|
selectDriveFolder(null).then(folder => {
|
||||||
misskeyApi('drive/files/update', {
|
misskeyApi('drive/files/update', {
|
||||||
fileId: file.id,
|
fileId: file.id,
|
||||||
folderId: folder[0] ? folder[0].id : null,
|
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 * as os from '@/os.js';
|
||||||
import { misskeyApi } from '@/utility/misskey-api.js';
|
import { misskeyApi } from '@/utility/misskey-api.js';
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
|
import { selectDriveFolder } from '@/utility/drive.js';
|
||||||
|
|
||||||
const name = 'slideshow';
|
const name = 'slideshow';
|
||||||
|
|
||||||
|
@ -93,7 +94,7 @@ const fetch = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const choose = () => {
|
const choose = () => {
|
||||||
os.selectDriveFolder().then(folder => {
|
selectDriveFolder(null).then(folder => {
|
||||||
if (folder[0] == null) {
|
if (folder[0] == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue