Fix autosave in noteable discussion.
This commit is contained in:
parent
5f7a81c441
commit
9cd5ca2f57
2 changed files with 16 additions and 18 deletions
|
@ -1,12 +1,11 @@
|
||||||
<script>
|
<script>
|
||||||
import $ from 'jquery';
|
|
||||||
import { mapState, mapGetters, mapActions } from 'vuex';
|
import { mapState, mapGetters, mapActions } from 'vuex';
|
||||||
import createFlash from '~/flash';
|
import createFlash from '~/flash';
|
||||||
import { s__ } from '~/locale';
|
import { s__ } from '~/locale';
|
||||||
import noteForm from '../../notes/components/note_form.vue';
|
import noteForm from '../../notes/components/note_form.vue';
|
||||||
import { getNoteFormData } from '../store/utils';
|
import { getNoteFormData } from '../store/utils';
|
||||||
import autosave from '../../notes/mixins/autosave';
|
import autosave from '../../notes/mixins/autosave';
|
||||||
import { DIFF_NOTE_TYPE, NOTE_TYPE } from '../constants';
|
import { DIFF_NOTE_TYPE } from '../constants';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -42,21 +41,21 @@ export default {
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.isLoggedIn) {
|
if (this.isLoggedIn) {
|
||||||
const noteableData = this.noteableData;
|
|
||||||
const keys = [
|
const keys = [
|
||||||
noteableData.diff_head_sha,
|
this.noteableData.diff_head_sha,
|
||||||
DIFF_NOTE_TYPE,
|
DIFF_NOTE_TYPE,
|
||||||
noteableData.source_project_id,
|
this.noteableData.source_project_id,
|
||||||
this.line.lineCode,
|
this.line.lineCode,
|
||||||
];
|
];
|
||||||
|
|
||||||
this.initAutoSave(noteableData, keys);
|
this.initAutoSave(this.noteableData, keys);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions('diffs', ['cancelCommentForm']),
|
...mapActions('diffs', ['cancelCommentForm']),
|
||||||
...mapActions(['saveNote', 'refetchDiscussionById']),
|
...mapActions(['saveNote', 'refetchDiscussionById']),
|
||||||
handleCancelCommentForm() {
|
handleCancelCommentForm() {
|
||||||
|
// eslint-disable-next-line no-alert
|
||||||
if (!window.confirm('Are you sure you want to cancel creating this comment?')) {
|
if (!window.confirm('Are you sure you want to cancel creating this comment?')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,19 +144,17 @@ export default {
|
||||||
return this.isDiffDiscussion ? '' : 'card discussion-wrapper';
|
return this.isDiffDiscussion ? '' : 'card discussion-wrapper';
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
watch: {
|
||||||
if (this.isReplying) {
|
isReplying() {
|
||||||
this.initAutoSave(this.transformedDiscussion);
|
if (this.isReplying) {
|
||||||
}
|
this.$nextTick(() => {
|
||||||
},
|
// Pass an extra key to separate reply and note edit forms
|
||||||
updated() {
|
this.initAutoSave(this.transformedDiscussion, ['Reply']);
|
||||||
if (this.isReplying) {
|
});
|
||||||
if (!this.autosave) {
|
|
||||||
this.initAutoSave(this.transformedDiscussion);
|
|
||||||
} else {
|
} else {
|
||||||
this.setAutoSave();
|
this.autosave.dispose();
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.resolveDiscussionsSvg = resolveDiscussionsSvg;
|
this.resolveDiscussionsSvg = resolveDiscussionsSvg;
|
||||||
|
@ -420,7 +418,8 @@ Please check your network connection and try again.`;
|
||||||
:is-editing="false"
|
:is-editing="false"
|
||||||
save-button-title="Comment"
|
save-button-title="Comment"
|
||||||
@handleFormUpdate="saveReply"
|
@handleFormUpdate="saveReply"
|
||||||
@cancelForm="cancelReplyForm" />
|
@cancelForm="cancelReplyForm"
|
||||||
|
/>
|
||||||
<note-signed-out-widget v-if="!canReply" />
|
<note-signed-out-widget v-if="!canReply" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue