diff --git a/src/client/components/post-form-attaches.vue b/src/client/components/post-form-attaches.vue index 50ba9bfdcf..d9c0653617 100644 --- a/src/client/components/post-form-attaches.vue +++ b/src/client/components/post-form-attaches.vue @@ -1,6 +1,6 @@ <template> <div class="skeikyzd" v-show="files.length != 0"> - <x-draggable class="files" :list="files" animation="150"> + <x-draggable class="files" :list="files" animation="150" delay="100" delayOnTouchOnly="true"> <div v-for="file in files" :key="file.id" @click="showFileMenu(file, $event)" @contextmenu.prevent="showFileMenu(file, $event)"> <x-file-thumbnail :data-id="file.id" class="thumbnail" :file="file" fit="cover"/> <div class="sensitive" v-if="file.isSensitive"> @@ -41,6 +41,8 @@ export default Vue.extend({ data() { return { + menu: null as Promise<null> | null, + faExclamationTriangle }; }, @@ -80,7 +82,8 @@ export default Vue.extend({ }); }, showFileMenu(file, ev: MouseEvent) { - this.$root.menu({ + if (this.menu) return; + this.menu = this.$root.menu({ items: [{ text: this.$t('renameFile'), icon: faICursor, @@ -95,7 +98,7 @@ export default Vue.extend({ action: () => { this.detachMedia(file.id) } }], source: ev.currentTarget || ev.target - }); + }).then(() => this.menu = null); } } });