Files
online.tbbank.gov.tm-larave…/nova/resources/js/mixins/PreventsModalAbandonment.js
2024-09-01 18:54:23 +05:00

42 lines
776 B
JavaScript

import { mapGetters, mapMutations } from 'vuex'
export default {
props: {
show: { type: Boolean, default: false },
},
methods: {
...mapMutations(['allowLeavingModal', 'preventLeavingModal']),
/**
* Prevent accidental abandonment only if form was changed.
*/
updateModalStatus() {
this.preventLeavingModal()
},
handlePreventModalAbandonment(proceed, revert) {
if (this.canLeaveModal) {
proceed()
return
}
if (
window.confirm(
this.__('Do you really want to leave? You have unsaved changes.')
)
) {
this.allowLeavingModal()
proceed()
return
}
revert()
},
},
computed: {
...mapGetters(['canLeaveModal']),
},
}