summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ide/components/nav_dropdown_button.vue
diff options
context:
space:
mode:
authorPaul Slaughter <pslaughter@gitlab.com>2018-08-07 15:15:56 +0000
committerPhil Hughes <me@iamphill.com>2018-08-07 15:15:56 +0000
commit0d6e50d54270a973647f828047828b80fdf8d013 (patch)
tree9bf41acf27d039f673f45520187daff9d47cb04f /app/assets/javascripts/ide/components/nav_dropdown_button.vue
parent0e90f27ff79d1743d8ec5e49e003d4c68a689f78 (diff)
downloadgitlab-ce-0d6e50d54270a973647f828047828b80fdf8d013.tar.gz
Create Web IDE MR and branch picker
Diffstat (limited to 'app/assets/javascripts/ide/components/nav_dropdown_button.vue')
-rw-r--r--app/assets/javascripts/ide/components/nav_dropdown_button.vue54
1 files changed, 54 insertions, 0 deletions
diff --git a/app/assets/javascripts/ide/components/nav_dropdown_button.vue b/app/assets/javascripts/ide/components/nav_dropdown_button.vue
new file mode 100644
index 00000000000..7f98769d484
--- /dev/null
+++ b/app/assets/javascripts/ide/components/nav_dropdown_button.vue
@@ -0,0 +1,54 @@
+<script>
+import { mapState } from 'vuex';
+import DropdownButton from '~/vue_shared/components/dropdown/dropdown_button.vue';
+import Icon from '~/vue_shared/components/icon.vue';
+
+const EMPTY_LABEL = '-';
+
+export default {
+ components: {
+ Icon,
+ DropdownButton,
+ },
+ computed: {
+ ...mapState(['currentBranchId', 'currentMergeRequestId']),
+ mergeRequestLabel() {
+ return this.currentMergeRequestId
+ ? `!${this.currentMergeRequestId}`
+ : EMPTY_LABEL;
+ },
+ branchLabel() {
+ return this.currentBranchId || EMPTY_LABEL;
+ },
+ },
+};
+</script>
+
+<template>
+ <dropdown-button>
+ <span
+ class="row"
+ >
+ <span
+ class="col-7 text-truncate"
+ >
+ <icon
+ :size="16"
+ :aria-label="__('Current Branch')"
+ name="branch"
+ />
+ {{ branchLabel }}
+ </span>
+ <span
+ class="col-5 pl-0 text-truncate"
+ >
+ <icon
+ :size="16"
+ :aria-label="__('Merge Request')"
+ name="merge-request"
+ />
+ {{ mergeRequestLabel }}
+ </span>
+ </span>
+ </dropdown-button>
+</template>