Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | 1x | <script> // eslint-disable-next-line no-restricted-imports import { mapState } from 'vuex'; import { __ } from '~/locale'; import { rightSidebarViews, SIDEBAR_INIT_WIDTH, SIDEBAR_NAV_WIDTH } from '../../constants'; import JobsDetail from '../jobs/detail.vue'; import PipelinesList from '../pipelines/list.vue'; import ResizablePanel from '../resizable_panel.vue'; import TerminalView from '../terminal/view.vue'; import CollapsibleSidebar from './collapsible_sidebar.vue'; // Need to add the width of the nav buttons since the resizable container contains those as well const WIDTH = SIDEBAR_INIT_WIDTH + SIDEBAR_NAV_WIDTH; export default { name: 'RightPane', components: { CollapsibleSidebar, ResizablePanel, }, computed: { ...mapState('terminal', { isTerminalVisible: 'isVisible' }), ...mapState(['currentMergeRequestId']), ...mapState('rightPane', ['isOpen']), rightExtensionTabs() { return [ { show: true, title: __('Pipelines'), views: [ { component: PipelinesList, ...rightSidebarViews.pipelines }, { component: JobsDetail, ...rightSidebarViews.jobsDetail }, ], icon: 'rocket', }, { show: this.isTerminalVisible, title: __('Terminal'), views: [{ component: TerminalView, ...rightSidebarViews.terminal }], icon: 'terminal', }, ]; }, }, WIDTH, }; </script> <template> <resizable-panel class="gl-display-flex gl-overflow-hidden" side="right" :initial-width="$options.WIDTH" :min-size="$options.WIDTH" :resizable="isOpen" > <collapsible-sidebar class="gl-w-full" :extension-tabs="rightExtensionTabs" side="right" /> </resizable-panel> </template> |