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 | import Vue from 'vue'; import VueApollo from 'vue-apollo'; import createDefaultClient from '~/lib/graphql'; import { VISIBILITY_LEVEL_PRIVATE_STRING, VISIBILITY_LEVELS_INTEGER_TO_STRING, } from '~/visibility_level/constants'; import Translate from '~/vue_shared/translate'; Vue.use(VueApollo); Vue.use(Translate); export default function appFactory(el, Component) { if (!el) { return false; } const apolloProvider = new VueApollo({ defaultClient: createDefaultClient( {}, { batchMax: 1, }, ), }); const { visibilityLevels = '[]', selectedLevel, multipleLevelsRestricted, canReportSpam, reportAbusePath, ...restDataset } = el.dataset; return new Vue({ el, apolloProvider, provide: { visibilityLevels: JSON.parse(visibilityLevels), selectedLevel: VISIBILITY_LEVELS_INTEGER_TO_STRING[selectedLevel] ?? VISIBILITY_LEVEL_PRIVATE_STRING, multipleLevelsRestricted: 'multipleLevelsRestricted' in el.dataset, reportAbusePath, canReportSpam, }, render(createElement) { return createElement(Component, { props: { ...restDataset, }, }); }, }); } |