From 0d6e50d54270a973647f828047828b80fdf8d013 Mon Sep 17 00:00:00 2001 From: Paul Slaughter Date: Tue, 7 Aug 2018 15:15:56 +0000 Subject: Create Web IDE MR and branch picker --- app/assets/javascripts/api.js | 12 ++ .../javascripts/ide/components/branches/item.vue | 60 +++++++ .../ide/components/branches/search_list.vue | 111 +++++++++++++ app/assets/javascripts/ide/components/ide_tree.vue | 2 +- .../javascripts/ide/components/ide_tree_list.vue | 5 +- .../ide/components/merge_requests/dropdown.vue | 63 -------- .../ide/components/merge_requests/item.vue | 18 +-- .../ide/components/merge_requests/list.vue | 172 ++++++++++++--------- .../javascripts/ide/components/nav_dropdown.vue | 59 +++++++ .../ide/components/nav_dropdown_button.vue | 54 +++++++ app/assets/javascripts/ide/components/nav_form.vue | 40 +++++ .../ide/components/shared/tokened_input.vue | 121 +++++++++++++++ app/assets/javascripts/ide/stores/index.js | 2 + .../ide/stores/modules/branches/actions.js | 39 +++++ .../ide/stores/modules/branches/index.js | 10 ++ .../ide/stores/modules/branches/mutation_types.js | 5 + .../ide/stores/modules/branches/mutations.js | 21 +++ .../ide/stores/modules/branches/state.js | 4 + .../ide/stores/modules/merge_requests/actions.js | 41 ++--- .../ide/stores/modules/merge_requests/getters.js | 4 - .../ide/stores/modules/merge_requests/index.js | 2 - .../ide/stores/modules/merge_requests/mutations.js | 18 +-- .../ide/stores/modules/merge_requests/state.js | 10 +- .../components/dropdown/dropdown_button.vue | 14 +- .../javascripts/vue_shared/components/icon.vue | 2 +- app/assets/stylesheets/framework/dropdowns.scss | 3 +- app/assets/stylesheets/framework/images.scss | 2 +- app/assets/stylesheets/page_bundles/ide.scss | 60 +++++-- 28 files changed, 736 insertions(+), 218 deletions(-) create mode 100644 app/assets/javascripts/ide/components/branches/item.vue create mode 100644 app/assets/javascripts/ide/components/branches/search_list.vue delete mode 100644 app/assets/javascripts/ide/components/merge_requests/dropdown.vue create mode 100644 app/assets/javascripts/ide/components/nav_dropdown.vue create mode 100644 app/assets/javascripts/ide/components/nav_dropdown_button.vue create mode 100644 app/assets/javascripts/ide/components/nav_form.vue create mode 100644 app/assets/javascripts/ide/components/shared/tokened_input.vue create mode 100644 app/assets/javascripts/ide/stores/modules/branches/actions.js create mode 100644 app/assets/javascripts/ide/stores/modules/branches/index.js create mode 100644 app/assets/javascripts/ide/stores/modules/branches/mutation_types.js create mode 100644 app/assets/javascripts/ide/stores/modules/branches/mutations.js create mode 100644 app/assets/javascripts/ide/stores/modules/branches/state.js delete mode 100644 app/assets/javascripts/ide/stores/modules/merge_requests/getters.js (limited to 'app/assets') diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js index 422becb7db8..25fe2ae553e 100644 --- a/app/assets/javascripts/api.js +++ b/app/assets/javascripts/api.js @@ -244,6 +244,18 @@ const Api = { }); }, + branches(id, query = '', options = {}) { + const url = Api.buildUrl(this.createBranchPath).replace(':id', encodeURIComponent(id)); + + return axios.get(url, { + params: { + search: query, + per_page: 20, + ...options, + }, + }); + }, + createBranch(id, { ref, branch }) { const url = Api.buildUrl(this.createBranchPath).replace(':id', encodeURIComponent(id)); diff --git a/app/assets/javascripts/ide/components/branches/item.vue b/app/assets/javascripts/ide/components/branches/item.vue new file mode 100644 index 00000000000..cc3e84e3f77 --- /dev/null +++ b/app/assets/javascripts/ide/components/branches/item.vue @@ -0,0 +1,60 @@ + + + diff --git a/app/assets/javascripts/ide/components/branches/search_list.vue b/app/assets/javascripts/ide/components/branches/search_list.vue new file mode 100644 index 00000000000..6db7b9d6b0e --- /dev/null +++ b/app/assets/javascripts/ide/components/branches/search_list.vue @@ -0,0 +1,111 @@ + + + diff --git a/app/assets/javascripts/ide/components/ide_tree.vue b/app/assets/javascripts/ide/components/ide_tree.vue index 33f1179a234..39d46a91731 100644 --- a/app/assets/javascripts/ide/components/ide_tree.vue +++ b/app/assets/javascripts/ide/components/ide_tree.vue @@ -41,7 +41,7 @@ export default { slot="header" > {{ __('Edit') }} -
+
+
-import { mapGetters } from 'vuex'; -import Tabs from '../../../vue_shared/components/tabs/tabs'; -import Tab from '../../../vue_shared/components/tabs/tab.vue'; -import List from './list.vue'; - -export default { - components: { - Tabs, - Tab, - List, - }, - props: { - show: { - type: Boolean, - required: true, - }, - }, - computed: { - ...mapGetters('mergeRequests', ['assignedData', 'createdData']), - createdMergeRequestLength() { - return this.createdData.mergeRequests.length; - }, - assignedMergeRequestLength() { - return this.assignedData.mergeRequests.length; - }, - }, -}; - - - diff --git a/app/assets/javascripts/ide/components/merge_requests/item.vue b/app/assets/javascripts/ide/components/merge_requests/item.vue index 4e18376bd48..0c4ea80ba08 100644 --- a/app/assets/javascripts/ide/components/merge_requests/item.vue +++ b/app/assets/javascripts/ide/components/merge_requests/item.vue @@ -1,5 +1,6 @@ diff --git a/app/assets/javascripts/ide/components/merge_requests/list.vue b/app/assets/javascripts/ide/components/merge_requests/list.vue index 19d3e48ee10..fc612956688 100644 --- a/app/assets/javascripts/ide/components/merge_requests/list.vue +++ b/app/assets/javascripts/ide/components/merge_requests/list.vue @@ -1,96 +1,101 @@