diff options
5 files changed, 31 insertions, 2 deletions
diff --git a/app/assets/javascripts/diffs/components/diff_line_note_form.vue b/app/assets/javascripts/diffs/components/diff_line_note_form.vue index 18edbe286ba..bb66ab36283 100644 --- a/app/assets/javascripts/diffs/components/diff_line_note_form.vue +++ b/app/assets/javascripts/diffs/components/diff_line_note_form.vue @@ -1,6 +1,7 @@ <script> import { mapState, mapGetters, mapActions } from 'vuex'; import { s__ } from '~/locale'; +import diffLineNoteFormMixin from 'ee_else_ce/notes/mixins/diff_line_note_form'; import noteForm from '../../notes/components/note_form.vue'; import autosave from '../../notes/mixins/autosave'; import { DIFF_NOTE_TYPE } from '../constants'; @@ -9,7 +10,7 @@ export default { components: { noteForm, }, - mixins: [autosave], + mixins: [autosave, diffLineNoteFormMixin], props: { diffFileHash: { type: String, @@ -103,6 +104,7 @@ export default { :help-page-path="helpPagePath" save-button-title="Comment" class="diff-comment-form" + @handleFormUpdateAddToReview="addToReview" @cancelForm="handleCancelCommentForm" @handleFormUpdate="handleSaveNote" /> diff --git a/app/assets/javascripts/notes/components/noteable_discussion.vue b/app/assets/javascripts/notes/components/noteable_discussion.vue index 3894dc8c677..fc51998935d 100644 --- a/app/assets/javascripts/notes/components/noteable_discussion.vue +++ b/app/assets/javascripts/notes/components/noteable_discussion.vue @@ -6,6 +6,7 @@ import { truncateSha } from '~/lib/utils/text_utility'; import { s__, __, sprintf } from '~/locale'; import systemNote from '~/vue_shared/components/notes/system_note.vue'; import icon from '~/vue_shared/components/icon.vue'; +import diffLineNoteFormMixin from 'ee_else_ce/notes/mixins/diff_line_note_form'; import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue'; import Flash from '../../flash'; import { SYSTEM_NOTE } from '../constants'; @@ -47,12 +48,13 @@ export default { placeholderSystemNote, ResolveWithIssueButton, systemNote, + DraftNote: () => import('ee_component/batch_comments/components/draft_note.vue'), TimelineEntryItem, }, directives: { GlTooltip: GlTooltipDirective, }, - mixins: [autosave, noteable, resolvable, discussionNavigation], + mixins: [autosave, noteable, resolvable, discussionNavigation, diffLineNoteFormMixin], props: { discussion: { type: Object, @@ -510,6 +512,7 @@ Please check your network connection and try again.`; :is-editing="false" :line="diffLine" save-button-title="Comment" + @handleFormUpdateAddToReview="addReplyToReview" @handleFormUpdate="saveReply" @cancelForm="cancelReplyForm" /> diff --git a/app/assets/javascripts/notes/mixins/diff_line_note_form.js b/app/assets/javascripts/notes/mixins/diff_line_note_form.js new file mode 100644 index 00000000000..188556e8921 --- /dev/null +++ b/app/assets/javascripts/notes/mixins/diff_line_note_form.js @@ -0,0 +1,10 @@ +export default { + computed: { + draftForDiscussion: () => () => ({}), + }, + methods: { + showDraft: () => false, + addReplyToReview: () => {}, + addToReview: () => {}, + }, +}; diff --git a/app/assets/javascripts/vue_shared/components/empty_component.js b/app/assets/javascripts/vue_shared/components/empty_component.js new file mode 100644 index 00000000000..e4402020096 --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/empty_component.js @@ -0,0 +1,3 @@ +export default { + render: () => null, +}; diff --git a/config/webpack.config.js b/config/webpack.config.js index cf9e77d2424..64e6ec49219 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -245,6 +245,17 @@ module.exports = { jQuery: 'jquery', }), + new webpack.NormalModuleReplacementPlugin(/^ee_component\/(.*)\.vue/, function(resource) { + if (Object.keys(module.exports.resolve.alias).indexOf('ee') >= 0) { + resource.request = resource.request.replace(/^ee_component/, 'ee'); + } else { + resource.request = path.join( + ROOT_PATH, + 'app/assets/javascripts/vue_shared/components/empty_component.js' + ); + } + }), + // compression can require a lot of compute time and is disabled in CI IS_PRODUCTION && !NO_COMPRESSION && new CompressionPlugin(), |