From ca0f59e434ead0ac8039e7048e07036cb49c542a Mon Sep 17 00:00:00 2001 From: Natalia Tepluhina <ntepluhina@gitlab.com> Date: Wed, 19 Apr 2023 13:51:57 +0000 Subject: [PATCH] Fixed bulk editing issues --- app/assets/javascripts/issues/list/graphql.js | 5 ++++- app/assets/javascripts/issues/list/index.js | 4 ++-- app/assets/javascripts/sidebar/mount_sidebar.js | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/issues/list/graphql.js b/app/assets/javascripts/issues/list/graphql.js index 96330f69965c..e64870152bd1 100644 --- a/app/assets/javascripts/issues/list/graphql.js +++ b/app/assets/javascripts/issues/list/graphql.js @@ -2,6 +2,8 @@ import produce from 'immer'; import createDefaultClient, { createApolloClientWithCaching } from '~/lib/graphql'; import getIssuesQuery from 'ee_else_ce/issues/list/queries/get_issues.query.graphql'; +let client; + const resolvers = { Mutation: { reorderIssues: (_, { oldIndex, newIndex, namespace, serializedVariables }, { cache }) => { @@ -23,7 +25,8 @@ const resolvers = { }; export async function gqlClient() { - const client = gon.features?.frontendCaching + if (client) return client; + client = gon.features?.frontendCaching ? await createApolloClientWithCaching(resolvers, { localCacheKey: 'issues_list' }) : createDefaultClient(resolvers); return client; diff --git a/app/assets/javascripts/issues/list/index.js b/app/assets/javascripts/issues/list/index.js index 720946ea330c..a97b59c1e4f5 100644 --- a/app/assets/javascripts/issues/list/index.js +++ b/app/assets/javascripts/issues/list/index.js @@ -6,7 +6,7 @@ import { parseBoolean } from '~/lib/utils/common_utils'; import JiraIssuesImportStatusApp from './components/jira_issues_import_status_app.vue'; import { gqlClient } from './graphql'; -export function mountJiraIssuesListApp() { +export async function mountJiraIssuesListApp() { const el = document.querySelector('.js-jira-issues-import-status-root'); if (!el) { @@ -27,7 +27,7 @@ export function mountJiraIssuesListApp() { el, name: 'JiraIssuesImportStatusRoot', apolloProvider: new VueApollo({ - defaultClient: gqlClient, + defaultClient: await gqlClient(), }), render(createComponent) { return createComponent(JiraIssuesImportStatusApp, { diff --git a/app/assets/javascripts/sidebar/mount_sidebar.js b/app/assets/javascripts/sidebar/mount_sidebar.js index 2c56dc34701d..2828b9fbf1ac 100644 --- a/app/assets/javascripts/sidebar/mount_sidebar.js +++ b/app/assets/javascripts/sidebar/mount_sidebar.js @@ -645,7 +645,7 @@ function mountCopyEmailToClipboard() { }); } -export function mountMoveIssuesButton() { +export async function mountMoveIssuesButton() { const el = document.querySelector('.js-move-issues'); if (!el) { @@ -658,7 +658,7 @@ export function mountMoveIssuesButton() { el, name: 'MoveIssuesRoot', apolloProvider: new VueApollo({ - defaultClient: gqlClient, + defaultClient: await gqlClient(), }), render: (createElement) => createElement(MoveIssuesButton, { -- GitLab