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 | import Vue from 'vue'; import VueApollo from 'vue-apollo'; import createDefaultClient from '~/lib/graphql'; import { queryToObject } from '~/lib/utils/url_utility'; import { parseBoolean } from '~/lib/utils/common_utils'; import IssuesAnalytics from './components/issues_analytics.vue'; import store from './stores'; Vue.use(VueApollo); const apolloProvider = new VueApollo({ defaultClient: createDefaultClient( {}, { cacheConfig: { typePolicies: { Group: { fields: { flowMetrics: { merge: true } } }, Project: { fields: { flowMetrics: { merge: true } } }, }, }, }, ), }); export default () => { const el = document.querySelector('#js-issues-analytics'); const filterBlockEl = document.querySelector('.issues-filters'); if (!el) return null; const { fullPath, type, endpoint, noDataEmptyStateSvgPath, filtersEmptyStateSvgPath, issuesPageEndpoint, hasIssuesCompletedFeature, } = el.dataset; // Set default filters from URL const filters = queryToObject(window.location.search, { gatherArrays: true }); store.dispatch('issueAnalytics/setFilters', filters); return new Vue({ el, name: 'IssuesAnalytics', apolloProvider, store, provide: { fullPath, type, hasIssuesCompletedFeature: parseBoolean(hasIssuesCompletedFeature), endpoint, issuesPageEndpoint, noDataEmptyStateSvgPath, filtersEmptyStateSvgPath, }, render: (createElement) => createElement(IssuesAnalytics, { props: { filterBlockEl, }, }), }); }; |