Disable click events when duplicating content for protocol step and result [SCI-10609]

This commit is contained in:
wandji20 2024-04-17 10:20:58 +01:00
parent a916bd1641
commit ef3ef8bb7b
3 changed files with 9 additions and 2 deletions

View file

@ -5,7 +5,7 @@
@dragenter.prevent="dragEnter($event)"
@dragover.prevent
:data-id="step.id"
:class="{ 'draging-file': dragingFile, 'editing-name': editingName, 'locked': !urls.update_url }"
:class="{ 'draging-file': dragingFile, 'editing-name': editingName, 'locked': !urls.update_url, 'pointer-events-none': addingContent }"
>
<div class="drop-message" @dragleave.prevent="!showFileModal ? dragingFile = false : null">
{{ i18n.t('protocols.steps.drop_message', { position: step.attributes.position + 1 }) }}
@ -116,6 +116,7 @@
:reorderElementUrl="elements.length > 1 ? urls.reorder_elements_url : ''"
:assignableMyModuleId="assignableMyModuleId"
:isNew="element.isNew"
@component:adding-content="($event) => addingContent = $event"
@component:delete="deleteElement"
@update="updateElement"
@reorder="openReorderModal"
@ -201,6 +202,7 @@
attachments: [],
attachmentsReady: false,
confirmingDelete: false,
addingContent: false,
showFileModal: false,
showCommentsSidebar: false,
dragingFile: false,

View file

@ -5,7 +5,7 @@
@dragenter.prevent="dragEnter($event)"
@dragover.prevent
:data-id="result.id"
:class="{ 'bg-sn-super-light-blue': dragingFile, 'bg-white': !dragingFile, 'locked': locked }"
:class="{ 'bg-sn-super-light-blue': dragingFile, 'bg-white': !dragingFile, 'locked': locked, 'pointer-events-none': addingContent }"
>
<div class="text-xl items-center flex flex-col text-sn-blue h-full justify-center left-0 absolute top-0 w-full"
v-if="dragingFile"
@ -110,6 +110,7 @@
:reorderElementUrl="elements.length > 1 ? urls.reorder_elements_url : ''"
:assignableMyModuleId="result.attributes.my_module_id"
:isNew="element.isNew"
@component:adding-content="($event) => addingContent = $event"
@component:delete="deleteElement"
@update="updateElement"
@reorder="openReorderModal"
@ -164,6 +165,7 @@ export default {
elements: [],
attachments: [],
attachmentsReady: false,
addingContent: false,
showFileModal: false,
dragingFile: false,
wellPlateOptions: [

View file

@ -3,11 +3,14 @@
export default {
methods: {
duplicateElement() {
this.$emit('component:adding-content', true);
$.post(this.element.attributes.orderable.urls.duplicate_url, (result) => {
this.$emit('component:insert', result.data);
HelperModule.flashAlertMsg(this.i18n.t('protocols.steps.component_duplicated'), 'success');
}).fail(() => {
HelperModule.flashAlertMsg(this.i18n.t('protocols.steps.component_duplication_failed'), 'danger');
}).always(() => {
this.$emit('component:adding-content', false);
});
}
}