diff --git a/app/assets/javascripts/repo/components/repo.vue b/app/assets/javascripts/repo/components/repo.vue
index 81cdf06b3ab..a09999e247a 100644
--- a/app/assets/javascripts/repo/components/repo.vue
+++ b/app/assets/javascripts/repo/components/repo.vue
@@ -7,6 +7,7 @@ import RepoBinaryViewer from './repo_binary_viewer.vue';
import RepoMixin from '../mixins/repo_mixin';
import PopupDialog from '../../vue_shared/components/popup_dialog.vue';
import Store from '../stores/repo_store';
+import RepoHelper from '../helpers/repo_helper';
import MonacoLoaderHelper from '../helpers/monaco_loader_helper';
export default {
@@ -20,6 +21,16 @@ export default {
'repo-editor': MonacoLoaderHelper.repoEditorLoader,
'repo-commit-section': RepoCommitSection,
'popup-dialog': PopupDialog,
+ preview: { // POC
+ data: () => Store,
+ template: '
',
+ },
+ },
+
+ mounted() {
+ RepoHelper.getContent().then(() => {
+
+ }).catch(RepoHelper.loadingError);
},
methods: {
@@ -31,6 +42,8 @@ export default {
this.dialog.open = false;
this.dialog.status = status;
},
+
+ toggleBlobView: Store.toggleBlobView,
},
};
@@ -40,8 +53,8 @@ export default {
-
-
+
+
-
+
+
diff --git a/app/assets/javascripts/repo/components/repo_editor.vue b/app/assets/javascripts/repo/components/repo_editor.vue
index 97b6172353e..b006a9bc1f6 100644
--- a/app/assets/javascripts/repo/components/repo_editor.vue
+++ b/app/assets/javascripts/repo/components/repo_editor.vue
@@ -17,14 +17,12 @@ const RepoEditor = {
this.addMonacoEvents();
- Helper.getContent().then(() => {
- const languages = this.monaco.languages.getLanguages();
- const languageID = Helper.getLanguageIDForFile(this.activeFile, languages);
- this.showHide();
- const newModel = this.monaco.editor.createModel(this.blobRaw, languageID);
+ const languages = this.monaco.languages.getLanguages();
+ const languageID = Helper.getLanguageIDForFile(this.activeFile, languages);
+ this.showHide();
+ const newModel = this.monaco.editor.createModel(this.blobRaw, languageID);
- this.monacoInstance.setModel(newModel);
- }).catch(Helper.loadingError);
+ this.monacoInstance.setModel(newModel);
},
methods: {
diff --git a/app/assets/javascripts/repo/helpers/repo_helper.js b/app/assets/javascripts/repo/helpers/repo_helper.js
index e2680417104..af64718be5b 100644
--- a/app/assets/javascripts/repo/helpers/repo_helper.js
+++ b/app/assets/javascripts/repo/helpers/repo_helper.js
@@ -166,6 +166,7 @@ const RepoHelper = {
const rawUrl = RepoHelper.getRawURLFromBlobURL(file.url || Service.url);
RepoHelper.setBinaryDataAsBase64(rawUrl, data);
data.binary = true;
+ Store.currentBlobView = 'preview';
} else {
Service.getRaw(data.raw_path)
.then(response => {
diff --git a/app/assets/javascripts/repo/stores/repo_store.js b/app/assets/javascripts/repo/stores/repo_store.js
index dbb2f719d32..fbed36a0a3d 100644
--- a/app/assets/javascripts/repo/stores/repo_store.js
+++ b/app/assets/javascripts/repo/stores/repo_store.js
@@ -20,6 +20,7 @@ const RepoStore = {
submodules: [],
blobRaw: '',
blobRendered: '',
+ currentBlobView: 'preview',
openedFiles: [],
tabSize: 100,
defaultTabSize: 100,
@@ -211,6 +212,11 @@ const RepoStore = {
currentFile.newContent = contents;
},
+ toggleBlobView() {
+ console.log('toggleBlobView');
+ RepoStore.currentBlobView = RepoStore.currentBlobView === 'preview' ? 'repo-editor' : 'preview';
+ },
+
// getters
isActiveFile(file) {
diff --git a/app/assets/stylesheets/pages/repo.scss b/app/assets/stylesheets/pages/repo.scss
index 8eaf710e346..24413e82ffc 100644
--- a/app/assets/stylesheets/pages/repo.scss
+++ b/app/assets/stylesheets/pages/repo.scss
@@ -38,6 +38,10 @@
@include truncate(250px);
}
+#editable-mode {
+ display: inline-block;
+}
+
.tree-content-holder {
border: 1px solid $border-color;
border-radius: $border-radius-default;
diff --git a/app/views/shared/repo/_editable_mode.html.haml b/app/views/shared/repo/_editable_mode.html.haml
index 2946afa1b0d..a265352cd81 100644
--- a/app/views/shared/repo/_editable_mode.html.haml
+++ b/app/views/shared/repo/_editable_mode.html.haml
@@ -1,2 +1,2 @@
-%a.btn.btn-default#editable-mode
+#editable-mode
%repo-edit-button