wipo
This commit is contained in:
parent
10f6919965
commit
928d941b3e
|
@ -58,7 +58,7 @@ const props = withDefaults(defineProps<{
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(ev: 'chosen', v: Misskey.entities.DriveFolder): void;
|
(ev: 'chosen', v: Misskey.entities.DriveFolder): void;
|
||||||
(ev: 'unchose', v: Misskey.entities.DriveFolder): void;
|
(ev: 'unchose', v: Misskey.entities.DriveFolder): void;
|
||||||
(ev: 'upload', file: File, folder: Misskey.entities.DriveFolder);
|
(ev: 'upload', files: File[], folder: Misskey.entities.DriveFolder);
|
||||||
(ev: 'dragstart'): void;
|
(ev: 'dragstart'): void;
|
||||||
(ev: 'dragend'): void;
|
(ev: 'dragend'): void;
|
||||||
}>();
|
}>();
|
||||||
|
@ -133,9 +133,7 @@ function onDrop(ev: DragEvent) {
|
||||||
|
|
||||||
// ファイルだったら
|
// ファイルだったら
|
||||||
if (ev.dataTransfer.files.length > 0) {
|
if (ev.dataTransfer.files.length > 0) {
|
||||||
for (const file of Array.from(ev.dataTransfer.files)) {
|
emit('upload', Array.from(ev.dataTransfer.files), props.folder);
|
||||||
emit('upload', file, props.folder);
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ const props = defineProps<{
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(ev: 'upload', file: File, folder?: Misskey.entities.DriveFolder | null): void;
|
(ev: 'upload', files: File[], folder?: Misskey.entities.DriveFolder | null): void;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const draghover = ref(false);
|
const draghover = ref(false);
|
||||||
|
@ -83,9 +83,7 @@ function onDrop(ev: DragEvent) {
|
||||||
|
|
||||||
// ファイルだったら
|
// ファイルだったら
|
||||||
if (ev.dataTransfer.files.length > 0) {
|
if (ev.dataTransfer.files.length > 0) {
|
||||||
for (const file of Array.from(ev.dataTransfer.files)) {
|
emit('upload', Array.from(ev.dataTransfer.files), props.folder);
|
||||||
emit('upload', file, props.folder);
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
:class="[$style.navPathItem, { [$style.navCurrent]: folder == null }]"
|
:class="[$style.navPathItem, { [$style.navCurrent]: folder == null }]"
|
||||||
:parentFolder="folder"
|
:parentFolder="folder"
|
||||||
@click="cd(null)"
|
@click="cd(null)"
|
||||||
@upload="upload"
|
@upload="onUploadRequested"
|
||||||
/>
|
/>
|
||||||
<template v-for="f in hierarchyFolders">
|
<template v-for="f in hierarchyFolders">
|
||||||
<span :class="[$style.navPathItem, $style.navSeparator]"><i class="ti ti-chevron-right"></i></span>
|
<span :class="[$style.navPathItem, $style.navSeparator]"><i class="ti ti-chevron-right"></i></span>
|
||||||
|
@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
:parentFolder="folder"
|
:parentFolder="folder"
|
||||||
:class="[$style.navPathItem]"
|
:class="[$style.navPathItem]"
|
||||||
@click="cd(f)"
|
@click="cd(f)"
|
||||||
@upload="upload"
|
@upload="onUploadRequested"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<span v-if="folder != null" :class="[$style.navPathItem, $style.navSeparator]"><i class="ti ti-chevron-right"></i></span>
|
<span v-if="folder != null" :class="[$style.navPathItem, $style.navSeparator]"><i class="ti ti-chevron-right"></i></span>
|
||||||
|
@ -74,7 +74,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
@chosen="chooseFolder"
|
@chosen="chooseFolder"
|
||||||
@unchose="unchoseFolder"
|
@unchose="unchoseFolder"
|
||||||
@click="cd(f)"
|
@click="cd(f)"
|
||||||
@upload="upload"
|
@upload="onUploadRequested"
|
||||||
@dragstart="isDragSource = true"
|
@dragstart="isDragSource = true"
|
||||||
@dragend="isDragSource = false"
|
@dragend="isDragSource = false"
|
||||||
/>
|
/>
|
||||||
|
@ -112,7 +112,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
/>
|
/>
|
||||||
</TransitionGroup>
|
</TransitionGroup>
|
||||||
</MkStickyContainer>
|
</MkStickyContainer>
|
||||||
<MkButton v-show="filesPaginator.canFetchOlder.value" primary rounded @click="filesPaginator.fetchOlder()">{{ i18n.ts.loadMore }}</MkButton>
|
<MkButton v-show="filesPaginator.canFetchOlder.value" :class="$style.loadMore" primary rounded @click="filesPaginator.fetchOlder()">{{ i18n.ts.loadMore }}</MkButton>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="filesPaginator.items.value.length == 0 && foldersPaginator.items.value.length == 0 && !fetching" :class="$style.empty">
|
<div v-if="filesPaginator.items.value.length == 0 && foldersPaginator.items.value.length == 0 && !fetching" :class="$style.empty">
|
||||||
|
@ -377,6 +377,12 @@ function onDrop(ev: DragEvent) {
|
||||||
//#endregion
|
//#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onUploadRequested(files: File[], folder: Misskey.entities.DriveFolder | null) {
|
||||||
|
os.launchUploader(files, {
|
||||||
|
folderId: folder?.id ?? null,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
async function urlUpload() {
|
async function urlUpload() {
|
||||||
const { canceled, result: url } = await os.inputText({
|
const { canceled, result: url } = await os.inputText({
|
||||||
title: i18n.ts.uploadFromUrl,
|
title: i18n.ts.uploadFromUrl,
|
||||||
|
@ -821,6 +827,10 @@ onBeforeUnmount(() => {
|
||||||
background-color: color(from var(--MI_THEME-bg) srgb r g b / 0.85);
|
background-color: color(from var(--MI_THEME-bg) srgb r g b / 0.85);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.loadMore {
|
||||||
|
margin: 16px auto;
|
||||||
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
padding: 8px 16px;
|
padding: 8px 16px;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
|
|
|
@ -159,7 +159,7 @@ export function usePagination<Endpoint extends keyof Misskey.Endpoints, T = Miss
|
||||||
canFetchOlder.value = true;
|
canFetchOlder.value = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, err => {
|
}).finally(() => {
|
||||||
fetchingOlder.value = false;
|
fetchingOlder.value = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue