Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-10-16 09:08:48 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-10-16 09:08:48 +0300
commite94d662e5aabd4918de373b37c4f084325c7c1f8 (patch)
tree0b2cfdcc08258329318dcbf4412266893f7616d6 /app/assets/javascripts/static_site_editor
parentc311ce331fcfe1c1f1619534eb746245a1deb326 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/static_site_editor')
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/index.js1
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/resolvers/has_submitted_changes.js20
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/resolvers/submit_content_changes.js15
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,
});
});
};