From fcd2ac9ac5b3e3b92f466d53b261710cd29c8c9d Mon Sep 17 00:00:00 2001 From: Coung Ngo <cngo@gitlab.com> Date: Fri, 25 Aug 2023 00:03:47 +0100 Subject: [PATCH] Move sidebar queries for better tree-shaking Move sidebar query constants into `queries` directory so that consumers can import ~/sidebar/constants without also importing all the queries along with it --- .../notes/components/sidebar_subscription.vue | 2 +- .../assignees/assignees_realtime.vue | 2 +- .../assignees/sidebar_assignees_widget.vue | 2 +- .../sidebar_confidentiality_form.vue | 2 +- .../sidebar_confidentiality_widget.vue | 3 +- .../copy/sidebar_reference_widget.vue | 2 +- .../components/date/sidebar_date_widget.vue | 3 +- .../incidents/sidebar_escalation_status.vue | 7 +- .../dropdown_contents_create_view.vue | 2 +- .../dropdown_contents_labels_view.vue | 2 +- .../labels_select_root.vue | 2 +- .../sidebar_participants_widget.vue | 2 +- .../sidebar/components/sidebar_dropdown.vue | 2 +- .../components/sidebar_dropdown_widget.vue | 2 +- .../sidebar_subscriptions_widget.vue | 3 +- .../components/time_tracking/report.vue | 2 +- .../components/time_tracking/time_tracker.vue | 3 +- .../todo_toggle/sidebar_todo_widget.vue | 3 +- app/assets/javascripts/sidebar/constants.js | 268 ----------------- .../javascripts/sidebar/queries/constants.js | 270 ++++++++++++++++++ .../components/user_select/user_select.vue | 2 +- .../sidebar_ancestors_widget.vue | 2 +- .../sidebar_health_status_widget.vue | 2 +- .../components/sidebar_dropdown_widget.vue | 2 +- .../weight/sidebar_weight_widget.vue | 3 +- .../assets/javascripts/sidebar/constants.js | 99 ------- .../javascripts/sidebar/queries/constants.js | 100 +++++++ .../sidebar_health_status_widget_spec.js | 2 +- .../sidebar_iteration_widget_spec.js | 3 +- .../sidebar_dropdown_widget_spec.js | 3 +- .../sidebar_confidentiality_form_spec.js | 2 +- .../sidebar_escalation_status_spec.js | 7 +- .../dropdown_contents_create_view_spec.js | 2 +- 33 files changed, 409 insertions(+), 404 deletions(-) create mode 100644 app/assets/javascripts/sidebar/queries/constants.js create mode 100644 ee/app/assets/javascripts/sidebar/queries/constants.js diff --git a/app/assets/javascripts/notes/components/sidebar_subscription.vue b/app/assets/javascripts/notes/components/sidebar_subscription.vue index f60a17eb36b45..c02c7a57dfad4 100644 --- a/app/assets/javascripts/notes/components/sidebar_subscription.vue +++ b/app/assets/javascripts/notes/components/sidebar_subscription.vue @@ -3,7 +3,7 @@ import { mapActions } from 'vuex'; import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants'; import { fetchPolicies } from '~/lib/graphql'; -import { confidentialityQueries } from '~/sidebar/constants'; +import { confidentialityQueries } from '~/sidebar/queries/constants'; import { defaultClient as gqlClient } from '~/graphql_shared/issuable_client'; export default { diff --git a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue index 319699b88f3fb..cf77a5ca82c9b 100644 --- a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue +++ b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue @@ -1,6 +1,6 @@ <script> import { getIdFromGraphQLId } from '~/graphql_shared/utils'; -import { assigneesQueries } from '../../constants'; +import { assigneesQueries } from '../../queries/constants'; export default { subscription: null, diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue index ae81dcb95ded7..4ff12824008ab 100644 --- a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue +++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue @@ -6,7 +6,7 @@ import { TYPE_ALERT, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, n__ } from '~/locale'; import UserSelect from '~/vue_shared/components/user_select/user_select.vue'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; -import { assigneesQueries } from '../../constants'; +import { assigneesQueries } from '../../queries/constants'; import SidebarEditableItem from '../sidebar_editable_item.vue'; import SidebarAssigneesRealtime from './assignees_realtime.vue'; import IssuableAssignees from './issuable_assignees.vue'; diff --git a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue index 3038cec03ebd9..96d72e9545e3b 100644 --- a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue +++ b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue @@ -3,7 +3,7 @@ import { GlSprintf, GlButton } from '@gitlab/ui'; import { createAlert } from '~/alert'; import { TYPE_ISSUE } from '~/issues/constants'; import { __, sprintf } from '~/locale'; -import { confidentialityQueries } from '../../constants'; +import { confidentialityQueries } from '../../queries/constants'; export default { i18n: { diff --git a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue index 9177baec24629..295d37671cc0b 100644 --- a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue +++ b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue @@ -3,7 +3,8 @@ import produce from 'immer'; import Vue from 'vue'; import { createAlert } from '~/alert'; import { __, sprintf } from '~/locale'; -import { confidentialityQueries, Tracking } from '../../constants'; +import { Tracking } from '../../constants'; +import { confidentialityQueries } from '../../queries/constants'; import SidebarEditableItem from '../sidebar_editable_item.vue'; import SidebarConfidentialityContent from './sidebar_confidentiality_content.vue'; import SidebarConfidentialityForm from './sidebar_confidentiality_form.vue'; diff --git a/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue b/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue index 3287539e50279..7a488bb379f48 100644 --- a/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue +++ b/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue @@ -1,6 +1,6 @@ <script> import { __ } from '~/locale'; -import { referenceQueries } from '../../constants'; +import { referenceQueries } from '../../queries/constants'; import CopyableField from './copyable_field.vue'; export default { diff --git a/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue b/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue index 5a9545f34609d..89bc4b126d693 100644 --- a/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue +++ b/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue @@ -4,7 +4,8 @@ import { createAlert } from '~/alert'; import { TYPE_ISSUE } from '~/issues/constants'; import { dateInWords, formatDate, parsePikadayDate } from '~/lib/utils/datetime_utility'; import { __, sprintf } from '~/locale'; -import { dateFields, dateTypes, dueDateQueries, startDateQueries, Tracking } from '../../constants'; +import { dateFields, dateTypes, Tracking } from '../../constants'; +import { dueDateQueries, startDateQueries } from '../../queries/constants'; import SidebarEditableItem from '../sidebar_editable_item.vue'; import SidebarFormattedDate from './sidebar_formatted_date.vue'; import SidebarInheritDate from './sidebar_inherit_date.vue'; diff --git a/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue b/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue index 6db332a82dae4..576043963de9a 100644 --- a/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue +++ b/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue @@ -3,11 +3,8 @@ import { GlIcon, GlTooltipDirective } from '@gitlab/ui'; import { createAlert } from '~/alert'; import { logError } from '~/lib/logger'; import EscalationStatus from 'ee_else_ce/sidebar/components/incidents/escalation_status.vue'; -import { - escalationStatusQuery, - escalationStatusMutation, - INCIDENTS_I18N as i18n, -} from '../../constants'; +import { INCIDENTS_I18N as i18n } from '../../constants'; +import { escalationStatusQuery, escalationStatusMutation } from '../../queries/constants'; import { getStatusLabel } from '../../utils'; import SidebarEditableItem from '../sidebar_editable_item.vue'; diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue index 4577864095729..8bbec6794cab7 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue @@ -11,7 +11,7 @@ import produce from 'immer'; import { createAlert } from '~/alert'; import { WORKSPACE_GROUP } from '~/issues/constants'; import { __ } from '~/locale'; -import { workspaceLabelsQueries } from '../../../constants'; +import { workspaceLabelsQueries } from '../../../queries/constants'; import createLabelMutation from './graphql/create_label.mutation.graphql'; import { DEFAULT_LABEL_COLOR } from './constants'; diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue index d8d07b4b22157..fc8834a97d494 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue @@ -4,7 +4,7 @@ import fuzzaldrinPlus from 'fuzzaldrin-plus'; import { createAlert } from '~/alert'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import { __ } from '~/locale'; -import { workspaceLabelsQueries } from '../../../constants'; +import { workspaceLabelsQueries } from '../../../queries/constants'; import LabelItem from './label_item.vue'; export default { diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue index 74c3f08a47b40..f9a9cc316c10a 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue @@ -7,7 +7,7 @@ import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import { TYPE_EPIC, TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_TEST_CASE } from '~/issues/constants'; import { __ } from '~/locale'; -import { issuableLabelsQueries } from '../../../constants'; +import { issuableLabelsQueries } from '../../../queries/constants'; import SidebarEditableItem from '../../sidebar_editable_item.vue'; import { DEBOUNCE_DROPDOWN_DELAY, VARIANT_SIDEBAR } from './constants'; import DropdownContents from './dropdown_contents.vue'; diff --git a/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue b/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue index b0556e22a8df9..b764d660d6371 100644 --- a/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue +++ b/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue @@ -1,6 +1,6 @@ <script> import { __ } from '~/locale'; -import { participantsQueries } from '../../constants'; +import { participantsQueries } from '../../queries/constants'; import Participants from './participants.vue'; export default { diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue index 50b4284cde08b..c9450244b4051 100644 --- a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue +++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue @@ -20,13 +20,13 @@ import { defaultEpicSort, dropdowni18nText, epicIidPattern, - issuableAttributesQueries, IssuableAttributeState, IssuableAttributeType, IssuableAttributeTypeKeyMap, LocalizedIssuableAttributeType, noAttributeId, } from 'ee_else_ce/sidebar/constants'; +import { issuableAttributesQueries } from 'ee_else_ce/sidebar/queries/constants'; import { createAlert } from '~/alert'; import { PathIdSeparator } from '~/related_issues/constants'; diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue index 4721c6fee611c..7fde43a360df4 100644 --- a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue +++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue @@ -11,10 +11,10 @@ import { dropdowni18nText, LocalizedIssuableAttributeType, IssuableAttributeTypeKeyMap, - issuableAttributesQueries, IssuableAttributeType, Tracking, } from 'ee_else_ce/sidebar/constants'; +import { issuableAttributesQueries } from 'ee_else_ce/sidebar/queries/constants'; import SidebarDropdown from './sidebar_dropdown.vue'; import SidebarEditableItem from './sidebar_editable_item.vue'; diff --git a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue index d6e1847aecbb2..568962cddc7fe 100644 --- a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue +++ b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue @@ -13,7 +13,8 @@ import { isLoggedIn } from '~/lib/utils/common_utils'; import { __, sprintf } from '~/locale'; import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import toast from '~/vue_shared/plugins/global_toast'; -import { subscribedQueries, Tracking } from '../../constants'; +import { Tracking } from '../../constants'; +import { subscribedQueries } from '../../queries/constants'; import SidebarEditableItem from '../sidebar_editable_item.vue'; const ICON_ON = 'notifications'; diff --git a/app/assets/javascripts/sidebar/components/time_tracking/report.vue b/app/assets/javascripts/sidebar/components/time_tracking/report.vue index 70d8024f46aad..9bd4c7f5c68ae 100644 --- a/app/assets/javascripts/sidebar/components/time_tracking/report.vue +++ b/app/assets/javascripts/sidebar/components/time_tracking/report.vue @@ -7,7 +7,7 @@ import { convertToGraphQLId } from '~/graphql_shared/utils'; import { TYPE_ISSUE } from '~/issues/constants'; import { formatDate, parseSeconds, stringifyTime } from '~/lib/utils/datetime_utility'; import { __, s__ } from '~/locale'; -import { timelogQueries } from '../../constants'; +import { timelogQueries } from '../../queries/constants'; import deleteTimelogMutation from '../../queries/delete_timelog.mutation.graphql'; const TIME_DATE_FORMAT = 'mmmm d, yyyy, HH:MM ("UTC:" o)'; diff --git a/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue b/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue index 1d427a871e1fb..91b23689f0d90 100644 --- a/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue +++ b/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue @@ -12,7 +12,8 @@ import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { BV_SHOW_MODAL } from '~/lib/utils/constants'; import { s__, __ } from '~/locale'; -import { HOW_TO_TRACK_TIME, timeTrackingQueries } from '../../constants'; +import { HOW_TO_TRACK_TIME } from '../../constants'; +import { timeTrackingQueries } from '../../queries/constants'; import eventHub from '../../event_hub'; import TimeTrackingCollapsedState from './collapsed_state.vue'; import TimeTrackingComparisonPane from './comparison_pane.vue'; diff --git a/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue b/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue index 551d306a9c4b1..1099dcb832f53 100644 --- a/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue +++ b/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue @@ -6,7 +6,8 @@ import { TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, sprintf } from '~/locale'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import Tracking from '~/tracking'; -import { todoQueries, TodoMutationTypes, todoMutations } from '../../constants'; +import { TodoMutationTypes } from '../../constants'; +import { todoQueries, todoMutations } from '../../queries/constants'; import { todoLabel } from '../../utils'; import TodoButton from './todo_button.vue'; diff --git a/app/assets/javascripts/sidebar/constants.js b/app/assets/javascripts/sidebar/constants.js index 752d031522778..f13f613733bd8 100644 --- a/app/assets/javascripts/sidebar/constants.js +++ b/app/assets/javascripts/sidebar/constants.js @@ -1,173 +1,10 @@ import { invert } from 'lodash'; import { s__, __, sprintf } from '~/locale'; -import updateIssueLabelsMutation from '~/boards/graphql/issue_set_labels.mutation.graphql'; -import userAutocompleteQuery from '~/graphql_shared/queries/project_autocomplete_users.query.graphql'; -import userAutocompleteWithMRPermissionsQuery from '~/graphql_shared/queries/project_autocomplete_users_with_mr_permissions.query.graphql'; -import { - TYPE_ALERT, - TYPE_EPIC, - TYPE_ISSUE, - TYPE_MERGE_REQUEST, - TYPE_TEST_CASE, - WORKSPACE_GROUP, - WORKSPACE_PROJECT, -} from '~/issues/constants'; -import updateAlertAssigneesMutation from '~/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql'; -import issuableDatesUpdatedSubscription from '../graphql_shared/subscriptions/work_item_dates.subscription.graphql'; -import updateTestCaseLabelsMutation from './components/labels/labels_select_widget/graphql/update_test_case_labels.mutation.graphql'; -import epicLabelsQuery from './components/labels/labels_select_widget/graphql/epic_labels.query.graphql'; -import updateEpicLabelsMutation from './components/labels/labels_select_widget/graphql/epic_update_labels.mutation.graphql'; -import groupLabelsQuery from './components/labels/labels_select_widget/graphql/group_labels.query.graphql'; -import issueLabelsQuery from './components/labels/labels_select_widget/graphql/issue_labels.query.graphql'; -import mergeRequestLabelsQuery from './components/labels/labels_select_widget/graphql/merge_request_labels.query.graphql'; -import projectLabelsQuery from './components/labels/labels_select_widget/graphql/project_labels.query.graphql'; -import epicConfidentialQuery from './queries/epic_confidential.query.graphql'; -import epicDueDateQuery from './queries/epic_due_date.query.graphql'; -import epicParticipantsQuery from './queries/epic_participants.query.graphql'; -import epicReferenceQuery from './queries/epic_reference.query.graphql'; -import epicStartDateQuery from './queries/epic_start_date.query.graphql'; -import epicSubscribedQuery from './queries/epic_subscribed.query.graphql'; -import epicTodoQuery from './queries/epic_todo.query.graphql'; -import issuableAssigneesSubscription from './queries/issuable_assignees.subscription.graphql'; -import issueConfidentialQuery from './queries/issue_confidential.query.graphql'; -import issueDueDateQuery from './queries/issue_due_date.query.graphql'; -import issueReferenceQuery from './queries/issue_reference.query.graphql'; -import issueSubscribedQuery from './queries/issue_subscribed.query.graphql'; -import issueTimeTrackingQuery from './queries/issue_time_tracking.query.graphql'; -import issueTodoQuery from './queries/issue_todo.query.graphql'; -import mergeRequestMilestone from './queries/merge_request_milestone.query.graphql'; -import mergeRequestReferenceQuery from './queries/merge_request_reference.query.graphql'; -import mergeRequestSubscribed from './queries/merge_request_subscribed.query.graphql'; -import mergeRequestTimeTrackingQuery from './queries/merge_request_time_tracking.query.graphql'; -import mergeRequestTodoQuery from './queries/merge_request_todo.query.graphql'; -import todoCreateMutation from './queries/todo_create.mutation.graphql'; -import todoMarkDoneMutation from './queries/todo_mark_done.mutation.graphql'; -import updateEpicConfidentialMutation from './queries/update_epic_confidential.mutation.graphql'; -import updateEpicDueDateMutation from './queries/update_epic_due_date.mutation.graphql'; -import updateEpicStartDateMutation from './queries/update_epic_start_date.mutation.graphql'; -import updateEpicSubscriptionMutation from './queries/update_epic_subscription.mutation.graphql'; -import updateIssueConfidentialMutation from './queries/update_issue_confidential.mutation.graphql'; -import updateIssueDueDateMutation from './queries/update_issue_due_date.mutation.graphql'; -import updateIssueSubscriptionMutation from './queries/update_issue_subscription.mutation.graphql'; -import mergeRequestMilestoneMutation from './queries/update_merge_request_milestone.mutation.graphql'; -import updateMergeRequestLabelsMutation from './queries/update_merge_request_labels.mutation.graphql'; -import updateMergeRequestSubscriptionMutation from './queries/update_merge_request_subscription.mutation.graphql'; -import getAlertAssignees from './queries/get_alert_assignees.query.graphql'; -import getIssueAssignees from './queries/get_issue_assignees.query.graphql'; -import issueParticipantsQuery from './queries/get_issue_participants.query.graphql'; -import getIssueTimelogsQuery from './queries/get_issue_timelogs.query.graphql'; -import getMergeRequestAssignees from './queries/get_mr_assignees.query.graphql'; -import getMergeRequestParticipants from './queries/get_mr_participants.query.graphql'; -import getMrTimelogsQuery from './queries/get_mr_timelogs.query.graphql'; -import updateIssueAssigneesMutation from './queries/update_issue_assignees.mutation.graphql'; -import updateMergeRequestAssigneesMutation from './queries/update_mr_assignees.mutation.graphql'; -import getEscalationStatusQuery from './queries/escalation_status.query.graphql'; -import updateEscalationStatusMutation from './queries/update_escalation_status.mutation.graphql'; -import groupMilestonesQuery from './queries/group_milestones.query.graphql'; -import projectIssueMilestoneMutation from './queries/project_issue_milestone.mutation.graphql'; -import projectIssueMilestoneQuery from './queries/project_issue_milestone.query.graphql'; -import projectMilestonesQuery from './queries/project_milestones.query.graphql'; export const defaultEpicSort = 'TITLE_ASC'; export const epicIidPattern = /^&(?<iid>\d+)$/; -export const assigneesQueries = { - [TYPE_ISSUE]: { - query: getIssueAssignees, - subscription: issuableAssigneesSubscription, - mutation: updateIssueAssigneesMutation, - }, - [TYPE_MERGE_REQUEST]: { - query: getMergeRequestAssignees, - mutation: updateMergeRequestAssigneesMutation, - }, - [TYPE_ALERT]: { - query: getAlertAssignees, - mutation: updateAlertAssigneesMutation, - }, -}; - -export const participantsQueries = { - [TYPE_ISSUE]: { - query: issueParticipantsQuery, - }, - [TYPE_MERGE_REQUEST]: { - query: getMergeRequestParticipants, - }, - [TYPE_EPIC]: { - query: epicParticipantsQuery, - }, - [TYPE_ALERT]: { - query: '', - skipQuery: true, - }, -}; - -export const userSearchQueries = { - [TYPE_ISSUE]: { - query: userAutocompleteQuery, - }, - [TYPE_MERGE_REQUEST]: { - query: userAutocompleteWithMRPermissionsQuery, - }, -}; - -export const confidentialityQueries = { - [TYPE_ISSUE]: { - query: issueConfidentialQuery, - mutation: updateIssueConfidentialMutation, - }, - [TYPE_EPIC]: { - query: epicConfidentialQuery, - mutation: updateEpicConfidentialMutation, - }, -}; - -export const referenceQueries = { - [TYPE_ISSUE]: { - query: issueReferenceQuery, - }, - [TYPE_MERGE_REQUEST]: { - query: mergeRequestReferenceQuery, - }, - [TYPE_EPIC]: { - query: epicReferenceQuery, - }, -}; - -export const workspaceLabelsQueries = { - [WORKSPACE_PROJECT]: { - query: projectLabelsQuery, - }, - [WORKSPACE_GROUP]: { - query: groupLabelsQuery, - }, -}; - -export const issuableLabelsQueries = { - [TYPE_ISSUE]: { - issuableQuery: issueLabelsQuery, - mutation: updateIssueLabelsMutation, - mutationName: 'updateIssue', - }, - [TYPE_MERGE_REQUEST]: { - issuableQuery: mergeRequestLabelsQuery, - mutation: updateMergeRequestLabelsMutation, - mutationName: 'mergeRequestSetLabels', - }, - [TYPE_EPIC]: { - issuableQuery: epicLabelsQuery, - mutation: updateEpicLabelsMutation, - mutationName: 'updateEpic', - }, - [TYPE_TEST_CASE]: { - issuableQuery: issueLabelsQuery, - mutation: updateTestCaseLabelsMutation, - mutationName: 'updateTestCaseLabels', - }, -}; - export const dateTypes = { start: 'startDate', due: 'dueDate', @@ -186,91 +23,13 @@ export const dateFields = { }, }; -export const subscribedQueries = { - [TYPE_ISSUE]: { - query: issueSubscribedQuery, - mutation: updateIssueSubscriptionMutation, - }, - [TYPE_EPIC]: { - query: epicSubscribedQuery, - mutation: updateEpicSubscriptionMutation, - }, - [TYPE_MERGE_REQUEST]: { - query: mergeRequestSubscribed, - mutation: updateMergeRequestSubscriptionMutation, - }, -}; - export const Tracking = { editEvent: 'click_edit_button', rightSidebarLabel: 'right_sidebar', }; -export const timeTrackingQueries = { - [TYPE_ISSUE]: { - query: issueTimeTrackingQuery, - }, - [TYPE_MERGE_REQUEST]: { - query: mergeRequestTimeTrackingQuery, - }, -}; - -export const dueDateQueries = { - [TYPE_ISSUE]: { - query: issueDueDateQuery, - mutation: updateIssueDueDateMutation, - subscription: issuableDatesUpdatedSubscription, - }, - [TYPE_EPIC]: { - query: epicDueDateQuery, - mutation: updateEpicDueDateMutation, - }, -}; - -export const startDateQueries = { - [TYPE_EPIC]: { - query: epicStartDateQuery, - mutation: updateEpicStartDateMutation, - }, -}; - -export const timelogQueries = { - [TYPE_ISSUE]: { - query: getIssueTimelogsQuery, - }, - [TYPE_MERGE_REQUEST]: { - query: getMrTimelogsQuery, - }, -}; - export const noAttributeId = null; -export const issuableMilestoneQueries = { - [TYPE_ISSUE]: { - query: projectIssueMilestoneQuery, - mutation: projectIssueMilestoneMutation, - }, - [TYPE_MERGE_REQUEST]: { - query: mergeRequestMilestone, - mutation: mergeRequestMilestoneMutation, - }, -}; - -export const milestonesQueries = { - [TYPE_ISSUE]: { - query: { - [WORKSPACE_GROUP]: groupMilestonesQuery, - [WORKSPACE_PROJECT]: projectMilestonesQuery, - }, - }, - [TYPE_MERGE_REQUEST]: { - query: { - [WORKSPACE_GROUP]: groupMilestonesQuery, - [WORKSPACE_PROJECT]: projectMilestonesQuery, - }, - }, -}; - export const IssuableAttributeType = { Milestone: 'milestone', }; @@ -285,35 +44,11 @@ export const IssuableAttributeState = { [IssuableAttributeType.Milestone]: 'active', }; -export const issuableAttributesQueries = { - [IssuableAttributeType.Milestone]: { - current: issuableMilestoneQueries, - list: milestonesQueries, - }, -}; - -export const todoQueries = { - [TYPE_EPIC]: { - query: epicTodoQuery, - }, - [TYPE_ISSUE]: { - query: issueTodoQuery, - }, - [TYPE_MERGE_REQUEST]: { - query: mergeRequestTodoQuery, - }, -}; - export const TodoMutationTypes = { Create: 'create', MarkDone: 'mark-done', }; -export const todoMutations = { - [TodoMutationTypes.Create]: todoCreateMutation, - [TodoMutationTypes.MarkDone]: todoMarkDoneMutation, -}; - export function dropdowni18nText(issuableAttribute, issuableType) { return { noAttribute: sprintf(s__('DropdownWidget|No %{issuableAttribute}'), { @@ -362,9 +97,6 @@ export function dropdowni18nText(issuableAttribute, issuableType) { }; } -export const escalationStatusQuery = getEscalationStatusQuery; -export const escalationStatusMutation = updateEscalationStatusMutation; - export const HOW_TO_TRACK_TIME = __('How to track time'); export const statusDropdownOptions = [ diff --git a/app/assets/javascripts/sidebar/queries/constants.js b/app/assets/javascripts/sidebar/queries/constants.js new file mode 100644 index 0000000000000..9f71091b8fcd9 --- /dev/null +++ b/app/assets/javascripts/sidebar/queries/constants.js @@ -0,0 +1,270 @@ +import updateIssueLabelsMutation from '~/boards/graphql/issue_set_labels.mutation.graphql'; +import userAutocompleteQuery from '~/graphql_shared/queries/project_autocomplete_users.query.graphql'; +import userAutocompleteWithMRPermissionsQuery from '~/graphql_shared/queries/project_autocomplete_users_with_mr_permissions.query.graphql'; +import issuableDatesUpdatedSubscription from '~/graphql_shared/subscriptions/work_item_dates.subscription.graphql'; +import { + TYPE_ALERT, + TYPE_EPIC, + TYPE_ISSUE, + TYPE_MERGE_REQUEST, + TYPE_TEST_CASE, + WORKSPACE_GROUP, + WORKSPACE_PROJECT, +} from '~/issues/constants'; +import updateAlertAssigneesMutation from '~/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql'; +import updateTestCaseLabelsMutation from '../components/labels/labels_select_widget/graphql/update_test_case_labels.mutation.graphql'; +import epicLabelsQuery from '../components/labels/labels_select_widget/graphql/epic_labels.query.graphql'; +import updateEpicLabelsMutation from '../components/labels/labels_select_widget/graphql/epic_update_labels.mutation.graphql'; +import groupLabelsQuery from '../components/labels/labels_select_widget/graphql/group_labels.query.graphql'; +import issueLabelsQuery from '../components/labels/labels_select_widget/graphql/issue_labels.query.graphql'; +import mergeRequestLabelsQuery from '../components/labels/labels_select_widget/graphql/merge_request_labels.query.graphql'; +import projectLabelsQuery from '../components/labels/labels_select_widget/graphql/project_labels.query.graphql'; +import { IssuableAttributeType, TodoMutationTypes } from '../constants'; +import epicConfidentialQuery from './epic_confidential.query.graphql'; +import epicDueDateQuery from './epic_due_date.query.graphql'; +import epicParticipantsQuery from './epic_participants.query.graphql'; +import epicReferenceQuery from './epic_reference.query.graphql'; +import epicStartDateQuery from './epic_start_date.query.graphql'; +import epicSubscribedQuery from './epic_subscribed.query.graphql'; +import epicTodoQuery from './epic_todo.query.graphql'; +import issuableAssigneesSubscription from './issuable_assignees.subscription.graphql'; +import issueConfidentialQuery from './issue_confidential.query.graphql'; +import issueDueDateQuery from './issue_due_date.query.graphql'; +import issueReferenceQuery from './issue_reference.query.graphql'; +import issueSubscribedQuery from './issue_subscribed.query.graphql'; +import issueTimeTrackingQuery from './issue_time_tracking.query.graphql'; +import issueTodoQuery from './issue_todo.query.graphql'; +import mergeRequestMilestone from './merge_request_milestone.query.graphql'; +import mergeRequestReferenceQuery from './merge_request_reference.query.graphql'; +import mergeRequestSubscribed from './merge_request_subscribed.query.graphql'; +import mergeRequestTimeTrackingQuery from './merge_request_time_tracking.query.graphql'; +import mergeRequestTodoQuery from './merge_request_todo.query.graphql'; +import todoCreateMutation from './todo_create.mutation.graphql'; +import todoMarkDoneMutation from './todo_mark_done.mutation.graphql'; +import updateEpicConfidentialMutation from './update_epic_confidential.mutation.graphql'; +import updateEpicDueDateMutation from './update_epic_due_date.mutation.graphql'; +import updateEpicStartDateMutation from './update_epic_start_date.mutation.graphql'; +import updateEpicSubscriptionMutation from './update_epic_subscription.mutation.graphql'; +import updateIssueConfidentialMutation from './update_issue_confidential.mutation.graphql'; +import updateIssueDueDateMutation from './update_issue_due_date.mutation.graphql'; +import updateIssueSubscriptionMutation from './update_issue_subscription.mutation.graphql'; +import mergeRequestMilestoneMutation from './update_merge_request_milestone.mutation.graphql'; +import updateMergeRequestLabelsMutation from './update_merge_request_labels.mutation.graphql'; +import updateMergeRequestSubscriptionMutation from './update_merge_request_subscription.mutation.graphql'; +import getAlertAssignees from './get_alert_assignees.query.graphql'; +import getIssueAssignees from './get_issue_assignees.query.graphql'; +import issueParticipantsQuery from './get_issue_participants.query.graphql'; +import getIssueTimelogsQuery from './get_issue_timelogs.query.graphql'; +import getMergeRequestAssignees from './get_mr_assignees.query.graphql'; +import getMergeRequestParticipants from './get_mr_participants.query.graphql'; +import getMrTimelogsQuery from './get_mr_timelogs.query.graphql'; +import updateIssueAssigneesMutation from './update_issue_assignees.mutation.graphql'; +import updateMergeRequestAssigneesMutation from './update_mr_assignees.mutation.graphql'; +import getEscalationStatusQuery from './escalation_status.query.graphql'; +import updateEscalationStatusMutation from './update_escalation_status.mutation.graphql'; +import groupMilestonesQuery from './group_milestones.query.graphql'; +import projectIssueMilestoneMutation from './project_issue_milestone.mutation.graphql'; +import projectIssueMilestoneQuery from './project_issue_milestone.query.graphql'; +import projectMilestonesQuery from './project_milestones.query.graphql'; + +export const assigneesQueries = { + [TYPE_ISSUE]: { + query: getIssueAssignees, + subscription: issuableAssigneesSubscription, + mutation: updateIssueAssigneesMutation, + }, + [TYPE_MERGE_REQUEST]: { + query: getMergeRequestAssignees, + mutation: updateMergeRequestAssigneesMutation, + }, + [TYPE_ALERT]: { + query: getAlertAssignees, + mutation: updateAlertAssigneesMutation, + }, +}; + +export const participantsQueries = { + [TYPE_ISSUE]: { + query: issueParticipantsQuery, + }, + [TYPE_MERGE_REQUEST]: { + query: getMergeRequestParticipants, + }, + [TYPE_EPIC]: { + query: epicParticipantsQuery, + }, + [TYPE_ALERT]: { + query: '', + skipQuery: true, + }, +}; + +export const userSearchQueries = { + [TYPE_ISSUE]: { + query: userAutocompleteQuery, + }, + [TYPE_MERGE_REQUEST]: { + query: userAutocompleteWithMRPermissionsQuery, + }, +}; + +export const confidentialityQueries = { + [TYPE_ISSUE]: { + query: issueConfidentialQuery, + mutation: updateIssueConfidentialMutation, + }, + [TYPE_EPIC]: { + query: epicConfidentialQuery, + mutation: updateEpicConfidentialMutation, + }, +}; + +export const referenceQueries = { + [TYPE_ISSUE]: { + query: issueReferenceQuery, + }, + [TYPE_MERGE_REQUEST]: { + query: mergeRequestReferenceQuery, + }, + [TYPE_EPIC]: { + query: epicReferenceQuery, + }, +}; + +export const workspaceLabelsQueries = { + [WORKSPACE_PROJECT]: { + query: projectLabelsQuery, + }, + [WORKSPACE_GROUP]: { + query: groupLabelsQuery, + }, +}; + +export const issuableLabelsQueries = { + [TYPE_ISSUE]: { + issuableQuery: issueLabelsQuery, + mutation: updateIssueLabelsMutation, + mutationName: 'updateIssue', + }, + [TYPE_MERGE_REQUEST]: { + issuableQuery: mergeRequestLabelsQuery, + mutation: updateMergeRequestLabelsMutation, + mutationName: 'mergeRequestSetLabels', + }, + [TYPE_EPIC]: { + issuableQuery: epicLabelsQuery, + mutation: updateEpicLabelsMutation, + mutationName: 'updateEpic', + }, + [TYPE_TEST_CASE]: { + issuableQuery: issueLabelsQuery, + mutation: updateTestCaseLabelsMutation, + mutationName: 'updateTestCaseLabels', + }, +}; + +export const subscribedQueries = { + [TYPE_ISSUE]: { + query: issueSubscribedQuery, + mutation: updateIssueSubscriptionMutation, + }, + [TYPE_EPIC]: { + query: epicSubscribedQuery, + mutation: updateEpicSubscriptionMutation, + }, + [TYPE_MERGE_REQUEST]: { + query: mergeRequestSubscribed, + mutation: updateMergeRequestSubscriptionMutation, + }, +}; + +export const timeTrackingQueries = { + [TYPE_ISSUE]: { + query: issueTimeTrackingQuery, + }, + [TYPE_MERGE_REQUEST]: { + query: mergeRequestTimeTrackingQuery, + }, +}; + +export const dueDateQueries = { + [TYPE_ISSUE]: { + query: issueDueDateQuery, + mutation: updateIssueDueDateMutation, + subscription: issuableDatesUpdatedSubscription, + }, + [TYPE_EPIC]: { + query: epicDueDateQuery, + mutation: updateEpicDueDateMutation, + }, +}; + +export const startDateQueries = { + [TYPE_EPIC]: { + query: epicStartDateQuery, + mutation: updateEpicStartDateMutation, + }, +}; + +export const timelogQueries = { + [TYPE_ISSUE]: { + query: getIssueTimelogsQuery, + }, + [TYPE_MERGE_REQUEST]: { + query: getMrTimelogsQuery, + }, +}; + +export const issuableMilestoneQueries = { + [TYPE_ISSUE]: { + query: projectIssueMilestoneQuery, + mutation: projectIssueMilestoneMutation, + }, + [TYPE_MERGE_REQUEST]: { + query: mergeRequestMilestone, + mutation: mergeRequestMilestoneMutation, + }, +}; + +export const milestonesQueries = { + [TYPE_ISSUE]: { + query: { + [WORKSPACE_GROUP]: groupMilestonesQuery, + [WORKSPACE_PROJECT]: projectMilestonesQuery, + }, + }, + [TYPE_MERGE_REQUEST]: { + query: { + [WORKSPACE_GROUP]: groupMilestonesQuery, + [WORKSPACE_PROJECT]: projectMilestonesQuery, + }, + }, +}; + +export const issuableAttributesQueries = { + [IssuableAttributeType.Milestone]: { + current: issuableMilestoneQueries, + list: milestonesQueries, + }, +}; + +export const todoQueries = { + [TYPE_EPIC]: { + query: epicTodoQuery, + }, + [TYPE_ISSUE]: { + query: issueTodoQuery, + }, + [TYPE_MERGE_REQUEST]: { + query: mergeRequestTodoQuery, + }, +}; + +export const todoMutations = { + [TodoMutationTypes.Create]: todoCreateMutation, + [TodoMutationTypes.MarkDone]: todoMarkDoneMutation, +}; + +export const escalationStatusQuery = getEscalationStatusQuery; + +export const escalationStatusMutation = updateEscalationStatusMutation; diff --git a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue index 1e79d2cdcd77a..863c43b0e55a8 100644 --- a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue +++ b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue @@ -13,7 +13,7 @@ import { __ } from '~/locale'; import SidebarParticipant from '~/sidebar/components/assignees/sidebar_participant.vue'; import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants'; -import { participantsQueries, userSearchQueries } from '~/sidebar/constants'; +import { participantsQueries, userSearchQueries } from '~/sidebar/queries/constants'; import { TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constants'; import { convertToGraphQLId } from '~/graphql_shared/utils'; diff --git a/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue b/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue index cb1bfbc895cdb..cdccb1bf582d9 100644 --- a/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue +++ b/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue @@ -1,6 +1,6 @@ <script> import { __ } from '~/locale'; -import { ancestorsQueries } from '../../constants'; +import { ancestorsQueries } from '../../queries/constants'; import Ancestors from './ancestors_tree.vue'; export default { diff --git a/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue b/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue index cf620dd60a1ae..559cc218db10f 100644 --- a/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue +++ b/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue @@ -13,10 +13,10 @@ import { HEALTH_STATUS_I18N_NONE, HEALTH_STATUS_I18N_UPDATE_ERROR, HEALTH_STATUS_OPEN_DROPDOWN_DELAY, - healthStatusQueries, healthStatusTextMap, healthStatusTracking, } from '../../constants'; +import { healthStatusQueries } from '../../queries/constants'; import HealthStatusDropdown from './health_status_dropdown.vue'; export default { diff --git a/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue index d464de2d64b77..9d1658d93a444 100644 --- a/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue +++ b/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue @@ -5,9 +5,9 @@ import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { IssuableAttributeType, IssuableAttributeState, - issuableAttributesQueries, SIDEBAR_ESCALATION_POLICY_TITLE, } from '../constants'; +import { issuableAttributesQueries } from '../queries/constants'; const widgetTitleText = { [IssuableAttributeType.Milestone]: __('Milestone'), diff --git a/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue b/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue index f005c151ab080..61e5a39e14400 100644 --- a/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue +++ b/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue @@ -14,7 +14,8 @@ import { __, sprintf } from '~/locale'; import SidebarEditableItem from '~/sidebar/components/sidebar_editable_item.vue'; import { Tracking } from '~/sidebar/constants'; import autofocusonshow from '~/vue_shared/directives/autofocusonshow'; -import { weightQueries, MAX_DISPLAY_WEIGHT } from '../../constants'; +import { MAX_DISPLAY_WEIGHT } from '../../constants'; +import { weightQueries } from '../../queries/constants'; export default { tracking: { diff --git a/ee/app/assets/javascripts/sidebar/constants.js b/ee/app/assets/javascripts/sidebar/constants.js index 2b56832d3e27d..0af14bd4d001a 100644 --- a/ee/app/assets/javascripts/sidebar/constants.js +++ b/ee/app/assets/javascripts/sidebar/constants.js @@ -1,5 +1,4 @@ import { invert } from 'lodash'; -import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants'; import { __, s__, sprintf } from '~/locale'; import { STATUS_TRIGGERED, @@ -8,28 +7,11 @@ import { IssuableAttributeType as IssuableAttributeTypeFoss, IssuableAttributeState as IssuableAttributeStateFoss, LocalizedIssuableAttributeType as LocalizedIssuableAttributeTypeFoss, - issuableAttributesQueries as issuableAttributesQueriesFoss, dropdowni18nText as dropdowni18nTextFoss, Tracking, defaultEpicSort, epicIidPattern, } from '~/sidebar/constants'; -import updateStatusMutation from '~/sidebar/queries/update_status.mutation.graphql'; -import issuableWeightSubscription from '../graphql_shared/subscriptions/issuable_weight.subscription.graphql'; -import epicAncestorsQuery from './queries/epic_ancestors.query.graphql'; -import groupEpicsQuery from './queries/group_epics.query.graphql'; -import groupIterationsQuery from './queries/group_iterations.query.graphql'; -import issueHealthStatusQuery from './queries/issue_health_status.query.graphql'; -import issueWeightQuery from './queries/issue_weight.query.graphql'; -import projectIssueEpicMutation from './queries/project_issue_epic.mutation.graphql'; -import projectIssueEpicQuery from './queries/project_issue_epic.query.graphql'; -import projectIssueIterationMutation from './queries/project_issue_iteration.mutation.graphql'; -import projectIssueIterationQuery from './queries/project_issue_iteration.query.graphql'; -import updateIssueWeightMutation from './queries/update_issue_weight.mutation.graphql'; -import issueEscalationPolicyQuery from './queries/issue_escalation_policy.query.graphql'; -import issueEscalationPolicyMutation from './queries/issue_escalation_policy.mutation.graphql'; -import projectEscalationPoliciesQuery from './queries/project_escalation_policies.query.graphql'; -import issuableEpicSubscription from './queries/issuable_epic.subscription.graphql'; export { Tracking, defaultEpicSort, epicIidPattern }; @@ -118,45 +100,6 @@ export const CVE_ID_REQUEST_SIDEBAR_I18N = { learnMore: __('Learn more'), }; -export const issuableIterationQueries = { - [TYPE_ISSUE]: { - query: projectIssueIterationQuery, - mutation: projectIssueIterationMutation, - }, -}; - -export const iterationsQueries = { - [TYPE_ISSUE]: { - query: groupIterationsQuery, - }, -}; - -const issuableEpicQueries = { - [TYPE_ISSUE]: { - query: projectIssueEpicQuery, - mutation: projectIssueEpicMutation, - }, -}; - -const epicsQueries = { - [TYPE_ISSUE]: { - query: groupEpicsQuery, - }, -}; - -const issuableEscalationPolicyQueries = { - [TYPE_ISSUE]: { - query: issueEscalationPolicyQuery, - mutation: issueEscalationPolicyMutation, - }, -}; - -const escalationPoliciesQueries = { - [TYPE_ISSUE]: { - query: projectEscalationPoliciesQuery, - }, -}; - export const IssuableAttributeType = { ...IssuableAttributeTypeFoss, Iteration: 'iteration', @@ -181,48 +124,6 @@ export const IssuableAttributeState = { [IssuableAttributeType.Epic]: 'opened', }; -export const issuableAttributesQueries = { - ...issuableAttributesQueriesFoss, - [IssuableAttributeType.Iteration]: { - current: issuableIterationQueries, - list: iterationsQueries, - }, - [IssuableAttributeType.Epic]: { - current: issuableEpicQueries, - list: epicsQueries, - subscription: issuableEpicSubscription, - }, - [IssuableAttributeType.EscalationPolicy]: { - current: issuableEscalationPolicyQueries, - list: escalationPoliciesQueries, - }, -}; - -export const ancestorsQueries = { - [TYPE_EPIC]: { - query: epicAncestorsQuery, - }, -}; - -export const weightQueries = { - [TYPE_ISSUE]: { - query: issueWeightQuery, - mutation: updateIssueWeightMutation, - subscription: issuableWeightSubscription, - }, -}; - -export const healthStatusQueries = { - [TYPE_ISSUE]: { - mutation: updateStatusMutation, - query: issueHealthStatusQuery, - }, - [TYPE_EPIC]: { - mutation: updateStatusMutation, - query: issueHealthStatusQuery, - }, -}; - export function dropdowni18nText(issuableAttribute, issuableType) { let noAttributesFound = s__('DropdownWidget|No %{issuableAttribute} found'); diff --git a/ee/app/assets/javascripts/sidebar/queries/constants.js b/ee/app/assets/javascripts/sidebar/queries/constants.js new file mode 100644 index 0000000000000..f959e8c5e6225 --- /dev/null +++ b/ee/app/assets/javascripts/sidebar/queries/constants.js @@ -0,0 +1,100 @@ +import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants'; +import { issuableAttributesQueries as issuableAttributesQueriesFoss } from '~/sidebar/queries/constants'; +import updateStatusMutation from '~/sidebar/queries/update_status.mutation.graphql'; +import issuableWeightSubscription from 'ee/graphql_shared/subscriptions/issuable_weight.subscription.graphql'; +import { IssuableAttributeType } from '../constants'; +import epicAncestorsQuery from './epic_ancestors.query.graphql'; +import groupEpicsQuery from './group_epics.query.graphql'; +import groupIterationsQuery from './group_iterations.query.graphql'; +import issueHealthStatusQuery from './issue_health_status.query.graphql'; +import issueWeightQuery from './issue_weight.query.graphql'; +import projectIssueEpicMutation from './project_issue_epic.mutation.graphql'; +import projectIssueEpicQuery from './project_issue_epic.query.graphql'; +import projectIssueIterationMutation from './project_issue_iteration.mutation.graphql'; +import projectIssueIterationQuery from './project_issue_iteration.query.graphql'; +import updateIssueWeightMutation from './update_issue_weight.mutation.graphql'; +import issueEscalationPolicyQuery from './issue_escalation_policy.query.graphql'; +import issueEscalationPolicyMutation from './issue_escalation_policy.mutation.graphql'; +import projectEscalationPoliciesQuery from './project_escalation_policies.query.graphql'; +import issuableEpicSubscription from './issuable_epic.subscription.graphql'; + +export const issuableIterationQueries = { + [TYPE_ISSUE]: { + query: projectIssueIterationQuery, + mutation: projectIssueIterationMutation, + }, +}; + +export const iterationsQueries = { + [TYPE_ISSUE]: { + query: groupIterationsQuery, + }, +}; + +const issuableEpicQueries = { + [TYPE_ISSUE]: { + query: projectIssueEpicQuery, + mutation: projectIssueEpicMutation, + }, +}; + +const epicsQueries = { + [TYPE_ISSUE]: { + query: groupEpicsQuery, + }, +}; + +const issuableEscalationPolicyQueries = { + [TYPE_ISSUE]: { + query: issueEscalationPolicyQuery, + mutation: issueEscalationPolicyMutation, + }, +}; + +const escalationPoliciesQueries = { + [TYPE_ISSUE]: { + query: projectEscalationPoliciesQuery, + }, +}; + +export const issuableAttributesQueries = { + ...issuableAttributesQueriesFoss, + [IssuableAttributeType.Iteration]: { + current: issuableIterationQueries, + list: iterationsQueries, + }, + [IssuableAttributeType.Epic]: { + current: issuableEpicQueries, + list: epicsQueries, + subscription: issuableEpicSubscription, + }, + [IssuableAttributeType.EscalationPolicy]: { + current: issuableEscalationPolicyQueries, + list: escalationPoliciesQueries, + }, +}; + +export const ancestorsQueries = { + [TYPE_EPIC]: { + query: epicAncestorsQuery, + }, +}; + +export const weightQueries = { + [TYPE_ISSUE]: { + query: issueWeightQuery, + mutation: updateIssueWeightMutation, + subscription: issuableWeightSubscription, + }, +}; + +export const healthStatusQueries = { + [TYPE_ISSUE]: { + mutation: updateStatusMutation, + query: issueHealthStatusQuery, + }, + [TYPE_EPIC]: { + mutation: updateStatusMutation, + query: issueHealthStatusQuery, + }, +}; diff --git a/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js b/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js index 1ad62b338068c..5b0a7c1da88fe 100644 --- a/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js +++ b/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js @@ -8,12 +8,12 @@ import IssueHealthStatus from 'ee/related_items_tree/components/issue_health_sta import HealthStatusDropdown from 'ee/sidebar/components/health_status/health_status_dropdown.vue'; import SidebarHealthStatusWidget from 'ee/sidebar/components/health_status/sidebar_health_status_widget.vue'; import { - healthStatusQueries, healthStatusTextMap, HEALTH_STATUS_ON_TRACK, HEALTH_STATUS_NEEDS_ATTENTION, HEALTH_STATUS_AT_RISK, } from 'ee/sidebar/constants'; +import { healthStatusQueries } from 'ee/sidebar/queries/constants'; import createMockApollo from 'helpers/mock_apollo_helper'; import { mockTracking } from 'helpers/tracking_helper'; import waitForPromises from 'helpers/wait_for_promises'; diff --git a/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js b/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js index abd47e78198a5..1ab342476c699 100644 --- a/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js +++ b/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js @@ -8,7 +8,8 @@ import waitForPromises from 'helpers/wait_for_promises'; import { TYPE_ISSUE } from '~/issues/constants'; import groupIterationsQuery from 'ee/sidebar/queries/group_iterations.query.graphql'; import projectIssueIterationQuery from 'ee/sidebar/queries/project_issue_iteration.query.graphql'; -import { IssuableAttributeType, issuableAttributesQueries } from 'ee/sidebar/constants'; +import { IssuableAttributeType } from 'ee/sidebar/constants'; +import { issuableAttributesQueries } from 'ee/sidebar/queries/constants'; import { getIterationPeriod } from 'ee/iterations/utils'; import { mockIssue, diff --git a/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js b/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js index edf63375ca5a0..59be9e2562760 100644 --- a/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js +++ b/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js @@ -5,7 +5,8 @@ import Vue from 'vue'; import VueApollo from 'vue-apollo'; import SidebarDropdown from '~/sidebar/components/sidebar_dropdown.vue'; import SidebarDropdownWidget from 'ee/sidebar/components/sidebar_dropdown_widget.vue'; -import { IssuableAttributeType, issuableAttributesQueries } from 'ee/sidebar/constants'; +import { IssuableAttributeType } from 'ee/sidebar/constants'; +import { issuableAttributesQueries } from 'ee/sidebar/queries/constants'; import groupEpicsQuery from 'ee/sidebar/queries/group_epics.query.graphql'; import projectIssueEpicMutation from 'ee/sidebar/queries/project_issue_epic.mutation.graphql'; import projectIssueEpicQuery from 'ee/sidebar/queries/project_issue_epic.query.graphql'; diff --git a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js index 1ca20dad1c62a..476448ef5abeb 100644 --- a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js +++ b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js @@ -4,7 +4,7 @@ import { nextTick } from 'vue'; import waitForPromises from 'helpers/wait_for_promises'; import { createAlert } from '~/alert'; import SidebarConfidentialityForm from '~/sidebar/components/confidential/sidebar_confidentiality_form.vue'; -import { confidentialityQueries } from '~/sidebar/constants'; +import { confidentialityQueries } from '~/sidebar/queries/constants'; jest.mock('~/alert'); diff --git a/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js b/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js index 00b57b4916e98..f3d50f17e2d01 100644 --- a/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js +++ b/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js @@ -11,11 +11,8 @@ import { createMockDirective, getBinding } from 'helpers/vue_mock_directive'; import { mountExtended } from 'helpers/vue_test_utils_helper'; import SidebarEscalationStatus from '~/sidebar/components/incidents/sidebar_escalation_status.vue'; import SidebarEditableItem from '~/sidebar/components/sidebar_editable_item.vue'; -import { - escalationStatusQuery, - escalationStatusMutation, - STATUS_ACKNOWLEDGED, -} from '~/sidebar/constants'; +import { STATUS_ACKNOWLEDGED } from '~/sidebar/constants'; +import { escalationStatusQuery, escalationStatusMutation } from '~/sidebar/queries/constants'; import waitForPromises from 'helpers/wait_for_promises'; import EscalationStatus from 'ee_else_ce/sidebar/components/incidents/escalation_status.vue'; import { createAlert } from '~/alert'; diff --git a/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js b/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js index 9c8d965695531..6de113ba1f970 100644 --- a/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js +++ b/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js @@ -5,7 +5,7 @@ import VueApollo from 'vue-apollo'; import createMockApollo from 'helpers/mock_apollo_helper'; import waitForPromises from 'helpers/wait_for_promises'; import { createAlert } from '~/alert'; -import { workspaceLabelsQueries } from '~/sidebar/constants'; +import { workspaceLabelsQueries } from '~/sidebar/queries/constants'; import DropdownContentsCreateView from '~/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue'; import createLabelMutation from '~/sidebar/components/labels/labels_select_widget/graphql/create_label.mutation.graphql'; import { DEFAULT_LABEL_COLOR } from '~/sidebar/components/labels/labels_select_widget/constants'; -- GitLab