summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ide/components/repo_file_buttons.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/ide/components/repo_file_buttons.vue')
-rw-r--r--app/assets/javascripts/ide/components/repo_file_buttons.vue56
1 files changed, 56 insertions, 0 deletions
diff --git a/app/assets/javascripts/ide/components/repo_file_buttons.vue b/app/assets/javascripts/ide/components/repo_file_buttons.vue
new file mode 100644
index 00000000000..34f0d51819a
--- /dev/null
+++ b/app/assets/javascripts/ide/components/repo_file_buttons.vue
@@ -0,0 +1,56 @@
+<script>
+import { mapGetters } from 'vuex';
+
+export default {
+ computed: {
+ ...mapGetters([
+ 'activeFile',
+ ]),
+ showButtons() {
+ return this.activeFile.rawPath ||
+ this.activeFile.blamePath ||
+ this.activeFile.commitsPath ||
+ this.activeFile.permalink;
+ },
+ rawDownloadButtonLabel() {
+ return this.activeFile.binary ? 'Download' : 'Raw';
+ },
+ },
+};
+</script>
+
+<template>
+ <div
+ v-if="showButtons"
+ class="multi-file-editor-btn-group"
+ >
+ <a
+ :href="activeFile.rawPath"
+ target="_blank"
+ class="btn btn-default btn-sm raw"
+ rel="noopener noreferrer">
+ {{ rawDownloadButtonLabel }}
+ </a>
+
+ <div
+ class="btn-group"
+ role="group"
+ aria-label="File actions">
+ <a
+ :href="activeFile.blamePath"
+ class="btn btn-default btn-sm blame">
+ Blame
+ </a>
+ <a
+ :href="activeFile.commitsPath"
+ class="btn btn-default btn-sm history">
+ History
+ </a>
+ <a
+ :href="activeFile.permalink"
+ class="btn btn-default btn-sm permalink">
+ Permalink
+ </a>
+ </div>
+ </div>
+</template>