diff options
-rw-r--r-- | app/assets/javascripts/issue_show/components/app.vue | 75 |
1 files changed, 18 insertions, 57 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue index aa2d6aaffa5..93e6def172a 100644 --- a/app/assets/javascripts/issue_show/components/app.vue +++ b/app/assets/javascripts/issue_show/components/app.vue @@ -25,26 +25,9 @@ export default { required: true, type: Boolean, }, -<<<<<<< HEAD canDestroy: { required: true, type: Boolean, -======= - computed: { - formState() { - return this.store.formState; - }, - hasUpdated() { - return !!this.state.updatedAt; - }, - issueChanged() { - const descriptionChanged = - this.initialDescriptionText !== this.store.formState.description; - const titleChanged = - this.initialTitleText !== this.store.formState.title; - return descriptionChanged || titleChanged; - }, ->>>>>>> 28bd902980f... Merge branch 'fix-description-loss' into 'master' }, showInlineEditButton: { type: Boolean, @@ -160,6 +143,14 @@ export default { hasUpdated() { return !!this.state.updatedAt; }, + issueChanged() { + const descriptionChanged = + this.initialDescriptionText !== this.store.formState.description; + const titleChanged = + this.initialTitleText !== this.store.formState.title; + return descriptionChanged || titleChanged; + }, + }, components: { descriptionComponent, @@ -172,8 +163,15 @@ export default { recaptchaModalImplementor, ], -<<<<<<< HEAD methods: { + handleBeforeUnloadEvent(e) { + const event = e; + if (this.showForm && this.issueChanged) { + event.returnValue = 'Are you sure you want to lose your issue information?'; + } + return undefined; + }, + openForm() { if (!this.showForm) { this.showForm = true; @@ -188,45 +186,6 @@ export default { closeForm() { this.showForm = false; }, -======= - window.addEventListener('beforeunload', this.handleBeforeUnloadEvent); - - eventHub.$on('delete.issuable', this.deleteIssuable); - eventHub.$on('update.issuable', this.updateIssuable); - eventHub.$on('close.form', this.closeForm); - eventHub.$on('open.form', this.openForm); - }, - beforeDestroy() { - eventHub.$off('delete.issuable', this.deleteIssuable); - eventHub.$off('update.issuable', this.updateIssuable); - eventHub.$off('close.form', this.closeForm); - eventHub.$off('open.form', this.openForm); - window.removeEventListener('beforeunload', this.handleBeforeUnloadEvent); - }, - methods: { - handleBeforeUnloadEvent(e) { - const event = e; - if (this.showForm && this.issueChanged) { - event.returnValue = 'Are you sure you want to lose your issue information?'; - } - return undefined; - }, - - openForm() { - if (!this.showForm) { - this.showForm = true; - this.store.setFormState({ - title: this.state.titleText, - description: this.state.descriptionText, - lockedWarningVisible: false, - updateLoading: false, - }); - } - }, - closeForm() { - this.showForm = false; - }, ->>>>>>> 28bd902980f... Merge branch 'fix-description-loss' into 'master' updateIssuable() { return this.service.updateIssuable(this.store.formState) @@ -300,12 +259,14 @@ export default { } }); + window.addEventListener('beforeunload', this.handleBeforeUnloadEvent); eventHub.$on('delete.issuable', this.deleteIssuable); eventHub.$on('update.issuable', this.updateIssuable); eventHub.$on('close.form', this.closeForm); eventHub.$on('open.form', this.openForm); }, beforeDestroy() { + window.removeEventListener('beforeunload', this.handleBeforeUnloadEvent); eventHub.$off('delete.issuable', this.deleteIssuable); eventHub.$off('update.issuable', this.updateIssuable); eventHub.$off('close.form', this.closeForm); |