2022-11-25 23:54:43 +05:30
import { invert } from 'lodash' ;
2022-10-11 01:57:18 +05:30
import { s _ _ , _ _ , sprintf } from '~/locale' ;
2021-12-11 22:18:48 +05:30
import updateIssueLabelsMutation from '~/boards/graphql/issue_set_labels.mutation.graphql' ;
2022-05-07 20:08:51 +05:30
import userSearchQuery from '~/graphql_shared/queries/users_search.query.graphql' ;
import userSearchWithMRPermissionsQuery from '~/graphql_shared/queries/users_search_with_mr_permissions.graphql' ;
2022-01-26 12:08:38 +05:30
import { IssuableType , WorkspaceType } from '~/issues/constants' ;
2021-04-17 20:07:23 +05:30
import epicConfidentialQuery from '~/sidebar/queries/epic_confidential.query.graphql' ;
2021-06-08 01:23:25 +05:30
import epicDueDateQuery from '~/sidebar/queries/epic_due_date.query.graphql' ;
import epicParticipantsQuery from '~/sidebar/queries/epic_participants.query.graphql' ;
2021-09-30 23:02:18 +05:30
import epicReferenceQuery from '~/sidebar/queries/epic_reference.query.graphql' ;
2021-06-08 01:23:25 +05:30
import epicStartDateQuery from '~/sidebar/queries/epic_start_date.query.graphql' ;
import epicSubscribedQuery from '~/sidebar/queries/epic_subscribed.query.graphql' ;
2021-09-30 23:02:18 +05:30
import epicTodoQuery from '~/sidebar/queries/epic_todo.query.graphql' ;
2021-06-08 01:23:25 +05:30
import issuableAssigneesSubscription from '~/sidebar/queries/issuable_assignees.subscription.graphql' ;
2021-04-17 20:07:23 +05:30
import issueConfidentialQuery from '~/sidebar/queries/issue_confidential.query.graphql' ;
2021-04-29 21:17:54 +05:30
import issueDueDateQuery from '~/sidebar/queries/issue_due_date.query.graphql' ;
2021-04-17 20:07:23 +05:30
import issueReferenceQuery from '~/sidebar/queries/issue_reference.query.graphql' ;
2021-06-08 01:23:25 +05:30
import issueSubscribedQuery from '~/sidebar/queries/issue_subscribed.query.graphql' ;
2021-09-04 01:27:46 +05:30
import issueTimeTrackingQuery from '~/sidebar/queries/issue_time_tracking.query.graphql' ;
2021-09-30 23:02:18 +05:30
import issueTodoQuery from '~/sidebar/queries/issue_todo.query.graphql' ;
import mergeRequestMilestone from '~/sidebar/queries/merge_request_milestone.query.graphql' ;
2021-04-17 20:07:23 +05:30
import mergeRequestReferenceQuery from '~/sidebar/queries/merge_request_reference.query.graphql' ;
2021-06-08 01:23:25 +05:30
import mergeRequestSubscribed from '~/sidebar/queries/merge_request_subscribed.query.graphql' ;
2021-09-04 01:27:46 +05:30
import mergeRequestTimeTrackingQuery from '~/sidebar/queries/merge_request_time_tracking.query.graphql' ;
2021-09-30 23:02:18 +05:30
import mergeRequestTodoQuery from '~/sidebar/queries/merge_request_todo.query.graphql' ;
import todoCreateMutation from '~/sidebar/queries/todo_create.mutation.graphql' ;
import todoMarkDoneMutation from '~/sidebar/queries/todo_mark_done.mutation.graphql' ;
2021-06-08 01:23:25 +05:30
import updateEpicConfidentialMutation from '~/sidebar/queries/update_epic_confidential.mutation.graphql' ;
import updateEpicDueDateMutation from '~/sidebar/queries/update_epic_due_date.mutation.graphql' ;
import updateEpicStartDateMutation from '~/sidebar/queries/update_epic_start_date.mutation.graphql' ;
import updateEpicSubscriptionMutation from '~/sidebar/queries/update_epic_subscription.mutation.graphql' ;
2021-04-17 20:07:23 +05:30
import updateIssueConfidentialMutation from '~/sidebar/queries/update_issue_confidential.mutation.graphql' ;
2021-04-29 21:17:54 +05:30
import updateIssueDueDateMutation from '~/sidebar/queries/update_issue_due_date.mutation.graphql' ;
2021-06-08 01:23:25 +05:30
import updateIssueSubscriptionMutation from '~/sidebar/queries/update_issue_subscription.mutation.graphql' ;
2021-09-30 23:02:18 +05:30
import mergeRequestMilestoneMutation from '~/sidebar/queries/update_merge_request_milestone.mutation.graphql' ;
2021-12-11 22:18:48 +05:30
import updateMergeRequestLabelsMutation from '~/sidebar/queries/update_merge_request_labels.mutation.graphql' ;
2021-06-08 01:23:25 +05:30
import updateMergeRequestSubscriptionMutation from '~/sidebar/queries/update_merge_request_subscription.mutation.graphql' ;
2021-09-04 01:27:46 +05:30
import updateAlertAssigneesMutation from '~/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql' ;
2021-11-18 22:05:49 +05:30
import epicLabelsQuery from '~/vue_shared/components/sidebar/labels_select_widget/graphql/epic_labels.query.graphql' ;
2021-12-11 22:18:48 +05:30
import updateEpicLabelsMutation from '~/vue_shared/components/sidebar/labels_select_widget/graphql/epic_update_labels.mutation.graphql' ;
2021-11-18 22:05:49 +05:30
import groupLabelsQuery from '~/vue_shared/components/sidebar/labels_select_widget/graphql/group_labels.query.graphql' ;
import issueLabelsQuery from '~/vue_shared/components/sidebar/labels_select_widget/graphql/issue_labels.query.graphql' ;
2021-12-11 22:18:48 +05:30
import mergeRequestLabelsQuery from '~/vue_shared/components/sidebar/labels_select_widget/graphql/merge_request_labels.query.graphql' ;
2021-11-18 22:05:49 +05:30
import projectLabelsQuery from '~/vue_shared/components/sidebar/labels_select_widget/graphql/project_labels.query.graphql' ;
2021-09-04 01:27:46 +05:30
import getAlertAssignees from '~/vue_shared/components/sidebar/queries/get_alert_assignees.query.graphql' ;
2021-06-08 01:23:25 +05:30
import getIssueAssignees from '~/vue_shared/components/sidebar/queries/get_issue_assignees.query.graphql' ;
import issueParticipantsQuery from '~/vue_shared/components/sidebar/queries/get_issue_participants.query.graphql' ;
import getIssueTimelogsQuery from '~/vue_shared/components/sidebar/queries/get_issue_timelogs.query.graphql' ;
import getMergeRequestAssignees from '~/vue_shared/components/sidebar/queries/get_mr_assignees.query.graphql' ;
2021-03-11 19:13:27 +05:30
import getMergeRequestParticipants from '~/vue_shared/components/sidebar/queries/get_mr_participants.query.graphql' ;
2021-06-08 01:23:25 +05:30
import getMrTimelogsQuery from '~/vue_shared/components/sidebar/queries/get_mr_timelogs.query.graphql' ;
import updateIssueAssigneesMutation from '~/vue_shared/components/sidebar/queries/update_issue_assignees.mutation.graphql' ;
import updateMergeRequestAssigneesMutation from '~/vue_shared/components/sidebar/queries/update_mr_assignees.mutation.graphql' ;
2022-05-07 20:08:51 +05:30
import getEscalationStatusQuery from '~/sidebar/queries/escalation_status.query.graphql' ;
import updateEscalationStatusMutation from '~/sidebar/queries/update_escalation_status.mutation.graphql' ;
2023-01-13 00:05:48 +05:30
import groupMilestonesQuery from './queries/group_milestones.query.graphql' ;
2021-09-04 01:27:46 +05:30
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' ;
2021-03-11 19:13:27 +05:30
2021-09-30 23:02:18 +05:30
export const defaultEpicSort = 'TITLE_ASC' ;
2021-04-17 20:07:23 +05:30
2021-10-27 15:23:28 +05:30
export const epicIidPattern = /^&(?<iid>\d+)$/ ;
2021-03-11 19:13:27 +05:30
export const assigneesQueries = {
[ IssuableType . Issue ] : {
2021-06-08 01:23:25 +05:30
query : getIssueAssignees ,
subscription : issuableAssigneesSubscription ,
mutation : updateIssueAssigneesMutation ,
} ,
[ IssuableType . MergeRequest ] : {
query : getMergeRequestAssignees ,
mutation : updateMergeRequestAssigneesMutation ,
} ,
2021-09-04 01:27:46 +05:30
[ IssuableType . Alert ] : {
query : getAlertAssignees ,
mutation : updateAlertAssigneesMutation ,
} ,
2021-06-08 01:23:25 +05:30
} ;
export const participantsQueries = {
[ IssuableType . Issue ] : {
query : issueParticipantsQuery ,
2021-03-11 19:13:27 +05:30
} ,
[ IssuableType . MergeRequest ] : {
query : getMergeRequestParticipants ,
2021-06-08 01:23:25 +05:30
} ,
[ IssuableType . Epic ] : {
query : epicParticipantsQuery ,
2021-03-11 19:13:27 +05:30
} ,
2021-09-04 01:27:46 +05:30
[ IssuableType . Alert ] : {
query : '' ,
skipQuery : true ,
} ,
2021-03-11 19:13:27 +05:30
} ;
2021-04-17 20:07:23 +05:30
2022-05-07 20:08:51 +05:30
export const userSearchQueries = {
[ IssuableType . Issue ] : {
query : userSearchQuery ,
} ,
[ IssuableType . MergeRequest ] : {
query : userSearchWithMRPermissionsQuery ,
} ,
} ;
2021-04-17 20:07:23 +05:30
export const confidentialityQueries = {
[ IssuableType . Issue ] : {
query : issueConfidentialQuery ,
mutation : updateIssueConfidentialMutation ,
} ,
[ IssuableType . Epic ] : {
query : epicConfidentialQuery ,
2021-06-08 01:23:25 +05:30
mutation : updateEpicConfidentialMutation ,
2021-04-17 20:07:23 +05:30
} ,
} ;
export const referenceQueries = {
[ IssuableType . Issue ] : {
query : issueReferenceQuery ,
} ,
[ IssuableType . MergeRequest ] : {
query : mergeRequestReferenceQuery ,
} ,
2021-09-30 23:02:18 +05:30
[ IssuableType . Epic ] : {
query : epicReferenceQuery ,
} ,
2021-04-17 20:07:23 +05:30
} ;
2021-04-29 21:17:54 +05:30
2021-12-11 22:18:48 +05:30
export const workspaceLabelsQueries = {
[ WorkspaceType . project ] : {
query : projectLabelsQuery ,
} ,
[ WorkspaceType . group ] : {
query : groupLabelsQuery ,
} ,
} ;
export const issuableLabelsQueries = {
2021-11-18 22:05:49 +05:30
[ IssuableType . Issue ] : {
issuableQuery : issueLabelsQuery ,
2021-12-11 22:18:48 +05:30
mutation : updateIssueLabelsMutation ,
mutationName : 'updateIssue' ,
} ,
[ IssuableType . MergeRequest ] : {
issuableQuery : mergeRequestLabelsQuery ,
mutation : updateMergeRequestLabelsMutation ,
mutationName : 'mergeRequestSetLabels' ,
2021-11-18 22:05:49 +05:30
} ,
[ IssuableType . Epic ] : {
issuableQuery : epicLabelsQuery ,
2021-12-11 22:18:48 +05:30
mutation : updateEpicLabelsMutation ,
mutationName : 'updateEpic' ,
2021-11-18 22:05:49 +05:30
} ,
} ;
2021-06-08 01:23:25 +05:30
export const dateTypes = {
start : 'startDate' ,
due : 'dueDate' ,
} ;
export const dateFields = {
[ dateTypes . start ] : {
isDateFixed : 'startDateIsFixed' ,
dateFixed : 'startDateFixed' ,
dateFromMilestones : 'startDateFromMilestones' ,
} ,
[ dateTypes . due ] : {
isDateFixed : 'dueDateIsFixed' ,
dateFixed : 'dueDateFixed' ,
dateFromMilestones : 'dueDateFromMilestones' ,
} ,
} ;
export const subscribedQueries = {
[ IssuableType . Issue ] : {
query : issueSubscribedQuery ,
mutation : updateIssueSubscriptionMutation ,
} ,
[ IssuableType . Epic ] : {
query : epicSubscribedQuery ,
mutation : updateEpicSubscriptionMutation ,
} ,
[ IssuableType . MergeRequest ] : {
query : mergeRequestSubscribed ,
mutation : updateMergeRequestSubscriptionMutation ,
} ,
} ;
2021-09-30 23:02:18 +05:30
export const Tracking = {
editEvent : 'click_edit_button' ,
rightSidebarLabel : 'right_sidebar' ,
} ;
2021-09-04 01:27:46 +05:30
export const timeTrackingQueries = {
[ IssuableType . Issue ] : {
query : issueTimeTrackingQuery ,
} ,
[ IssuableType . MergeRequest ] : {
query : mergeRequestTimeTrackingQuery ,
} ,
} ;
2021-04-29 21:17:54 +05:30
export const dueDateQueries = {
[ IssuableType . Issue ] : {
query : issueDueDateQuery ,
mutation : updateIssueDueDateMutation ,
} ,
2021-06-08 01:23:25 +05:30
[ IssuableType . Epic ] : {
query : epicDueDateQuery ,
mutation : updateEpicDueDateMutation ,
} ,
} ;
export const startDateQueries = {
[ IssuableType . Epic ] : {
query : epicStartDateQuery ,
mutation : updateEpicStartDateMutation ,
} ,
} ;
export const timelogQueries = {
[ IssuableType . Issue ] : {
query : getIssueTimelogsQuery ,
} ,
[ IssuableType . MergeRequest ] : {
query : getMrTimelogsQuery ,
} ,
2021-04-29 21:17:54 +05:30
} ;
2021-09-04 01:27:46 +05:30
export const noAttributeId = null ;
export const issuableMilestoneQueries = {
[ IssuableType . Issue ] : {
query : projectIssueMilestoneQuery ,
mutation : projectIssueMilestoneMutation ,
} ,
2021-09-30 23:02:18 +05:30
[ IssuableType . MergeRequest ] : {
query : mergeRequestMilestone ,
mutation : mergeRequestMilestoneMutation ,
} ,
2021-09-04 01:27:46 +05:30
} ;
export const milestonesQueries = {
[ IssuableType . Issue ] : {
2023-01-13 00:05:48 +05:30
query : {
[ WorkspaceType . group ] : groupMilestonesQuery ,
[ WorkspaceType . project ] : projectMilestonesQuery ,
} ,
2021-09-04 01:27:46 +05:30
} ,
2021-09-30 23:02:18 +05:30
[ IssuableType . MergeRequest ] : {
2023-01-13 00:05:48 +05:30
query : {
[ WorkspaceType . group ] : groupMilestonesQuery ,
[ WorkspaceType . project ] : projectMilestonesQuery ,
} ,
2021-09-30 23:02:18 +05:30
} ,
2021-09-04 01:27:46 +05:30
} ;
export const IssuableAttributeType = {
Milestone : 'milestone' ,
} ;
2022-11-25 23:54:43 +05:30
export const LocalizedIssuableAttributeType = {
Milestone : s _ _ ( 'Issuable|milestone' ) ,
} ;
export const IssuableAttributeTypeKeyMap = invert ( IssuableAttributeType ) ;
2021-09-04 01:27:46 +05:30
export const IssuableAttributeState = {
[ IssuableAttributeType . Milestone ] : 'active' ,
} ;
export const issuableAttributesQueries = {
[ IssuableAttributeType . Milestone ] : {
current : issuableMilestoneQueries ,
list : milestonesQueries ,
} ,
} ;
2021-09-30 23:02:18 +05:30
export const todoQueries = {
[ IssuableType . Epic ] : {
query : epicTodoQuery ,
} ,
[ IssuableType . Issue ] : {
query : issueTodoQuery ,
} ,
[ IssuableType . MergeRequest ] : {
query : mergeRequestTodoQuery ,
} ,
} ;
export const TodoMutationTypes = {
Create : 'create' ,
MarkDone : 'mark-done' ,
} ;
export const todoMutations = {
[ TodoMutationTypes . Create ] : todoCreateMutation ,
[ TodoMutationTypes . MarkDone ] : todoMarkDoneMutation ,
} ;
2022-01-26 12:08:38 +05:30
export function dropdowni18nText ( issuableAttribute , issuableType ) {
return {
noAttribute : sprintf ( s _ _ ( 'DropdownWidget|No %{issuableAttribute}' ) , {
issuableAttribute ,
} ) ,
assignAttribute : sprintf ( s _ _ ( 'DropdownWidget|Assign %{issuableAttribute}' ) , {
issuableAttribute ,
} ) ,
noAttributesFound : sprintf ( s _ _ ( 'DropdownWidget|No %{issuableAttribute} found' ) , {
issuableAttribute ,
} ) ,
updateError : sprintf (
s _ _ (
'DropdownWidget|Failed to set %{issuableAttribute} on this %{issuableType}. Please try again.' ,
) ,
{ issuableAttribute , issuableType } ,
) ,
listFetchError : sprintf (
s _ _ (
'DropdownWidget|Failed to fetch the %{issuableAttribute} for this %{issuableType}. Please try again.' ,
) ,
{ issuableAttribute , issuableType } ,
) ,
currentFetchError : sprintf (
s _ _ (
'DropdownWidget|An error occurred while fetching the assigned %{issuableAttribute} of the selected %{issuableType}.' ,
) ,
{ issuableAttribute , issuableType } ,
) ,
2022-10-11 01:57:18 +05:30
noPermissionToView : sprintf (
s _ _ ( "DropdownWidget|You don't have permission to view this %{issuableAttribute}." ) ,
{ issuableAttribute } ,
) ,
editConfirmation : sprintf (
s _ _ (
'DropdownWidget|You do not have permission to view the currently assigned %{issuableAttribute} and will not be able to choose it again if you reassign it.' ,
) ,
{
issuableAttribute ,
} ,
) ,
editConfirmationCta : sprintf ( s _ _ ( 'DropdownWidget|Edit %{issuableAttribute}' ) , {
issuableAttribute ,
} ) ,
editConfirmationCancel : s _ _ ( 'DropdownWidget|Cancel' ) ,
2022-01-26 12:08:38 +05:30
} ;
}
2022-05-07 20:08:51 +05:30
export const escalationStatusQuery = getEscalationStatusQuery ;
export const escalationStatusMutation = updateEscalationStatusMutation ;
2022-10-11 01:57:18 +05:30
export const HOW _TO _TRACK _TIME = _ _ ( 'How to track time' ) ;