This commit is contained in:
kakkokari-gtyih 2024-09-02 00:34:40 +09:00
parent 041b2f1ed4
commit 3f4f215cf3
1 changed files with 7 additions and 8 deletions

View File

@ -13,9 +13,9 @@ SPDX-License-Identifier: AGPL-3.0-only
@drop.stop @drop.stop
> >
<div ref="dndParentEl" :class="$style.files"> <div ref="dndParentEl" :class="$style.files">
<div v-for="fileId in fileIds" :key="fileId" :class="$style.file" @click="showFileMenu(fileKvs[fileId], $event)" @contextmenu.prevent="showFileMenu(fileKvs[fileId], $event)"> <div v-for="file in files" :key="file.id" :class="$style.file" @click="showFileMenu(file, $event)" @contextmenu.prevent="showFileMenu(file, $event)">
<MkDriveFileThumbnail :data-id="fileId" :class="$style.thumbnail" :file="fileKvs[fileId]" fit="cover"/> <MkDriveFileThumbnail :data-id="file.id" :class="$style.thumbnail" :file="file" fit="cover"/>
<div v-if="fileKvs[fileId].isSensitive" :class="$style.sensitive"> <div v-if="file.isSensitive" :class="$style.sensitive">
<i class="ti ti-eye-exclamation" style="margin: auto;"></i> <i class="ti ti-eye-exclamation" style="margin: auto;"></i>
</div> </div>
</div> </div>
@ -51,15 +51,14 @@ const emit = defineEmits<{
const dndParentEl = shallowRef<HTMLElement>(); const dndParentEl = shallowRef<HTMLElement>();
const fileKvs = computed(() => Object.fromEntries(props.modelValue.map(file => [file.id, file]))); const files = computed({
const fileIds = computed({ get: () => props.modelValue,
get: () => props.modelValue.map(file => file.id), set: (v) => emit('update:modelValue', v),
set: (ids: string[]) => emit('update:modelValue', ids.map(id => fileKvs.value[id])),
}); });
dragAndDrop({ dragAndDrop({
parent: dndParentEl, parent: dndParentEl,
values: fileIds, values: files,
plugins: [animations()], plugins: [animations()],
}); });