diff options
Diffstat (limited to 'app/assets/javascripts/ide/components/repo_file_buttons.vue')
-rw-r--r-- | app/assets/javascripts/ide/components/repo_file_buttons.vue | 56 |
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> |