diff options
Diffstat (limited to 'app/assets/javascripts/issue_show/incident.js')
-rw-r--r-- | app/assets/javascripts/issue_show/incident.js | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/app/assets/javascripts/issue_show/incident.js b/app/assets/javascripts/issue_show/incident.js index 0c81ecdc843..df986195656 100644 --- a/app/assets/javascripts/issue_show/incident.js +++ b/app/assets/javascripts/issue_show/incident.js @@ -1,15 +1,23 @@ import Vue from 'vue'; -import VueApollo from 'vue-apollo'; -import createDefaultClient from '~/lib/graphql'; import { parseBoolean } from '~/lib/utils/common_utils'; import issuableApp from './components/app.vue'; import incidentTabs from './components/incidents/incident_tabs.vue'; - -Vue.use(VueApollo); +import { issueState } from './constants'; +import apolloProvider from './graphql'; +import getIssueStateQuery from './queries/get_issue_state.query.graphql'; export default function initIssuableApp(issuableData = {}) { - const apolloProvider = new VueApollo({ - defaultClient: createDefaultClient(), + const el = document.getElementById('js-issuable-app'); + + if (!el) { + return undefined; + } + + apolloProvider.clients.defaultClient.cache.writeQuery({ + query: getIssueStateQuery, + data: { + issueState: { ...issueState, issueType: el.dataset.issueType }, + }, }); const { @@ -25,7 +33,7 @@ export default function initIssuableApp(issuableData = {}) { const fullPath = `${projectNamespace}/${projectPath}`; return new Vue({ - el: document.getElementById('js-issuable-app'), + el, apolloProvider, components: { issuableApp, |