diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-16 09:08:48 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-16 09:08:48 +0300 |
commit | e94d662e5aabd4918de373b37c4f084325c7c1f8 (patch) | |
tree | 0b2cfdcc08258329318dcbf4412266893f7616d6 /app/assets/javascripts/static_site_editor | |
parent | c311ce331fcfe1c1f1619534eb746245a1deb326 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/static_site_editor')
3 files changed, 25 insertions, 11 deletions
diff --git a/app/assets/javascripts/static_site_editor/graphql/index.js b/app/assets/javascripts/static_site_editor/graphql/index.js index fbb3d7fbfcc..cc68bc57bb0 100644 --- a/app/assets/javascripts/static_site_editor/graphql/index.js +++ b/app/assets/javascripts/static_site_editor/graphql/index.js @@ -21,6 +21,7 @@ const createApolloProvider = appData => { }, { typeDefs, + assumeImmutableResults: true, }, ); diff --git a/app/assets/javascripts/static_site_editor/graphql/resolvers/has_submitted_changes.js b/app/assets/javascripts/static_site_editor/graphql/resolvers/has_submitted_changes.js index ce55db7f3e5..ea49b21eb0d 100644 --- a/app/assets/javascripts/static_site_editor/graphql/resolvers/has_submitted_changes.js +++ b/app/assets/javascripts/static_site_editor/graphql/resolvers/has_submitted_changes.js @@ -1,16 +1,24 @@ +import { produce } from 'immer'; import query from '../queries/app_data.query.graphql'; const hasSubmittedChangesResolver = (_, { input: { hasSubmittedChanges } }, { cache }) => { - const { appData } = cache.readQuery({ query }); - cache.writeQuery({ - query, - data: { + const oldData = cache.readQuery({ query }); + + const data = produce(oldData, draftState => { + // punctually modifying draftState as per immer docs upsets our linters + return { + ...draftState, appData: { __typename: 'AppData', - ...appData, + ...draftState.appData, hasSubmittedChanges, }, - }, + }; + }); + + cache.writeQuery({ + query, + data, }); }; diff --git a/app/assets/javascripts/static_site_editor/graphql/resolvers/submit_content_changes.js b/app/assets/javascripts/static_site_editor/graphql/resolvers/submit_content_changes.js index 694cf762e51..4137ede49c6 100644 --- a/app/assets/javascripts/static_site_editor/graphql/resolvers/submit_content_changes.js +++ b/app/assets/javascripts/static_site_editor/graphql/resolvers/submit_content_changes.js @@ -1,3 +1,4 @@ +import { produce } from 'immer'; import submitContentChanges from '../../services/submit_content_changes'; import savedContentMetaQuery from '../queries/saved_content_meta.query.graphql'; @@ -14,14 +15,18 @@ const submitContentChangesResolver = ( images, mergeRequestMeta, }).then(savedContentMeta => { - cache.writeQuery({ - query: savedContentMetaQuery, - data: { + const data = produce(savedContentMeta, draftState => { + return { savedContentMeta: { __typename: 'SavedContentMeta', - ...savedContentMeta, + ...draftState, }, - }, + }; + }); + + cache.writeQuery({ + query: savedContentMetaQuery, + data, }); }); }; |