summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ide/components/repo_editor.vue
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2018-06-13 11:53:01 +0100
committerFilipa Lacerda <filipa@gitlab.com>2018-06-13 11:53:01 +0100
commit26137130d903353c4a20b2c64acdabdc7f7b5af2 (patch)
tree1ee9f02d846479246570e402a83b514b1f20b266 /app/assets/javascripts/ide/components/repo_editor.vue
parent1397db0f1d6d567763741503ee14526642ef71f6 (diff)
parentf23dbfd6c6f4d72403bef8a251be014abd80ca69 (diff)
downloadgitlab-ce-26137130d903353c4a20b2c64acdabdc7f7b5af2.tar.gz
Merge branch 'master' into fl-eslint-vue-house-keeping
* master: (27 commits) Resolve "Bug: When creating an account with invalid characters the error is "Username already taken" not "Invalid characters used"" Resolve "Provide ability to retrieve `visibility` level via Snippets API" Resolve "Quick actions are case sensitive" Image Diff Viewing + Download Diff Viewing Link to release post for group issue board docs moved strings into constants file Typo fix fixed condition check Loosen the 'newly created MR' matcher Ensure we look into the correct setion only when expanding a settings' section Rails5 fix expected `issuable.reload.updated_at` to have changed [Rails5] Pass class references instead of strings to middleware builder Sidebar Milestone - Fix wrong URL when selecting a parent group milestone Fix Banzai reference for milestones belonging to parent groups apply feedback fixed eslint added specs for is-active class added spec for openPendingTab in component more karma fixes karma updates Override exclusive_lease_key method in RecordsUpload ...
Diffstat (limited to 'app/assets/javascripts/ide/components/repo_editor.vue')
-rw-r--r--app/assets/javascripts/ide/components/repo_editor.vue31
1 files changed, 25 insertions, 6 deletions
diff --git a/app/assets/javascripts/ide/components/repo_editor.vue b/app/assets/javascripts/ide/components/repo_editor.vue
index a726eae3a96..24b6a4fdea1 100644
--- a/app/assets/javascripts/ide/components/repo_editor.vue
+++ b/app/assets/javascripts/ide/components/repo_editor.vue
@@ -2,6 +2,7 @@
import { mapState, mapGetters, mapActions } from 'vuex';
import flash from '~/flash';
import ContentViewer from '~/vue_shared/components/content_viewer/content_viewer.vue';
+import DiffViewer from '~/vue_shared/components/diff_viewer/diff_viewer.vue';
import { activityBarViews, viewerTypes } from '../constants';
import Editor from '../lib/editor';
import ExternalLink from './external_link.vue';
@@ -9,6 +10,7 @@ import ExternalLink from './external_link.vue';
export default {
components: {
ContentViewer,
+ DiffViewer,
ExternalLink,
},
props: {
@@ -29,9 +31,18 @@ export default {
shouldHideEditor() {
return this.file && this.file.binary && !this.file.content;
},
+ showContentViewer() {
+ return (
+ (this.shouldHideEditor || this.file.viewMode === 'preview') &&
+ (this.viewer !== viewerTypes.mr || !this.file.mrChange)
+ );
+ },
+ showDiffViewer() {
+ return this.shouldHideEditor && this.file.mrChange && this.viewer === viewerTypes.mr;
+ },
editTabCSS() {
return {
- active: this.file.viewMode === 'edit',
+ active: this.file.viewMode === 'editor',
};
},
previewTabCSS() {
@@ -53,7 +64,7 @@ export default {
if (this.currentActivityView !== activityBarViews.edit) {
this.setFileViewMode({
file: this.file,
- viewMode: 'edit',
+ viewMode: 'editor',
});
}
}
@@ -62,7 +73,7 @@ export default {
if (this.currentActivityView !== activityBarViews.edit) {
this.setFileViewMode({
file: this.file,
- viewMode: 'edit',
+ viewMode: 'editor',
});
}
},
@@ -197,7 +208,7 @@ export default {
<a
href="javascript:void(0);"
role="button"
- @click.prevent="setFileViewMode({ file, viewMode: 'edit' })">
+ @click.prevent="setFileViewMode({ file, viewMode: 'editor' })">
<template v-if="viewer === $options.viewerTypes.edit">
{{ __('Edit') }}
</template>
@@ -222,7 +233,7 @@ export default {
/>
</div>
<div
- v-show="!shouldHideEditor && file.viewMode === 'edit'"
+ v-show="!shouldHideEditor && file.viewMode ==='editor'"
ref="editor"
:class="{
'is-readonly': isCommitModeActive,
@@ -231,10 +242,18 @@ export default {
>
</div>
<content-viewer
- v-if="shouldHideEditor || file.viewMode === 'preview'"
+ v-if="showContentViewer"
:content="file.content || file.raw"
:path="file.rawPath || file.path"
:file-size="file.size"
:project-path="file.projectId"/>
+ <diff-viewer
+ v-if="showDiffViewer"
+ :diff-mode="file.mrChange.diffMode"
+ :new-path="file.mrChange.new_path"
+ :new-sha="currentMergeRequest.sha"
+ :old-path="file.mrChange.old_path"
+ :old-sha="currentMergeRequest.baseCommitSha"
+ :project-path="file.projectId"/>
</div>
</template>