1
0
mirror of https://github.com/hotomoe/hotomoe synced 2024-12-01 16:28:12 +09:00

refactor(client):

This commit is contained in:
syuilo 2021-12-10 01:22:22 +09:00
parent 980a99b6c9
commit 46c0280764
10 changed files with 23 additions and 14 deletions

View File

@ -74,7 +74,7 @@ import { formatTimeString } from '@/scripts/format-time-string';
import { Autocomplete } from '@/scripts/autocomplete';
import { noteVisibilities } from 'misskey-js';
import * as os from '@/os';
import { selectFile } from '@/scripts/select-file';
import { selectFiles } from '@/scripts/select-file';
import { defaultStore, notePostInterruptors, postFormActions } from '@/store';
import { throttle } from 'throttle-debounce';
import MkInfo from '@/components/ui/info.vue';
@ -456,7 +456,7 @@ export default defineComponent({
},
chooseFileFrom(ev) {
selectFile(ev.currentTarget || ev.target, this.$ts.attachFile, true).then(files => {
selectFiles(ev.currentTarget || ev.target, this.$ts.attachFile).then(files => {
for (const file of files) {
this.files.push(file);
}

View File

@ -53,7 +53,7 @@ import MkButton from '@/components/ui/button.vue';
import MkInput from '@/components/form/input.vue';
import MkPagination from '@/components/ui/pagination.vue';
import MkTab from '@/components/tab.vue';
import { selectFile } from '@/scripts/select-file';
import { selectFiles } from '@/scripts/select-file';
import * as os from '@/os';
import * as symbols from '@/symbols';
@ -117,7 +117,7 @@ export default defineComponent({
methods: {
async add(e) {
const files = await selectFile(e.currentTarget || e.target, null, true);
const files = await selectFiles(e.currentTarget || e.target, null);
const promise = Promise.all(files.map(file => os.api('admin/emoji/add', {
fileId: file.id,

View File

@ -112,7 +112,7 @@ export default defineComponent({
},
setBannerImage(e) {
selectFile(e.currentTarget || e.target, null, false).then(file => {
selectFile(e.currentTarget || e.target, null).then(file => {
this.bannerId = file.id;
});
},

View File

@ -37,7 +37,7 @@ import FormTuple from '@/components/debobigego/tuple.vue';
import FormBase from '@/components/debobigego/base.vue';
import FormGroup from '@/components/debobigego/group.vue';
import FormSuspense from '@/components/debobigego/suspense.vue';
import { selectFile } from '@/scripts/select-file';
import { selectFiles } from '@/scripts/select-file';
import * as os from '@/os';
import * as symbols from '@/symbols';
@ -95,7 +95,7 @@ export default defineComponent({
methods: {
selectFile(e) {
selectFile(e.currentTarget || e.target, null, true).then(files => {
selectFiles(e.currentTarget || e.target, null).then(files => {
this.files = this.files.concat(files);
});
},

View File

@ -152,7 +152,7 @@ export default defineComponent({
},
chooseFile(e) {
selectFile(e.currentTarget || e.target, this.$ts.selectFile, false).then(file => {
selectFile(e.currentTarget || e.target, this.$ts.selectFile).then(file => {
this.file = file;
});
},

View File

@ -448,7 +448,7 @@ export default defineComponent({
},
setEyeCatchingImage(e) {
selectFile(e.currentTarget || e.target, null, false).then(file => {
selectFile(e.currentTarget || e.target, null).then(file => {
this.eyeCatchingImageId = file.id;
});
},

View File

@ -210,7 +210,7 @@ export default defineComponent({
},
chooseImage(key, e) {
selectFile(e.currentTarget || e.target, null, false).then(file => {
selectFile(e.currentTarget || e.target, null).then(file => {
room.updateProp(key, `/proxy/?${urlQuery({ url: file.thumbnailUrl })}`);
this.$refs.preview.selected(room.getSelectedObject());
this.changed = true;

View File

@ -188,7 +188,7 @@ export default defineComponent({
themesCount,
wallpaper,
setWallpaper(e) {
selectFile(e.currentTarget || e.target, null, false).then(file => {
selectFile(e.currentTarget || e.target, null).then(file => {
wallpaper.value = file.url;
});
},

View File

@ -1,8 +1,9 @@
import * as os from '@/os';
import { i18n } from '@/i18n';
import { defaultStore } from '@/store';
import { DriveFile } from 'misskey-js/built/entities';
export function selectFile(src: any, label: string | null, multiple = false) {
function select(src: any, label: string | null, multiple: boolean): Promise<DriveFile | DriveFile[]> {
return new Promise((res, rej) => {
const chooseFileFromPc = () => {
const input = document.createElement('input');
@ -86,3 +87,11 @@ export function selectFile(src: any, label: string | null, multiple = false) {
}], src);
});
}
export function selectFile(src: any, label: string | null = null): Promise<DriveFile> {
return select(src, label, false) as Promise<DriveFile>;
}
export function selectFiles(src: any, label: string | null = null): Promise<DriveFile[]> {
return select(src, label, true) as Promise<DriveFile[]>;
}

View File

@ -59,7 +59,7 @@ import * as Acct from 'misskey-js/built/acct';
import { formatTimeString } from '@/scripts/format-time-string';
import { Autocomplete } from '@/scripts/autocomplete';
import * as os from '@/os';
import { selectFile } from '@/scripts/select-file';
import { selectFiles } from '@/scripts/select-file';
import { notePostInterruptors, postFormActions } from '@/store';
import { throttle } from 'throttle-debounce';
@ -342,7 +342,7 @@ export default defineComponent({
},
chooseFileFrom(ev) {
selectFile(ev.currentTarget || ev.target, this.$ts.attachFile, true).then(files => {
selectFiles(ev.currentTarget || ev.target, this.$ts.attachFile).then(files => {
for (const file of files) {
this.files.push(file);
}