diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-11 15:08:50 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-11 15:08:50 +0300 |
commit | 0eaa82ad61d2fda42b2dd5cf58cc08654b2d69ef (patch) | |
tree | 9ab5c60316dd689e0ac53830fd3910817006c9b3 /app/assets/javascripts/alert_management | |
parent | 6b5f961bef87c70effe57b14d41f9ed882b5d296 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/alert_management')
-rw-r--r-- | app/assets/javascripts/alert_management/components/sidebar/sidebar_todo.vue | 8 | ||||
-rw-r--r-- | app/assets/javascripts/alert_management/details.js | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/app/assets/javascripts/alert_management/components/sidebar/sidebar_todo.vue b/app/assets/javascripts/alert_management/components/sidebar/sidebar_todo.vue index 2c6302e4f77..84d54466a10 100644 --- a/app/assets/javascripts/alert_management/components/sidebar/sidebar_todo.vue +++ b/app/assets/javascripts/alert_management/components/sidebar/sidebar_todo.vue @@ -1,4 +1,5 @@ <script> +import produce from 'immer'; import { s__ } from '~/locale'; import Todo from '~/sidebar/components/todo_toggle/todo.vue'; import createAlertTodoMutation from '../../graphql/mutations/alert_todo_create.mutation.graphql'; @@ -109,12 +110,15 @@ export default { }); }, updateCache(store) { - const data = store.readQuery({ + const sourceData = store.readQuery({ query: alertQuery, variables: this.getAlertQueryVariables, }); - data.project.alertManagementAlerts.nodes[0].todos.nodes.shift(); + const data = produce(sourceData, draftData => { + // eslint-disable-next-line no-param-reassign + draftData.project.alertManagementAlerts.nodes[0].todos.nodes = []; + }); store.writeQuery({ query: alertQuery, diff --git a/app/assets/javascripts/alert_management/details.js b/app/assets/javascripts/alert_management/details.js index dccf990f0b4..c2020dfcbe3 100644 --- a/app/assets/javascripts/alert_management/details.js +++ b/app/assets/javascripts/alert_management/details.js @@ -1,5 +1,6 @@ import Vue from 'vue'; import VueApollo from 'vue-apollo'; +import produce from 'immer'; import { defaultDataIdFromObject } from 'apollo-cache-inmemory'; import createDefaultClient from '~/lib/graphql'; import createRouter from './router'; @@ -16,8 +17,11 @@ export default selector => { const resolvers = { Mutation: { toggleSidebarStatus: (_, __, { cache }) => { - const data = cache.readQuery({ query: sidebarStatusQuery }); - data.sidebarStatus = !data.sidebarStatus; + const sourceData = cache.readQuery({ query: sidebarStatusQuery }); + const data = produce(sourceData, draftData => { + // eslint-disable-next-line no-param-reassign + draftData.sidebarStatus = !draftData.sidebarStatus; + }); cache.writeQuery({ query: sidebarStatusQuery, data }); }, }, @@ -34,6 +38,7 @@ export default selector => { return defaultDataIdFromObject(object); }, }, + assumeImmutableResults: true, }), }); |