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 61 62 63 64 65 66 67 68 69 70 71 72 73 | import Vue from 'vue'; import VueApollo from 'vue-apollo'; import { WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants'; import createDefaultClient from '~/lib/graphql'; import { getParameterValues } from '~/lib/utils/url_utility'; import { extractFilterQueryParameters } from '~/analytics/shared/utils'; import MergeRequestAnalyticsApp from './components/app.vue'; import createStore from './store'; import { toDateRange } from './utils'; Vue.use(VueApollo); const apolloProvider = new VueApollo({ defaultClient: createDefaultClient(), }); export default () => { const el = document.querySelector('#js-merge-request-analytics-app'); if (!el) return false; const { type, fullPath, milestonePath, labelsPath } = el.dataset; const store = createStore(); store.dispatch('filters/setEndpoints', { milestonesEndpoint: milestonePath, labelsEndpoint: labelsPath, groupEndpoint: type === WORKSPACE_GROUP ? fullPath : null, projectEndpoint: type === WORKSPACE_PROJECT ? fullPath : null, }); const { selectedSourceBranch, selectedTargetBranch, selectedAssignee, selectedAuthor, selectedMilestone, selectedLabelList, } = extractFilterQueryParameters(window.location.search); store.dispatch('filters/initialize', { selectedSourceBranch, selectedTargetBranch, selectedAssignee, selectedAuthor, selectedMilestone, selectedLabelList, }); const { startDate, endDate } = toDateRange( getParameterValues('start_date'), getParameterValues('end_date'), ); return new Vue({ el, apolloProvider, store, name: 'MergeRequestAnalyticsApp', provide: { fullPath, type, }, render: (createElement) => createElement(MergeRequestAnalyticsApp, { props: { startDate, endDate, }, }), }); }; |