mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-01-06 15:40:31 +08:00
Add delete step modal [SCI-6781]
This commit is contained in:
parent
5454aa26bc
commit
277e202c90
3 changed files with 59 additions and 3 deletions
41
app/javascript/vue/protocol/modals/delete_step.vue
Normal file
41
app/javascript/vue/protocol/modals/delete_step.vue
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<template>
|
||||||
|
<div ref="modal" class="modal" tabindex="-1" role="dialog">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
{{ i18n.t('protocols.steps.modals.delete_step.title')}}
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<p>{{ i18n.t('protocols.steps.modals.delete_step.description_1')}}</p>
|
||||||
|
<p><b>{{ i18n.t('protocols.steps.modals.delete_step.description_2')}}</b></p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-secondary" @click="cancel">{{ i18n.t('general.cancel') }}</button>
|
||||||
|
<button class="btn btn-danger" @click="confirm">{{ i18n.t('protocols.steps.modals.delete_step.confirm')}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'deleteStepModal',
|
||||||
|
mounted() {
|
||||||
|
$(this.$refs.modal).modal('show');
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
confirm() {
|
||||||
|
$(this.$refs.modal).modal('hide');
|
||||||
|
this.$emit('confirm');
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
$(this.$refs.modal).modal('hide');
|
||||||
|
this.$emit('cancel');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -46,7 +46,7 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn icon-btn btn-light" @click="deleteStep">
|
<button class="btn icon-btn btn-light" @click="showDeleteModal">
|
||||||
<i class="fas fa-trash"></i>
|
<i class="fas fa-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -60,6 +60,7 @@
|
||||||
:element.sync="elements[index]"/>
|
:element.sync="elements[index]"/>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
<deleteStepModal v-if="confirmingDelete" @confirm="deleteStep" @cancel="closeDeleteModal"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -68,6 +69,7 @@
|
||||||
import StepTable from 'vue/protocol/step_components/table.vue'
|
import StepTable from 'vue/protocol/step_components/table.vue'
|
||||||
import StepText from 'vue/protocol/step_components/text.vue'
|
import StepText from 'vue/protocol/step_components/text.vue'
|
||||||
import Checklist from 'vue/protocol/step_components/checklist.vue'
|
import Checklist from 'vue/protocol/step_components/checklist.vue'
|
||||||
|
import deleteStepModal from 'vue/protocol/modals/delete_step.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StepContainer',
|
name: 'StepContainer',
|
||||||
|
@ -79,14 +81,16 @@
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
elements: []
|
elements: [],
|
||||||
|
confirmingDelete: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
InlineEdit,
|
InlineEdit,
|
||||||
StepTable,
|
StepTable,
|
||||||
StepText,
|
StepText,
|
||||||
Checklist
|
Checklist,
|
||||||
|
deleteStepModal
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
$.get(this.step.attributes.urls.elements_url, (result) => {
|
$.get(this.step.attributes.urls.elements_url, (result) => {
|
||||||
|
@ -94,6 +98,12 @@
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
showDeleteModal() {
|
||||||
|
this.confirmingDelete = true;
|
||||||
|
},
|
||||||
|
closeDeleteModal() {
|
||||||
|
this.confirmingDelete = false;
|
||||||
|
},
|
||||||
deleteStep() {
|
deleteStep() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.step.attributes.urls.delete_url,
|
url: this.step.attributes.urls.delete_url,
|
||||||
|
|
|
@ -2530,6 +2530,11 @@ en:
|
||||||
description_1: 'You’re about to delete a content block from your protocol. It might contain data you don’t want to lose. You won’t be able to get it back.'
|
description_1: 'You’re about to delete a content block from your protocol. It might contain data you don’t want to lose. You won’t be able to get it back.'
|
||||||
description_2: 'Are you sure you want to delete it?'
|
description_2: 'Are you sure you want to delete it?'
|
||||||
confirm: 'Delete forever'
|
confirm: 'Delete forever'
|
||||||
|
delete_step:
|
||||||
|
title: 'Delete step'
|
||||||
|
description_1: 'You’re about to delete a whole step from your protocol. It might contain data you don’t want to lose. You won’t be able to get it back.'
|
||||||
|
description_2: 'Are you sure you want to delete it?'
|
||||||
|
confirm: 'Delete forever'
|
||||||
options:
|
options:
|
||||||
up_arrow_title: "Move step up"
|
up_arrow_title: "Move step up"
|
||||||
down_arrow_title: "Move step down"
|
down_arrow_title: "Move step down"
|
||||||
|
|
Loading…
Reference in a new issue