{"version":3,"sources":["webpack:///./sidebar/components/labels/labels_select_widget/label_item.vue","webpack:///./sidebar/components/labels/labels_select_widget/label_item.vue?8ba5","webpack:///sidebar/components/labels/labels_select_widget/label_item.vue","webpack:///./sidebar/components/labels/labels_select_widget/label_item.vue?1f7e","webpack:///./sidebar/components/assignees/uncollapsed_assignee_list.vue","webpack:///sidebar/components/assignees/uncollapsed_assignee_list.vue","webpack:///./sidebar/components/assignees/uncollapsed_assignee_list.vue?1b85","webpack:///./sidebar/components/assignees/uncollapsed_assignee_list.vue?7d66","webpack:////build/source/node_modules/lodash/snakeCase.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/update_issue_weight.mutation.graphql","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_footer.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_footer.vue?15fa","webpack:///sidebar/components/labels/labels_select_widget/dropdown_footer.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_footer.vue?85ba","webpack:///./sidebar/components/time_tracking/time_tracking_report.vue","webpack:///./sidebar/components/time_tracking/time_tracking_report.vue?aabb","webpack:///sidebar/components/time_tracking/time_tracking_report.vue","webpack:///./sidebar/components/time_tracking/time_tracking_report.vue?2bd9","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/work_item_parents.query.graphql","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_header.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_header.vue?c429","webpack:///sidebar/components/labels/labels_select_widget/dropdown_header.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_header.vue?135b","webpack:///./sidebar/components/assignees/assignee_avatar_link.vue","webpack:///./sidebar/components/assignees/assignee_avatar_link.vue?4850","webpack:///sidebar/components/assignees/assignee_avatar_link.vue","webpack:///./sidebar/components/assignees/assignee_avatar_link.vue?5f77","webpack:///./graphql_shared/fragments/user_availability.fragment.graphql","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/project_issue_epic.query.graphql","webpack:///./sidebar/queries/update_status.mutation.graphql","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/project_issue_iteration.query.graphql","webpack:///./sidebar/components/assignees/sidebar_participant.vue","webpack:///sidebar/components/assignees/sidebar_participant.vue","webpack:///./sidebar/components/assignees/sidebar_participant.vue?780d","webpack:///./sidebar/components/assignees/sidebar_participant.vue?4c31","webpack:///./helpers/event_hub_factory.js","webpack:///./invite_members/event_hub.js","webpack:///./boards/components/sidebar/board_sidebar_title.vue","webpack:///./boards/components/sidebar/board_editable_item.vue?b81c","webpack:///boards/components/sidebar/board_editable_item.vue","webpack:///./boards/components/sidebar/board_editable_item.vue?aaf2","webpack:///./boards/components/sidebar/board_editable_item.vue","webpack:///./boards/components/sidebar/board_sidebar_title.vue?8dfa","webpack:///boards/components/sidebar/board_sidebar_title.vue","webpack:///./boards/components/sidebar/board_sidebar_title.vue?602f","webpack:////build/source/ee/app/assets/javascripts/sidebar/constants.js","webpack:///./sidebar/queries/update_issuable_severity.mutation.graphql","webpack:////build/source/node_modules/lodash/_createCompounder.js","webpack:///./related_issues/constants.js","webpack:///./sidebar/constants.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/issuable_labels.subscription.graphql","webpack:////build/source/node_modules/lodash/_deburrLetter.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/project_issue_epic.mutation.graphql","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/group_iterations.query.graphql","webpack:////build/source/node_modules/lodash/words.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/progress_bar/progress_bar.js","webpack:////build/source/node_modules/lodash/_asciiWords.js","webpack:///./vue_shared/components/user_select/user_select.vue","webpack:///./vue_shared/components/user_select/user_select.vue?8112","webpack:///vue_shared/components/user_select/user_select.vue","webpack:///./vue_shared/components/user_select/user_select.vue?7ada","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue","webpack:///sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue?c8b4","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue?e23e","webpack:///./sidebar/components/todo_toggle/sidebar_todo_widget.vue","webpack:///sidebar/components/todo_toggle/sidebar_todo_widget.vue","webpack:///./sidebar/components/todo_toggle/sidebar_todo_widget.vue?60df","webpack:///./sidebar/components/todo_toggle/sidebar_todo_widget.vue?a263","webpack:///./invite_members/components/invite_members_trigger.vue","webpack:///./invite_members/components/invite_members_trigger.vue?f47d","webpack:///invite_members/components/invite_members_trigger.vue","webpack:///./invite_members/components/invite_members_trigger.vue?c527","webpack:///./sidebar/event_hub.js","webpack:///./sidebar/components/sidebar_dropdown.vue","webpack:///./sidebar/components/sidebar_dropdown.vue?3b8c","webpack:///sidebar/components/sidebar_dropdown.vue","webpack:///./sidebar/components/sidebar_dropdown.vue?709d","webpack:///./sidebar/components/time_tracking/create_timelog_form.vue","webpack:///./sidebar/components/time_tracking/create_timelog_form.vue?c8fa","webpack:///sidebar/components/time_tracking/create_timelog_form.vue","webpack:///./sidebar/components/time_tracking/create_timelog_form.vue?ceeb","webpack:///./sidebar/components/severity/severity.vue","webpack:///./sidebar/components/severity/severity.vue?64b6","webpack:///sidebar/components/severity/severity.vue","webpack:///./sidebar/components/severity/severity.vue?f682","webpack:///./sidebar/components/assignees/assignee_avatar.vue","webpack:///./sidebar/components/assignees/assignee_avatar.vue?19b2","webpack:///sidebar/components/assignees/assignee_avatar.vue","webpack:///./sidebar/components/assignees/assignee_avatar.vue?0237","webpack:///./work_items/graphql/update_work_item.mutation.graphql","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/issue_health_status.query.graphql","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/project_issue_update_parent.mutation.graphql","webpack:///./sidebar/queries/merge_request_set_time_estimate.mutation.graphql","webpack:///./sidebar/components/time_tracking/set_time_estimate_form.vue","webpack:///sidebar/components/time_tracking/set_time_estimate_form.vue","webpack:///./sidebar/components/time_tracking/set_time_estimate_form.vue?d78d","webpack:///./sidebar/components/time_tracking/set_time_estimate_form.vue?04a0","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/epic_ancestors.query.graphql","webpack:///./sidebar/components/labels/labels_select_widget/labels_select_root.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue?9ca6","webpack:///sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue?1e44","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue","webpack:///./sidebar/components/labels/labels_select_widget/utils.js","webpack:///sidebar/components/labels/labels_select_widget/dropdown_contents.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents.vue?f68a","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents.vue?fcbc","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_contents.vue","webpack:///./sidebar/components/labels/labels_select_widget/embedded_labels_list.vue?8b9d","webpack:///sidebar/components/labels/labels_select_widget/embedded_labels_list.vue","webpack:///./sidebar/components/labels/labels_select_widget/embedded_labels_list.vue?5075","webpack:///./sidebar/components/labels/labels_select_widget/embedded_labels_list.vue","webpack:///./sidebar/components/labels/labels_select_widget/labels_select_root.vue?d5a3","webpack:///sidebar/components/labels/labels_select_widget/labels_select_root.vue","webpack:///./sidebar/components/labels/labels_select_widget/labels_select_root.vue?3d0f","webpack:///./vue_shared/directives/autofocusonshow.js","webpack:///./sidebar/queries/create_timelog.mutation.graphql","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/issue_weight.query.graphql","webpack:///./sidebar/components/confidential/sidebar_confidentiality_widget.vue","webpack:///./sidebar/components/confidential/sidebar_confidentiality_content.vue?05e7","webpack:///sidebar/components/confidential/sidebar_confidentiality_content.vue","webpack:///./sidebar/components/confidential/sidebar_confidentiality_content.vue?a60c","webpack:///./sidebar/components/confidential/sidebar_confidentiality_content.vue","webpack:///./sidebar/components/confidential/sidebar_confidentiality_form.vue?78e9","webpack:///sidebar/components/confidential/sidebar_confidentiality_form.vue","webpack:///./sidebar/components/confidential/sidebar_confidentiality_form.vue?f31e","webpack:///./sidebar/components/confidential/sidebar_confidentiality_form.vue","webpack:///sidebar/components/confidential/sidebar_confidentiality_widget.vue","webpack:///./sidebar/components/confidential/sidebar_confidentiality_widget.vue?249e","webpack:///./sidebar/components/confidential/sidebar_confidentiality_widget.vue?c4ed","webpack:///./vue_shared/components/tooltip_on_truncate/tooltip_on_truncate.vue","webpack:///vue_shared/components/tooltip_on_truncate/tooltip_on_truncate.vue","webpack:///./vue_shared/components/tooltip_on_truncate/tooltip_on_truncate.vue?bc46","webpack:///./vue_shared/components/tooltip_on_truncate/tooltip_on_truncate.vue?b534","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/issuable_epic.subscription.graphql","webpack:///./sidebar/queries/issue_set_time_estimate.mutation.graphql","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/iteration.fragment.graphql","webpack:///./sidebar/components/todo_toggle/todo_button.vue","webpack:///./sidebar/components/todo_toggle/todo_button.vue?b16f","webpack:///sidebar/components/todo_toggle/todo_button.vue","webpack:///./sidebar/components/todo_toggle/todo_button.vue?7910","webpack:///./invite_members/constants.js","webpack:///./sidebar/components/severity/sidebar_severity_widget.vue","webpack:///./sidebar/components/severity/sidebar_severity_widget.vue?6d30","webpack:///sidebar/components/severity/sidebar_severity_widget.vue","webpack:///./sidebar/components/severity/sidebar_severity_widget.vue?a42c","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/project_escalation_policies.query.graphql","webpack:///./sidebar/components/sidebar_editable_item.vue","webpack:///./sidebar/components/sidebar_editable_item.vue?0348","webpack:///sidebar/components/sidebar_editable_item.vue","webpack:///./sidebar/components/sidebar_editable_item.vue?6457","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/project_issue_parent.query.graphql","webpack:///./sidebar/components/assignees/sidebar_assignees_widget.vue","webpack:///./sidebar/components/assignees/assignees_realtime.vue?4bc8","webpack:///sidebar/components/assignees/assignees_realtime.vue","webpack:///./sidebar/components/assignees/assignees_realtime.vue","webpack:///./sidebar/components/assignees/issuable_assignees.vue?6926","webpack:///sidebar/components/assignees/issuable_assignees.vue","webpack:///./sidebar/components/assignees/issuable_assignees.vue?cb0e","webpack:///./sidebar/components/assignees/issuable_assignees.vue","webpack:///./sidebar/components/assignees/sidebar_invite_members.vue?a559","webpack:///sidebar/components/assignees/sidebar_invite_members.vue","webpack:///./sidebar/components/assignees/sidebar_invite_members.vue?0e62","webpack:///./sidebar/components/assignees/sidebar_invite_members.vue","webpack:///sidebar/components/assignees/sidebar_assignees_widget.vue","webpack:///./sidebar/components/assignees/sidebar_assignees_widget.vue?e4e9","webpack:///./sidebar/components/assignees/sidebar_assignees_widget.vue?c10d","webpack:///./boards/components/board_content_sidebar.vue","webpack:///./boards/components/board_content_sidebar.vue?e934","webpack:///boards/components/board_content_sidebar.vue","webpack:///./boards/components/board_content_sidebar.vue?8199","webpack:///./graphql_shared/queries/project_autocomplete_users_with_mr_permissions.query.graphql","webpack:////build/source/node_modules/lodash/_hasUnicodeWord.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue","webpack:///../../../ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue","webpack:////build/source/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue?d7a9","webpack:////build/source/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue?8fb0","webpack:///./sidebar/components/date/sidebar_date_widget.vue","webpack:///./sidebar/components/date/sidebar_formatted_date.vue?8561","webpack:///sidebar/components/date/sidebar_formatted_date.vue","webpack:///./sidebar/components/date/sidebar_formatted_date.vue?4339","webpack:///./sidebar/components/date/sidebar_formatted_date.vue","webpack:///./sidebar/components/date/sidebar_inherit_date.vue?c544","webpack:///sidebar/components/date/sidebar_inherit_date.vue","webpack:///./sidebar/components/date/sidebar_inherit_date.vue?f165","webpack:///./sidebar/components/date/sidebar_inherit_date.vue","webpack:///sidebar/components/date/sidebar_date_widget.vue","webpack:///./sidebar/components/date/sidebar_date_widget.vue?c7e5","webpack:///./sidebar/components/date/sidebar_date_widget.vue?dc1e","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/work_item_parent.subscription.graphql","webpack:///./sidebar/components/sidebar_color_picker.vue","webpack:///./sidebar/components/sidebar_color_picker.vue?4216","webpack:///sidebar/components/sidebar_color_picker.vue","webpack:///./sidebar/components/sidebar_color_picker.vue?ccd4","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_value.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_value.vue?1090","webpack:///sidebar/components/labels/labels_select_widget/dropdown_value.vue","webpack:///./sidebar/components/labels/labels_select_widget/dropdown_value.vue?9943","webpack:///./sidebar/utils.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/issue_escalation_policy.query.graphql","webpack:////build/source/node_modules/lodash/_unicodeWords.js","webpack:///./sidebar/components/assignees/user_name_with_status.vue","webpack:///./sidebar/components/assignees/user_name_with_status.vue?acc0","webpack:///sidebar/components/assignees/user_name_with_status.vue","webpack:///./sidebar/components/assignees/user_name_with_status.vue?c45c","webpack:////build/source/node_modules/lodash/deburr.js","webpack:///./sidebar/components/sidebar_dropdown_widget.vue","webpack:///./sidebar/components/sidebar_dropdown_widget.vue?f2e5","webpack:///sidebar/components/sidebar_dropdown_widget.vue","webpack:///./sidebar/components/sidebar_dropdown_widget.vue?c2a7","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/project_issue_iteration.mutation.graphql","webpack:///./sidebar/components/time_tracking/time_tracker.vue","webpack:///./sidebar/components/time_tracking/collapsed_state.vue?494b","webpack:///sidebar/components/time_tracking/collapsed_state.vue","webpack:///./sidebar/components/time_tracking/collapsed_state.vue?b7dc","webpack:///./sidebar/components/time_tracking/collapsed_state.vue","webpack:///./sidebar/components/time_tracking/comparison_pane.vue?b1ae","webpack:///sidebar/components/time_tracking/comparison_pane.vue","webpack:///./sidebar/components/time_tracking/comparison_pane.vue?0cd7","webpack:///./sidebar/components/time_tracking/comparison_pane.vue","webpack:///sidebar/components/time_tracking/spent_only_pane.vue","webpack:///./sidebar/components/time_tracking/spent_only_pane.vue?e3e5","webpack:///./sidebar/components/time_tracking/spent_only_pane.vue?7fb1","webpack:///./sidebar/components/time_tracking/spent_only_pane.vue","webpack:///./sidebar/components/time_tracking/time_tracker.vue?3a0a","webpack:///sidebar/components/time_tracking/time_tracker.vue","webpack:///./sidebar/components/time_tracking/time_tracker.vue?94b5","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/issue_escalation_policy.mutation.graphql","webpack:///./sidebar/components/subscriptions/sidebar_subscriptions_widget.vue","webpack:///sidebar/components/subscriptions/sidebar_subscriptions_widget.vue","webpack:///./sidebar/components/subscriptions/sidebar_subscriptions_widget.vue?b3ae","webpack:///./sidebar/components/subscriptions/sidebar_subscriptions_widget.vue?af29","webpack:///./vue_shared/plugins/global_toast.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/group_epics.query.graphql","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/dropdown/dropdown_form.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/epic.fragment.graphql","webpack:////build/source/node_modules/lodash/kebabCase.js","webpack:///./behaviors/shortcuts/shortcuts_toggle.js","webpack:////build/source/ee/app/assets/javascripts/sidebar/queries/constants.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/table/table-lite.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/table_lite/table_lite.js","webpack:///./sidebar/queries/delete_timelog.mutation.graphql","webpack:///./sidebar/components/time_tracking/constants.js","webpack:////build/source/ee/app/assets/javascripts/graphql_shared/subscriptions/issuable_weight.subscription.graphql"],"names":["props","label","type","Object","required","component","_c","this","_self","staticClass","style","color","attrs","_v","_s","title","components","GlButton","AssigneeAvatarLink","UserNameWithStatus","mixins","glFeatureFlagsMixin","users","Array","issuableType","String","default","TYPE_ISSUE","data","showLess","computed","firstUser","hiddenAssigneesLabel","numberOfHiddenAssignees","sprintf","__","renderShowMoreSection","length","uncollapsedUsers","uncollapsedLength","Math","min","slice","username","isMergeRequest","TYPE_MERGE_REQUEST","methods","toggleShowLess","userAvailability","u","_u$status","availability","status","_vm","_l","user","index","key","id","class","name","on","_e","snakeCase","createCompounder","result","word","toLowerCase","module","exports","doc","loc","source","definitionRefs","findOperation","i","definitions","element","value","forEach","def","refs","Set","collectFragmentReferences","node","kind","add","selectionSet","selections","selection","variableDefinitions","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","size","prevRefs","has","childRef","op","push","oneQuery","GlDropdownItem","inject","footerCreateLabelTitle","footerManageLabelTitle","showManageLabelsItem","labelsManagePath","allowLabelCreate","nativeOn","$event","stopPropagation","$emit","i18n","deleteButtonText","s__","GlLoadingIcon","GlTableLite","directives","GlTooltip","GlTooltipDirective","fullPath","limitToHours","Boolean","issuableId","timelogs","undefined","workItemIid","_this$timelogs","report","removingIds","apollo","query","timelogQueries","variables","TYPENAME_ISSUE","TYPENAME_MERGE_REQUEST","convertToGraphQLId","update","_data$issuable","issuable","nodes","sort","a","b","Date","spentAt","error","createAlert","message","skip","workItem","workItemByIidQuery","iid","_data$workspace$workI","workspace","isLoading","$apollo","queries","loading","totalTimeSpent","seconds","reduce","acc","item","timeSpent","formatTimeSpent","watch","isDeletingTimelog","timelogId","includes","formatDate","date","localeDateFormat","asDateTimeFull","format","newDate","formatShortDate","asDate","getSummary","summary","note","body","stringifyTime","parseSeconds","deleteTimelog","_this","mutate","mutation","deleteTimelogMutation","input","store","updateQuery","sourceData","produce","draftState","timeTrackingWidget","widgets","find","widget","WIDGET_TYPE_TIME_TRACKING","findIndex","timelog","splice","then","_data$timelogDelete","timelogDelete","errors","Error","catch","captureError","finally","indexOf","fields","tdClass","$options","scopedSlots","_u","fn","rawName","expression","proxy","userPermissions","adminTimelog","GlSearchBoxByType","labelsCreateTitle","labelsListTitle","showDropdownContentsCreateView","labelsFetchInProgress","searchKey","isStandalone","dropdownTitle","focusInput","_this$$refs$searchInp","$refs","searchInput","ref","_k","keyCode","AssigneeAvatar","GlLink","cannotMerge","_this$user$mergeReque","canMerge","mergeRequestInteraction","can_merge","assigneeUrl","web_url","webUrl","assigneeId","isGid","getIdFromGraphQLId","_t","names","concat","filter","AVAILABILITY_STATUS","GlAvatarLabeled","GlBadge","GlIcon","selected","isBusy","_this$user","hasCannotMergeIcon","busy","avatarUrl","avatar","avatar_url","EventHub","constructor","$_all","Map","dispose","clear","$on","handler","handlers","get","set","$off","newHandlers","x","delete","$once","wrapHandler","args","createEventHub","toggleHeader","handleOffClick","edit","showHeader","destroyed","window","removeEventListener","collapseWhenOffClick","target","$el","contains","collapse","expand","addEventListener","emitEvent","toggle","canUpdate","GlForm","GlAlert","GlFormGroup","GlFormInput","BoardEditableItem","autofocusonshow","activeItem","showChangesAlert","pendingChangesStorageKey","getPendingChangesKey","projectPath","referencePath","validationState","updatedItem","formerItem","localStorage","setItem","setPendingState","immediate","joinPaths","location","pathname","pendingChanges","getItem","shouldOpen","$nextTick","sidebarItem","cancel","removeItem","isEpicBoard","workspacePath","groupPath","titleQueries","setActiveBoardItemTitle","e","setError","updateTitleError","titlePlaceholder","submitButton","cancelButton","invalidFeedback","reviewYourChanges","preventDefault","setTitle","apply","arguments","model","callback","$$v","none","HEALTH_STATUS_I18N_ASSIGN_HEALTH_STATUS","HEALTH_STATUS_I18N_FETCH_ERROR","HEALTH_STATUS_I18N_HEALTH_STATUS","HEALTH_STATUS_I18N_NO_STATUS","HEALTH_STATUS_I18N_NONE","HEALTH_STATUS_I18N_SELECT_HEALTH_STATUS","HEALTH_STATUS_I18N_UPDATE_ERROR","HEALTH_STATUS_OPEN_DROPDOWN_DELAY","HEALTH_STATUS_AT_RISK","HEALTH_STATUS_NEEDS_ATTENTION","HEALTH_STATUS_ON_TRACK","healthStatusTextMap","healthStatusVariantMap","healthStatusIconMap","healthStatusColorMap","healthStatusForRestApi","NO_STATUS","healthStatusDropdownOptions","text","healthStatusTracking","event","Tracking","editEvent","rightSidebarLabel","property","iterationSelectTextMap","iteration","noIteration","assignIteration","iterationSelectFail","currentIterationFetchError","iterationsFetchError","noIterationsFound","noAttributeId","noEpic","placeholderEpic","SIDEBAR_ESCALATION_POLICY_TITLE","MAX_DISPLAY_WEIGHT","CVE_ID_REQUEST_SIDEBAR_I18N","action","description","createRequest","whyRequest","whyText1","whyText2","learnMore","IssuableAttributeType","IssuableAttributeTypeFoss","Iteration","Epic","EscalationPolicy","Parent","LocalizedIssuableAttributeType","LocalizedIssuableAttributeTypeFoss","IssuableAttributeTypeKeyMap","_invert","IssuableAttributeState","IssuableAttributeStateFoss","dropdowni18nText","issuableAttribute","noAttributesFound","dropdowni18nTextFoss","i18nHelpText","detail","linkText","i18nPolicyText","paged","i18nStatusHeaderText","STOPS_PAGING","STATUS_SUBTEXTS","STATUS_TRIGGERED","STATUS_ACKNOWLEDGED","STATUS_RESOLVED","arrayReduce","deburr","words","reApos","RegExp","string","replace","linkedIssueTypesMap","BLOCKS","IS_BLOCKED_BY","RELATES_TO","linkedIssueTypesTextMap","autoCompleteTextMap","true","emphasisStart","emphasisEnd","TYPE_INCIDENT","TYPE_EPIC","false","inputPlaceholderTextMap","inputPlaceholderConfidentialTextMap","relatedIssuesRemoveErrorMap","pathIndeterminateErrorMap","itemAddFailureTypesMap","NOT_FOUND","MAX_NUMBER_OF_CHILD_EPICS","addRelatedIssueErrorMap","addRelatedItemErrorMap","issuableIconMap","PathIdSeparator","Issue","issuablesBlockHeaderTextMap","issuablesBlockHelpTextMap","issuablesBlockAddButtonTextMap","issuablesFormCategoryHeaderTextMap","issuablesFormInputTextMap","defaultEpicSort","epicIidPattern","dateTypes","start","due","dateFields","isDateFixed","dateFixed","dateFromMilestones","Milestone","todoMutationTypes","create","markDone","noAttribute","assignAttribute","updateError","listFetchError","currentFetchError","noPermissionToView","editConfirmation","editConfirmationCta","editConfirmationCancel","statusDropdownOptions","subscriptionsDropdownOptions","INCIDENT_SEVERITY","CRITICAL","icon","HIGH","MEDIUM","LOW","UNKNOWN","MILESTONE_STATE","ACTIVE","CLOSED","SEVERITY_I18N","UPDATE_SEVERITY_ERROR","TRY_AGAIN","EDIT","SEVERITY","SEVERITY_VALUE","STATUS_TRIGGERED_LABEL","STATUS_ACKNOWLEDGED_LABEL","STATUS_RESOLVED_LABEL","STATUS_LABELS","INCIDENTS_I18N","fetchError","deburrLetter","basePropertyOf","asciiWords","hasUnicodeWord","toString","unicodeWords","pattern","guard","match","backgroundClasses","primary","success","danger","warning","__vue_script__","ariaLabel","Number","variant","validator","keys","max","height","transform","computedValue","computedMax","__vue_component__","render","_h","$createElement","classes","staticRenderFns","reAsciiWord","unassigned","GlDropdownForm","GlDropdown","GlDropdownDivider","SidebarParticipant","headerText","allowMultipleAssignees","currentUser","isEditing","issuableAuthor","search","participants","searchUsers","isSearching","participantsQueries","skipQuery","getStatus","_data$workspace","map","userSearchQueries","searchUsersVariables","_data$workspace2","_user$mergeRequestInt","first","mergeRequestId","_this$participants","filteredParticipants","mergedSearchResults","current","some","moveCurrentUserAndAuthorToStart","isSearchEmpty","shouldShowParticipants","isCurrentUserInList","_this2","noUsersFound","showCurrentUser","showAuthor","_this3","selectedFiltered","foundUsernames","filtered","selectedUserNames","unselectedFiltered","_this$users","_this4","selectedIsEmpty","newVal","created","debouncedSearchKeyUpdate","_debounce","setSearchKey","DEFAULT_DEBOUNCE_AND_THROTTLE_MS","selectAssignee","dropdown","hide","clearAndFocusSearch","unassign","unselect","focusSearch","showDropdown","show","showDivider","list","_this5","sortedUsers","author","_this5$issuableAuthor","trim","tooltipText","modifiers","unselectedUser","errorMessage","SidebarColorPicker","attrWorkspacePath","labelCreateType","workspaceType","labelTitle","selectedColor","DEFAULT_LABEL_COLOR","labelCreateInProgress","disableCreate","suggestedColors","colorsMap","gon","suggested_label_colors","mutationVariables","attributePath","WORKSPACE_GROUP","updateLabelsInCache","dataPath","workspaceLabelsQueries","readQuery","searchTerm","collator","Intl","Collator","draftData","_get","compare","writeQuery","labelCreate","workspaceCreateLabelMutation","createLabel","trackingMixin","mixin","TodoButton","GlAnimatedTodoIcon","isClassicSidebar","issuableIid","todoId","todoQueries","currentUserTodos","_data$workspace$issua","_currentUserTodos$","subscribeToMore","document","subscription","todoIdQuery","todoIdQueryVariables","_this$$apollo$queries","hasTodo","todoMutationType","tootltipTitle","todoLabel","isNotificationsTodosButtons","glFeatures","notificationsTodosButtons","toggleTodo","todoMutations","targetId","todoMutation","todo","queryProps","track","GlDisclosureDropdownItem","displayText","category","triggerSource","triggerElement","componentAttributes","isButtonTrigger","TRIGGER_ELEMENT_BUTTON","isWithEmojiTrigger","TRIGGER_ELEMENT_WITH_EMOJI","isDropdownWithEmojiTrigger","TRIGGER_ELEMENT_DROPDOWN_WITH_EMOJI","isDisclosureTrigger","TRIGGER_ELEMENT_DISCLOSURE_DROPDOWN","openModal","eventHub","handleDisclosureDropdownAction","_b","emitSidebarEvent","expired","GlDropdownText","issuableAttributesQueries","issuableAttributesState","widgetTitleText","currentAttribute","WORKSPACE_PROJECT","showWorkItemEpics","attributesList","isEpic","issuableAttributeQuery","state","types","WORK_ITEM_TYPE_ENUM_EPIC","test","matches","iidStartsWith","groups","in","_data$workspace$attri","attributes","startsWith","debounce","attributeTypeTitle","dropdownText","_this$currentAttribut","emptyPropsList","localizedAttribute","formatIssuableAttribute","kebab","_kebabCase","snake","_snakeCase","isAttributeChecked","attributeId","_this$currentAttribut2","_this$currentAttribut3","isAttributeOverdue","attribute","handleShow","setFocus","_this$$refs","updateAttribute","attrItem","GlDatepicker","GlFormTextarea","GlModal","workItemId","workItemType","saveError","modalText","issuableTypeName","issuableTypeText","submitDisabled","_this$timeSpent","primaryProps","disabled","cancelProps","timeTrackingDocsPath","relative_url_root","createTimelogModalId","CREATE_TIMELOG_MODAL_ID","resetModal","close","modal","registerTimeSpent","_this$timeSpent2","updateWorkItemMutation","toISODateFormat","workItemUpdate","createTimelogMutation","getIssuableId","_data$timelogCreate","timelogCreate","getGraphQLEntityType","updateSpentAtDate","val","TooltipOnTruncate","severity","iconSize","iconOnly","GlAvatar","imgSize","assigneeAlt","userName","default_avatar_url","hasMergeIcon","MUTATIONS","issueSetTimeEstimateMutation","mergeRequestSetTimeEstimateMutation","timeTracking","_this$timeTracking$ti","_this$timeTracking$hu","currentEstimate","timeEstimate","humanTimeEstimate","isSaving","isResetting","resetDisabled","secondaryProps","helpPagePath","modalTitle","setTimeEstimateModalId","SET_TIME_ESTIMATE_MODAL_ID","_this$timeTracking$ti2","_this$timeTracking$hu2","saveTimeEstimate","updateEstimatedTime","resetTimeEstimate","isPositiveInteger","_data$issuableSetTime","issuableSetTimeEstimate","GlIntersectionObserver","LabelItem","prop","allowMultiselect","localSelectedLabels","labels","isVisible","localSelectedLabelsIds","visibleLabels","fuzzaldrinPlus","showNoMatchingResultsMessage","shouldHighlightFirstItem","isLabelSelected","scrollIntoViewIfNeeded","highlightedLabel","labelsListContainer","querySelector","container","getBoundingClientRect","bottom","scrollTop","top","updateSelectedLabels","handleLabelClick","onDropdownAppear","selectFirstItem","handleFocus","_event$target$parentN","classList","remove","parentNode","nextElementSibling","focus","isDropdownVariantSidebar","VARIANT_SIDEBAR","isDropdownVariantStandalone","VARIANT_STANDALONE","isDropdownVariantEmbedded","VARIANT_EMBEDDED","DropdownContentsLabelsView","DropdownContentsCreateView","DropdownHeader","DropdownFooter","toggleAttrs","selectedLabels","dropdownButtonText","isDirty","dropdownContentsView","buttonText","firstLabelName","remainingLabelCount","showDropdownFooter","isSidebar","deep","setLabels","beforeDestroy","toggleDropdownContentsCreateView","toggleDropdownContent","_this$$refs$dropdown","$_popper","scheduleUpdate","handleDropdownHide","header","hideDropdown","clearSearch","handleNewLabel","tag","GlLabel","allowLabelRemove","supportsLockOnMerge","labelsFilterBasePath","labelsFilterParam","sortedSelectedLabels","_sortBy","isScopedLabel","buildFilterUrl","basePath","filterParam","encodeURIComponent","scopedLabel","allowScopedLabels","isLabelLocked","lock_on_merge","showCloseButton","removeLabel","labelId","DropdownValue","DropdownContents","EmbeddedLabelsList","SidebarEditableItem","allowLabelEdit","showEmbeddedLabelsList","issuableSupportsLockOnMerge","contentIsOnViewport","labelsSelectInProgress","oldIid","sidebarExpandedOnClick","issuableLabelIds","issuableLabels","_this$issuable","_this$issuable2","isRealtimeEnabled","realtimeLabels","isLabelListEnabled","isLockOnMergeSupported","_this$issuable3","labelShortcutDescription","shouldDisableShortcuts","ISSUABLE_CHANGE_LABEL","labelShortcutKey","keysFor","labelTooltip","sanitize","issuableLabelsQueries","issuableQuery","queryVariables","TYPE_TEST_CASE","issuableLabelsSubscription","_","subscriptionData","issuableLabelsUpdated","oldVal","mounted","handleCollapsedValueClick","handleDropdownClose","getUpdateVariables","collapseEditableItem","_this$$refs$editable","editable","dropdownContents","DEBOUNCE_DROPDOWN_DELAY","labelIds","currentIid","updateVariables","operationMode","mutationOperationMode","addLabelIds","removeLabelIds","inputVariables","_data$updateIssuableL","_data$updateIssuableL2","_data$updateIssuableL3","updateIssuableLabels","getRemoveVariables","removeVariables","handleLabelRemove","inserted","el","visibilityObserver","IntersectionObserver","entries","entry","intersectionRatio","offsetParent","observe","root","documentElement","unbind","disconnect","unique","defs","confidential","confidentialBodyText","confidentialityInfoText","confidentialIcon","tooltipLabel","confidentialityOnWarning","confidentialityOffWarning","GlSprintf","toggleButtonText","warningMessage","isIssue","isTestCase","isIssueOrTestCase","context","permissions","commentText","submitForm","confidentialityQueries","issuableSetConfidential","content","confidentialWidget","Vue","observable","setConfidentiality","hideDropdownEvent","CustomEvent","bubbles","tracking","SidebarConfidentialityContent","SidebarConfidentialityForm","closeForm","dispatchEvent","defaultClient","client","provider","clients","expandSidebar","GlResizeObserver","GlResizeObserverDirective","placement","boundary","truncateTarget","Function","tooltipDisabled","tooltip","updateTooltip","updateTooltipDebounced","selectTarget","_isFunction","childNodes","hasHorizontalOverflow","onResize","isTodo","isIconButton","buttonLabel","incrementGlobalTodoCount","updateGlobalTodoCount","decrementGlobalTodoCount","onToggle","$attrs","PROJECT_SELECT_LABEL_ID","SEARCH_DELAY","VALID_TOKEN_BACKGROUND","WARNING_TOKEN_BACKGROUND","INVALID_TOKEN_BACKGROUND","TOAST_MESSAGE_LOCALSTORAGE_KEY","MEMBERS_WITH_QUEUED_STATUS_LOCALSTORAGE_KEY","GROUP_FILTERS","ALL","DESCENDANT_GROUPS","USERS_FILTER_ALL","USERS_FILTER_SAML_PROVIDER_ID","TOP_NAV_INVITE_MEMBERS_COMPONENT","INVITE_MEMBER_MODAL_TRACKING_CATEGORY","IMPORT_PROJECT_MEMBERS_MODAL_TRACKING_CATEGORY","IMPORT_PROJECT_MEMBERS_MODAL_TRACKING_LABEL","MEMBERS_MODAL_DEFAULT_TITLE","MEMBERS_MODAL_CELEBRATE_TITLE","MEMBERS_MODAL_CELEBRATE_INTRO","MEMBERS_TO_GROUP_DEFAULT_INTRO_TEXT","MEMBERS_TO_PROJECT_DEFAULT_INTRO_TEXT","MEMBERS_TO_PROJECT_CELEBRATE_INTRO_TEXT","MEMBERS_SEARCH_FIELD","MEMBERS_PLACEHOLDER","GROUP_MODAL_DEFAULT_TITLE","GROUP_MODAL_TO_GROUP_DEFAULT_INTRO_TEXT","GROUP_MODAL_TO_PROJECT_DEFAULT_INTRO_TEXT","GROUP_MODAL_TO_GROUP_ALERT_BODY","GROUP_MODAL_TO_GROUP_ALERT_LINK","anchor","GROUP_MODAL_TO_PROJECT_ALERT_BODY","GROUP_MODAL_TO_PROJECT_ALERT_LINK","GROUP_SEARCH_FIELD","GROUP_PLACEHOLDER","ACCESS_LEVEL","ACCESS_EXPIRE_DATE","TOAST_MESSAGE_SUCCESSFUL","QUEUED_MESSAGE_SUCCESSFUL","INVALID_FEEDBACK_MESSAGE_DEFAULT","READ_MORE_TEXT","READ_MORE_ACCESS_EXPIRATION_TEXT","INVITE_BUTTON_TEXT","INVITE_BUTTON_TEXT_DISABLED","CANCEL_BUTTON_TEXT","HEADER_CLOSE_LABEL","MEMBER_ERROR_LIST_TEXT","COLLAPSED_ERRORS","EXPANDED_ERRORS","EMPTY_INVITES_ALERT_TEXT","MEMBER_MODAL_LABELS","celebrate","intro","toGroup","introText","toProject","searchField","placeHolder","toastMessageSuccessful","memberErrorListText","collapsedErrors","expandedErrors","emptyInvitesAlertText","GROUP_MODAL_LABELS","notificationText","notificationLink","ON_SHOW_TRACK_LABEL","ON_CELEBRATION_TRACK_LABEL","WARNING_ALERT_TITLE","DANGER_ALERT_TITLE","REACHED_LIMIT_VARIANT","CLOSE_TO_LIMIT_VARIANT","REACHED_LIMIT_UPGRADE_SUGGESTION_MESSAGE","CLOSE_TO_LIMIT_MESSAGE","BLOCKED_SEAT_OVERAGES_BODY","BLOCKED_SEAT_OVERAGES_CTA","BLOCKED_SEAT_OVERAGES_CTA_DOCS","BLOCKED_SEAT_OVERAGES_ERROR_REASON","I18N","GlCollapsibleListbox","SeverityToken","initialSeverity","isUpdating","severitiesList","values","dropdownItems","selectedItem","updateSeverity","updateIssuableSeverity","resp","issueSetSeverity","issue","open","buttonId","initialLoading","canEdit","shouldShowConfirmationPopover","editTooltip","editAriaLabel","editKeyshortcuts","editButtonText","editTooltipText","editAriaLabelText","editKeyshortcutsText","collapseOnEscape","currentTarget","mediator","assigneesQueries","issuableAssigneesUpdated","assignees","handleFetchResult","n","setAssigneesFromRealtime","UncollapsedAssigneeList","signedIn","assigneesText","n__","emptyUsers","InviteMembersTrigger","assigneesWidget","updateAssignees","assignee","assignTo","IssuableAssignees","SidebarInviteMembers","SidebarAssigneesRealtime","UserSelect","directlyInviteMembers","initialAssignees","TYPE_ALERT","isSettingAssignees","oldSelected","_node$mergeRequestInt","shouldEnableRealtime","assigneeText","items","isAssigneesLoading","_gon","_gon2","_gon3","current_username","current_user_fullname","current_user_avatar_url","assigneeShortcutDescription","ISSUE_MR_CHANGE_ASSIGNEE","assigneeShortcutKey","assigneeTooltip","assigneeUsernames","issuableSetAssignees","assignSelf","saveAssignees","usernames","collapseWidget","expandWidget","userSelect","showError","setDirtyState","ListType","GlDrawer","BoardSidebarTitle","SidebarAssigneesWidget","SidebarDateWidget","SidebarConfidentialityWidget","SidebarTimeTracker","SidebarLabelsWidget","SidebarSubscriptionsWidget","SidebarDropdownWidget","SidebarTodoWidget","SidebarSeverityWidget","MountingPortal","SidebarHealthStatusWidget","SidebarIterationWidget","SidebarWeightWidget","glFeatureFlagMixin","multipleAssigneesFeatureAvailable","epicFeatureAvailable","iterationFeatureAvailable","weightFeatureAvailable","healthStatusFeatureAvailable","isGroupBoard","timeTrackingLimitToHours","inheritAttrs","backlogListId","closedListId","affectedListTypes","updatedAttributeIds","activeBoardCard","activeBoardItemQuery","_data$activeBoardItem","_data$activeBoardItem2","activeBoardItem","activeBoardIssuable","isSidebarOpen","_this$activeBoardIssu","isIncidentSidebar","_this$activeBoardIssu2","INCIDENT","sidebarTitle","parentType","createLabelTitle","manageLabelTitle","groupPathForActiveIssue","projectPathForActiveIssue","labelType","labelsFilterPath","lastIndexOf","workItemEpics","showEpicSidebarDropdownWidget","showIterationSidebarDropdownWidget","apolloClient","setActiveBoardItemMutation","boardItem","listId","refetchAffectedLists","updateListTotalWeight","weight","cache","updateListWeightCache","updateAffectedLists","listType","isArray","_union","attr","issuableSetAttribute","affectedLists","identifyAffectedLists","refetchQueries","updateCache","evict","identify","__typename","fieldName","handleClose","milestone","reHasUnicodeWord","provide","issueId","hasWorkItemParent","hasParent","_data$workspace3","workItems","setParentData","TYPENAME_WORK_ITEM","skipRealTimeWorkItemParentUpdates","_subscriptionData$dat","response","updating","_response$data$issuab","updateWorkItem","hierarchyWidget","parentId","updateIssuable","WORK_ITEM_TYPE_VALUE_EPIC","_workItem$widgets","parent","_g","$scopedSlots","slotData","$listeners","formattedDate","hasDate","resetText","canDelete","GlFormRadio","SidebarFormattedDate","dateType","dateIsFixed","fixed","hasFixedDate","formattedFixedDate","noDate","formattedInheritedDate","inherited","GlPopover","SidebarInheritDate","HelpIcon","canInherit","minDate","maxDate","dateQueries","skipIssueDueDateSubscription","startDateQueries","dueDateQueries","dateLabel","startDate","dueDate","removeDateLabel","removeStartDate","removeDueDate","dateValue","firstDay","first_day_of_week","parsedDate","dataTestId","epicDatePopoverEl","epicDatePopover","openDatePicker","datePicker","setFixedDate","isFixed","setDate","issuableSetDate","dateHelpValidMessage","help","dateHelpUrl","autofocus","handleColorClick","validColor","getColorCode","pop","getColorName","getStyle","backgroundColor","arg","disableLabels","labelsList","labelsString","join","labelFilterUrl","lockOnMerge","handleCollapsedClick","getStatusLabel","_STATUS_LABELS$status","delta","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","reOptMod","rsModifier","rsSeq","rsEmoji","reUnicodeWord","containerClasses","pronouns","hasPronouns","isUserBusy","reLatin","reComboMark","SidebarDropdown","isEpicAttribute","issuableParent","_this$glFeatures","epicWidgetEditConfirmation","hasCurrentAttribute","hasEpic","shouldSkipRealTimeEpicLinkUpdates","selectedTitle","_this$issuableParent","attributeTitle","attributeUrl","attributeTypeIcon","timeFor","_this$glFeatures2","_this$currentAttribut4","_data$issuableSetAttr","handlePopoverClose","popover","handlePopoverConfirm","cb","setTimeout","handleEditConfirmation","showComparisonState","showSpentOnlyState","showEstimateOnlyState","showNoTimeTrackingState","timeSpentHumanReadable","timeEstimateHumanReadable","divClass","spanClass","timeTrackedTooltipText","GlProgressBar","parsedTimeRemaining","diffSeconds","timeRemainingHumanReadable","timeRemainingTooltip","timeRemainingMinutes","timeRemainingPercent","floor","timeRemainingStatusClass","progressBarVariant","noTimeTrackingText","estimatedOnlyText","TimeTrackingCollapsedState","TimeTrackingSpentOnlyPane","TimeTrackingComparisonPane","TimeTrackingReport","CreateTimelogForm","SetTimeEstimateForm","GlModalDirective","initialTimeTracking","showCollapsed","canAddTimeEntries","canSetTimeEstimate","issuableTimeTracking","timeTrackingQueries","isTimeTrackingInfoLoading","_this$$apollo","_this$timeTracking","_this$timeTracking2","_this$timeTracking3","humanTotalTimeSpent","_this$timeTracking4","hasTotalTimeSpent","hasTimeEstimate","isTimeReportSupported","timeEstimateTooltip","refresh","refetch","openRegisterTimeSpentModal","$root","BV_SHOW_MODAL","GlToggle","GlAnimatedNotificationIcon","showInDropdown","subscribed","emailsDisabled","subscribedQueries","_data$workspace4","parentIsGroup","isIssuable","notificationTooltip","subscribeDisabledDescription","labelOn","labelOff","notificationIcon","isLoggedIn","canSubscribe","setSubscribed","subscribedState","updateIssuableSubscription","toast","toggleSubscribed","notifications","use","GlToast","instance","showGlobalToast","$toast","formClass","BDropdownForm","functional","h","_ref","listeners","children","role","tabindex","kebabCase","keyboard_shortcuts_enabled","disableShortcuts","Mousetrap","pause","issuableIterationQueries","projectIssueIterationQuery","projectIssueIterationMutation","iterationsQueries","groupIterationsQuery","issuableEpicQueries","projectIssueEpicQuery","projectIssueEpicMutation","epicsQueries","groupEpicsQuery","parentsQueries","workItemParentsQuery","issuableEscalationPolicyQueries","issueEscalationPolicyQuery","issueEscalationPolicyMutation","escalationPoliciesQueries","projectEscalationPoliciesQuery","parentQueries","workItemParent","updateWorkItemParent","issuableAttributesQueriesFoss","issuableEpicSubscription","workItemParentSubscription","ancestorsQueries","epicAncestorsQuery","weightQueries","issueWeightQuery","updateIssueWeightMutation","issuableWeightSubscription","healthStatusQueries","updateStatusMutation","issueHealthStatusQuery","BTableLite","tableClass","options","stickyHeader","stickyHeaderClass","localTableClass","slot","scope"],"mappings":"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","file":"1179.539dd3ed.chunk.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gl-flex gl-break-anywhere\"},[_c('span',{staticClass:\"dropdown-label-box gl-top-0 gl-mr-3 gl-shrink-0\",style:({ 'background-color': _vm.label.color }),attrs:{\"data-testid\":\"label-color-box\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.label.title))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./label_item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./label_item.vue?vue&type=script&lang=js\"","<script>\nexport default {\n props: {\n label: {\n type: Object,\n required: true,\n },\n },\n};\n</script>\n\n<template>\n <div class=\"gl-flex gl-break-anywhere\">\n <span\n class=\"dropdown-label-box gl-top-0 gl-mr-3 gl-shrink-0\"\n :style=\"{ 'background-color': label.color }\"\n data-testid=\"label-color-box\"\n ></span>\n <span>{{ label.title }}</span>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./label_item.vue?vue&type=template&id=486db2f8\"\nimport script from \"./label_item.vue?vue&type=script&lang=js\"\nexport * from \"./label_item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"gl-flex gl-flex-wrap\"},_vm._l((_vm.uncollapsedUsers),function(user,index){return _c('div',{key:user.id,staticClass:\"assignee-grid gl-grid gl-w-full gl-items-center\",class:{\n 'gl-mb-3': index !== _vm.users.length - 1 || _vm.users.length > 5,\n }},[_c('assignee-avatar-link',{staticClass:\"gl-break-anywhere\",attrs:{\"user\":user,\"issuable-type\":_vm.issuableType,\"data-css-area\":\"user\"}},[_c('div',{staticClass:\"gl-ml-3 gl-grid gl-items-center gl-leading-normal\",attrs:{\"data-testid\":\"username\"}},[_c('user-name-with-status',{attrs:{\"name\":user.name,\"availability\":_vm.userAvailability(user)}})],1)])],1)}),0),_vm._v(\" \"),(_vm.renderShowMoreSection)?_c('div',{staticClass:\"hover:gl-text-blue-800\",attrs:{\"data-testid\":\"user-list-more\"}},[_c('gl-button',{attrs:{\"category\":\"tertiary\",\"size\":\"small\",\"data-testid\":\"user-list-more-button\"},on:{\"click\":_vm.toggleShowLess}},[(_vm.showLess)?[_vm._v(\"\\n \"+_vm._s(_vm.hiddenAssigneesLabel)+\"\\n \")]:[_vm._v(_vm._s(_vm.__('- show less')))]],2)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlButton } from '@gitlab/ui';\nimport glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { __, sprintf } from '~/locale';\nimport AssigneeAvatarLink from './assignee_avatar_link.vue';\nimport UserNameWithStatus from './user_name_with_status.vue';\n\nconst DEFAULT_RENDER_COUNT = 5;\n\nexport default {\n components: {\n GlButton,\n AssigneeAvatarLink,\n UserNameWithStatus,\n },\n mixins: [glFeatureFlagsMixin()],\n props: {\n users: {\n type: Array,\n required: true,\n },\n issuableType: {\n type: String,\n required: false,\n default: TYPE_ISSUE,\n },\n },\n data() {\n return {\n showLess: true,\n };\n },\n computed: {\n firstUser() {\n return this.users[0];\n },\n hiddenAssigneesLabel() {\n const { numberOfHiddenAssignees } = this;\n return sprintf(__('+ %{numberOfHiddenAssignees} more'), { numberOfHiddenAssignees });\n },\n renderShowMoreSection() {\n return this.users.length > DEFAULT_RENDER_COUNT;\n },\n numberOfHiddenAssignees() {\n return this.users.length - DEFAULT_RENDER_COUNT;\n },\n uncollapsedUsers() {\n const uncollapsedLength = this.showLess\n ? Math.min(this.users.length, DEFAULT_RENDER_COUNT)\n : this.users.length;\n return this.showLess ? this.users.slice(0, uncollapsedLength) : this.users;\n },\n username() {\n return `@${this.firstUser.username}`;\n },\n isMergeRequest() {\n return this.issuableType === TYPE_MERGE_REQUEST;\n },\n },\n methods: {\n toggleShowLess() {\n this.showLess = !this.showLess;\n },\n userAvailability(u) {\n if (this.issuableType === TYPE_MERGE_REQUEST) {\n return u?.availability || '';\n }\n return u?.status?.availability || '';\n },\n },\n};\n</script>\n\n<template>\n <div>\n <div class=\"gl-flex gl-flex-wrap\">\n <div\n v-for=\"(user, index) in uncollapsedUsers\"\n :key=\"user.id\"\n :class=\"{\n 'gl-mb-3': index !== users.length - 1 || users.length > 5,\n }\"\n class=\"assignee-grid gl-grid gl-w-full gl-items-center\"\n >\n <assignee-avatar-link\n :user=\"user\"\n :issuable-type=\"issuableType\"\n class=\"gl-break-anywhere\"\n data-css-area=\"user\"\n >\n <div class=\"gl-ml-3 gl-grid gl-items-center gl-leading-normal\" data-testid=\"username\">\n <user-name-with-status :name=\"user.name\" :availability=\"userAvailability(user)\" />\n </div>\n </assignee-avatar-link>\n </div>\n </div>\n <div v-if=\"renderShowMoreSection\" class=\"hover:gl-text-blue-800\" data-testid=\"user-list-more\">\n <gl-button\n category=\"tertiary\"\n size=\"small\"\n data-testid=\"user-list-more-button\"\n @click=\"toggleShowLess\"\n >\n <template v-if=\"showLess\">\n {{ hiddenAssigneesLabel }}\n </template>\n <template v-else>{{ __('- show less') }}</template>\n </gl-button>\n </div>\n </div>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./uncollapsed_assignee_list.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./uncollapsed_assignee_list.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./uncollapsed_assignee_list.vue?vue&type=template&id=32d3cd60\"\nimport script from \"./uncollapsed_assignee_list.vue?vue&type=script&lang=js\"\nexport * from \"./uncollapsed_assignee_list.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\nvar snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n});\n\nmodule.exports = snakeCase;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"issueSetWeight\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssueSetWeightInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuableSetWeight\"},\"name\":{\"kind\":\"Name\",\"value\":\"issueSetWeight\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":176}};\n doc.loc.source = {\"body\":\"mutation issueSetWeight($input: IssueSetWeightInput!) {\\n issuableSetWeight: issueSetWeight(input: $input) {\\n issuable: issue {\\n id\\n weight\\n }\\n errors\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueSetWeight\"] = oneQuery(doc, \"issueSetWeight\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"data-testid\":\"dropdown-footer\"}},[(_vm.allowLabelCreate)?_c('gl-dropdown-item',{attrs:{\"data-testid\":\"create-label-button\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();return _vm.$emit('toggleDropdownContentsCreateView')}}},[_vm._v(\"\\n \"+_vm._s(_vm.footerCreateLabelTitle)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showManageLabelsItem)?_c('gl-dropdown-item',{attrs:{\"data-testid\":\"manage-labels-button\",\"href\":_vm.labelsManagePath},nativeOn:{\"!click\":function($event){$event.stopPropagation();}}},[_vm._v(\"\\n \"+_vm._s(_vm.footerManageLabelTitle)+\"\\n \")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_footer.vue?vue&type=script&lang=js\"","<script>\nimport { GlDropdownItem } from '@gitlab/ui';\n\nexport default {\n components: {\n GlDropdownItem,\n },\n inject: ['allowLabelCreate', 'labelsManagePath'],\n props: {\n footerCreateLabelTitle: {\n type: String,\n required: true,\n },\n footerManageLabelTitle: {\n type: String,\n required: false,\n default: '',\n },\n },\n computed: {\n showManageLabelsItem() {\n return this.footerManageLabelTitle && this.labelsManagePath;\n },\n },\n};\n</script>\n\n<template>\n <div data-testid=\"dropdown-footer\">\n <gl-dropdown-item\n v-if=\"allowLabelCreate\"\n data-testid=\"create-label-button\"\n @click.capture.native.stop=\"$emit('toggleDropdownContentsCreateView')\"\n >\n {{ footerCreateLabelTitle }}\n </gl-dropdown-item>\n <gl-dropdown-item\n v-if=\"showManageLabelsItem\"\n data-testid=\"manage-labels-button\"\n :href=\"labelsManagePath\"\n @click.capture.native.stop\n >\n {{ footerManageLabelTitle }}\n </gl-dropdown-item>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_footer.vue?vue&type=template&id=77bef9ca\"\nimport script from \"./dropdown_footer.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_footer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isLoading)?_c('gl-loading-icon',{attrs:{\"size\":\"lg\"}}):_c('gl-table-lite',{attrs:{\"items\":_vm.report,\"fields\":_vm.$options.fields,\"foot-clone\":\"\"},scopedSlots:_vm._u([{key:\"cell(spentAt)\",fn:function({ item: { spentAt } }){return [_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:(_vm.formatDate(spentAt)),expression:\"formatDate(spentAt)\"}]},[_vm._v(\"\\n \"+_vm._s(_vm.formatShortDate(spentAt))+\"\\n \")])]}},{key:\"foot(spentAt)\",fn:function(){return [_vm._v(\" \")]},proxy:true},{key:\"cell(timeSpent)\",fn:function({ item: { timeSpent } }){return [_vm._v(\"\\n \"+_vm._s(_vm.formatTimeSpent(timeSpent))+\"\\n \")]}},{key:\"foot(timeSpent)\",fn:function(){return [_vm._v(\"\\n \"+_vm._s(_vm.totalTimeSpent)+\"\\n \")]},proxy:true},{key:\"cell(user)\",fn:function({ item: { user } }){return [_vm._v(\"\\n \"+_vm._s(user.name)+\"\\n \")]}},{key:\"foot(user)\",fn:function(){return [_vm._v(\" \")]},proxy:true},{key:\"cell(summary)\",fn:function({ item: { summary, note } }){return [_vm._v(\"\\n \"+_vm._s(_vm.getSummary(summary, note))+\"\\n \")]}},{key:\"foot(summary)\",fn:function(){return [_vm._v(\" \")]},proxy:true},{key:\"cell(actions)\",fn:function({ item: { id, userPermissions } }){return [(userPermissions.adminTimelog)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:(_vm.$options.i18n.deleteButtonText),expression:\"$options.i18n.deleteButtonText\"}],attrs:{\"category\":\"tertiary\",\"icon\":\"remove\",\"variant\":\"danger\",\"aria-label\":_vm.$options.i18n.deleteButtonText,\"loading\":_vm.isDeletingTimelog(id)},on:{\"click\":function($event){return _vm.deleteTimelog(id)}}}):_vm._e()]}},{key:\"foot(actions)\",fn:function(){return [_vm._v(\" \")]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./time_tracking_report.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./time_tracking_report.vue?vue&type=script&lang=js\"","<script>\nimport { GlLoadingIcon, GlTableLite, GlButton, GlTooltipDirective } from '@gitlab/ui';\nimport produce from 'immer';\nimport { createAlert } from '~/alert';\nimport { TYPENAME_ISSUE, TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constants';\nimport { convertToGraphQLId } from '~/graphql_shared/utils';\nimport { TYPE_ISSUE } from '~/issues/constants';\nimport {\n localeDateFormat,\n newDate,\n parseSeconds,\n stringifyTime,\n} from '~/lib/utils/datetime_utility';\nimport { __, s__ } from '~/locale';\nimport { WIDGET_TYPE_TIME_TRACKING } from '~/work_items/constants';\nimport workItemByIidQuery from '~/work_items/graphql/work_item_by_iid.query.graphql';\nimport { timelogQueries } from '../../queries/constants';\nimport deleteTimelogMutation from '../../queries/delete_timelog.mutation.graphql';\n\nexport default {\n i18n: {\n deleteButtonText: s__('TimeTracking|Delete time spent'),\n },\n components: {\n GlLoadingIcon,\n GlTableLite,\n GlButton,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n inject: {\n fullPath: {\n default: null,\n },\n issuableType: {\n default: null,\n },\n },\n props: {\n limitToHours: {\n type: Boolean,\n default: false,\n required: false,\n },\n issuableId: {\n type: String,\n required: false,\n default: '',\n },\n timelogs: {\n type: Array,\n required: false,\n default: undefined,\n },\n workItemIid: {\n type: String,\n required: false,\n default: '',\n },\n },\n data() {\n return {\n report: this.timelogs ?? [],\n removingIds: [],\n };\n },\n apollo: {\n report: {\n query() {\n return timelogQueries[this.issuableType].query;\n },\n variables() {\n const type = this.issuableType === TYPE_ISSUE ? TYPENAME_ISSUE : TYPENAME_MERGE_REQUEST;\n return {\n id: convertToGraphQLId(type, this.issuableId),\n };\n },\n update(data) {\n const timelogs = data?.issuable?.timelogs?.nodes || [];\n return timelogs.slice().sort((a, b) => new Date(a.spentAt) - new Date(b.spentAt));\n },\n error() {\n createAlert({ message: __('Something went wrong. Please try again.') });\n },\n skip() {\n return Boolean(this.timelogs);\n },\n },\n // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n workItem: {\n query: workItemByIidQuery,\n variables() {\n return {\n fullPath: this.fullPath,\n iid: this.workItemIid,\n };\n },\n update(data) {\n return data.workspace.workItem ?? {};\n },\n skip() {\n return !this.workItemIid;\n },\n },\n },\n computed: {\n isLoading() {\n return this.$apollo.queries.report.loading || this.$apollo.queries.workItem.loading;\n },\n totalTimeSpent() {\n const seconds = this.report.reduce((acc, item) => acc + item.timeSpent, 0);\n return this.formatTimeSpent(seconds);\n },\n },\n watch: {\n timelogs(timelogs) {\n this.report = timelogs;\n },\n },\n methods: {\n isDeletingTimelog(timelogId) {\n return this.removingIds.includes(timelogId);\n },\n formatDate(date) {\n return localeDateFormat.asDateTimeFull.format(newDate(date));\n },\n formatShortDate(date) {\n return localeDateFormat.asDate.format(newDate(date));\n },\n getSummary(summary, note) {\n return summary ?? note?.body;\n },\n formatTimeSpent(seconds) {\n const negative = seconds < 0;\n return (\n (negative ? '- ' : '') +\n stringifyTime(parseSeconds(seconds, { limitToHours: this.limitToHours }))\n );\n },\n deleteTimelog(timelogId) {\n this.removingIds.push(timelogId);\n this.$apollo\n .mutate({\n mutation: deleteTimelogMutation,\n variables: { input: { id: timelogId } },\n update: (store) => {\n if (!this.workItemIid) {\n return;\n }\n store.updateQuery(\n {\n query: workItemByIidQuery,\n variables: { fullPath: this.fullPath, iid: this.workItemIid },\n },\n (sourceData) =>\n produce(sourceData, (draftState) => {\n const timeTrackingWidget = draftState.workspace.workItem.widgets.find(\n (widget) => widget.type === WIDGET_TYPE_TIME_TRACKING,\n );\n const timelogs = timeTrackingWidget.timelogs.nodes;\n const index = timelogs.findIndex((timelog) => timelog.id === timelogId);\n\n timeTrackingWidget.totalTimeSpent -= timelogs[index].timeSpent;\n timelogs.splice(index, 1);\n }),\n );\n },\n })\n .then(({ data }) => {\n if (data.timelogDelete?.errors?.length) {\n throw new Error(data.timelogDelete.errors[0]);\n }\n })\n .catch((error) => {\n createAlert({\n message: s__('TimeTracking|An error occurred while removing the timelog.'),\n captureError: true,\n error,\n });\n })\n .finally(() => {\n this.removingIds.splice(this.removingIds.indexOf(timelogId), 1);\n });\n },\n },\n fields: [\n { key: 'spentAt', label: __('Date'), tdClass: 'gl-w-1/4' },\n { key: 'timeSpent', label: __('Time spent'), tdClass: 'gl-w-15' },\n { key: 'user', label: __('User') },\n { key: 'summary', label: __('Summary') },\n { key: 'actions', label: '', tdClass: 'gl-w-10' },\n ],\n};\n</script>\n\n<template>\n <gl-loading-icon v-if=\"isLoading\" size=\"lg\" />\n <gl-table-lite v-else :items=\"report\" :fields=\"$options.fields\" foot-clone>\n <template #cell(spentAt)=\"{ item: { spentAt } }\">\n <span v-gl-tooltip=\"formatDate(spentAt)\">\n {{ formatShortDate(spentAt) }}\n </span>\n </template>\n <template #foot(spentAt)> </template>\n\n <template #cell(timeSpent)=\"{ item: { timeSpent } }\">\n {{ formatTimeSpent(timeSpent) }}\n </template>\n <template #foot(timeSpent)>\n {{ totalTimeSpent }}\n </template>\n\n <template #cell(user)=\"{ item: { user } }\">\n {{ user.name }}\n </template>\n <template #foot(user)> </template>\n\n <template #cell(summary)=\"{ item: { summary, note } }\">\n {{ getSummary(summary, note) }}\n </template>\n <template #foot(summary)> </template>\n\n <template #cell(actions)=\"{ item: { id, userPermissions } }\">\n <gl-button\n v-if=\"userPermissions.adminTimelog\"\n v-gl-tooltip=\"$options.i18n.deleteButtonText\"\n category=\"tertiary\"\n icon=\"remove\"\n variant=\"danger\"\n :aria-label=\"$options.i18n.deleteButtonText\"\n :loading=\"isDeletingTimelog(id)\"\n @click=\"deleteTimelog(id)\"\n />\n </template>\n <template #foot(actions)> </template>\n </gl-table-lite>\n</template>\n","import { render, staticRenderFns } from \"./time_tracking_report.vue?vue&type=template&id=6c4ca560\"\nimport script from \"./time_tracking_report.vue?vue&type=script&lang=js\"\nexport * from \"./time_tracking_report.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"issueParents\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableState\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableSearchableField\"}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iidStartsWith\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssueType\"}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attributes\"},\"name\":{\"kind\":\"Name\",\"value\":\"workItems\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iidStartsWith\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"types\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeAncestors\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDescendants\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemType\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":571}};\n doc.loc.source = {\"body\":\"query issueParents(\\n $fullPath: ID!\\n $title: String\\n $state: IssuableState\\n $in: [IssuableSearchableField!]\\n $iidStartsWith: String\\n $types: [IssueType!]\\n) {\\n workspace: group(fullPath: $fullPath) {\\n id\\n attributes: workItems(\\n search: $title\\n iid: $iidStartsWith\\n in: $in\\n state: $state\\n types: $types\\n includeAncestors: true\\n includeDescendants: false\\n ) {\\n nodes {\\n id\\n iid\\n title\\n webUrl\\n state\\n workItemType {\\n id\\n name\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueParents\"] = oneQuery(doc, \"issueParents\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"data-testid\":\"dropdown-header\"}},[(!_vm.isStandalone)?_c('div',{staticClass:\"dropdown-title gl-mb-0 gl-flex gl-items-center gl-pb-4 gl-pt-2\",attrs:{\"data-testid\":\"dropdown-header-title\"}},[(_vm.showDropdownContentsCreateView)?_c('gl-button',{staticClass:\"js-btn-back dropdown-header-button !gl-p-0\",attrs:{\"aria-label\":_vm.__('Go back'),\"variant\":\"link\",\"size\":\"small\",\"icon\":\"arrow-left\",\"data-testid\":\"go-back-button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('toggleDropdownContentsCreateView')}}}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"gl-grow\"},[_vm._v(_vm._s(_vm.dropdownTitle))]),_vm._v(\" \"),_c('gl-button',{staticClass:\"dropdown-header-button !gl-p-0\",attrs:{\"aria-label\":_vm.__('Close'),\"variant\":\"link\",\"size\":\"small\",\"icon\":\"close\",\"data-testid\":\"close-labels-dropdown-button\"},on:{\"click\":function($event){return _vm.$emit('closeDropdown')}}})],1):_vm._e(),_vm._v(\" \"),(!_vm.showDropdownContentsCreateView)?_c('gl-search-box-by-type',{ref:\"searchInput\",attrs:{\"value\":_vm.searchKey,\"placeholder\":_vm.__('Search labels'),\"disabled\":_vm.labelsFetchInProgress,\"data-testid\":\"dropdown-input-field\"},on:{\"input\":function($event){return _vm.$emit('input', $event)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.$emit('searchEnter', $event)}}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_header.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_header.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlSearchBoxByType } from '@gitlab/ui';\n\nexport default {\n components: {\n GlButton,\n GlSearchBoxByType,\n },\n props: {\n labelsCreateTitle: {\n type: String,\n required: true,\n },\n labelsListTitle: {\n type: String,\n required: true,\n },\n showDropdownContentsCreateView: {\n type: Boolean,\n required: true,\n },\n labelsFetchInProgress: {\n type: Boolean,\n required: false,\n default: false,\n },\n searchKey: {\n type: String,\n required: true,\n },\n isStandalone: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n computed: {\n dropdownTitle() {\n return this.showDropdownContentsCreateView ? this.labelsCreateTitle : this.labelsListTitle;\n },\n },\n methods: {\n focusInput() {\n this.$refs.searchInput?.focusInput();\n },\n },\n};\n</script>\n\n<template>\n <div data-testid=\"dropdown-header\">\n <div\n v-if=\"!isStandalone\"\n class=\"dropdown-title gl-mb-0 gl-flex gl-items-center gl-pb-4 gl-pt-2\"\n data-testid=\"dropdown-header-title\"\n >\n <gl-button\n v-if=\"showDropdownContentsCreateView\"\n :aria-label=\"__('Go back')\"\n variant=\"link\"\n size=\"small\"\n class=\"js-btn-back dropdown-header-button !gl-p-0\"\n icon=\"arrow-left\"\n data-testid=\"go-back-button\"\n @click.stop=\"$emit('toggleDropdownContentsCreateView')\"\n />\n <span class=\"gl-grow\">{{ dropdownTitle }}</span>\n <gl-button\n :aria-label=\"__('Close')\"\n variant=\"link\"\n size=\"small\"\n class=\"dropdown-header-button !gl-p-0\"\n icon=\"close\"\n data-testid=\"close-labels-dropdown-button\"\n @click=\"$emit('closeDropdown')\"\n />\n </div>\n <gl-search-box-by-type\n v-if=\"!showDropdownContentsCreateView\"\n ref=\"searchInput\"\n :value=\"searchKey\"\n :placeholder=\"__('Search labels')\"\n :disabled=\"labelsFetchInProgress\"\n data-testid=\"dropdown-input-field\"\n @input=\"$emit('input', $event)\"\n @keydown.enter=\"$emit('searchEnter', $event)\"\n />\n </div>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_header.vue?vue&type=template&id=97abd698\"\nimport script from \"./dropdown_header.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_header.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-link',{staticClass:\"js-user-link gl-inline-block\",attrs:{\"href\":_vm.assigneeUrl,\"data-user-id\":_vm.assigneeId,\"data-username\":_vm.user.username,\"data-cannot-merge\":_vm.cannotMerge,\"data-placement\":\"left\"}},[_c('span',{staticClass:\"gl-flex\"},[_c('assignee-avatar',{attrs:{\"user\":_vm.user,\"img-size\":24,\"issuable-type\":_vm.issuableType}}),_vm._v(\" \"),_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignee_avatar_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignee_avatar_link.vue?vue&type=script&lang=js\"","<script>\nimport { GlTooltipDirective, GlLink } from '@gitlab/ui';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { isGid, getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport AssigneeAvatar from './assignee_avatar.vue';\n\nexport default {\n components: {\n AssigneeAvatar,\n GlLink,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n props: {\n user: {\n type: Object,\n required: true,\n },\n issuableType: {\n type: String,\n default: TYPE_ISSUE,\n required: false,\n },\n },\n computed: {\n isMergeRequest() {\n return this.issuableType === TYPE_MERGE_REQUEST;\n },\n cannotMerge() {\n const canMerge = this.user.mergeRequestInteraction?.canMerge || this.user.can_merge;\n return this.isMergeRequest && !canMerge;\n },\n assigneeUrl() {\n return this.user.web_url || this.user.webUrl;\n },\n assigneeId() {\n return isGid(this.user.id) ? getIdFromGraphQLId(this.user.id) : this.user.id;\n },\n },\n};\n</script>\n\n<template>\n <!-- must be `gl-inline-block` or parent flex-basis causes width issues -->\n <gl-link\n :href=\"assigneeUrl\"\n :data-user-id=\"assigneeId\"\n :data-username=\"user.username\"\n :data-cannot-merge=\"cannotMerge\"\n data-placement=\"left\"\n class=\"js-user-link gl-inline-block\"\n >\n <!-- use gl-flex so that slot can be appropriately styled -->\n <span class=\"gl-flex\">\n <assignee-avatar :user=\"user\" :img-size=\"24\" :issuable-type=\"issuableType\" />\n <slot></slot>\n </span>\n </gl-link>\n</template>\n","import { render, staticRenderFns } from \"./assignee_avatar_link.vue?vue&type=template&id=070ebec1\"\nimport script from \"./assignee_avatar_link.vue?vue&type=script&lang=js\"\nexport * from \"./assignee_avatar_link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"UserAvailability\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availability\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":70}};\n doc.loc.source = {\"body\":\"fragment UserAvailability on User {\\n status {\\n availability\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UserAvailability\"] = oneQuery(doc, \"UserAvailability\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"projectIssueEpic\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasEpic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasParent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"epic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"EpicFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":282}};\n doc.loc.source = {\"body\":\"#import \\\"./epic.fragment.graphql\\\"\\n\\nquery projectIssueEpic($fullPath: ID!, $iid: String!) {\\n workspace: project(fullPath: $fullPath) {\\n id\\n issuable: issue(iid: $iid) {\\n id\\n hasEpic\\n hasParent\\n attribute: epic {\\n ...EpicFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./epic.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"projectIssueEpic\"] = oneQuery(doc, \"projectIssueEpic\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"updateIssueHealthStatus\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatus\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"HealthStatus\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateIssue\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatus\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatus\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatus\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":265}};\n doc.loc.source = {\"body\":\"mutation updateIssueHealthStatus($projectPath: ID!, $iid: String!, $healthStatus: HealthStatus) {\\n updateIssue(input: { projectPath: $projectPath, iid: $iid, healthStatus: $healthStatus }) {\\n issuable: issue {\\n id\\n healthStatus\\n }\\n errors\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"updateIssueHealthStatus\"] = oneQuery(doc, \"updateIssueHealthStatus\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"projectIssueIteration\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"iteration\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":272}};\n doc.loc.source = {\"body\":\"#import \\\"./iteration.fragment.graphql\\\"\\n\\nquery projectIssueIteration($fullPath: ID!, $iid: String!) {\\n workspace: project(fullPath: $fullPath) {\\n id\\n issuable: issue(iid: $iid) {\\n id\\n attribute: iteration {\\n ...IterationFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./iteration.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"projectIssueIteration\"] = oneQuery(doc, \"projectIssueIteration\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-avatar-labeled',{staticClass:\"sidebar-participant gl-relative gl-items-center\",attrs:{\"size\":32,\"label\":_vm.user.name,\"sub-label\":`@${_vm.user.username}`,\"src\":_vm.user.avatarUrl || _vm.user.avatar || _vm.user.avatar_url},scopedSlots:_vm._u([{key:\"meta\",fn:function(){return [(_vm.hasCannotMergeIcon)?_c('gl-icon',{staticClass:\"merge-icon\",class:{ '!gl-left-6': _vm.selected },attrs:{\"name\":\"warning-solid\",\"aria-hidden\":\"true\",\"size\":12}}):_vm._e(),_vm._v(\" \"),(_vm.isBusy)?_c('gl-badge',{staticClass:\"gl-ml-2\",attrs:{\"variant\":\"warning\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.busy)+\"\\n \")]):_vm._e()]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlAvatarLabeled, GlBadge, GlIcon } from '@gitlab/ui';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { __ } from '~/locale';\n\nconst AVAILABILITY_STATUS = {\n NOT_SET: 'NOT_SET',\n BUSY: 'BUSY',\n};\n\nexport default {\n components: {\n GlAvatarLabeled,\n GlBadge,\n GlIcon,\n },\n props: {\n user: {\n type: Object,\n required: true,\n },\n issuableType: {\n type: String,\n required: false,\n default: TYPE_ISSUE,\n },\n selected: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n computed: {\n isBusy() {\n return this.user?.status?.availability === AVAILABILITY_STATUS.BUSY;\n },\n hasCannotMergeIcon() {\n return this.issuableType === TYPE_MERGE_REQUEST && !this.user.canMerge;\n },\n },\n i18n: {\n busy: __('Busy'),\n },\n};\n</script>\n\n<template>\n <gl-avatar-labeled\n :size=\"32\"\n :label=\"user.name\"\n :sub-label=\"`@${user.username}`\"\n :src=\"user.avatarUrl || user.avatar || user.avatar_url\"\n class=\"sidebar-participant gl-relative gl-items-center\"\n >\n <template #meta>\n <gl-icon\n v-if=\"hasCannotMergeIcon\"\n name=\"warning-solid\"\n aria-hidden=\"true\"\n class=\"merge-icon\"\n :class=\"{ '!gl-left-6': selected }\"\n :size=\"12\"\n />\n <gl-badge v-if=\"isBusy\" variant=\"warning\" class=\"gl-ml-2\">\n {{ $options.i18n.busy }}\n </gl-badge>\n </template>\n </gl-avatar-labeled>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_participant.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_participant.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./sidebar_participant.vue?vue&type=template&id=0d376abc\"\nimport script from \"./sidebar_participant.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_participant.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * An event hub with a Vue instance like API\n *\n * NOTE: This is a derivative work from [mitt][1] v1.2.0 which is licensed by\n * [MIT License][2] © [Jason Miller][3]\n *\n * [1]: https://github.com/developit/mitt\n * [2]: https://opensource.org/licenses/MIT\n * [3]: https://jasonformat.com/\n */\nclass EventHub {\n constructor() {\n this.$_all = new Map();\n }\n\n dispose() {\n this.$_all.clear();\n }\n\n /**\n * Register an event handler for the given type.\n *\n * @param {string|symbol} type Type of event to listen for\n * @param {Function} handler Function to call in response to given event\n */\n $on(type, handler) {\n const handlers = this.$_all.get(type);\n const added = handlers && handlers.push(handler);\n\n if (!added) {\n this.$_all.set(type, [handler]);\n }\n }\n\n /**\n * Remove an event handler or all handlers for the given type.\n *\n * @param {string|symbol} type Type of event to unregister `handler`\n * @param {Function} handler Handler function to remove\n */\n $off(type, handler) {\n const handlers = this.$_all.get(type) || [];\n\n const newHandlers = handler ? handlers.filter((x) => x !== handler) : [];\n\n if (newHandlers.length) {\n this.$_all.set(type, newHandlers);\n } else {\n this.$_all.delete(type);\n }\n }\n\n /**\n * Add an event listener to type but only trigger it once\n *\n * @param {string|symbol} type Type of event to listen for\n * @param {Function} handler Handler function to call in response to event\n */\n $once(type, handler) {\n const wrapHandler = (...args) => {\n this.$off(type, wrapHandler);\n handler(...args);\n };\n this.$on(type, wrapHandler);\n }\n\n /**\n * Invoke all handlers for the given type.\n *\n * @param {string|symbol} type The event type to invoke\n * @param {Any} [evt] Any value passed to each handler\n */\n $emit(type, ...args) {\n const handlers = this.$_all.get(type) || [];\n\n handlers.forEach((handler) => {\n handler(...args);\n });\n }\n}\n\n/**\n * Return a Vue like event hub\n *\n * - $on\n * - $off\n * - $once\n * - $emit\n *\n * We'd like to shy away from using a full fledged Vue instance from this in the future.\n */\nexport default () => {\n return new EventHub();\n};\n","import createEventHub from '~/helpers/event_hub_factory';\n\nexport default createEventHub();\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('board-editable-item',{ref:\"sidebarItem\",attrs:{\"toggle-header\":\"\",\"loading\":_vm.loading,\"handle-off-click\":false},on:{\"off-click\":_vm.handleOffClick},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{attrs:{\"data-testid\":\"item-title\"}},[_c('gl-link',{staticClass:\"gl-text-inherit hover:gl-text-blue-800\",attrs:{\"href\":_vm.activeItem.webUrl}},[_vm._v(\"\\n \"+_vm._s(_vm.activeItem.title)+\"\\n \")])],1)]},proxy:true},{key:\"collapsed\",fn:function(){return [_c('span',{staticClass:\"gl-text-default\"},[_vm._v(_vm._s(_vm.activeItem.referencePath))])]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),(_vm.showChangesAlert)?_c('gl-alert',{staticClass:\"gl-mb-5\",attrs:{\"variant\":\"warning\",\"dismissible\":false}},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.reviewYourChanges)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('gl-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.setTitle.apply(null, arguments)}}},[_c('gl-form-group',{attrs:{\"invalid-feedback\":_vm.$options.i18n.invalidFeedback,\"state\":_vm.validationState}},[_c('gl-form-input',{directives:[{name:\"autofocusonshow\",rawName:\"v-autofocusonshow\"}],attrs:{\"placeholder\":_vm.$options.i18n.titlePlaceholder,\"state\":_vm.validationState},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"gl-mt-5 gl-flex gl-w-full gl-justify-between\"},[_c('gl-button',{attrs:{\"variant\":\"confirm\",\"size\":\"small\",\"data-testid\":\"submit-button\",\"disabled\":!_vm.title},on:{\"click\":_vm.setTitle}},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.submitButton)+\"\\n \")]),_vm._v(\" \"),_c('gl-button',{attrs:{\"size\":\"small\",\"data-testid\":\"cancel-button\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.cancelButton)+\"\\n \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_editable_item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_editable_item.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlLoadingIcon } from '@gitlab/ui';\n\nexport default {\n components: { GlButton, GlLoadingIcon },\n inject: ['canUpdate'],\n props: {\n title: {\n type: String,\n required: false,\n default: '',\n },\n loading: {\n type: Boolean,\n required: false,\n default: false,\n },\n toggleHeader: {\n type: Boolean,\n required: false,\n default: false,\n },\n handleOffClick: {\n type: Boolean,\n required: false,\n default: true,\n },\n },\n data() {\n return {\n edit: false,\n };\n },\n computed: {\n showHeader() {\n if (!this.toggleHeader) {\n return true;\n }\n\n return !this.edit;\n },\n },\n destroyed() {\n window.removeEventListener('click', this.collapseWhenOffClick);\n },\n methods: {\n collapseWhenOffClick({ target }) {\n if (!this.$el.contains(target)) {\n this.$emit('off-click');\n if (this.handleOffClick) {\n this.collapse();\n }\n }\n },\n expand() {\n if (this.edit) {\n return;\n }\n\n this.edit = true;\n this.$emit('open');\n window.addEventListener('click', this.collapseWhenOffClick);\n },\n collapse({ emitEvent = true } = {}) {\n if (!this.edit) {\n return;\n }\n\n this.edit = false;\n if (emitEvent) {\n this.$emit('close');\n }\n window.removeEventListener('click', this.collapseWhenOffClick);\n },\n toggle({ emitEvent = true } = {}) {\n if (this.edit) {\n this.collapse({ emitEvent });\n } else {\n this.expand();\n }\n },\n },\n};\n</script>\n\n<template>\n <div>\n <header v-show=\"showHeader\" class=\"gl-mb-2 gl-flex gl-items-center gl-justify-between\">\n <span class=\"gl-align-middle\">\n <slot name=\"title\">\n <span data-testid=\"title\">{{ title }}</span>\n </slot>\n <gl-loading-icon v-if=\"loading\" size=\"sm\" inline class=\"gl-ml-2\" />\n </span>\n <gl-button\n v-if=\"canUpdate\"\n category=\"tertiary\"\n size=\"small\"\n class=\"js-sidebar-dropdown-toggle edit-link gl-ml-5\"\n data-testid=\"edit-button\"\n @click=\"toggle\"\n >\n {{ __('Edit') }}\n </gl-button>\n </header>\n <div v-show=\"!edit\" class=\"value gl-text-subtle\" data-testid=\"collapsed-content\">\n <slot name=\"collapsed\">{{ __('None') }}</slot>\n </div>\n <div v-show=\"edit\" data-testid=\"expanded-content\">\n <slot :edit=\"edit\"></slot>\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./board_editable_item.vue?vue&type=template&id=665258be\"\nimport script from \"./board_editable_item.vue?vue&type=script&lang=js\"\nexport * from \"./board_editable_item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('header',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showHeader),expression:\"showHeader\"}],staticClass:\"gl-mb-2 gl-flex gl-items-center gl-justify-between\"},[_c('span',{staticClass:\"gl-align-middle\"},[_vm._t(\"title\",function(){return [_c('span',{attrs:{\"data-testid\":\"title\"}},[_vm._v(_vm._s(_vm.title))])]}),_vm._v(\" \"),(_vm.loading)?_c('gl-loading-icon',{staticClass:\"gl-ml-2\",attrs:{\"size\":\"sm\",\"inline\":\"\"}}):_vm._e()],2),_vm._v(\" \"),(_vm.canUpdate)?_c('gl-button',{staticClass:\"js-sidebar-dropdown-toggle edit-link gl-ml-5\",attrs:{\"category\":\"tertiary\",\"size\":\"small\",\"data-testid\":\"edit-button\"},on:{\"click\":_vm.toggle}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Edit'))+\"\\n \")]):_vm._e()],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.edit),expression:\"!edit\"}],staticClass:\"value gl-text-subtle\",attrs:{\"data-testid\":\"collapsed-content\"}},[_vm._t(\"collapsed\",function(){return [_vm._v(_vm._s(_vm.__('None')))]})],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.edit),expression:\"edit\"}],attrs:{\"data-testid\":\"expanded-content\"}},[_vm._t(\"default\",null,{\"edit\":_vm.edit})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_sidebar_title.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_sidebar_title.vue?vue&type=script&lang=js\"","<script>\nimport { GlAlert, GlButton, GlForm, GlFormGroup, GlFormInput, GlLink } from '@gitlab/ui';\nimport BoardEditableItem from '~/boards/components/sidebar/board_editable_item.vue';\nimport { joinPaths } from '~/lib/utils/url_utility';\nimport { __ } from '~/locale';\nimport autofocusonshow from '~/vue_shared/directives/autofocusonshow';\nimport { titleQueries } from 'ee_else_ce/boards/constants';\nimport { setError } from '../../graphql/cache_updates';\n\nexport default {\n components: {\n GlForm,\n GlAlert,\n GlButton,\n GlFormGroup,\n GlFormInput,\n GlLink,\n BoardEditableItem,\n },\n directives: {\n autofocusonshow,\n },\n inject: ['fullPath', 'issuableType', 'isEpicBoard'],\n props: {\n activeItem: {\n type: Object,\n required: true,\n },\n },\n data() {\n return {\n title: '',\n loading: false,\n showChangesAlert: false,\n };\n },\n computed: {\n pendingChangesStorageKey() {\n return this.getPendingChangesKey(this.activeItem);\n },\n projectPath() {\n const referencePath = this.activeItem.referencePath || '';\n return referencePath.slice(0, referencePath.indexOf('#'));\n },\n validationState() {\n return Boolean(this.title);\n },\n },\n watch: {\n activeItem: {\n handler(updatedItem, formerItem) {\n if (formerItem?.title !== this.title) {\n localStorage.setItem(this.getPendingChangesKey(formerItem), this.title);\n }\n\n this.title = updatedItem.title;\n this.setPendingState();\n },\n immediate: true,\n },\n },\n methods: {\n getPendingChangesKey(item) {\n if (!item) {\n return '';\n }\n\n return joinPaths(\n window.location.pathname.slice(1),\n String(item.id),\n 'item-title-pending-changes',\n );\n },\n async setPendingState() {\n const pendingChanges = localStorage.getItem(this.pendingChangesStorageKey);\n const shouldOpen = pendingChanges !== this.title;\n\n if (pendingChanges && shouldOpen) {\n this.title = pendingChanges;\n this.showChangesAlert = true;\n await this.$nextTick();\n this.$refs.sidebarItem.expand();\n } else {\n this.showChangesAlert = false;\n }\n },\n cancel() {\n this.title = this.activeItem.title;\n this.$refs.sidebarItem.collapse();\n this.showChangesAlert = false;\n localStorage.removeItem(this.pendingChangesStorageKey);\n },\n async setActiveBoardItemTitle() {\n const { fullPath, issuableType, isEpicBoard, title } = this;\n const workspacePath = isEpicBoard\n ? { groupPath: fullPath }\n : { projectPath: this.projectPath };\n await this.$apollo.mutate({\n mutation: titleQueries[issuableType].mutation,\n variables: {\n input: {\n ...workspacePath,\n iid: String(this.activeItem.iid),\n title,\n },\n },\n });\n },\n async setTitle() {\n this.$refs.sidebarItem.collapse();\n\n if (!this.title || this.title === this.activeItem.title) {\n return;\n }\n\n try {\n this.loading = true;\n await this.setActiveBoardItemTitle();\n localStorage.removeItem(this.pendingChangesStorageKey);\n this.showChangesAlert = false;\n } catch (e) {\n this.title = this.activeItem.title;\n setError({ error: e, message: this.$options.i18n.updateTitleError });\n } finally {\n this.loading = false;\n }\n },\n handleOffClick() {\n if (this.title !== this.activeItem.title) {\n this.showChangesAlert = true;\n localStorage.setItem(this.pendingChangesStorageKey, this.title);\n } else {\n this.$refs.sidebarItem.collapse();\n }\n },\n },\n i18n: {\n titlePlaceholder: __('Title'),\n submitButton: __('Save changes'),\n cancelButton: __('Cancel'),\n updateTitleError: __('An error occurred when updating the title'),\n invalidFeedback: __('A title is required'),\n reviewYourChanges: __('Changes to the title have not been saved'),\n },\n};\n</script>\n\n<template>\n <board-editable-item\n ref=\"sidebarItem\"\n toggle-header\n :loading=\"loading\"\n :handle-off-click=\"false\"\n @off-click=\"handleOffClick\"\n >\n <template #title>\n <span data-testid=\"item-title\">\n <gl-link class=\"gl-text-inherit hover:gl-text-blue-800\" :href=\"activeItem.webUrl\">\n {{ activeItem.title }}\n </gl-link>\n </span>\n </template>\n <template #collapsed>\n <span class=\"gl-text-default\">{{ activeItem.referencePath }}</span>\n </template>\n <gl-alert v-if=\"showChangesAlert\" variant=\"warning\" class=\"gl-mb-5\" :dismissible=\"false\">\n {{ $options.i18n.reviewYourChanges }}\n </gl-alert>\n <gl-form @submit.prevent=\"setTitle\">\n <gl-form-group :invalid-feedback=\"$options.i18n.invalidFeedback\" :state=\"validationState\">\n <gl-form-input\n v-model=\"title\"\n v-autofocusonshow\n :placeholder=\"$options.i18n.titlePlaceholder\"\n :state=\"validationState\"\n />\n </gl-form-group>\n\n <div class=\"gl-mt-5 gl-flex gl-w-full gl-justify-between\">\n <gl-button\n variant=\"confirm\"\n size=\"small\"\n data-testid=\"submit-button\"\n :disabled=\"!title\"\n @click=\"setTitle\"\n >\n {{ $options.i18n.submitButton }}\n </gl-button>\n\n <gl-button size=\"small\" data-testid=\"cancel-button\" @click=\"cancel\">\n {{ $options.i18n.cancelButton }}\n </gl-button>\n </div>\n </gl-form>\n </board-editable-item>\n</template>\n","import { render, staticRenderFns } from \"./board_sidebar_title.vue?vue&type=template&id=33a13cba\"\nimport script from \"./board_sidebar_title.vue?vue&type=script&lang=js\"\nexport * from \"./board_sidebar_title.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { invert } from 'lodash';\nimport { __, s__, sprintf } from '~/locale';\nimport {\n STATUS_TRIGGERED,\n STATUS_ACKNOWLEDGED,\n STATUS_RESOLVED,\n IssuableAttributeType as IssuableAttributeTypeFoss,\n IssuableAttributeState as IssuableAttributeStateFoss,\n LocalizedIssuableAttributeType as LocalizedIssuableAttributeTypeFoss,\n dropdowni18nText as dropdowni18nTextFoss,\n Tracking,\n defaultEpicSort,\n epicIidPattern,\n} from '~/sidebar/constants';\n\nexport { Tracking, defaultEpicSort, epicIidPattern };\n\nexport const edit = __('Edit');\nexport const none = __('None');\n\nexport const HEALTH_STATUS_I18N_ASSIGN_HEALTH_STATUS = s__('Sidebar|Select health status');\nexport const HEALTH_STATUS_I18N_FETCH_ERROR = __(\n 'An error occurred while fetching the health status.',\n);\nexport const HEALTH_STATUS_I18N_HEALTH_STATUS = s__('Sidebar|Health status');\nexport const HEALTH_STATUS_I18N_NO_STATUS = s__('Sidebar|No status');\nexport const HEALTH_STATUS_I18N_NONE = s__('Sidebar|None');\nexport const HEALTH_STATUS_I18N_SELECT_HEALTH_STATUS = __('Select health status');\nexport const HEALTH_STATUS_I18N_UPDATE_ERROR = __(\n 'Something went wrong while setting %{issuableType} health status.',\n);\nexport const HEALTH_STATUS_OPEN_DROPDOWN_DELAY = 100;\n\nexport const HEALTH_STATUS_AT_RISK = 'atRisk';\nexport const HEALTH_STATUS_NEEDS_ATTENTION = 'needsAttention';\nexport const HEALTH_STATUS_ON_TRACK = 'onTrack';\n\nexport const healthStatusTextMap = {\n [HEALTH_STATUS_ON_TRACK]: __('On track'),\n [HEALTH_STATUS_NEEDS_ATTENTION]: __('Needs attention'),\n [HEALTH_STATUS_AT_RISK]: __('At risk'),\n};\n\nexport const healthStatusVariantMap = {\n [HEALTH_STATUS_ON_TRACK]: 'success',\n [HEALTH_STATUS_NEEDS_ATTENTION]: 'warning',\n [HEALTH_STATUS_AT_RISK]: 'danger',\n};\n\nexport const healthStatusIconMap = {\n [HEALTH_STATUS_ON_TRACK]: 'status-health',\n [HEALTH_STATUS_NEEDS_ATTENTION]: 'warning',\n [HEALTH_STATUS_AT_RISK]: 'error',\n};\n\nexport const healthStatusColorMap = {\n [HEALTH_STATUS_ON_TRACK]: 'gl-text-success',\n [HEALTH_STATUS_NEEDS_ATTENTION]: 'gl-text-orange-500',\n [HEALTH_STATUS_AT_RISK]: 'gl-text-red-500',\n};\n\nexport const healthStatusForRestApi = {\n NO_STATUS: '0',\n [HEALTH_STATUS_ON_TRACK]: 'on_track',\n [HEALTH_STATUS_NEEDS_ATTENTION]: 'needs_attention',\n [HEALTH_STATUS_AT_RISK]: 'at_risk',\n};\n\nexport const healthStatusDropdownOptions = [\n { text: __('On track'), value: HEALTH_STATUS_ON_TRACK },\n { text: __('Needs attention'), value: HEALTH_STATUS_NEEDS_ATTENTION },\n { text: __('At risk'), value: HEALTH_STATUS_AT_RISK },\n];\n\nexport const healthStatusTracking = {\n event: Tracking.editEvent,\n label: Tracking.rightSidebarLabel,\n property: 'health_status',\n};\n\nexport const iterationSelectTextMap = {\n iteration: __('Iteration'),\n noIteration: __('No iteration'),\n assignIteration: __('Select iteration'),\n iterationSelectFail: __('Failed to set iteration on this issue. Please try again.'),\n currentIterationFetchError: __('Failed to fetch the iteration for this issue. Please try again.'),\n iterationsFetchError: __('Failed to fetch the iterations for the group. Please try again.'),\n noIterationsFound: s__('Iterations|No iterations found'),\n};\n\nexport const noAttributeId = null;\n\nexport const noEpic = {\n id: 0,\n title: __('No Epic'),\n};\n\nexport const placeholderEpic = {\n id: -1,\n title: __('Select epic'),\n};\n\nexport const SIDEBAR_ESCALATION_POLICY_TITLE = __('Escalation policy');\n\nexport const MAX_DISPLAY_WEIGHT = 99999;\n\nexport const CVE_ID_REQUEST_SIDEBAR_I18N = {\n action: s__('CVE|Request CVE ID'),\n description: s__('CVE|CVE ID Request'),\n createRequest: s__('CVE|Create CVE ID Request'),\n whyRequest: s__('CVE|Why Request a CVE ID?'),\n whyText1: s__(\n 'CVE|Common Vulnerability Enumeration (CVE) identifiers are used to track distinct vulnerabilities in specific versions of code.',\n ),\n whyText2: s__(\n 'CVE|As a maintainer, requesting a CVE for a vulnerability in your project will help your users stay secure and informed.',\n ),\n learnMore: __('Learn more'),\n};\n\nexport const IssuableAttributeType = {\n ...IssuableAttributeTypeFoss,\n Iteration: 'iteration',\n Epic: 'epic',\n EscalationPolicy: 'escalation policy', // eslint-disable-line @gitlab/require-i18n-strings\n Parent: 'parent',\n};\n\nexport const LocalizedIssuableAttributeType = {\n ...LocalizedIssuableAttributeTypeFoss,\n Iteration: s__('Issuable|iteration'),\n Epic: s__('Issuable|epic'),\n EscalationPolicy: s__('Issuable|escalation policy'),\n};\n\n// The reason we did this conversion is that we want to keep track of the keys via referencing the object itself\n// Thus we have to convert value as key, and use is in the method.\nexport const IssuableAttributeTypeKeyMap = invert(IssuableAttributeType);\n\nexport const IssuableAttributeState = {\n ...IssuableAttributeStateFoss,\n [IssuableAttributeType.Iteration]: 'opened',\n [IssuableAttributeType.Epic]: 'opened',\n};\n\nexport function dropdowni18nText(issuableAttribute, issuableType) {\n let noAttributesFound = s__('DropdownWidget|No %{issuableAttribute} found');\n\n if (issuableAttribute === LocalizedIssuableAttributeType.Iteration) {\n noAttributesFound = s__('DropdownWidget|No open %{issuableAttribute} found');\n }\n\n return {\n ...dropdowni18nTextFoss(issuableAttribute, issuableType),\n noAttributesFound: sprintf(noAttributesFound, {\n issuableAttribute,\n }),\n };\n}\n\nexport const i18nHelpText = {\n title: s__('IncidentManagement|Page your team with escalation policies'),\n detail: s__(\n 'IncidentManagement|Use escalation policies to automatically page your team when incidents are created.',\n ),\n linkText: __('Learn more'),\n};\n\nexport const i18nPolicyText = {\n paged: s__('IncidentManagement|Paged'),\n title: SIDEBAR_ESCALATION_POLICY_TITLE,\n none,\n};\n\nexport const i18nStatusHeaderText = s__('IncidentManagement|Assign paging status');\nconst STOPS_PAGING = s__('IncidentManagement|Stops paging');\n\nexport const STATUS_SUBTEXTS = {\n [STATUS_TRIGGERED]: '',\n\n [STATUS_ACKNOWLEDGED]: STOPS_PAGING,\n [STATUS_RESOLVED]: STOPS_PAGING,\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"updateIssuableSeverity\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"severity\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableSeverity\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issueSetSeverity\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"severity\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"severity\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"severity\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":258}};\n doc.loc.source = {\"body\":\"mutation updateIssuableSeverity($projectPath: ID!, $severity: IssuableSeverity!, $iid: String!) {\\n issueSetSeverity(input: { iid: $iid, severity: $severity, projectPath: $projectPath }) {\\n errors\\n issue {\\n iid\\n id\\n severity\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"updateIssuableSeverity\"] = oneQuery(doc, \"updateIssuableSeverity\");\n \n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","import { __, sprintf } from '~/locale';\nimport { TYPE_EPIC, TYPE_INCIDENT, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\n\nexport const linkedIssueTypesMap = {\n BLOCKS: 'blocks',\n IS_BLOCKED_BY: 'is_blocked_by',\n RELATES_TO: 'relates_to',\n};\n\nexport const linkedIssueTypesTextMap = {\n [linkedIssueTypesMap.RELATES_TO]: __('Relates to'),\n [linkedIssueTypesMap.BLOCKS]: __('Blocks'),\n [linkedIssueTypesMap.IS_BLOCKED_BY]: __('Is blocked by'),\n};\n\nexport const autoCompleteTextMap = {\n true: {\n [TYPE_ISSUE]: sprintf(\n __(' or %{emphasisStart}#issue ID%{emphasisEnd}'),\n { emphasisStart: '<', emphasisEnd: '>' },\n false,\n ),\n [TYPE_INCIDENT]: sprintf(\n __(' or %{emphasisStart}#ID%{emphasisEnd}'),\n { emphasisStart: '<', emphasisEnd: '>' },\n false,\n ),\n [TYPE_EPIC]: sprintf(\n __(' or %{emphasisStart}&epic ID%{emphasisEnd}'),\n { emphasisStart: '<', emphasisEnd: '>' },\n false,\n ),\n [TYPE_MERGE_REQUEST]: sprintf(\n __(' or %{emphasisStart}!merge request ID%{emphasisEnd}'),\n { emphasisStart: '<', emphasisEnd: '>' },\n false,\n ),\n },\n false: {\n [TYPE_ISSUE]: '',\n [TYPE_EPIC]: '',\n [TYPE_MERGE_REQUEST]: __(' or references'),\n },\n};\n\nexport const inputPlaceholderTextMap = {\n [TYPE_ISSUE]: __('Enter issue URL'),\n [TYPE_INCIDENT]: __('Enter URL'),\n [TYPE_EPIC]: __('Enter epic URL'),\n [TYPE_MERGE_REQUEST]: __('Enter merge request URLs'),\n};\n\nexport const inputPlaceholderConfidentialTextMap = {\n [TYPE_ISSUE]: __('Enter confidential issue URL'),\n [TYPE_EPIC]: __('Enter confidential epic URL'),\n [TYPE_MERGE_REQUEST]: __('Enter merge request URLs'),\n};\n\nexport const relatedIssuesRemoveErrorMap = {\n [TYPE_ISSUE]: __('An error occurred while removing issues.'),\n [TYPE_EPIC]: __('An error occurred while removing epics.'),\n};\n\nexport const pathIndeterminateErrorMap = {\n [TYPE_ISSUE]: __('We could not determine the path to remove the issue'),\n [TYPE_EPIC]: __('We could not determine the path to remove the epic'),\n};\n\nexport const itemAddFailureTypesMap = {\n NOT_FOUND: 'not_found',\n MAX_NUMBER_OF_CHILD_EPICS: 'conflict',\n};\n\nexport const addRelatedIssueErrorMap = {\n [TYPE_ISSUE]: __('Issue cannot be found.'),\n [TYPE_EPIC]: __('Epic cannot be found.'),\n};\n\nexport const addRelatedItemErrorMap = {\n [itemAddFailureTypesMap.MAX_NUMBER_OF_CHILD_EPICS]: __(\n 'This epic already has the maximum number of child epics.',\n ),\n};\n\n/**\n * These are used to map issuableType to the correct icon.\n * Since these are never used for any display purposes, don't wrap\n * them inside i18n functions.\n */\nexport const issuableIconMap = {\n [TYPE_ISSUE]: 'issues',\n [TYPE_INCIDENT]: 'issues',\n [TYPE_EPIC]: 'epic',\n};\n\nexport const PathIdSeparator = {\n Epic: '&',\n Issue: '#',\n};\n\nexport const issuablesBlockHeaderTextMap = {\n [TYPE_ISSUE]: __('Linked items'),\n [TYPE_INCIDENT]: __('Linked incidents or issues'),\n [TYPE_EPIC]: __('Linked epics'),\n};\n\nexport const issuablesBlockHelpTextMap = {\n [TYPE_ISSUE]: __('Learn more about linking issues'),\n [TYPE_INCIDENT]: __('Learn more about linking issues and incidents'),\n [TYPE_EPIC]: __('Learn more about linking epics'),\n};\n\nexport const issuablesBlockAddButtonTextMap = {\n [TYPE_ISSUE]: __('Add a related issue'),\n [TYPE_EPIC]: __('Add a related epic'),\n};\n\nexport const issuablesFormCategoryHeaderTextMap = {\n [TYPE_ISSUE]: __('The current issue'),\n [TYPE_INCIDENT]: __('The current incident'),\n [TYPE_EPIC]: __('The current epic'),\n};\n\nexport const issuablesFormInputTextMap = {\n [TYPE_ISSUE]: __('the following issues'),\n [TYPE_INCIDENT]: __('the following incidents or issues'),\n [TYPE_EPIC]: __('the following epics'),\n};\n","import { invert } from 'lodash';\nimport { s__, __, sprintf } from '~/locale';\n\nexport const defaultEpicSort = 'TITLE_ASC';\n\nexport const epicIidPattern = /^&(?<iid>\\d+)$/;\n\nexport const dateTypes = {\n start: 'startDate',\n due: 'dueDate',\n};\n\nexport const dateFields = {\n [dateTypes.start]: {\n isDateFixed: 'startDateIsFixed',\n dateFixed: 'startDateFixed',\n dateFromMilestones: 'startDateFromMilestones',\n },\n [dateTypes.due]: {\n isDateFixed: 'dueDateIsFixed',\n dateFixed: 'dueDateFixed',\n dateFromMilestones: 'dueDateFromMilestones',\n },\n};\n\nexport const Tracking = {\n editEvent: 'click_edit_button',\n rightSidebarLabel: 'right_sidebar',\n};\n\nexport const noAttributeId = null;\n\nexport const IssuableAttributeType = {\n Milestone: 'milestone',\n};\n\nexport const LocalizedIssuableAttributeType = {\n Milestone: s__('Issuable|milestone'),\n};\n\nexport const IssuableAttributeTypeKeyMap = invert(IssuableAttributeType);\n\nexport const IssuableAttributeState = {\n [IssuableAttributeType.Milestone]: 'active',\n};\n\nexport const todoMutationTypes = {\n create: 'create',\n markDone: 'mark-done',\n};\n\nexport function dropdowni18nText(issuableAttribute, issuableType) {\n return {\n noAttribute: sprintf(s__('DropdownWidget|No %{issuableAttribute}'), {\n issuableAttribute,\n }),\n assignAttribute: sprintf(s__('DropdownWidget|Select %{issuableAttribute}'), {\n issuableAttribute,\n }),\n noAttributesFound: sprintf(s__('DropdownWidget|No %{issuableAttribute} found'), {\n issuableAttribute,\n }),\n updateError: sprintf(\n s__(\n 'DropdownWidget|Failed to set %{issuableAttribute} on this %{issuableType}. Please try again.',\n ),\n { issuableAttribute, issuableType },\n ),\n listFetchError: sprintf(\n s__(\n 'DropdownWidget|Failed to fetch the %{issuableAttribute} for this %{issuableType}. Please try again.',\n ),\n { issuableAttribute, issuableType },\n ),\n currentFetchError: sprintf(\n s__(\n 'DropdownWidget|An error occurred while fetching the assigned %{issuableAttribute} of the selected %{issuableType}.',\n ),\n { issuableAttribute, issuableType },\n ),\n noPermissionToView: sprintf(\n s__(\"DropdownWidget|You don't have permission to view this %{issuableAttribute}.\"),\n { issuableAttribute },\n ),\n editConfirmation: sprintf(\n s__(\n '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.',\n ),\n {\n issuableAttribute,\n },\n ),\n editConfirmationCta: sprintf(s__('DropdownWidget|Edit %{issuableAttribute}'), {\n issuableAttribute,\n }),\n editConfirmationCancel: s__('DropdownWidget|Cancel'),\n };\n}\n\nexport const statusDropdownOptions = [\n {\n text: __('Open'),\n value: 'reopen',\n },\n {\n text: __('Closed'),\n value: 'close',\n },\n];\n\nexport const subscriptionsDropdownOptions = [\n {\n text: __('Subscribe'),\n value: 'subscribe',\n },\n {\n text: __('Unsubscribe'),\n value: 'unsubscribe',\n },\n];\n\nexport const INCIDENT_SEVERITY = {\n CRITICAL: {\n value: 'CRITICAL',\n icon: 'critical',\n label: s__('IncidentManagement|Critical - S1'),\n },\n HIGH: {\n value: 'HIGH',\n icon: 'high',\n label: s__('IncidentManagement|High - S2'),\n },\n MEDIUM: {\n value: 'MEDIUM',\n icon: 'medium',\n label: s__('IncidentManagement|Medium - S3'),\n },\n LOW: {\n value: 'LOW',\n icon: 'low',\n label: s__('IncidentManagement|Low - S4'),\n },\n UNKNOWN: {\n value: 'UNKNOWN',\n icon: 'unknown',\n label: s__('IncidentManagement|Unknown'),\n },\n};\n\nexport const MILESTONE_STATE = {\n ACTIVE: 'active',\n CLOSED: 'closed',\n};\n\nexport const SEVERITY_I18N = {\n UPDATE_SEVERITY_ERROR: s__('SeverityWidget|There was an error while updating severity.'),\n TRY_AGAIN: __('Please try again'),\n EDIT: __('Edit'),\n SEVERITY: s__('SeverityWidget|Severity'),\n SEVERITY_VALUE: s__('SeverityWidget|Severity: %{severity}'),\n};\n\nexport const STATUS_TRIGGERED = 'TRIGGERED';\nexport const STATUS_ACKNOWLEDGED = 'ACKNOWLEDGED';\nexport const STATUS_RESOLVED = 'RESOLVED';\n\nexport const STATUS_TRIGGERED_LABEL = s__('IncidentManagement|Triggered');\nexport const STATUS_ACKNOWLEDGED_LABEL = s__('IncidentManagement|Acknowledged');\nexport const STATUS_RESOLVED_LABEL = s__('IncidentManagement|Resolved');\n\nexport const STATUS_LABELS = {\n [STATUS_TRIGGERED]: STATUS_TRIGGERED_LABEL,\n [STATUS_ACKNOWLEDGED]: STATUS_ACKNOWLEDGED_LABEL,\n [STATUS_RESOLVED]: STATUS_RESOLVED_LABEL,\n};\n\nexport const INCIDENTS_I18N = {\n fetchError: s__(\n 'IncidentManagement|An error occurred while fetching the incident status. Please reload the page.',\n ),\n title: s__('IncidentManagement|Status'),\n updateError: s__(\n 'IncidentManagement|An error occurred while updating the incident status. Please reload the page and try again.',\n ),\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableLabelsUpdatedEE\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableLabelsUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Issue\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MergeRequest\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Epic\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"labels\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Label\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":495}};\n doc.loc.source = {\"body\":\"#import \\\"~/graphql_shared/fragments/label.fragment.graphql\\\"\\n\\nsubscription issuableLabelsUpdatedEE($issuableId: IssuableID!) {\\n issuableLabelsUpdated(issuableId: $issuableId) {\\n ... on Issue {\\n id\\n labels {\\n nodes {\\n ...Label\\n }\\n }\\n }\\n ... on MergeRequest {\\n id\\n labels {\\n nodes {\\n ...Label\\n }\\n }\\n }\\n ... on Epic {\\n id\\n labels {\\n nodes {\\n ...Label\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"~/graphql_shared/fragments/label.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issuableLabelsUpdatedEE\"] = oneQuery(doc, \"issuableLabelsUpdatedEE\");\n \n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectIssueEpicMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"attributeId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"EpicID\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuableSetAttribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"issueSetEpic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"epicId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"attributeId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasParent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"epic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":345}};\n doc.loc.source = {\"body\":\"mutation projectIssueEpicMutation($fullPath: ID!, $iid: String!, $attributeId: EpicID) {\\n issuableSetAttribute: issueSetEpic(\\n input: { projectPath: $fullPath, iid: $iid, epicId: $attributeId }\\n ) {\\n errors\\n issuable: issue {\\n id\\n hasParent\\n attribute: epic {\\n title\\n id\\n state\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"projectIssueEpicMutation\"] = oneQuery(doc, \"projectIssueEpicMutation\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"issueIterationsAliased\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationState\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attributes\"},\"name\":{\"kind\":\"Name\",\"value\":\"iterations\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"EnumValue\",\"value\":\"TITLE\"},{\"kind\":\"EnumValue\",\"value\":\"CADENCE_TITLE\"}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationFragment\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":341}};\n doc.loc.source = {\"body\":\"#import \\\"./iteration.fragment.graphql\\\"\\n\\nquery issueIterationsAliased($fullPath: ID!, $title: String, $state: IterationState) {\\n workspace: group(fullPath: $fullPath) {\\n id\\n attributes: iterations(search: $title, in: [TITLE, CADENCE_TITLE], state: $state) {\\n nodes {\\n ...IterationFragment\\n state\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./iteration.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueIterationsAliased\"] = oneQuery(doc, \"issueIterationsAliased\");\n \n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","import { translate } from '../../../utils/i18n';\nimport { progressBarVariantOptions } from '../../../utils/constants';\nimport { toFloat } from '../../../utils/number_utils';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst backgroundClasses = {\n [progressBarVariantOptions.primary]: 'gl-progress-bar-primary',\n [progressBarVariantOptions.success]: 'gl-progress-bar-success',\n [progressBarVariantOptions.danger]: 'gl-progress-bar-danger',\n [progressBarVariantOptions.warning]: 'gl-progress-bar-warning'\n};\nvar script = {\n name: 'GlProgressBar',\n props: {\n ariaLabel: {\n type: String,\n required: false,\n default: translate('GlProgressBar.ariaLabel', 'Progress bar')\n },\n value: {\n type: [Number, String],\n required: false,\n default: 0\n },\n variant: {\n type: String,\n required: false,\n default: 'primary',\n validator: value => Object.keys(progressBarVariantOptions).includes(value)\n },\n max: {\n type: [Number, String],\n required: false,\n default: 100\n },\n height: {\n type: String,\n required: false,\n default: null\n }\n },\n computed: {\n progressHeight() {\n return {\n height: this.height\n };\n },\n computedValue() {\n return toFloat(this.value, 0);\n },\n computedMax() {\n const max = toFloat(this.max, 100);\n return max > 0 ? max : 100;\n },\n progressBarStyles() {\n return {\n transform: `scaleX(${this.computedValue / this.computedMax})`\n };\n },\n classes() {\n return ['gl-progress', backgroundClasses[this.variant]];\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-progress-bar progress\",style:(_vm.progressHeight)},[_c('div',{class:_vm.classes,style:(_vm.progressBarStyles),attrs:{\"role\":\"progressbar\",\"aria-label\":_vm.ariaLabel,\"aria-valuemin\":\"0\",\"aria-valuemax\":String(_vm.computedMax),\"aria-valuenow\":_vm.computedValue}})])};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-dropdown',{ref:\"dropdown\",attrs:{\"text\":_vm.text},on:{\"toggle\":function($event){return _vm.$emit('toggle')},\"shown\":_vm.focusSearch},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('p',{staticClass:\"gl-mb-4 gl-mt-2 gl-text-center gl-font-bold\"},[_vm._v(_vm._s(_vm.headerText))]),_vm._v(\" \"),_c('gl-dropdown-divider'),_vm._v(\" \"),_c('gl-search-box-by-type',{ref:\"search\",attrs:{\"value\":_vm.search,\"data-testid\":\"user-search-input\"},on:{\"input\":_vm.debouncedSearchKeyUpdate}})]},proxy:true},{key:\"footer\",fn:function(){return [_vm._t(\"footer\")]},proxy:true}],null,true)},[_vm._v(\" \"),_c('gl-dropdown-form',{staticClass:\"gl-relative gl-min-h-7\"},[(_vm.isLoading)?_c('gl-loading-icon',{staticClass:\"gl-absolute gl-left-0 gl-right-0 gl-top-0\",attrs:{\"data-testid\":\"loading-participants\",\"size\":\"md\"}}):[(_vm.shouldShowParticipants)?[(_vm.isSearchEmpty)?_c('gl-dropdown-item',{attrs:{\"is-checked\":_vm.selectedIsEmpty,\"is-check-centered\":\"\",\"data-testid\":\"unassign\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();return _vm.unassign.apply(null, arguments)}}},[_c('span',{staticClass:\"gl-font-bold\",class:_vm.selectedIsEmpty ? 'gl-pl-0' : 'gl-pl-6'},[_vm._v(_vm._s(_vm.$options.i18n.unassigned))])]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.showDivider(_vm.selectedFiltered))?_c('gl-dropdown-divider'):_vm._e(),_vm._v(\" \"),_vm._l((_vm.selectedFiltered),function(item){return _c('gl-dropdown-item',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.left.viewport\",modifiers:{\"left\":true,\"viewport\":true}}],key:item.id,attrs:{\"title\":_vm.tooltipText(item),\"boundary\":\"viewport\",\"is-checked\":\"\",\"is-check-centered\":\"\",\"data-testid\":\"selected-participant\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();return _vm.unselect(item.username)}}},[_c('sidebar-participant',{attrs:{\"user\":item,\"issuable-type\":_vm.issuableType,\"selected\":\"\"}})],1)}),_vm._v(\" \"),(_vm.showCurrentUser)?[_c('gl-dropdown-divider'),_vm._v(\" \"),_c('gl-dropdown-item',{attrs:{\"data-testid\":\"current-user\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();return _vm.selectAssignee(_vm.currentUser)}}},[_c('sidebar-participant',{staticClass:\"!gl-pl-6\",attrs:{\"user\":_vm.currentUser,\"issuable-type\":_vm.issuableType}})],1)]:_vm._e(),_vm._v(\" \"),(_vm.showAuthor)?_c('gl-dropdown-item',{attrs:{\"data-testid\":\"issuable-author\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();return _vm.selectAssignee(_vm.issuableAuthor)}}},[_c('sidebar-participant',{staticClass:\"!gl-pl-6\",attrs:{\"user\":_vm.issuableAuthor,\"issuable-type\":_vm.issuableType}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.unselectedFiltered),function(unselectedUser){return _c('gl-dropdown-item',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.left.viewport\",modifiers:{\"left\":true,\"viewport\":true}}],key:unselectedUser.id,attrs:{\"title\":_vm.tooltipText(unselectedUser),\"boundary\":\"viewport\",\"data-testid\":\"unselected-participant\"},nativeOn:{\"!click\":function($event){$event.stopPropagation();return _vm.selectAssignee(unselectedUser)}}},[_c('sidebar-participant',{staticClass:\"!gl-pl-6\",attrs:{\"user\":unselectedUser,\"issuable-type\":_vm.issuableType}})],1)}),_vm._v(\" \"),(_vm.noUsersFound)?_c('gl-dropdown-item',{staticClass:\"!gl-pl-6\",attrs:{\"data-testid\":\"empty-results\"}},[_vm._v(\"\\n \"+_vm._s(_vm.__('No matching results'))+\"\\n \")]):_vm._e()]],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_select.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_select.vue?vue&type=script&lang=js\"","<script>\nimport { debounce } from 'lodash';\nimport {\n GlDropdown,\n GlDropdownDivider,\n GlDropdownForm,\n GlDropdownItem,\n GlLoadingIcon,\n GlSearchBoxByType,\n GlTooltipDirective,\n} from '@gitlab/ui';\nimport { __ } from '~/locale';\nimport SidebarParticipant from '~/sidebar/components/assignees/sidebar_participant.vue';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants';\nimport { participantsQueries, userSearchQueries } from '~/sidebar/queries/constants';\nimport { TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constants';\nimport { convertToGraphQLId } from '~/graphql_shared/utils';\n\nexport default {\n i18n: {\n unassigned: __('Unassigned'),\n },\n components: {\n GlDropdownForm,\n GlDropdown,\n GlDropdownDivider,\n GlDropdownItem,\n GlSearchBoxByType,\n SidebarParticipant,\n GlLoadingIcon,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n props: {\n headerText: {\n type: String,\n required: true,\n },\n text: {\n type: String,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n iid: {\n type: String,\n required: false,\n default: null,\n },\n value: {\n type: Array,\n required: true,\n },\n allowMultipleAssignees: {\n type: Boolean,\n required: false,\n default: false,\n },\n currentUser: {\n type: Object,\n required: true,\n },\n issuableType: {\n type: String,\n required: false,\n default: TYPE_ISSUE,\n },\n isEditing: {\n type: Boolean,\n required: false,\n default: true,\n },\n issuableId: {\n type: Number,\n required: false,\n default: null,\n },\n issuableAuthor: {\n type: Object,\n required: false,\n default: null,\n },\n },\n data() {\n return {\n search: '',\n participants: [],\n searchUsers: [],\n isSearching: false,\n };\n },\n apollo: {\n participants: {\n query() {\n return participantsQueries[this.issuableType].query;\n },\n skip() {\n return (\n Boolean(participantsQueries[this.issuableType].skipQuery) || !this.isEditing || !this.iid\n );\n },\n variables() {\n return {\n iid: this.iid,\n fullPath: this.fullPath,\n getStatus: true,\n };\n },\n update(data) {\n return data.workspace?.issuable?.participants.nodes.map((node) => ({\n ...node,\n canMerge: false,\n }));\n },\n error() {\n this.$emit('error');\n },\n },\n searchUsers: {\n query() {\n return userSearchQueries[this.issuableType].query;\n },\n variables() {\n return this.searchUsersVariables;\n },\n skip() {\n return !this.isEditing;\n },\n update(data) {\n return (\n data.workspace?.users\n .filter((user) => user)\n .map((user) => ({\n ...user,\n canMerge: user.mergeRequestInteraction?.canMerge || false,\n })) || []\n );\n },\n error() {\n this.$emit('error');\n this.isSearching = false;\n },\n result() {\n this.isSearching = false;\n },\n },\n },\n computed: {\n isMergeRequest() {\n return this.issuableType === TYPE_MERGE_REQUEST;\n },\n searchUsersVariables() {\n const variables = {\n fullPath: this.fullPath,\n search: this.search,\n first: 20,\n };\n if (!this.isMergeRequest) {\n return variables;\n }\n return {\n ...variables,\n mergeRequestId: convertToGraphQLId(TYPENAME_MERGE_REQUEST, this.issuableId),\n };\n },\n isLoading() {\n return this.$apollo.queries.searchUsers.loading || this.$apollo.queries.participants.loading;\n },\n users() {\n const filteredParticipants =\n this.participants?.filter(\n (user) => user.name.includes(this.search) || user.username.includes(this.search),\n ) || [];\n\n // TODO this de-duplication is temporary (BE fix required)\n // https://gitlab.com/gitlab-org/gitlab/-/issues/327822\n const mergedSearchResults = this.searchUsers\n .concat(filteredParticipants)\n .reduce(\n (acc, current) => (acc.some((user) => current.id === user.id) ? acc : [...acc, current]),\n [],\n );\n\n return this.moveCurrentUserAndAuthorToStart(mergedSearchResults);\n },\n isSearchEmpty() {\n return this.search === '';\n },\n shouldShowParticipants() {\n return this.isSearchEmpty || this.isSearching;\n },\n isCurrentUserInList() {\n const isCurrentUser = (user) => user.username === this.currentUser.username;\n return this.users.some(isCurrentUser);\n },\n noUsersFound() {\n return !this.isSearchEmpty && this.users.length === 0;\n },\n showCurrentUser() {\n return this.currentUser.username && !this.isCurrentUserInList && this.isSearchEmpty;\n },\n showAuthor() {\n return (\n this.issuableAuthor &&\n !this.users.some((user) => user.id === this.issuableAuthor.id) &&\n this.isSearchEmpty\n );\n },\n selectedFiltered() {\n if (this.shouldShowParticipants) {\n return this.moveCurrentUserAndAuthorToStart(this.value);\n }\n\n const foundUsernames = this.users.map(({ username }) => username);\n const filtered = this.value.filter(({ username }) => foundUsernames.includes(username));\n return this.moveCurrentUserAndAuthorToStart(filtered);\n },\n selectedUserNames() {\n return this.value.map(({ username }) => username);\n },\n unselectedFiltered() {\n return this.users?.filter(({ username }) => !this.selectedUserNames.includes(username)) || [];\n },\n selectedIsEmpty() {\n return this.selectedFiltered.length === 0;\n },\n },\n\n watch: {\n // We need to add this watcher to track the moment when user is alredy typing\n // but query is still not started due to debounce\n search(newVal) {\n if (newVal) {\n this.isSearching = true;\n }\n },\n },\n created() {\n this.debouncedSearchKeyUpdate = debounce(this.setSearchKey, DEFAULT_DEBOUNCE_AND_THROTTLE_MS);\n },\n methods: {\n selectAssignee(user) {\n let selected = [...this.value];\n if (!this.allowMultipleAssignees) {\n selected = [user];\n this.$emit('input', selected);\n this.$refs.dropdown.hide();\n this.$emit('toggle');\n } else {\n selected.push(user);\n this.$emit('input', selected);\n }\n this.clearAndFocusSearch();\n },\n unassign() {\n this.$emit('input', []);\n this.$refs.dropdown.hide();\n },\n unselect(name) {\n const selected = this.value.filter((user) => user.username !== name);\n this.$emit('input', selected);\n this.clearAndFocusSearch();\n },\n focusSearch() {\n this.$refs.search.focusInput();\n },\n showDropdown() {\n this.$refs.dropdown.show();\n },\n showDivider(list) {\n return list.length > 0 && this.isSearchEmpty;\n },\n moveCurrentUserAndAuthorToStart(users = []) {\n let sortedUsers = [...users];\n\n const author = sortedUsers.find((user) => user.id === this.issuableAuthor?.id);\n if (author) {\n sortedUsers = [author, ...sortedUsers.filter((user) => user.id !== author.id)];\n }\n\n const currentUser = sortedUsers.find((user) => user.username === this.currentUser.username);\n\n if (currentUser) {\n currentUser.canMerge = this.currentUser.canMerge;\n sortedUsers = [currentUser, ...sortedUsers.filter((user) => user.id !== currentUser.id)];\n }\n\n return sortedUsers;\n },\n setSearchKey(value) {\n this.search = value.trim();\n },\n tooltipText(user) {\n if (!this.isMergeRequest) {\n return '';\n }\n return user.canMerge ? '' : __('Cannot merge');\n },\n clearAndFocusSearch() {\n this.search = '';\n this.focusSearch();\n },\n },\n};\n</script>\n\n<template>\n <gl-dropdown ref=\"dropdown\" :text=\"text\" @toggle=\"$emit('toggle')\" @shown=\"focusSearch\">\n <template #header>\n <p class=\"gl-mb-4 gl-mt-2 gl-text-center gl-font-bold\">{{ headerText }}</p>\n <gl-dropdown-divider />\n <gl-search-box-by-type\n ref=\"search\"\n :value=\"search\"\n data-testid=\"user-search-input\"\n @input=\"debouncedSearchKeyUpdate\"\n />\n </template>\n <gl-dropdown-form class=\"gl-relative gl-min-h-7\">\n <gl-loading-icon\n v-if=\"isLoading\"\n data-testid=\"loading-participants\"\n size=\"md\"\n class=\"gl-absolute gl-left-0 gl-right-0 gl-top-0\"\n />\n <template v-else>\n <template v-if=\"shouldShowParticipants\">\n <gl-dropdown-item\n v-if=\"isSearchEmpty\"\n :is-checked=\"selectedIsEmpty\"\n is-check-centered\n data-testid=\"unassign\"\n @click.capture.native.stop=\"unassign\"\n >\n <span :class=\"selectedIsEmpty ? 'gl-pl-0' : 'gl-pl-6'\" class=\"gl-font-bold\">{{\n $options.i18n.unassigned\n }}</span>\n </gl-dropdown-item>\n </template>\n <gl-dropdown-divider v-if=\"showDivider(selectedFiltered)\" />\n <gl-dropdown-item\n v-for=\"item in selectedFiltered\"\n :key=\"item.id\"\n v-gl-tooltip.left.viewport\n :title=\"tooltipText(item)\"\n boundary=\"viewport\"\n is-checked\n is-check-centered\n data-testid=\"selected-participant\"\n @click.capture.native.stop=\"unselect(item.username)\"\n >\n <sidebar-participant :user=\"item\" :issuable-type=\"issuableType\" selected />\n </gl-dropdown-item>\n <template v-if=\"showCurrentUser\">\n <gl-dropdown-divider />\n <gl-dropdown-item\n data-testid=\"current-user\"\n @click.capture.native.stop=\"selectAssignee(currentUser)\"\n >\n <sidebar-participant\n :user=\"currentUser\"\n :issuable-type=\"issuableType\"\n class=\"!gl-pl-6\"\n />\n </gl-dropdown-item>\n </template>\n <gl-dropdown-item\n v-if=\"showAuthor\"\n data-testid=\"issuable-author\"\n @click.capture.native.stop=\"selectAssignee(issuableAuthor)\"\n >\n <sidebar-participant\n :user=\"issuableAuthor\"\n :issuable-type=\"issuableType\"\n class=\"!gl-pl-6\"\n />\n </gl-dropdown-item>\n <gl-dropdown-item\n v-for=\"unselectedUser in unselectedFiltered\"\n :key=\"unselectedUser.id\"\n v-gl-tooltip.left.viewport\n :title=\"tooltipText(unselectedUser)\"\n boundary=\"viewport\"\n data-testid=\"unselected-participant\"\n @click.capture.native.stop=\"selectAssignee(unselectedUser)\"\n >\n <sidebar-participant\n :user=\"unselectedUser\"\n :issuable-type=\"issuableType\"\n class=\"!gl-pl-6\"\n />\n </gl-dropdown-item>\n <gl-dropdown-item v-if=\"noUsersFound\" data-testid=\"empty-results\" class=\"!gl-pl-6\">\n {{ __('No matching results') }}\n </gl-dropdown-item>\n </template>\n </gl-dropdown-form>\n <template #footer>\n <slot name=\"footer\"></slot>\n </template>\n </gl-dropdown>\n</template>\n","import { render, staticRenderFns } from \"./user_select.vue?vue&type=template&id=64c3c52b\"\nimport script from \"./user_select.vue?vue&type=script&lang=js\"\nexport * from \"./user_select.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gl-px-4\"},[(_vm.error)?_c('gl-alert',{staticClass:\"gl-mt-3\",attrs:{\"variant\":\"danger\",\"dismissible\":false}},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('gl-form-group',{staticClass:\"gl-my-3\",attrs:{\"label\":_vm.__('Label name'),\"label-for\":\"label-title-input\",\"label-sr-only\":\"\"}},[_c('gl-form-input',{attrs:{\"id\":\"label-title-input\",\"autofocus\":\"\",\"placeholder\":_vm.__('Label name')},model:{value:(_vm.labelTitle),callback:function ($$v) {_vm.labelTitle=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"labelTitle\"}})],1),_vm._v(\" \"),_c('sidebar-color-picker',{attrs:{\"suggested-colors\":_vm.suggestedColors},model:{value:(_vm.selectedColor),callback:function ($$v) {_vm.selectedColor=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"selectedColor\"}}),_vm._v(\" \"),_c('div',{staticClass:\"gl-mt-2 gl-flex gl-justify-end gl-gap-3\"},[_c('gl-button',{staticClass:\"js-btn-cancel-create\",attrs:{\"size\":\"small\",\"data-testid\":\"cancel-button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('hideCreateView')}}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Cancel'))+\"\\n \")]),_vm._v(\" \"),_c('gl-button',{attrs:{\"disabled\":_vm.disableCreate,\"loading\":_vm.labelCreateInProgress,\"size\":\"small\",\"variant\":\"confirm\",\"data-testid\":\"create-button\"},on:{\"click\":_vm.createLabel}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Create'))+\"\\n \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { get } from 'lodash';\nimport { GlAlert, GlTooltipDirective, GlButton, GlFormGroup, GlFormInput } from '@gitlab/ui';\nimport produce from 'immer';\nimport { createAlert } from '~/alert';\nimport { WORKSPACE_GROUP } from '~/issues/constants';\nimport { __ } from '~/locale';\nimport SidebarColorPicker from '../../sidebar_color_picker.vue';\nimport { workspaceLabelsQueries, workspaceCreateLabelMutation } from '../../../queries/constants';\nimport { DEFAULT_LABEL_COLOR } from './constants';\n\nconst errorMessage = __('Error creating label.');\n\nexport default {\n components: {\n GlAlert,\n GlButton,\n GlFormGroup,\n GlFormInput,\n SidebarColorPicker,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n props: {\n fullPath: {\n type: String,\n required: true,\n },\n attrWorkspacePath: {\n type: String,\n required: true,\n },\n labelCreateType: {\n type: String,\n required: true,\n },\n workspaceType: {\n type: String,\n required: true,\n },\n searchKey: {\n type: String,\n required: false,\n default: '',\n },\n },\n data() {\n return {\n labelTitle: this.searchKey,\n selectedColor: DEFAULT_LABEL_COLOR,\n labelCreateInProgress: false,\n error: undefined,\n };\n },\n computed: {\n disableCreate() {\n return !this.labelTitle.length || !this.selectedColor.length || this.labelCreateInProgress;\n },\n suggestedColors() {\n const colorsMap = gon.suggested_label_colors;\n return Object.keys(colorsMap).map((color) => ({ [color]: colorsMap[color] }));\n },\n mutationVariables() {\n const variables = {\n title: this.labelTitle,\n color: this.selectedColor,\n };\n\n if (this.labelCreateType) {\n const attributePath =\n this.labelCreateType === WORKSPACE_GROUP ? 'groupPath' : 'projectPath';\n\n return { ...variables, [attributePath]: this.attrWorkspacePath };\n }\n\n return variables;\n },\n },\n methods: {\n updateLabelsInCache(store, label) {\n const { query, dataPath } = workspaceLabelsQueries[this.workspaceType];\n\n const sourceData = store.readQuery({\n query,\n variables: { fullPath: this.fullPath, searchTerm: '' },\n });\n\n const collator = new Intl.Collator('en');\n const data = produce(sourceData, (draftData) => {\n const { nodes } = get(draftData, dataPath);\n nodes.push(label);\n nodes.sort((a, b) => collator.compare(a.title, b.title));\n });\n\n store.writeQuery({\n query,\n variables: { fullPath: this.fullPath, searchTerm: '' },\n data,\n });\n },\n async createLabel() {\n this.labelCreateInProgress = true;\n try {\n const {\n data: { labelCreate },\n } = await this.$apollo.mutate({\n mutation: workspaceCreateLabelMutation[this.workspaceType],\n variables: this.mutationVariables,\n update: (\n store,\n {\n data: {\n labelCreate: { label },\n },\n },\n ) => {\n if (label) {\n this.updateLabelsInCache(store, label);\n }\n },\n });\n if (labelCreate.errors.length) {\n [this.error] = labelCreate.errors;\n } else {\n this.$emit('labelCreated', labelCreate.label);\n }\n } catch {\n createAlert({ message: errorMessage });\n }\n this.labelCreateInProgress = false;\n },\n },\n};\n</script>\n\n<template>\n <div class=\"gl-px-4\">\n <gl-alert v-if=\"error\" variant=\"danger\" :dismissible=\"false\" class=\"gl-mt-3\">\n {{ error }}\n </gl-alert>\n <gl-form-group\n class=\"gl-my-3\"\n :label=\"__('Label name')\"\n label-for=\"label-title-input\"\n label-sr-only\n >\n <gl-form-input\n id=\"label-title-input\"\n v-model.trim=\"labelTitle\"\n autofocus\n :placeholder=\"__('Label name')\"\n />\n </gl-form-group>\n <sidebar-color-picker v-model.trim=\"selectedColor\" :suggested-colors=\"suggestedColors\" />\n <div class=\"gl-mt-2 gl-flex gl-justify-end gl-gap-3\">\n <gl-button\n class=\"js-btn-cancel-create\"\n size=\"small\"\n data-testid=\"cancel-button\"\n @click.stop=\"$emit('hideCreateView')\"\n >\n {{ __('Cancel') }}\n </gl-button>\n <gl-button\n :disabled=\"disableCreate\"\n :loading=\"labelCreateInProgress\"\n size=\"small\"\n variant=\"confirm\"\n data-testid=\"create-button\"\n @click=\"createLabel\"\n >\n {{ __('Create') }}\n </gl-button>\n </div>\n </div>\n</template>\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_contents_create_view.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_contents_create_view.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./dropdown_contents_create_view.vue?vue&type=template&id=138bf2ca\"\nimport script from \"./dropdown_contents_create_view.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_contents_create_view.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{ 'inline-block': !_vm.isMergeRequest },attrs:{\"data-testid\":\"sidebar-todo\"}},[(_vm.isNotificationsTodosButtons)?_c('todo-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.hover.top\",modifiers:{\"hover\":true,\"top\":true}}],staticClass:\"hide-collapsed\",attrs:{\"title\":_vm.tootltipTitle,\"issuable-type\":_vm.issuableType,\"issuable-id\":_vm.issuableId,\"is-todo\":_vm.hasTodo,\"disabled\":_vm.isLoading,\"is-icon-button\":true},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleTodo.apply(null, arguments)}}},[_c('gl-animated-todo-icon',{class:{ '!gl-text-blue-500': _vm.hasTodo },attrs:{\"is-on\":_vm.hasTodo}})],1):_c('todo-button',{staticClass:\"hide-collapsed\",attrs:{\"issuable-type\":_vm.issuableType,\"issuable-id\":_vm.issuableId,\"is-todo\":_vm.hasTodo,\"loading\":_vm.isLoading,\"size\":_vm.isMergeRequest ? 'medium' : 'small'},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleTodo.apply(null, arguments)}}}),_vm._v(\" \"),(_vm.isClassicSidebar && !_vm.isMergeRequest)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.left.viewport\",modifiers:{\"left\":true,\"viewport\":true}}],staticClass:\"sidebar-collapsed-icon sidebar-collapsed-container !gl-rounded-none !gl-shadow-none\",class:{ '!gl-text-blue-500': _vm.hasTodo },attrs:{\"title\":_vm.tootltipTitle,\"category\":\"tertiary\",\"type\":\"reset\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleTodo.apply(null, arguments)}}},[_c('gl-animated-todo-icon',{attrs:{\"is-on\":_vm.hasTodo}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlButton, GlTooltipDirective, GlAnimatedTodoIcon } from '@gitlab/ui';\nimport { produce } from 'immer';\nimport { createAlert } from '~/alert';\nimport { TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { __, sprintf } from '~/locale';\nimport glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport Tracking from '~/tracking';\nimport { todoMutationTypes } from '../../constants';\nimport { todoQueries, todoMutations } from '../../queries/constants';\nimport { todoLabel } from '../../utils';\nimport TodoButton from './todo_button.vue';\n\nconst trackingMixin = Tracking.mixin();\n\nexport default {\n components: {\n GlButton,\n TodoButton,\n GlAnimatedTodoIcon,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n mixins: [glFeatureFlagsMixin(), trackingMixin],\n inject: {\n isClassicSidebar: {\n default: false,\n },\n },\n props: {\n issuableId: {\n type: String,\n required: true,\n },\n issuableIid: {\n type: String,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n issuableType: {\n required: true,\n type: String,\n },\n },\n data() {\n return {\n todoId: null,\n loading: false,\n };\n },\n apollo: {\n todoId: {\n query() {\n return todoQueries[this.issuableType].query;\n },\n variables() {\n return {\n fullPath: this.fullPath,\n iid: String(this.issuableIid),\n };\n },\n skip() {\n return !this.issuableIid;\n },\n update(data) {\n return data.workspace?.issuable?.currentUserTodos.nodes[0]?.id;\n },\n result({ data }) {\n if (!data) {\n return;\n }\n\n const currentUserTodos = data.workspace?.issuable?.currentUserTodos?.nodes ?? [];\n this.todoId = currentUserTodos[0]?.id;\n this.$emit('todoUpdated', currentUserTodos.length > 0);\n },\n error() {\n createAlert({\n message: sprintf(__('Something went wrong while setting %{issuableType} to-do item.'), {\n issuableType: this.issuableType,\n }),\n });\n },\n subscribeToMore: {\n document() {\n return todoQueries[this.issuableType].subscription;\n },\n variables() {\n return {\n issuableId: this.issuableId,\n };\n },\n skip() {\n return !todoQueries[this.issuableType].subscription;\n },\n },\n },\n },\n computed: {\n isMergeRequest() {\n return this.issuableType === TYPE_MERGE_REQUEST;\n },\n todoIdQuery() {\n return todoQueries[this.issuableType].query;\n },\n todoIdQueryVariables() {\n return {\n fullPath: this.fullPath,\n iid: String(this.issuableIid),\n };\n },\n isLoading() {\n return this.$apollo.queries?.todoId?.loading || this.loading;\n },\n hasTodo() {\n return Boolean(this.todoId);\n },\n todoMutationType() {\n if (this.hasTodo) {\n return todoMutationTypes.markDone;\n }\n return todoMutationTypes.create;\n },\n tootltipTitle() {\n return todoLabel(this.hasTodo);\n },\n isNotificationsTodosButtons() {\n return this.glFeatures.notificationsTodosButtons;\n },\n },\n methods: {\n toggleTodo() {\n this.loading = true;\n this.$apollo\n .mutate({\n mutation: todoMutations[this.todoMutationType],\n variables: {\n input: {\n targetId: !this.hasTodo ? this.issuableId : undefined,\n id: this.hasTodo ? this.todoId : undefined,\n },\n },\n update: (\n store,\n {\n data: {\n todoMutation: { todo },\n },\n },\n ) => {\n const queryProps = {\n query: this.todoIdQuery,\n variables: this.todoIdQueryVariables,\n };\n const sourceData = store.readQuery(queryProps);\n const data = produce(sourceData, (draftState) => {\n draftState.workspace.issuable.currentUserTodos.nodes = this.hasTodo ? [] : [todo];\n });\n store.writeQuery({\n data,\n ...queryProps,\n });\n },\n })\n .then(\n ({\n data: {\n todoMutation: { errors },\n },\n }) => {\n if (errors.length) {\n createAlert({\n message: errors[0],\n });\n }\n this.track('click_todo', {\n label: 'right_sidebar',\n property: this.hasTodo,\n });\n },\n )\n .catch(() => {\n createAlert({\n message: sprintf(__('Something went wrong while setting %{issuableType} to-do item.'), {\n issuableType: this.issuableType,\n }),\n });\n })\n .finally(() => {\n this.loading = false;\n });\n },\n },\n};\n</script>\n\n<template>\n <div data-testid=\"sidebar-todo\" :class=\"{ 'inline-block': !isMergeRequest }\">\n <todo-button\n v-if=\"isNotificationsTodosButtons\"\n v-gl-tooltip.hover.top\n :title=\"tootltipTitle\"\n :issuable-type=\"issuableType\"\n :issuable-id=\"issuableId\"\n :is-todo=\"hasTodo\"\n :disabled=\"isLoading\"\n :is-icon-button=\"true\"\n class=\"hide-collapsed\"\n @click.stop.prevent=\"toggleTodo\"\n >\n <gl-animated-todo-icon :class=\"{ '!gl-text-blue-500': hasTodo }\" :is-on=\"hasTodo\" />\n </todo-button>\n <todo-button\n v-else\n :issuable-type=\"issuableType\"\n :issuable-id=\"issuableId\"\n :is-todo=\"hasTodo\"\n :loading=\"isLoading\"\n :size=\"isMergeRequest ? 'medium' : 'small'\"\n class=\"hide-collapsed\"\n @click.stop.prevent=\"toggleTodo\"\n />\n <gl-button\n v-if=\"isClassicSidebar && !isMergeRequest\"\n v-gl-tooltip.left.viewport\n :title=\"tootltipTitle\"\n category=\"tertiary\"\n type=\"reset\"\n class=\"sidebar-collapsed-icon sidebar-collapsed-container !gl-rounded-none !gl-shadow-none\"\n :class=\"{ '!gl-text-blue-500': hasTodo }\"\n @click.stop.prevent=\"toggleTodo\"\n >\n <gl-animated-todo-icon :is-on=\"hasTodo\" />\n </gl-button>\n </div>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_todo_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_todo_widget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./sidebar_todo_widget.vue?vue&type=template&id=0ce572ce\"\nimport script from \"./sidebar_todo_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_todo_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isButtonTrigger)?_c('gl-button',_vm._b({attrs:{\"variant\":_vm.variant,\"category\":_vm.category,\"icon\":_vm.icon},on:{\"click\":_vm.openModal}},'gl-button',_vm.componentAttributes,false),[_vm._v(\"\\n \"+_vm._s(_vm.displayText)+\"\\n\")]):(_vm.isWithEmojiTrigger)?_c('gl-link',_vm._b({on:{\"click\":_vm.openModal}},'gl-link',_vm.componentAttributes,false),[_vm._v(\"\\n \"+_vm._s(_vm.displayText)+\"\\n \"),_c('gl-emoji',{staticClass:\"gl-mr-1 gl-align-baseline gl-text-size-reset\",attrs:{\"data-name\":_vm.icon}})],1):(_vm.isDropdownWithEmojiTrigger)?_c('gl-dropdown-item',_vm._b({on:{\"click\":_vm.openModal}},'gl-dropdown-item',_vm.componentAttributes,false),[_vm._v(\"\\n \"+_vm._s(_vm.displayText)+\"\\n \"),_c('gl-emoji',{staticClass:\"gl-mr-1 gl-align-baseline gl-text-size-reset\",attrs:{\"data-name\":_vm.icon}})],1):(_vm.isDisclosureTrigger)?_c('gl-disclosure-dropdown-item',_vm._b({attrs:{\"item\":_vm.item},on:{\"action\":_vm.handleDisclosureDropdownAction}},'gl-disclosure-dropdown-item',_vm.componentAttributes,false)):_c('gl-link',_vm._b({attrs:{\"data-is-link\":\"true\"},on:{\"click\":_vm.openModal}},'gl-link',_vm.componentAttributes,false),[_vm._v(\"\\n \"+_vm._s(_vm.displayText)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invite_members_trigger.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invite_members_trigger.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlLink, GlDropdownItem, GlDisclosureDropdownItem } from '@gitlab/ui';\nimport { s__ } from '~/locale';\nimport eventHub from '../event_hub';\nimport {\n TRIGGER_ELEMENT_BUTTON,\n TRIGGER_ELEMENT_WITH_EMOJI,\n TRIGGER_ELEMENT_DROPDOWN_WITH_EMOJI,\n TRIGGER_ELEMENT_DISCLOSURE_DROPDOWN,\n} from '../constants';\n\nexport default {\n components: { GlButton, GlLink, GlDropdownItem, GlDisclosureDropdownItem },\n props: {\n displayText: {\n type: String,\n required: false,\n default: s__('InviteMembers|Invite team members'),\n },\n icon: {\n type: String,\n required: false,\n default: '',\n },\n classes: {\n type: String,\n required: false,\n default: '',\n },\n variant: {\n type: String,\n required: false,\n default: undefined,\n },\n category: {\n type: String,\n required: false,\n default: undefined,\n },\n triggerSource: {\n type: String,\n required: true,\n },\n triggerElement: {\n type: String,\n required: false,\n default: 'button',\n },\n },\n computed: {\n componentAttributes() {\n return {\n class: this.classes,\n 'data-testid': 'invite-members-button',\n };\n },\n item() {\n return { text: this.displayText };\n },\n isButtonTrigger() {\n return this.triggerElement === TRIGGER_ELEMENT_BUTTON;\n },\n isWithEmojiTrigger() {\n return this.triggerElement === TRIGGER_ELEMENT_WITH_EMOJI;\n },\n isDropdownWithEmojiTrigger() {\n return this.triggerElement === TRIGGER_ELEMENT_DROPDOWN_WITH_EMOJI;\n },\n isDisclosureTrigger() {\n return this.triggerElement === TRIGGER_ELEMENT_DISCLOSURE_DROPDOWN;\n },\n },\n methods: {\n openModal() {\n eventHub.$emit('openModal', { source: this.triggerSource });\n },\n handleDisclosureDropdownAction() {\n this.openModal();\n this.$emit('modal-opened');\n },\n },\n};\n</script>\n\n<template>\n <gl-button\n v-if=\"isButtonTrigger\"\n v-bind=\"componentAttributes\"\n :variant=\"variant\"\n :category=\"category\"\n :icon=\"icon\"\n @click=\"openModal\"\n >\n {{ displayText }}\n </gl-button>\n <gl-link v-else-if=\"isWithEmojiTrigger\" v-bind=\"componentAttributes\" @click=\"openModal\">\n {{ displayText }}\n <gl-emoji class=\"gl-mr-1 gl-align-baseline gl-text-size-reset\" :data-name=\"icon\" />\n </gl-link>\n <gl-dropdown-item\n v-else-if=\"isDropdownWithEmojiTrigger\"\n v-bind=\"componentAttributes\"\n @click=\"openModal\"\n >\n {{ displayText }}\n <gl-emoji class=\"gl-mr-1 gl-align-baseline gl-text-size-reset\" :data-name=\"icon\" />\n </gl-dropdown-item>\n <gl-disclosure-dropdown-item\n v-else-if=\"isDisclosureTrigger\"\n v-bind=\"componentAttributes\"\n :item=\"item\"\n @action=\"handleDisclosureDropdownAction\"\n />\n <gl-link v-else v-bind=\"componentAttributes\" data-is-link=\"true\" @click=\"openModal\">\n {{ displayText }}\n </gl-link>\n</template>\n","import { render, staticRenderFns } from \"./invite_members_trigger.vue?vue&type=template&id=cb0ec660\"\nimport script from \"./invite_members_trigger.vue?vue&type=script&lang=js\"\nexport * from \"./invite_members_trigger.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import createEventHub from '~/helpers/event_hub_factory';\n\nconst eventHub = createEventHub();\n\n// TODO: remove eventHub hack after code splitting refactor\nwindow.emitSidebarEvent = (...args) => eventHub.$emit(...args);\n\nexport default eventHub;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-dropdown',{ref:\"dropdown\",attrs:{\"block\":\"\",\"header-text\":_vm.i18n.assignAttribute,\"lazy\":\"\",\"text\":_vm.dropdownText,\"toggle-class\":\"gl-m-0\"},on:{\"show\":_vm.handleShow,\"shown\":_vm.setFocus},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_vm._t(\"footer\")]},proxy:true}],null,true)},[_c('gl-search-box-by-type',{ref:\"search\",attrs:{\"placeholder\":_vm.__('Search')},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_vm._v(\" \"),_c('gl-dropdown-item',{attrs:{\"data-testid\":`no-${_vm.formatIssuableAttribute.kebab}-item`,\"is-check-item\":\"\",\"is-checked\":_vm.isAttributeChecked(_vm.$options.noAttributeId)},on:{\"click\":function($event){return _vm.$emit('change', { id: _vm.$options.noAttributeId })}}},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.noAttribute)+\"\\n \")]),_vm._v(\" \"),_c('gl-dropdown-divider'),_vm._v(\" \"),(_vm.$apollo.queries.attributesList.loading)?_c('gl-loading-icon',{staticClass:\"gl-py-4\",attrs:{\"size\":\"sm\",\"data-testid\":\"loading-icon-dropdown\"}}):[(_vm.emptyPropsList)?_c('gl-dropdown-text',[_vm._v(\"\\n \"+_vm._s(_vm.i18n.noAttributesFound)+\"\\n \")]):_vm._t(\"list\",function(){return _vm._l((_vm.attributesList),function(attrItem){return _c('gl-dropdown-item',{key:attrItem.id,attrs:{\"is-check-item\":\"\",\"is-checked\":_vm.isAttributeChecked(attrItem.id),\"data-testid\":`${_vm.formatIssuableAttribute.kebab}-items`},on:{\"click\":function($event){return _vm.updateAttribute(attrItem)}}},[_vm._v(\"\\n \"+_vm._s(attrItem.title)+\"\\n \"),(_vm.isAttributeOverdue(attrItem))?[_vm._v(_vm._s(_vm.$options.i18n.expired))]:_vm._e()],2)})},{\"attributesList\":_vm.attributesList,\"isAttributeChecked\":_vm.isAttributeChecked,\"updateAttribute\":_vm.updateAttribute})]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_dropdown.vue?vue&type=script&lang=js\"","<script>\nimport {\n GlDropdown,\n GlDropdownDivider,\n GlDropdownItem,\n GlDropdownText,\n GlLoadingIcon,\n GlSearchBoxByType,\n} from '@gitlab/ui';\nimport { kebabCase, snakeCase } from 'lodash';\nimport {\n TYPE_EPIC,\n TYPE_ISSUE,\n TYPE_MERGE_REQUEST,\n WORKSPACE_GROUP,\n WORKSPACE_PROJECT,\n} from '~/issues/constants';\nimport { __ } from '~/locale';\nimport {\n defaultEpicSort,\n dropdowni18nText,\n epicIidPattern,\n IssuableAttributeState,\n IssuableAttributeType,\n IssuableAttributeTypeKeyMap,\n LocalizedIssuableAttributeType,\n noAttributeId,\n} from 'ee_else_ce/sidebar/constants';\nimport { issuableAttributesQueries } from 'ee_else_ce/sidebar/queries/constants';\nimport { createAlert } from '~/alert';\nimport { PathIdSeparator } from '~/related_issues/constants';\nimport { WORK_ITEM_TYPE_ENUM_EPIC } from '~/work_items/constants';\n\nexport default {\n noAttributeId,\n i18n: {\n expired: __('(expired)'),\n },\n components: {\n GlDropdown,\n GlDropdownItem,\n GlDropdownText,\n GlDropdownDivider,\n GlSearchBoxByType,\n GlLoadingIcon,\n },\n inject: {\n issuableAttributesQueries: {\n default: issuableAttributesQueries,\n },\n issuableAttributesState: {\n default: IssuableAttributeState,\n },\n widgetTitleText: {\n default: {\n [IssuableAttributeType.Milestone]: __('Milestone'),\n expired: __('(expired)'),\n none: __('None'),\n },\n },\n },\n props: {\n attrWorkspacePath: {\n required: true,\n type: String,\n },\n currentAttribute: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n issuableAttribute: {\n type: String,\n required: true,\n },\n issuableType: {\n type: String,\n required: true,\n validator(value) {\n return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(value);\n },\n },\n workspaceType: {\n type: String,\n required: false,\n default: WORKSPACE_PROJECT,\n validator(value) {\n return [WORKSPACE_GROUP, WORKSPACE_PROJECT].includes(value);\n },\n },\n showWorkItemEpics: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n data() {\n return {\n attributesList: [],\n searchTerm: '',\n skipQuery: true,\n };\n },\n apollo: {\n attributesList: {\n query() {\n if (this.isEpic && this.showWorkItemEpics) {\n return this.issuableAttributesQueries[IssuableAttributeType.Parent].list[\n this.issuableType\n ].query;\n }\n\n const { list } = this.issuableAttributeQuery;\n const { query } = list[this.issuableType];\n return query[this.workspaceType] || query;\n },\n variables() {\n if (!this.isEpic) {\n return {\n fullPath: this.attrWorkspacePath,\n title: this.searchTerm,\n state: this.issuableAttributesState[this.issuableAttribute],\n };\n }\n\n const variables = {\n fullPath: this.attrWorkspacePath,\n state: this.issuableAttributesState[this.issuableAttribute],\n sort: defaultEpicSort,\n };\n\n if (this.showWorkItemEpics) {\n variables.types = [WORK_ITEM_TYPE_ENUM_EPIC];\n }\n\n if (epicIidPattern.test(this.searchTerm)) {\n const matches = this.searchTerm.match(epicIidPattern);\n variables.iidStartsWith = matches.groups.iid;\n } else if (this.searchTerm !== '') {\n variables.in = 'TITLE';\n variables.title = this.searchTerm;\n }\n\n return variables;\n },\n update: (data) => data?.workspace?.attributes?.nodes ?? [],\n error(error) {\n createAlert({ message: this.i18n.listFetchError, captureError: true, error });\n },\n skip() {\n if (\n this.isEpic &&\n this.searchTerm.startsWith(PathIdSeparator.Epic) &&\n this.searchTerm.length < 2\n ) {\n return true;\n }\n return this.skipQuery;\n },\n debounce: 250,\n },\n },\n computed: {\n attributeTypeTitle() {\n return this.widgetTitleText[this.issuableAttribute];\n },\n dropdownText() {\n return this.currentAttribute ? this.currentAttribute?.title : this.attributeTypeTitle;\n },\n emptyPropsList() {\n return this.attributesList.length === 0;\n },\n i18n() {\n const localizedAttribute =\n LocalizedIssuableAttributeType[IssuableAttributeTypeKeyMap[this.issuableAttribute]];\n return dropdowni18nText(localizedAttribute, this.issuableType);\n },\n isEpic() {\n // MV to EE https://gitlab.com/gitlab-org/gitlab/-/issues/345311\n return this.issuableAttribute === TYPE_EPIC;\n },\n issuableAttributeQuery() {\n return this.issuableAttributesQueries[this.issuableAttribute];\n },\n formatIssuableAttribute() {\n return {\n kebab: kebabCase(this.issuableAttribute),\n snake: snakeCase(this.issuableAttribute),\n };\n },\n },\n methods: {\n isAttributeChecked(attributeId) {\n return (\n attributeId === this.currentAttribute?.id || (!this.currentAttribute?.id && !attributeId)\n );\n },\n isAttributeOverdue(attribute) {\n return this.issuableAttribute === IssuableAttributeType.Milestone\n ? attribute?.expired\n : false;\n },\n handleShow() {\n this.skipQuery = false;\n },\n setFocus() {\n this.$refs?.search?.focusInput();\n },\n show() {\n this.$refs.dropdown.show();\n },\n updateAttribute(attribute) {\n this.$emit('change', attribute);\n },\n },\n};\n</script>\n\n<template>\n <gl-dropdown\n ref=\"dropdown\"\n block\n :header-text=\"i18n.assignAttribute\"\n lazy\n :text=\"dropdownText\"\n toggle-class=\"gl-m-0\"\n @show=\"handleShow\"\n @shown=\"setFocus\"\n >\n <gl-search-box-by-type ref=\"search\" v-model=\"searchTerm\" :placeholder=\"__('Search')\" />\n <gl-dropdown-item\n :data-testid=\"`no-${formatIssuableAttribute.kebab}-item`\"\n is-check-item\n :is-checked=\"isAttributeChecked($options.noAttributeId)\"\n @click=\"$emit('change', { id: $options.noAttributeId })\"\n >\n {{ i18n.noAttribute }}\n </gl-dropdown-item>\n <gl-dropdown-divider />\n <gl-loading-icon\n v-if=\"$apollo.queries.attributesList.loading\"\n size=\"sm\"\n class=\"gl-py-4\"\n data-testid=\"loading-icon-dropdown\"\n />\n <template v-else>\n <gl-dropdown-text v-if=\"emptyPropsList\">\n {{ i18n.noAttributesFound }}\n </gl-dropdown-text>\n <slot\n v-else\n name=\"list\"\n :attributes-list=\"attributesList\"\n :is-attribute-checked=\"isAttributeChecked\"\n :update-attribute=\"updateAttribute\"\n >\n <gl-dropdown-item\n v-for=\"attrItem in attributesList\"\n :key=\"attrItem.id\"\n is-check-item\n :is-checked=\"isAttributeChecked(attrItem.id)\"\n :data-testid=\"`${formatIssuableAttribute.kebab}-items`\"\n @click=\"updateAttribute(attrItem)\"\n >\n {{ attrItem.title }}\n <template v-if=\"isAttributeOverdue(attrItem)\">{{ $options.i18n.expired }}</template>\n </gl-dropdown-item>\n </slot>\n </template>\n <template #footer>\n <slot name=\"footer\"></slot>\n </template>\n </gl-dropdown>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_dropdown.vue?vue&type=template&id=c8002916\"\nimport script from \"./sidebar_dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_dropdown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-modal',{ref:\"modal\",attrs:{\"title\":_vm.s__('CreateTimelogForm|Add time entry'),\"modal-id\":_vm.createTimelogModalId,\"size\":\"sm\",\"data-testid\":\"create-timelog-modal\",\"action-primary\":_vm.primaryProps,\"action-cancel\":_vm.cancelProps},on:{\"primary\":_vm.registerTimeSpent,\"cancel\":_vm.close,\"close\":_vm.close,\"hide\":_vm.close}},[_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.modalText)+\"\\n \")]),_vm._v(\" \"),_c('form',{staticClass:\"js-quick-submit gl-flex gl-flex-col\",on:{\"submit\":function($event){$event.preventDefault();return _vm.registerTimeSpent.apply(null, arguments)}}},[_c('div',{staticClass:\"gl-flex gl-gap-3\"},[_c('gl-form-group',{key:\"time-spent\",attrs:{\"label-for\":\"time-spent\",\"label\":_vm.s__(`CreateTimelogForm|Time spent`),\"description\":_vm.s__(`CreateTimelogForm|Example: 1h 30m`)}},[_c('gl-form-input',{ref:\"timeSpent\",staticClass:\"gl-form-input-sm\",attrs:{\"id\":\"time-spent\",\"autocomplete\":\"off\"},model:{value:(_vm.timeSpent),callback:function ($$v) {_vm.timeSpent=$$v},expression:\"timeSpent\"}})],1),_vm._v(\" \"),_c('gl-form-group',{key:\"spent-at\",attrs:{\"optional\":\"\",\"label-for\":\"spent-at\",\"label\":_vm.s__(`CreateTimelogForm|Spent at`)}},[_c('gl-datepicker',{attrs:{\"target\":null,\"value\":_vm.spentAt,\"show-clear-button\":\"\",\"autocomplete\":\"off\",\"width\":\"sm\"},on:{\"input\":_vm.updateSpentAtDate,\"clear\":function($event){return _vm.updateSpentAtDate(null)}}})],1)],1),_vm._v(\" \"),_c('gl-form-group',{attrs:{\"label\":_vm.s__('CreateTimelogForm|Summary'),\"optional\":\"\",\"label-for\":\"summary\"}},[_c('gl-form-textarea',{attrs:{\"id\":\"summary\",\"rows\":\"3\",\"no-resize\":\"\"},model:{value:(_vm.summary),callback:function ($$v) {_vm.summary=$$v},expression:\"summary\"}})],1),_vm._v(\" \"),(_vm.saveError)?_c('gl-alert',{staticClass:\"gl-mb-3\",attrs:{\"variant\":\"danger\",\"dismissible\":false}},[_vm._v(\"\\n \"+_vm._s(_vm.saveError)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"submit\",\"hidden\":\"\"}})],1),_vm._v(\" \"),_c('gl-link',{attrs:{\"href\":_vm.timeTrackingDocsPath}},[_vm._v(\"\\n \"+_vm._s(_vm.s__('CreateTimelogForm|How do I track and estimate time?'))+\"\\n \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./create_timelog_form.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./create_timelog_form.vue?vue&type=script&lang=js\"","<script>\nimport {\n GlFormGroup,\n GlFormInput,\n GlDatepicker,\n GlFormTextarea,\n GlModal,\n GlAlert,\n GlLink,\n} from '@gitlab/ui';\nimport { convertToGraphQLId } from '~/graphql_shared/utils';\nimport { issuableTypeText, TYPE_ISSUE } from '~/issues/constants';\nimport { toISODateFormat } from '~/lib/utils/datetime_utility';\nimport { TYPENAME_ISSUE, TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constants';\nimport { joinPaths } from '~/lib/utils/url_utility';\nimport { s__, sprintf } from '~/locale';\nimport updateWorkItemMutation from '~/work_items/graphql/update_work_item.mutation.graphql';\nimport createTimelogMutation from '../../queries/create_timelog.mutation.graphql';\nimport { CREATE_TIMELOG_MODAL_ID } from './constants';\n\nexport default {\n components: {\n GlDatepicker,\n GlFormGroup,\n GlFormInput,\n GlFormTextarea,\n GlModal,\n GlAlert,\n GlLink,\n },\n inject: {\n issuableType: {\n default: null,\n },\n },\n props: {\n issuableId: {\n type: String,\n required: false,\n default: '',\n },\n workItemId: {\n type: String,\n required: false,\n default: '',\n },\n workItemType: {\n type: String,\n required: false,\n default: '',\n },\n },\n data() {\n return {\n timeSpent: '',\n spentAt: null,\n summary: '',\n isLoading: false,\n saveError: '',\n };\n },\n computed: {\n modalText() {\n const issuableTypeName = issuableTypeText[this.issuableType || this.workItemType];\n return sprintf(s__('TimeTracking|Track time spent on this %{issuableTypeName}.'), {\n issuableTypeName,\n });\n },\n submitDisabled() {\n return this.isLoading || this.timeSpent?.length === 0;\n },\n primaryProps() {\n return {\n text: s__('CreateTimelogForm|Save'),\n attributes: {\n variant: 'confirm',\n disabled: this.submitDisabled,\n loading: this.isLoading,\n },\n };\n },\n cancelProps() {\n return {\n text: s__('CreateTimelogForm|Cancel'),\n };\n },\n timeTrackingDocsPath() {\n return joinPaths(gon.relative_url_root || '', '/help/user/project/time_tracking.md');\n },\n createTimelogModalId() {\n return this.workItemId\n ? `${CREATE_TIMELOG_MODAL_ID}-${this.workItemId}`\n : CREATE_TIMELOG_MODAL_ID;\n },\n },\n methods: {\n resetModal() {\n this.isLoading = false;\n this.timeSpent = '';\n this.spentAt = null;\n this.summary = '';\n this.saveError = '';\n },\n close() {\n this.resetModal();\n this.$refs.modal.close();\n },\n registerTimeSpent(event) {\n event.preventDefault();\n\n if (this.timeSpent?.length === 0) {\n return null;\n }\n\n this.isLoading = true;\n this.saveError = '';\n\n if (this.workItemId) {\n return this.$apollo\n .mutate({\n mutation: updateWorkItemMutation,\n variables: {\n input: {\n id: this.workItemId,\n timeTrackingWidget: {\n timelog: {\n spentAt: this.spentAt ? toISODateFormat(this.spentAt) : null,\n summary: this.summary,\n timeSpent: this.timeSpent,\n },\n },\n },\n },\n })\n .then(({ data }) => {\n if (data.workItemUpdate.errors.length) {\n throw new Error(data.workItemUpdate.errors);\n }\n\n this.close();\n })\n .catch((error) => {\n this.saveError =\n error?.message ||\n s__('TimeTracking|An error occurred while saving the time estimate.');\n })\n .finally(() => {\n this.isLoading = false;\n });\n }\n\n return this.$apollo\n .mutate({\n mutation: createTimelogMutation,\n variables: {\n input: {\n timeSpent: this.timeSpent,\n spentAt: this.spentAt ? toISODateFormat(this.spentAt) : null,\n summary: this.summary,\n issuableId: this.getIssuableId(),\n },\n },\n })\n .then(({ data }) => {\n if (data.timelogCreate?.errors.length) {\n this.saveError = data.timelogCreate.errors[0].message || data.timelogCreate.errors[0];\n } else {\n this.close();\n }\n })\n .catch((error) => {\n this.saveError =\n error?.message ||\n s__('CreateTimelogForm|An error occurred while saving the time entry.');\n })\n .finally(() => {\n this.isLoading = false;\n });\n },\n getGraphQLEntityType() {\n return this.issuableType === TYPE_ISSUE ? TYPENAME_ISSUE : TYPENAME_MERGE_REQUEST;\n },\n updateSpentAtDate(val) {\n this.spentAt = val;\n },\n getIssuableId() {\n return convertToGraphQLId(this.getGraphQLEntityType(), this.issuableId);\n },\n },\n};\n</script>\n\n<template>\n <gl-modal\n ref=\"modal\"\n :title=\"s__('CreateTimelogForm|Add time entry')\"\n :modal-id=\"createTimelogModalId\"\n size=\"sm\"\n data-testid=\"create-timelog-modal\"\n :action-primary=\"primaryProps\"\n :action-cancel=\"cancelProps\"\n @primary=\"registerTimeSpent\"\n @cancel=\"close\"\n @close=\"close\"\n @hide=\"close\"\n >\n <p>\n {{ modalText }}\n </p>\n <form class=\"js-quick-submit gl-flex gl-flex-col\" @submit.prevent=\"registerTimeSpent\">\n <div class=\"gl-flex gl-gap-3\">\n <gl-form-group\n key=\"time-spent\"\n label-for=\"time-spent\"\n :label=\"s__(`CreateTimelogForm|Time spent`)\"\n :description=\"s__(`CreateTimelogForm|Example: 1h 30m`)\"\n >\n <gl-form-input\n id=\"time-spent\"\n ref=\"timeSpent\"\n v-model=\"timeSpent\"\n class=\"gl-form-input-sm\"\n autocomplete=\"off\"\n />\n </gl-form-group>\n <gl-form-group\n key=\"spent-at\"\n optional\n label-for=\"spent-at\"\n :label=\"s__(`CreateTimelogForm|Spent at`)\"\n >\n <gl-datepicker\n :target=\"null\"\n :value=\"spentAt\"\n show-clear-button\n autocomplete=\"off\"\n width=\"sm\"\n @input=\"updateSpentAtDate\"\n @clear=\"updateSpentAtDate(null)\"\n />\n </gl-form-group>\n </div>\n <gl-form-group :label=\"s__('CreateTimelogForm|Summary')\" optional label-for=\"summary\">\n <gl-form-textarea id=\"summary\" v-model=\"summary\" rows=\"3\" no-resize />\n </gl-form-group>\n <gl-alert v-if=\"saveError\" variant=\"danger\" class=\"gl-mb-3\" :dismissible=\"false\">\n {{ saveError }}\n </gl-alert>\n <!-- This is needed to have the quick-submit behaviour (with Ctrl + Enter or Cmd + Enter) -->\n <input type=\"submit\" hidden />\n </form>\n <gl-link :href=\"timeTrackingDocsPath\">\n {{ s__('CreateTimelogForm|How do I track and estimate time?') }}\n </gl-link>\n </gl-modal>\n</template>\n","import { render, staticRenderFns } from \"./create_timelog_form.vue?vue&type=template&id=f312274c\"\nimport script from \"./create_timelog_form.vue?vue&type=script&lang=js\"\nexport * from \"./create_timelog_form.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"incident-severity gl-justify-content-between gl-inline-flex gl-max-w-full gl-items-center\"},[_c('gl-icon',{class:[`icon-${_vm.severity.icon}`, { 'gl-mr-3 gl-shrink-0': !_vm.iconOnly }],attrs:{\"size\":_vm.iconSize,\"name\":`severity-${_vm.severity.icon}`}}),_vm._v(\" \"),(!_vm.iconOnly)?_c('tooltip-on-truncate',{staticClass:\"gl-truncate\",attrs:{\"title\":_vm.severity.label}},[_vm._v(\"\\n \"+_vm._s(_vm.severity.label)+\"\\n \")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./severity.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./severity.vue?vue&type=script&lang=js\"","<!-- eslint-disable vue/multi-word-component-names -->\n<script>\nimport { GlIcon } from '@gitlab/ui';\nimport TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate/tooltip_on_truncate.vue';\n\nexport default {\n components: {\n GlIcon,\n TooltipOnTruncate,\n },\n props: {\n severity: {\n type: Object,\n required: true,\n validator(severity) {\n const { value, label, icon } = severity;\n return value && label && icon;\n },\n },\n iconSize: {\n type: Number,\n required: false,\n default: 12,\n },\n iconOnly: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n};\n</script>\n\n<template>\n <div\n class=\"incident-severity gl-justify-content-between gl-inline-flex gl-max-w-full gl-items-center\"\n >\n <gl-icon\n :size=\"iconSize\"\n :name=\"`severity-${severity.icon}`\"\n :class=\"[`icon-${severity.icon}`, { 'gl-mr-3 gl-shrink-0': !iconOnly }]\"\n />\n <tooltip-on-truncate v-if=\"!iconOnly\" :title=\"severity.label\" class=\"gl-truncate\">\n {{ severity.label }}\n </tooltip-on-truncate>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./severity.vue?vue&type=template&id=506e5b38\"\nimport script from \"./severity.vue?vue&type=script&lang=js\"\nexport * from \"./severity.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"gl-relative\"},[_c('gl-avatar',{attrs:{\"label\":_vm.user.name,\"src\":_vm.avatarUrl,\"size\":_vm.imgSize,\"alt\":_vm.assigneeAlt,\"data-testid\":\"avatar-image\"}}),_vm._v(\" \"),(_vm.hasMergeIcon)?_c('gl-icon',{staticClass:\"merge-icon\",attrs:{\"name\":\"warning-solid\",\"aria-hidden\":\"true\"}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignee_avatar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignee_avatar.vue?vue&type=script&lang=js\"","<script>\nimport { GlAvatar, GlIcon } from '@gitlab/ui';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { __, sprintf } from '~/locale';\n\nexport default {\n components: {\n GlAvatar,\n GlIcon,\n },\n props: {\n user: {\n type: Object,\n required: true,\n },\n imgSize: {\n type: Number,\n required: true,\n },\n issuableType: {\n type: String,\n required: false,\n default: TYPE_ISSUE,\n },\n },\n computed: {\n assigneeAlt() {\n return sprintf(__(\"%{userName}'s avatar\"), { userName: this.user.name });\n },\n avatarUrl() {\n return (\n this.user.avatarUrl || this.user.avatar || this.user.avatar_url || gon.default_avatar_url\n );\n },\n isMergeRequest() {\n return this.issuableType === TYPE_MERGE_REQUEST;\n },\n hasMergeIcon() {\n const canMerge = this.user.mergeRequestInteraction?.canMerge || this.user.can_merge;\n return this.isMergeRequest && !canMerge;\n },\n },\n};\n</script>\n\n<template>\n <span class=\"gl-relative\">\n <gl-avatar\n :label=\"user.name\"\n :src=\"avatarUrl\"\n :size=\"imgSize\"\n :alt=\"assigneeAlt\"\n data-testid=\"avatar-image\"\n />\n <gl-icon v-if=\"hasMergeIcon\" name=\"warning-solid\" aria-hidden=\"true\" class=\"merge-icon\" />\n </span>\n</template>\n","import { render, staticRenderFns } from \"./assignee_avatar.vue?vue&type=template&id=77934b46\"\nimport script from \"./assignee_avatar.vue?vue&type=script&lang=js\"\nexport * from \"./assignee_avatar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemUpdate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemUpdateInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemUpdate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"workItem\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItem\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":186}};\n doc.loc.source = {\"body\":\"#import \\\"./work_item.fragment.graphql\\\"\\n\\nmutation workItemUpdate($input: WorkItemUpdateInput!) {\\n workItemUpdate(input: $input) {\\n workItem {\\n ...WorkItem\\n }\\n errors\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./work_item.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"workItemUpdate\"] = oneQuery(doc, \"workItemUpdate\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"issueHealthStatus\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"healthStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":192}};\n doc.loc.source = {\"body\":\"query issueHealthStatus($fullPath: ID!, $iid: String) {\\n workspace: project(fullPath: $fullPath) {\\n id\\n issuable: issue(iid: $iid) {\\n id\\n healthStatus\\n state\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueHealthStatus\"] = oneQuery(doc, \"issueHealthStatus\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectIssueUpdateParent\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemUpdateInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuableSetAttribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"workItemUpdate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"workItem\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgets\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemWidgetHierarchy\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":342}};\n doc.loc.source = {\"body\":\"mutation projectIssueUpdateParent($input: WorkItemUpdateInput!) {\\n issuableSetAttribute: workItemUpdate(input: $input) {\\n workItem {\\n id\\n widgets {\\n ... on WorkItemWidgetHierarchy {\\n type\\n parent {\\n id\\n title\\n webUrl\\n }\\n }\\n }\\n }\\n errors\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"projectIssueUpdateParent\"] = oneQuery(doc, \"projectIssueUpdateParent\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequestSetTimeEstimate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MergeRequestUpdateInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuableSetTimeEstimate\"},\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequestUpdate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequest\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"humanTimeEstimate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeEstimate\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":240}};\n doc.loc.source = {\"body\":\"mutation mergeRequestSetTimeEstimate($input: MergeRequestUpdateInput!) {\\n issuableSetTimeEstimate: mergeRequestUpdate(input: $input) {\\n errors\\n issuable: mergeRequest {\\n id\\n humanTimeEstimate\\n timeEstimate\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"mergeRequestSetTimeEstimate\"] = oneQuery(doc, \"mergeRequestSetTimeEstimate\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-modal',{ref:\"modal\",attrs:{\"title\":_vm.modalTitle,\"modal-id\":_vm.setTimeEstimateModalId,\"size\":\"sm\",\"data-testid\":\"set-time-estimate-modal\",\"action-primary\":_vm.primaryProps,\"action-secondary\":_vm.secondaryProps,\"action-cancel\":_vm.cancelProps},on:{\"hidden\":_vm.resetModal,\"primary\":function($event){$event.preventDefault();return _vm.saveTimeEstimate.apply(null, arguments)},\"secondary\":function($event){$event.preventDefault();return _vm.resetTimeEstimate.apply(null, arguments)},\"cancel\":_vm.close}},[_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.modalText)+\"\\n \")]),_vm._v(\" \"),_c('form',{staticClass:\"js-quick-submit\",on:{\"submit\":function($event){$event.preventDefault();return _vm.saveTimeEstimate.apply(null, arguments)}}},[_c('gl-form-group',{attrs:{\"label-for\":\"time-estimate\",\"label\":_vm.s__('TimeTracking|Estimate'),\"description\":_vm.s__(\n `TimeTracking|Enter time as a total duration (for example, 1mo 2w 3d 5h 10m), or specify hours and minutes (for example, 75:30).`,\n )}},[_c('gl-form-input',{attrs:{\"id\":\"time-estimate\",\"data-testid\":\"time-estimate\",\"autocomplete\":\"off\"},model:{value:(_vm.timeEstimate),callback:function ($$v) {_vm.timeEstimate=$$v},expression:\"timeEstimate\"}})],1),_vm._v(\" \"),(_vm.saveError)?_c('gl-alert',{staticClass:\"gl-mb-3\",attrs:{\"variant\":\"danger\",\"dismissible\":false}},[_vm._v(\"\\n \"+_vm._s(_vm.saveError)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"submit\",\"hidden\":\"\"}})],1),_vm._v(\" \"),_c('gl-link',{attrs:{\"href\":_vm.timeTrackingDocsPath}},[_vm._v(\"\\n \"+_vm._s(_vm.s__('TimeTracking|How do I estimate and track time?'))+\"\\n \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlFormGroup, GlFormInput, GlModal, GlAlert, GlLink } from '@gitlab/ui';\nimport { helpPagePath } from '~/helpers/help_page_helper';\nimport { issuableTypeText, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { isPositiveInteger } from '~/lib/utils/number_utils';\nimport { s__, __, sprintf } from '~/locale';\nimport updateWorkItemMutation from '~/work_items/graphql/update_work_item.mutation.graphql';\nimport issueSetTimeEstimateMutation from '../../queries/issue_set_time_estimate.mutation.graphql';\nimport mergeRequestSetTimeEstimateMutation from '../../queries/merge_request_set_time_estimate.mutation.graphql';\nimport { SET_TIME_ESTIMATE_MODAL_ID } from './constants';\n\nconst MUTATIONS = {\n [TYPE_ISSUE]: issueSetTimeEstimateMutation,\n [TYPE_MERGE_REQUEST]: mergeRequestSetTimeEstimateMutation,\n};\n\nexport default {\n components: {\n GlFormGroup,\n GlFormInput,\n GlModal,\n GlAlert,\n GlLink,\n },\n inject: {\n issuableType: {\n default: null,\n },\n },\n props: {\n fullPath: {\n type: String,\n required: false,\n default: '',\n },\n issuableIid: {\n type: String,\n required: false,\n default: '',\n },\n /**\n * This object must contain the following keys, used to show\n * the initial time estimate in the form:\n * - timeEstimate: the time estimate numeric value\n * - humanTimeEstimate: the time estimate in human readable format\n */\n timeTracking: {\n type: Object,\n required: true,\n },\n workItemId: {\n type: String,\n required: false,\n default: '',\n },\n workItemType: {\n type: String,\n required: false,\n default: '',\n },\n },\n data() {\n return {\n currentEstimate: this.timeTracking.timeEstimate ?? 0,\n timeEstimate: this.timeTracking.humanTimeEstimate ?? '',\n isSaving: false,\n isResetting: false,\n saveError: '',\n };\n },\n computed: {\n submitDisabled() {\n return this.isSaving || this.isResetting || this.timeEstimate === '';\n },\n resetDisabled() {\n return this.isSaving || this.isResetting || this.currentEstimate === 0;\n },\n primaryProps() {\n return {\n text: __('Save'),\n attributes: {\n variant: 'confirm',\n disabled: this.submitDisabled,\n loading: this.isSaving,\n },\n };\n },\n secondaryProps() {\n return this.currentEstimate === 0\n ? null\n : {\n text: __('Remove'),\n attributes: {\n disabled: this.resetDisabled,\n loading: this.isResetting,\n },\n };\n },\n cancelProps() {\n return {\n text: __('Cancel'),\n };\n },\n timeTrackingDocsPath() {\n return helpPagePath('user/project/time_tracking.md');\n },\n modalTitle() {\n return this.currentEstimate === 0\n ? s__('TimeTracking|Set time estimate')\n : s__('TimeTracking|Edit time estimate');\n },\n modalText() {\n const issuableTypeName = issuableTypeText[this.issuableType || this.workItemType];\n return sprintf(s__('TimeTracking|Set estimated time to complete this %{issuableTypeName}.'), {\n issuableTypeName,\n });\n },\n setTimeEstimateModalId() {\n return this.workItemId\n ? `${SET_TIME_ESTIMATE_MODAL_ID}-${this.workItemId}`\n : SET_TIME_ESTIMATE_MODAL_ID;\n },\n },\n watch: {\n timeTracking() {\n this.currentEstimate = this.timeTracking.timeEstimate ?? 0;\n this.timeEstimate = this.timeTracking.humanTimeEstimate ?? '';\n },\n },\n methods: {\n resetModal() {\n this.isSaving = false;\n this.isResetting = false;\n this.saveError = '';\n },\n close() {\n this.$refs.modal.close();\n },\n saveTimeEstimate(event) {\n event?.preventDefault();\n\n if (this.timeEstimate === '') {\n return;\n }\n\n this.isSaving = true;\n this.updateEstimatedTime(this.timeEstimate);\n },\n resetTimeEstimate() {\n this.isResetting = true;\n this.updateEstimatedTime('0');\n },\n updateEstimatedTime(timeEstimate) {\n this.saveError = '';\n\n if (this.workItemId) {\n return this.$apollo\n .mutate({\n mutation: updateWorkItemMutation,\n variables: {\n input: {\n id: this.workItemId,\n timeTrackingWidget: {\n timeEstimate:\n isPositiveInteger(timeEstimate) && timeEstimate > 0\n ? `${timeEstimate}h`\n : timeEstimate,\n },\n },\n },\n })\n .then(({ data }) => {\n if (data.workItemUpdate.errors.length) {\n throw new Error(data.workItemUpdate.errors);\n }\n\n this.close();\n })\n .catch((error) => {\n this.saveError =\n error?.message ||\n s__('TimeTracking|An error occurred while saving the time estimate.');\n })\n .finally(() => {\n this.isSaving = false;\n this.isResetting = false;\n });\n }\n\n return this.$apollo\n .mutate({\n mutation: MUTATIONS[this.issuableType],\n variables: {\n input: {\n projectPath: this.fullPath,\n iid: this.issuableIid,\n timeEstimate,\n },\n },\n })\n .then(({ data }) => {\n if (data.issuableSetTimeEstimate?.errors.length) {\n this.saveError =\n data.issuableSetTimeEstimate.errors[0].message ||\n data.issuableSetTimeEstimate.errors[0];\n } else {\n this.close();\n }\n })\n .catch((error) => {\n this.saveError =\n error?.message || s__('TimeTracking|An error occurred while saving the time estimate.');\n })\n .finally(() => {\n this.isSaving = false;\n this.isResetting = false;\n });\n },\n },\n};\n</script>\n\n<template>\n <gl-modal\n ref=\"modal\"\n :title=\"modalTitle\"\n :modal-id=\"setTimeEstimateModalId\"\n size=\"sm\"\n data-testid=\"set-time-estimate-modal\"\n :action-primary=\"primaryProps\"\n :action-secondary=\"secondaryProps\"\n :action-cancel=\"cancelProps\"\n @hidden=\"resetModal\"\n @primary.prevent=\"saveTimeEstimate\"\n @secondary.prevent=\"resetTimeEstimate\"\n @cancel=\"close\"\n >\n <p>\n {{ modalText }}\n </p>\n <form class=\"js-quick-submit\" @submit.prevent=\"saveTimeEstimate\">\n <gl-form-group\n label-for=\"time-estimate\"\n :label=\"s__('TimeTracking|Estimate')\"\n :description=\"\n s__(\n `TimeTracking|Enter time as a total duration (for example, 1mo 2w 3d 5h 10m), or specify hours and minutes (for example, 75:30).`,\n )\n \"\n >\n <gl-form-input\n id=\"time-estimate\"\n v-model=\"timeEstimate\"\n data-testid=\"time-estimate\"\n autocomplete=\"off\"\n />\n </gl-form-group>\n <gl-alert v-if=\"saveError\" variant=\"danger\" class=\"gl-mb-3\" :dismissible=\"false\">\n {{ saveError }}\n </gl-alert>\n <!-- This is needed to have the quick-submit behaviour (with Ctrl + Enter or Cmd + Enter) -->\n <input type=\"submit\" hidden />\n </form>\n <gl-link :href=\"timeTrackingDocsPath\">\n {{ s__('TimeTracking|How do I estimate and track time?') }}\n </gl-link>\n </gl-modal>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./set_time_estimate_form.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./set_time_estimate_form.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./set_time_estimate_form.vue?vue&type=template&id=4dd2ad36\"\nimport script from \"./set_time_estimate_form.vue?vue&type=script&lang=js\"\nexport * from \"./set_time_estimate_form.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"epicAncestors\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"epic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ancestors\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasParent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"url\"},\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":289}};\n doc.loc.source = {\"body\":\"query epicAncestors($fullPath: ID!, $iid: ID) {\\n workspace: group(fullPath: $fullPath) {\\n id\\n issuable: epic(iid: $iid) {\\n id\\n ancestors {\\n nodes {\\n id\\n title\\n state\\n hasParent\\n url: webUrl\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"epicAncestors\"] = oneQuery(doc, \"epicAncestors\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"labels-select-wrapper gl-relative\",class:{\n 'is-standalone': _vm.isDropdownVariantStandalone(_vm.variant),\n 'is-embedded': _vm.isDropdownVariantEmbedded(_vm.variant),\n },attrs:{\"data-testid\":\"sidebar-labels\"}},[(_vm.isDropdownVariantSidebar(_vm.variant))?[_c('sidebar-editable-item',{ref:\"editable\",attrs:{\"title\":_vm.__('Labels'),\"edit-tooltip\":_vm.labelTooltip,\"edit-aria-label\":_vm.labelShortcutDescription,\"edit-keyshortcuts\":_vm.labelShortcutKey,\"loading\":_vm.isLoading,\"can-edit\":_vm.allowLabelEdit},on:{\"open\":function($event){_vm.oldIid = null}},scopedSlots:_vm._u([{key:\"collapsed\",fn:function(){return [_c('dropdown-value',{staticClass:\"gl-pt-2\",attrs:{\"disable-labels\":_vm.labelsSelectInProgress,\"selected-labels\":_vm.issuableLabels,\"allow-label-remove\":_vm.allowLabelRemove,\"supports-lock-on-merge\":_vm.isLockOnMergeSupported,\"labels-filter-base-path\":_vm.labelsFilterBasePath,\"labels-filter-param\":_vm.labelsFilterParam},on:{\"onLabelRemove\":_vm.handleLabelRemove,\"onCollapsedValueClick\":_vm.handleCollapsedValueClick}},[_vm._t(\"default\")],2)]},proxy:true},{key:\"default\",fn:function({ edit }){return [_c('dropdown-value',{staticClass:\"gl-mb-2\",attrs:{\"disable-labels\":_vm.labelsSelectInProgress,\"selected-labels\":_vm.issuableLabels,\"allow-label-remove\":_vm.allowLabelRemove,\"supports-lock-on-merge\":_vm.isLockOnMergeSupported,\"labels-filter-base-path\":_vm.labelsFilterBasePath,\"labels-filter-param\":_vm.labelsFilterParam},on:{\"onLabelRemove\":_vm.handleLabelRemove}},[_vm._t(\"default\")],2),_vm._v(\" \"),_c('dropdown-contents',{ref:\"dropdownContents\",staticClass:\"gl-mt-3 gl-w-full\",attrs:{\"dropdown-button-text\":_vm.dropdownButtonText,\"allow-multiselect\":_vm.allowMultiselect,\"labels-list-title\":_vm.labelsListTitle,\"footer-create-label-title\":_vm.footerCreateLabelTitle,\"footer-manage-label-title\":_vm.footerManageLabelTitle,\"labels-create-title\":_vm.labelsCreateTitle,\"selected-labels\":_vm.issuableLabels,\"variant\":_vm.variant,\"is-visible\":edit,\"full-path\":_vm.fullPath,\"workspace-type\":_vm.workspaceType,\"attr-workspace-path\":_vm.attrWorkspacePath,\"label-create-type\":_vm.labelCreateType},on:{\"setLabels\":_vm.handleDropdownClose,\"closeDropdown\":_vm.collapseEditableItem}})]}}],null,true)})]:[_c('dropdown-contents',{ref:\"dropdownContents\",staticClass:\"issuable-form-select-holder\",attrs:{\"dropdown-button-text\":_vm.dropdownButtonText,\"allow-multiselect\":_vm.allowMultiselect,\"labels-list-title\":_vm.labelsListTitle,\"footer-create-label-title\":_vm.footerCreateLabelTitle,\"footer-manage-label-title\":_vm.footerManageLabelTitle,\"labels-create-title\":_vm.labelsCreateTitle,\"selected-labels\":_vm.issuableLabels,\"variant\":_vm.variant,\"full-path\":_vm.fullPath,\"workspace-type\":_vm.workspaceType,\"attr-workspace-path\":_vm.attrWorkspacePath,\"label-create-type\":_vm.labelCreateType},on:{\"setLabels\":_vm.handleDropdownClose}}),_vm._v(\" \"),(_vm.isLabelListEnabled)?_c('embedded-labels-list',{attrs:{\"disabled\":_vm.labelsSelectInProgress,\"selected-labels\":_vm.issuableLabels,\"allow-label-remove\":_vm.allowLabelRemove,\"supports-lock-on-merge\":_vm.isLockOnMergeSupported,\"labels-filter-base-path\":_vm.labelsFilterBasePath,\"labels-filter-param\":_vm.labelsFilterParam},on:{\"onLabelRemove\":_vm.handleLabelRemove}}):_vm._e()]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_contents_labels_view.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_contents_labels_view.vue?vue&type=script&lang=js\"","<script>\nimport { GlDropdownItem, GlLoadingIcon, GlIntersectionObserver } from '@gitlab/ui';\nimport fuzzaldrinPlus from 'fuzzaldrin-plus';\nimport { createAlert } from '~/alert';\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { __ } from '~/locale';\nimport { workspaceLabelsQueries } from '../../../queries/constants';\nimport LabelItem from './label_item.vue';\n\nexport default {\n components: {\n GlDropdownItem,\n GlLoadingIcon,\n GlIntersectionObserver,\n LabelItem,\n },\n model: {\n prop: 'localSelectedLabels',\n },\n props: {\n allowMultiselect: {\n type: Boolean,\n required: true,\n },\n localSelectedLabels: {\n type: Array,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n searchKey: {\n type: String,\n required: true,\n },\n workspaceType: {\n type: String,\n required: true,\n },\n },\n data() {\n return {\n labels: [],\n isVisible: false,\n };\n },\n apollo: {\n labels: {\n query() {\n return workspaceLabelsQueries[this.workspaceType].query;\n },\n variables() {\n return {\n fullPath: this.fullPath,\n searchTerm: this.searchKey,\n };\n },\n skip() {\n return this.searchKey.length === 1 || !this.isVisible;\n },\n update: (data) => data.workspace?.labels?.nodes || [],\n error() {\n createAlert({ message: __('Error fetching labels.') });\n },\n },\n },\n computed: {\n labelsFetchInProgress() {\n return this.$apollo.queries.labels.loading;\n },\n localSelectedLabelsIds() {\n return this.localSelectedLabels.map((label) => getIdFromGraphQLId(label.id));\n },\n visibleLabels() {\n if (this.searchKey) {\n return fuzzaldrinPlus.filter(this.labels, this.searchKey, {\n key: ['title'],\n });\n }\n return this.labels;\n },\n showNoMatchingResultsMessage() {\n return Boolean(this.searchKey) && this.visibleLabels.length === 0;\n },\n shouldHighlightFirstItem() {\n return this.searchKey !== '' && this.visibleLabels.length > 0;\n },\n },\n methods: {\n isLabelSelected(label) {\n return this.localSelectedLabelsIds.includes(getIdFromGraphQLId(label.id));\n },\n /**\n * This method scrolls item from dropdown into\n * the view if it is off the viewable area of the\n * container.\n */\n scrollIntoViewIfNeeded() {\n const highlightedLabel = this.$refs.labelsListContainer.querySelector('.is-focused');\n\n if (highlightedLabel) {\n const container = this.$refs.labelsListContainer.getBoundingClientRect();\n const label = highlightedLabel.getBoundingClientRect();\n\n if (label.bottom > container.bottom) {\n this.$refs.labelsListContainer.scrollTop += label.bottom - container.bottom;\n } else if (label.top < container.top) {\n this.$refs.labelsListContainer.scrollTop -= container.top - label.top;\n }\n }\n },\n updateSelectedLabels(label) {\n let labels;\n if (this.isLabelSelected(label)) {\n labels = this.localSelectedLabels.filter(\n ({ id }) => id !== getIdFromGraphQLId(label.id) && id !== label.id,\n );\n } else {\n labels = [...this.localSelectedLabels, label];\n }\n this.$emit('input', labels);\n },\n handleLabelClick(label) {\n this.updateSelectedLabels(label);\n if (!this.allowMultiselect) {\n this.$emit('closeDropdown', this.localSelectedLabels);\n }\n },\n onDropdownAppear() {\n this.isVisible = true;\n },\n selectFirstItem() {\n if (this.shouldHighlightFirstItem) {\n this.handleLabelClick(this.visibleLabels[0]);\n }\n },\n handleFocus(event, index) {\n if (index === 0 && event.target.classList.contains('is-focused')) {\n event.target.classList.remove('is-focused');\n\n // Focus next element (if available) as the first item was already focused.\n if (event.target.parentNode?.nextElementSibling?.querySelector('button')) {\n event.target.parentNode.nextElementSibling.querySelector('button').focus();\n }\n }\n },\n },\n};\n</script>\n\n<template>\n <gl-intersection-observer @appear=\"onDropdownAppear\">\n <div class=\"js-labels-list\">\n <div ref=\"labelsListContainer\" data-testid=\"dropdown-content\">\n <gl-loading-icon\n v-if=\"labelsFetchInProgress\"\n class=\"labels-fetch-loading gl-mb-3 gl-h-full gl-w-full gl-items-center\"\n size=\"sm\"\n />\n <template v-else>\n <gl-dropdown-item\n v-for=\"(label, index) in visibleLabels\"\n :key=\"label.id\"\n :is-checked=\"isLabelSelected(label)\"\n is-check-item\n :active=\"shouldHighlightFirstItem && index === 0\"\n active-class=\"is-focused\"\n data-testid=\"labels-list\"\n @focus.capture.native=\"handleFocus($event, index)\"\n @click.capture.native.stop=\"handleLabelClick(label)\"\n >\n <label-item :label=\"label\" />\n </gl-dropdown-item>\n <gl-dropdown-item\n v-show=\"showNoMatchingResultsMessage\"\n class=\"gl-p-3 gl-text-center\"\n data-testid=\"no-results\"\n >\n {{ __('No matching results') }}\n </gl-dropdown-item>\n </template>\n </div>\n </div>\n </gl-intersection-observer>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_contents_labels_view.vue?vue&type=template&id=c7ae369c\"\nimport script from \"./dropdown_contents_labels_view.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_contents_labels_view.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-intersection-observer',{on:{\"appear\":_vm.onDropdownAppear}},[_c('div',{staticClass:\"js-labels-list\"},[_c('div',{ref:\"labelsListContainer\",attrs:{\"data-testid\":\"dropdown-content\"}},[(_vm.labelsFetchInProgress)?_c('gl-loading-icon',{staticClass:\"labels-fetch-loading gl-mb-3 gl-h-full gl-w-full gl-items-center\",attrs:{\"size\":\"sm\"}}):[_vm._l((_vm.visibleLabels),function(label,index){return _c('gl-dropdown-item',{key:label.id,attrs:{\"is-checked\":_vm.isLabelSelected(label),\"is-check-item\":\"\",\"active\":_vm.shouldHighlightFirstItem && index === 0,\"active-class\":\"is-focused\",\"data-testid\":\"labels-list\"},nativeOn:{\"!focus\":function($event){return _vm.handleFocus($event, index)},\"!click\":function($event){$event.stopPropagation();return _vm.handleLabelClick(label)}}},[_c('label-item',{attrs:{\"label\":label}})],1)}),_vm._v(\" \"),_c('gl-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showNoMatchingResultsMessage),expression:\"showNoMatchingResultsMessage\"}],staticClass:\"gl-p-3 gl-text-center\",attrs:{\"data-testid\":\"no-results\"}},[_vm._v(\"\\n \"+_vm._s(_vm.__('No matching results'))+\"\\n \")])]],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VARIANT_EMBEDDED, VARIANT_SIDEBAR, VARIANT_STANDALONE } from './constants';\n\n/**\n * Returns boolean representing whether dropdown variant\n * is `sidebar`\n * @param {string} variant\n */\nexport const isDropdownVariantSidebar = (variant) => variant === VARIANT_SIDEBAR;\n\n/**\n * Returns boolean representing whether dropdown variant\n * is `standalone`\n * @param {string} variant\n */\nexport const isDropdownVariantStandalone = (variant) => variant === VARIANT_STANDALONE;\n\n/**\n * Returns boolean representing whether dropdown variant\n * is `embedded`\n * @param {string} variant\n */\nexport const isDropdownVariantEmbedded = (variant) => variant === VARIANT_EMBEDDED;\n","<script>\nimport { GlButton, GlDropdown, GlDropdownItem, GlLink } from '@gitlab/ui';\nimport { debounce } from 'lodash';\nimport { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants';\nimport { __, s__, sprintf } from '~/locale';\nimport DropdownContentsCreateView from './dropdown_contents_create_view.vue';\nimport DropdownContentsLabelsView from './dropdown_contents_labels_view.vue';\nimport DropdownFooter from './dropdown_footer.vue';\nimport DropdownHeader from './dropdown_header.vue';\nimport { isDropdownVariantStandalone, isDropdownVariantSidebar } from './utils';\n\nexport default {\n components: {\n DropdownContentsLabelsView,\n DropdownContentsCreateView,\n DropdownHeader,\n DropdownFooter,\n GlButton,\n GlDropdown,\n GlDropdownItem,\n GlLink,\n },\n inject: {\n toggleAttrs: {\n default: () => ({}),\n },\n },\n props: {\n labelsCreateTitle: {\n type: String,\n required: true,\n },\n selectedLabels: {\n type: Array,\n required: true,\n },\n allowMultiselect: {\n type: Boolean,\n required: true,\n },\n labelsListTitle: {\n type: String,\n required: true,\n },\n dropdownButtonText: {\n type: String,\n required: true,\n },\n footerCreateLabelTitle: {\n type: String,\n required: true,\n },\n footerManageLabelTitle: {\n type: String,\n required: true,\n },\n variant: {\n type: String,\n required: true,\n },\n isVisible: {\n type: Boolean,\n required: false,\n default: false,\n },\n fullPath: {\n type: String,\n required: true,\n },\n workspaceType: {\n type: String,\n required: true,\n },\n attrWorkspacePath: {\n type: String,\n required: true,\n },\n labelCreateType: {\n type: String,\n required: true,\n },\n },\n data() {\n return {\n showDropdownContentsCreateView: false,\n localSelectedLabels: [...this.selectedLabels],\n isDirty: false,\n searchKey: '',\n };\n },\n computed: {\n dropdownContentsView() {\n if (this.showDropdownContentsCreateView) {\n return 'dropdown-contents-create-view';\n }\n return 'dropdown-contents-labels-view';\n },\n dropdownTitle() {\n return this.showDropdownContentsCreateView ? this.labelsCreateTitle : this.labelsListTitle;\n },\n buttonText() {\n if (!this.localSelectedLabels.length) {\n return this.dropdownButtonText || __('Label');\n }\n if (this.localSelectedLabels.length > 1) {\n return sprintf(s__('LabelSelect|%{firstLabelName} +%{remainingLabelCount} more'), {\n firstLabelName: this.localSelectedLabels[0].title,\n remainingLabelCount: this.localSelectedLabels.length - 1,\n });\n }\n return this.localSelectedLabels[0].title;\n },\n showDropdownFooter() {\n return !this.showDropdownContentsCreateView && !this.isStandalone;\n },\n isStandalone() {\n return isDropdownVariantStandalone(this.variant);\n },\n isSidebar() {\n return isDropdownVariantSidebar(this.variant);\n },\n },\n watch: {\n localSelectedLabels: {\n handler() {\n this.isDirty = true;\n },\n deep: true,\n },\n isVisible(newVal) {\n if (newVal) {\n this.$refs.dropdown.show();\n this.isDirty = false;\n this.localSelectedLabels = this.selectedLabels;\n } else {\n this.$refs.dropdown.hide();\n this.setLabels();\n }\n },\n selectedLabels(newVal) {\n if (!this.isDirty || !this.isSidebar) {\n this.localSelectedLabels = newVal;\n }\n },\n },\n created() {\n this.debouncedSearchKeyUpdate = debounce(this.setSearchKey, DEFAULT_DEBOUNCE_AND_THROTTLE_MS);\n },\n beforeDestroy() {\n this.debouncedSearchKeyUpdate.cancel();\n },\n methods: {\n toggleDropdownContentsCreateView() {\n this.showDropdownContentsCreateView = !this.showDropdownContentsCreateView;\n },\n toggleDropdownContent() {\n this.toggleDropdownContentsCreateView();\n // Required to recalculate dropdown position as its size changes\n if (this.$refs.dropdown?.$refs.dropdown) {\n this.$refs.dropdown.$refs.dropdown.$_popper.scheduleUpdate();\n }\n },\n setLabels() {\n if (!this.isDirty) {\n return;\n }\n this.$emit('setLabels', this.localSelectedLabels);\n },\n handleDropdownHide() {\n this.$emit('closeDropdown');\n if (!this.isSidebar) {\n this.setLabels();\n }\n },\n setSearchKey(value) {\n this.searchKey = value;\n },\n setFocus() {\n this.$refs.header.focusInput();\n },\n hideDropdown() {\n this.$refs.dropdown.hide();\n },\n showDropdown() {\n this.$refs.dropdown.show();\n },\n clearSearch() {\n if (!this.allowMultiselect || this.isStandalone) {\n return;\n }\n this.searchKey = '';\n this.setFocus();\n },\n selectFirstItem() {\n this.$refs.dropdownContentsView.selectFirstItem();\n },\n handleNewLabel(label) {\n this.localSelectedLabels = [...this.localSelectedLabels, label];\n this.toggleDropdownContent();\n this.clearSearch();\n },\n },\n};\n</script>\n\n<template>\n <gl-dropdown\n ref=\"dropdown\"\n :text=\"buttonText\"\n block\n data-testid=\"labels-select-dropdown-contents\"\n :toggle-attrs=\"toggleAttrs\"\n @hide=\"handleDropdownHide\"\n @shown=\"setFocus\"\n >\n <template #header>\n <dropdown-header\n ref=\"header\"\n :search-key=\"searchKey\"\n :labels-create-title=\"labelsCreateTitle\"\n :labels-list-title=\"labelsListTitle\"\n :show-dropdown-contents-create-view=\"showDropdownContentsCreateView\"\n :is-standalone=\"isStandalone\"\n @toggleDropdownContentsCreateView=\"toggleDropdownContent\"\n @closeDropdown=\"hideDropdown\"\n @input=\"debouncedSearchKeyUpdate\"\n @searchEnter.prevent=\"selectFirstItem\"\n />\n </template>\n <template #default>\n <component\n :is=\"dropdownContentsView\"\n ref=\"dropdownContentsView\"\n v-model=\"localSelectedLabels\"\n :search-key=\"searchKey\"\n :allow-multiselect=\"allowMultiselect\"\n :full-path=\"fullPath\"\n :workspace-type=\"workspaceType\"\n :attr-workspace-path=\"attrWorkspacePath\"\n :label-create-type=\"labelCreateType\"\n @hideCreateView=\"toggleDropdownContent\"\n @labelCreated=\"handleNewLabel\"\n @input=\"clearSearch\"\n />\n </template>\n <template #footer>\n <dropdown-footer\n v-if=\"showDropdownFooter\"\n :footer-create-label-title=\"footerCreateLabelTitle\"\n :footer-manage-label-title=\"footerManageLabelTitle\"\n @toggleDropdownContentsCreateView=\"toggleDropdownContent\"\n />\n </template>\n </gl-dropdown>\n</template>\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_contents.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_contents.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./dropdown_contents.vue?vue&type=template&id=bc30b3ca\"\nimport script from \"./dropdown_contents.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_contents.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-dropdown',{ref:\"dropdown\",attrs:{\"text\":_vm.buttonText,\"block\":\"\",\"data-testid\":\"labels-select-dropdown-contents\",\"toggle-attrs\":_vm.toggleAttrs},on:{\"hide\":_vm.handleDropdownHide,\"shown\":_vm.setFocus},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('dropdown-header',{ref:\"header\",attrs:{\"search-key\":_vm.searchKey,\"labels-create-title\":_vm.labelsCreateTitle,\"labels-list-title\":_vm.labelsListTitle,\"show-dropdown-contents-create-view\":_vm.showDropdownContentsCreateView,\"is-standalone\":_vm.isStandalone},on:{\"toggleDropdownContentsCreateView\":_vm.toggleDropdownContent,\"closeDropdown\":_vm.hideDropdown,\"input\":_vm.debouncedSearchKeyUpdate,\"searchEnter\":function($event){$event.preventDefault();return _vm.selectFirstItem.apply(null, arguments)}}})]},proxy:true},{key:\"default\",fn:function(){return [_c(_vm.dropdownContentsView,{ref:\"dropdownContentsView\",tag:\"component\",attrs:{\"search-key\":_vm.searchKey,\"allow-multiselect\":_vm.allowMultiselect,\"full-path\":_vm.fullPath,\"workspace-type\":_vm.workspaceType,\"attr-workspace-path\":_vm.attrWorkspacePath,\"label-create-type\":_vm.labelCreateType},on:{\"hideCreateView\":_vm.toggleDropdownContent,\"labelCreated\":_vm.handleNewLabel,\"input\":_vm.clearSearch},model:{value:(_vm.localSelectedLabels),callback:function ($$v) {_vm.localSelectedLabels=$$v},expression:\"localSelectedLabels\"}})]},proxy:true},{key:\"footer\",fn:function(){return [(_vm.showDropdownFooter)?_c('dropdown-footer',{attrs:{\"footer-create-label-title\":_vm.footerCreateLabelTitle,\"footer-manage-label-title\":_vm.footerManageLabelTitle},on:{\"toggleDropdownContentsCreateView\":_vm.toggleDropdownContent}}):_vm._e()]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./embedded_labels_list.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./embedded_labels_list.vue?vue&type=script&lang=js\"","<script>\nimport { GlLabel } from '@gitlab/ui';\nimport { sortBy } from 'lodash';\nimport { isScopedLabel } from '~/lib/utils/common_utils';\n\nexport default {\n components: {\n GlLabel,\n },\n inject: ['allowScopedLabels'],\n props: {\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n selectedLabels: {\n type: Array,\n required: true,\n },\n allowLabelRemove: {\n type: Boolean,\n required: true,\n },\n supportsLockOnMerge: {\n type: Boolean,\n required: false,\n default: false,\n },\n labelsFilterBasePath: {\n type: String,\n required: true,\n },\n labelsFilterParam: {\n type: String,\n required: true,\n },\n },\n computed: {\n sortedSelectedLabels() {\n return sortBy(this.selectedLabels, (label) => isScopedLabel(label));\n },\n },\n methods: {\n buildFilterUrl({ title }) {\n const { labelsFilterBasePath: basePath, labelsFilterParam: filterParam } = this;\n\n return `${basePath}?${filterParam}[]=${encodeURIComponent(title)}`;\n },\n scopedLabel(label) {\n return this.allowScopedLabels && isScopedLabel(label);\n },\n isLabelLocked(label) {\n // These particular labels were initialized from HAML data, so the attributes are\n // in snake case instead of camel case\n return label.lock_on_merge && this.supportsLockOnMerge;\n },\n showCloseButton(label) {\n return this.allowLabelRemove && !this.isLabelLocked(label);\n },\n removeLabel(labelId) {\n this.$emit('onLabelRemove', labelId);\n },\n },\n};\n</script>\n\n<template>\n <div class=\"gl-mt-3\" data-testid=\"embedded-labels-list\">\n <gl-label\n v-for=\"label in sortedSelectedLabels\"\n :key=\"label.id\"\n class=\"gl-mb-2 gl-mr-2\"\n :data-qa-label-name=\"label.title\"\n :title=\"label.title\"\n :description=\"label.description\"\n :background-color=\"label.color\"\n :target=\"buildFilterUrl(label)\"\n :scoped=\"scopedLabel(label)\"\n :show-close-button=\"showCloseButton(label)\"\n :disabled=\"disabled\"\n tooltip-placement=\"top\"\n @close=\"removeLabel(label.id)\"\n />\n </div>\n</template>\n","import { render, staticRenderFns } from \"./embedded_labels_list.vue?vue&type=template&id=4cf671a6\"\nimport script from \"./embedded_labels_list.vue?vue&type=script&lang=js\"\nexport * from \"./embedded_labels_list.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gl-mt-3\",attrs:{\"data-testid\":\"embedded-labels-list\"}},_vm._l((_vm.sortedSelectedLabels),function(label){return _c('gl-label',{key:label.id,staticClass:\"gl-mb-2 gl-mr-2\",attrs:{\"data-qa-label-name\":label.title,\"title\":label.title,\"description\":label.description,\"background-color\":label.color,\"target\":_vm.buildFilterUrl(label),\"scoped\":_vm.scopedLabel(label),\"show-close-button\":_vm.showCloseButton(label),\"disabled\":_vm.disabled,\"tooltip-placement\":\"top\"},on:{\"close\":function($event){return _vm.removeLabel(label.id)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./labels_select_root.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./labels_select_root.vue?vue&type=script&lang=js\"","<script>\nimport { debounce } from 'lodash';\nimport issuableLabelsSubscription from 'ee_else_ce/sidebar/queries/issuable_labels.subscription.graphql';\nimport { mutationOperationMode, getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { createAlert } from '~/alert';\nimport glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport { TYPE_EPIC, TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_TEST_CASE } from '~/issues/constants';\n\nimport { __ } from '~/locale';\nimport { keysFor, ISSUABLE_CHANGE_LABEL } from '~/behaviors/shortcuts/keybindings';\nimport { shouldDisableShortcuts } from '~/behaviors/shortcuts/shortcuts_toggle';\nimport { sanitize } from '~/lib/dompurify';\nimport { issuableLabelsQueries } from '../../../queries/constants';\nimport SidebarEditableItem from '../../sidebar_editable_item.vue';\nimport { DEBOUNCE_DROPDOWN_DELAY, VARIANT_SIDEBAR } from './constants';\nimport DropdownContents from './dropdown_contents.vue';\nimport DropdownValue from './dropdown_value.vue';\nimport EmbeddedLabelsList from './embedded_labels_list.vue';\nimport {\n isDropdownVariantSidebar,\n isDropdownVariantStandalone,\n isDropdownVariantEmbedded,\n} from './utils';\n\nexport default {\n components: {\n DropdownValue,\n DropdownContents,\n EmbeddedLabelsList,\n SidebarEditableItem,\n },\n mixins: [glFeatureFlagsMixin()],\n inject: {\n allowLabelEdit: {\n default: false,\n },\n },\n props: {\n iid: {\n type: String,\n required: false,\n default: '',\n },\n fullPath: {\n type: String,\n required: true,\n },\n allowLabelRemove: {\n type: Boolean,\n required: false,\n default: false,\n },\n allowMultiselect: {\n type: Boolean,\n required: false,\n default: false,\n },\n showEmbeddedLabelsList: {\n type: Boolean,\n required: false,\n default: false,\n },\n variant: {\n type: String,\n required: false,\n default: VARIANT_SIDEBAR,\n },\n labelsFilterBasePath: {\n type: String,\n required: false,\n default: '',\n },\n labelsFilterParam: {\n type: String,\n required: false,\n default: 'label_name',\n },\n dropdownButtonText: {\n type: String,\n required: false,\n default: __('Label'),\n },\n labelsListTitle: {\n type: String,\n required: false,\n default: __('Select labels'),\n },\n labelsCreateTitle: {\n type: String,\n required: false,\n default: __('Create group label'),\n },\n footerCreateLabelTitle: {\n type: String,\n required: false,\n default: __('Create group label'),\n },\n footerManageLabelTitle: {\n type: String,\n required: false,\n default: __('Manage group labels'),\n },\n issuableType: {\n type: String,\n required: true,\n },\n issuableSupportsLockOnMerge: {\n type: Boolean,\n required: false,\n default: false,\n },\n workspaceType: {\n type: String,\n required: true,\n },\n attrWorkspacePath: {\n type: String,\n required: true,\n },\n labelCreateType: {\n type: String,\n required: true,\n },\n selectedLabels: {\n type: Array,\n required: false,\n default: () => [],\n },\n },\n data() {\n return {\n contentIsOnViewport: true,\n issuable: null,\n labelsSelectInProgress: false,\n oldIid: null,\n sidebarExpandedOnClick: false,\n };\n },\n computed: {\n isLoading() {\n return this.labelsSelectInProgress || this.$apollo.queries.issuable.loading;\n },\n issuableLabelIds() {\n return this.issuableLabels.map((label) => label.id);\n },\n issuableLabels() {\n if (this.iid !== '') {\n return this.issuable?.labels.nodes || [];\n }\n\n return this.selectedLabels || [];\n },\n issuableId() {\n return this.issuable?.id;\n },\n isRealtimeEnabled() {\n return this.glFeatures.realtimeLabels;\n },\n isLabelListEnabled() {\n return this.showEmbeddedLabelsList && isDropdownVariantEmbedded(this.variant);\n },\n isLockOnMergeSupported() {\n return this.issuableSupportsLockOnMerge || this.issuable?.supportsLockOnMerge;\n },\n labelShortcutDescription() {\n return shouldDisableShortcuts() ? null : ISSUABLE_CHANGE_LABEL.description;\n },\n labelShortcutKey() {\n return shouldDisableShortcuts() ? null : keysFor(ISSUABLE_CHANGE_LABEL)[0];\n },\n labelTooltip() {\n const description = this.labelShortcutDescription;\n const key = this.labelShortcutKey;\n return shouldDisableShortcuts()\n ? null\n : sanitize(`${description} <kbd class=\"flat gl-ml-1\" aria-hidden=true>${key}</kbd>`);\n },\n },\n apollo: {\n issuable: {\n query() {\n return issuableLabelsQueries[this.issuableType].issuableQuery;\n },\n skip() {\n return !isDropdownVariantSidebar(this.variant) || !this.iid;\n },\n variables() {\n const queryVariables = {\n iid: this.iid,\n fullPath: this.fullPath,\n };\n\n if (this.issuableType === TYPE_TEST_CASE) {\n queryVariables.types = ['TEST_CASE'];\n }\n\n return queryVariables;\n },\n update(data) {\n return data.workspace?.issuable;\n },\n error() {\n createAlert({ message: __('Error fetching labels.') });\n },\n subscribeToMore: {\n document() {\n return issuableLabelsSubscription;\n },\n variables() {\n return {\n issuableId: this.issuableId,\n };\n },\n skip() {\n return !this.issuableId || !this.isDropdownVariantSidebar;\n },\n updateQuery(\n _,\n {\n subscriptionData: {\n data: { issuableLabelsUpdated },\n },\n },\n ) {\n if (issuableLabelsUpdated) {\n const {\n id,\n labels: { nodes },\n } = issuableLabelsUpdated;\n this.$emit('updateSelectedLabels', { id, labels: nodes });\n }\n },\n },\n },\n },\n watch: {\n iid(_, oldVal) {\n this.oldIid = oldVal;\n },\n },\n mounted() {\n document.addEventListener('toggleSidebarRevealLabelsDropdown', this.handleCollapsedValueClick);\n },\n beforeDestroy() {\n document.removeEventListener(\n 'toggleSidebarRevealLabelsDropdown',\n this.handleCollapsedValueClick,\n );\n },\n methods: {\n handleDropdownClose(labels) {\n if (this.iid !== '') {\n this.updateSelectedLabels(this.getUpdateVariables(labels));\n } else {\n this.$emit('updateSelectedLabels', { labels });\n }\n\n this.collapseEditableItem();\n },\n collapseEditableItem() {\n this.$refs.editable?.collapse();\n if (this.sidebarExpandedOnClick) {\n this.sidebarExpandedOnClick = false;\n this.$emit('toggleCollapse');\n }\n },\n handleCollapsedValueClick() {\n this.sidebarExpandedOnClick = true;\n this.$emit('toggleCollapse');\n debounce(() => {\n this.$refs.editable.toggle();\n this.$refs.dropdownContents.showDropdown();\n }, DEBOUNCE_DROPDOWN_DELAY)();\n },\n getUpdateVariables(labels) {\n let labelIds = [];\n\n labelIds = labels.map(({ id }) => id);\n const currentIid = this.oldIid || this.iid;\n\n const updateVariables = {\n iid: currentIid,\n projectPath: this.fullPath,\n labelIds,\n };\n\n switch (this.issuableType) {\n case TYPE_ISSUE:\n case TYPE_TEST_CASE:\n return updateVariables;\n case TYPE_MERGE_REQUEST:\n return {\n ...updateVariables,\n operationMode: mutationOperationMode.replace,\n };\n case TYPE_EPIC:\n return {\n iid: currentIid,\n groupPath: this.fullPath,\n addLabelIds: labelIds.map((id) => getIdFromGraphQLId(id)),\n removeLabelIds: this.issuableLabelIds\n .filter((id) => !labelIds.includes(id))\n .map((id) => getIdFromGraphQLId(id)),\n };\n default:\n return {};\n }\n },\n updateSelectedLabels(inputVariables) {\n this.labelsSelectInProgress = true;\n\n this.$apollo\n .mutate({\n mutation: issuableLabelsQueries[this.issuableType].mutation,\n variables: { input: inputVariables },\n })\n .then(({ data }) => {\n if (data.updateIssuableLabels?.errors?.length) {\n throw new Error();\n }\n\n this.$emit('updateSelectedLabels', {\n id: data.updateIssuableLabels?.issuable?.id,\n labels: data.updateIssuableLabels?.issuable?.labels?.nodes,\n });\n })\n .catch((error) =>\n createAlert({\n message: __('An error occurred while updating labels.'),\n captureError: true,\n error,\n }),\n )\n .finally(() => {\n this.labelsSelectInProgress = false;\n });\n },\n getRemoveVariables(labelId) {\n const removeVariables = {\n iid: this.iid,\n projectPath: this.fullPath,\n };\n\n switch (this.issuableType) {\n case TYPE_ISSUE:\n case TYPE_TEST_CASE:\n return {\n ...removeVariables,\n removeLabelIds: [labelId],\n };\n case TYPE_MERGE_REQUEST:\n return {\n ...removeVariables,\n labelIds: [labelId],\n operationMode: mutationOperationMode.remove,\n };\n case TYPE_EPIC:\n return {\n iid: this.iid,\n removeLabelIds: [getIdFromGraphQLId(labelId)],\n groupPath: this.fullPath,\n };\n default:\n return {};\n }\n },\n handleLabelRemove(labelId) {\n if (this.iid !== '') {\n this.updateSelectedLabels(this.getRemoveVariables(labelId));\n }\n\n this.$emit('onLabelRemove', labelId);\n },\n isDropdownVariantSidebar,\n isDropdownVariantStandalone,\n isDropdownVariantEmbedded,\n },\n};\n</script>\n\n<template>\n <div\n class=\"labels-select-wrapper gl-relative\"\n :class=\"{\n 'is-standalone': isDropdownVariantStandalone(variant),\n 'is-embedded': isDropdownVariantEmbedded(variant),\n }\"\n data-testid=\"sidebar-labels\"\n >\n <template v-if=\"isDropdownVariantSidebar(variant)\">\n <sidebar-editable-item\n ref=\"editable\"\n :title=\"__('Labels')\"\n :edit-tooltip=\"labelTooltip\"\n :edit-aria-label=\"labelShortcutDescription\"\n :edit-keyshortcuts=\"labelShortcutKey\"\n :loading=\"isLoading\"\n :can-edit=\"allowLabelEdit\"\n @open=\"oldIid = null\"\n >\n <template #collapsed>\n <dropdown-value\n :disable-labels=\"labelsSelectInProgress\"\n :selected-labels=\"issuableLabels\"\n :allow-label-remove=\"allowLabelRemove\"\n :supports-lock-on-merge=\"isLockOnMergeSupported\"\n :labels-filter-base-path=\"labelsFilterBasePath\"\n :labels-filter-param=\"labelsFilterParam\"\n class=\"gl-pt-2\"\n @onLabelRemove=\"handleLabelRemove\"\n @onCollapsedValueClick=\"handleCollapsedValueClick\"\n >\n <slot></slot>\n </dropdown-value>\n </template>\n <template #default=\"{ edit }\">\n <dropdown-value\n :disable-labels=\"labelsSelectInProgress\"\n :selected-labels=\"issuableLabels\"\n :allow-label-remove=\"allowLabelRemove\"\n :supports-lock-on-merge=\"isLockOnMergeSupported\"\n :labels-filter-base-path=\"labelsFilterBasePath\"\n :labels-filter-param=\"labelsFilterParam\"\n class=\"gl-mb-2\"\n @onLabelRemove=\"handleLabelRemove\"\n >\n <slot></slot>\n </dropdown-value>\n <dropdown-contents\n ref=\"dropdownContents\"\n class=\"gl-mt-3 gl-w-full\"\n :dropdown-button-text=\"dropdownButtonText\"\n :allow-multiselect=\"allowMultiselect\"\n :labels-list-title=\"labelsListTitle\"\n :footer-create-label-title=\"footerCreateLabelTitle\"\n :footer-manage-label-title=\"footerManageLabelTitle\"\n :labels-create-title=\"labelsCreateTitle\"\n :selected-labels=\"issuableLabels\"\n :variant=\"variant\"\n :is-visible=\"edit\"\n :full-path=\"fullPath\"\n :workspace-type=\"workspaceType\"\n :attr-workspace-path=\"attrWorkspacePath\"\n :label-create-type=\"labelCreateType\"\n @setLabels=\"handleDropdownClose\"\n @closeDropdown=\"collapseEditableItem\"\n />\n </template>\n </sidebar-editable-item>\n </template>\n <template v-else>\n <dropdown-contents\n ref=\"dropdownContents\"\n class=\"issuable-form-select-holder\"\n :dropdown-button-text=\"dropdownButtonText\"\n :allow-multiselect=\"allowMultiselect\"\n :labels-list-title=\"labelsListTitle\"\n :footer-create-label-title=\"footerCreateLabelTitle\"\n :footer-manage-label-title=\"footerManageLabelTitle\"\n :labels-create-title=\"labelsCreateTitle\"\n :selected-labels=\"issuableLabels\"\n :variant=\"variant\"\n :full-path=\"fullPath\"\n :workspace-type=\"workspaceType\"\n :attr-workspace-path=\"attrWorkspacePath\"\n :label-create-type=\"labelCreateType\"\n @setLabels=\"handleDropdownClose\"\n />\n <embedded-labels-list\n v-if=\"isLabelListEnabled\"\n :disabled=\"labelsSelectInProgress\"\n :selected-labels=\"issuableLabels\"\n :allow-label-remove=\"allowLabelRemove\"\n :supports-lock-on-merge=\"isLockOnMergeSupported\"\n :labels-filter-base-path=\"labelsFilterBasePath\"\n :labels-filter-param=\"labelsFilterParam\"\n @onLabelRemove=\"handleLabelRemove\"\n />\n </template>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./labels_select_root.vue?vue&type=template&id=7c2f1289\"\nimport script from \"./labels_select_root.vue?vue&type=script&lang=js\"\nexport * from \"./labels_select_root.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * Input/Textarea Autofocus Directive for Vue\n */\nexport default {\n /**\n * Set focus when element is rendered, but\n * is not visible, using IntersectionObserver\n *\n * @param {Element} el Target element\n */\n inserted(el) {\n if ('IntersectionObserver' in window) {\n // Element visibility is dynamic, so we attach observer\n el.visibilityObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n // Combining `intersectionRatio > 0` and\n // element's `offsetParent` presence will\n // deteremine if element is truely visible\n if (entry.intersectionRatio > 0 && entry.target.offsetParent) {\n entry.target.focus();\n }\n });\n });\n\n // Bind the observer.\n el.visibilityObserver.observe(el, { root: document.documentElement });\n }\n },\n /**\n * Detach observer on unbind hook.\n *\n * @param {Element} el Target element\n */\n unbind(el) {\n if (el.visibilityObserver) {\n el.visibilityObserver.disconnect();\n }\n },\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"createTimelog\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"TimelogCreateInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timelogCreate\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timelog\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"IssueTimeTrackingFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequest\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"MergeRequestTimeTrackingFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":422}};\n doc.loc.source = {\"body\":\"#import \\\"~/graphql_shared/fragments/issue_time_tracking.fragment.graphql\\\"\\n#import \\\"~/graphql_shared/fragments/merge_request_time_tracking.fragment.graphql\\\"\\n\\nmutation createTimelog($input: TimelogCreateInput!) {\\n timelogCreate(input: $input) {\\n errors\\n timelog {\\n id\\n issue {\\n ...IssueTimeTrackingFragment\\n }\\n mergeRequest {\\n ...MergeRequestTimeTrackingFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"~/graphql_shared/fragments/issue_time_tracking.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"~/graphql_shared/fragments/merge_request_time_tracking.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"createTimelog\"] = oneQuery(doc, \"createTimelog\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"issueWeight\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":168}};\n doc.loc.source = {\"body\":\"query issueWeight($fullPath: ID!, $iid: String) {\\n workspace: project(fullPath: $fullPath) {\\n id\\n issuable: issue(iid: $iid) {\\n id\\n weight\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueWeight\"] = oneQuery(doc, \"issueWeight\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('sidebar-editable-item',{ref:\"editable\",staticClass:\"block confidentiality\",attrs:{\"title\":_vm.__('Confidentiality'),\"tracking\":_vm.$options.tracking,\"loading\":_vm.isLoading,\"data-testid\":\"sidebar-confidentiality\"},scopedSlots:_vm._u([{key:\"collapsed\",fn:function(){return [_c('div',[(!_vm.isLoading)?_c('sidebar-confidentiality-content',{class:{ 'gl-mt-3': !_vm.isClassicSidebar },attrs:{\"confidential\":_vm.confidential,\"issuable-type\":_vm.issuableType},on:{\"expandSidebar\":_vm.expandSidebar}}):_vm._e()],1)]},proxy:true},{key:\"default\",fn:function(){return [_c('sidebar-confidentiality-content',{attrs:{\"confidential\":_vm.confidential,\"issuable-type\":_vm.issuableType}}),_vm._v(\" \"),_c('sidebar-confidentiality-form',{attrs:{\"iid\":_vm.iid,\"full-path\":_vm.fullPath,\"confidential\":_vm.confidential,\"issuable-type\":_vm.issuableType},on:{\"closeForm\":_vm.closeForm}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_confidentiality_content.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_confidentiality_content.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon, GlAlert, GlTooltipDirective } from '@gitlab/ui';\nimport { __ } from '~/locale';\nimport { TYPE_EPIC, WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants';\nimport { confidentialityInfoText } from '~/vue_shared/constants';\n\nexport default {\n components: {\n GlIcon,\n GlAlert,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n props: {\n confidential: {\n type: Boolean,\n required: true,\n },\n issuableType: {\n type: String,\n required: true,\n },\n },\n computed: {\n confidentialBodyText() {\n return confidentialityInfoText(\n this.issuableType === TYPE_EPIC ? WORKSPACE_GROUP : WORKSPACE_PROJECT,\n this.issuableType,\n );\n },\n confidentialIcon() {\n return this.confidential ? 'eye-slash' : 'eye';\n },\n tooltipLabel() {\n return this.confidential ? __('Confidential') : __('Not confidential');\n },\n },\n};\n</script>\n\n<template>\n <div>\n <div\n v-gl-tooltip.viewport.left\n :title=\"tooltipLabel\"\n class=\"sidebar-collapsed-icon\"\n data-testid=\"sidebar-collapsed-icon\"\n @click=\"$emit('expandSidebar')\"\n >\n <gl-icon\n :size=\"16\"\n :name=\"confidentialIcon\"\n class=\"sidebar-item-icon gl-inline-block\"\n :class=\"{ 'is-active': confidential }\"\n />\n </div>\n <gl-icon\n :size=\"16\"\n :name=\"confidentialIcon\"\n class=\"sidebar-item-icon hide-collapsed gl-inline-block\"\n :class=\"{ 'is-active': confidential }\"\n />\n <span class=\"hide-collapsed\" data-testid=\"confidential-text\">\n {{ tooltipLabel }}\n <gl-alert\n v-if=\"confidential\"\n :show-icon=\"false\"\n :dismissible=\"false\"\n variant=\"warning\"\n class=\"gl-mt-3\"\n >\n {{ confidentialBodyText }}\n </gl-alert>\n </span>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_confidentiality_content.vue?vue&type=template&id=cc3f9314\"\nimport script from \"./sidebar_confidentiality_content.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_confidentiality_content.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.viewport.left\",modifiers:{\"viewport\":true,\"left\":true}}],staticClass:\"sidebar-collapsed-icon\",attrs:{\"title\":_vm.tooltipLabel,\"data-testid\":\"sidebar-collapsed-icon\"},on:{\"click\":function($event){return _vm.$emit('expandSidebar')}}},[_c('gl-icon',{staticClass:\"sidebar-item-icon gl-inline-block\",class:{ 'is-active': _vm.confidential },attrs:{\"size\":16,\"name\":_vm.confidentialIcon}})],1),_vm._v(\" \"),_c('gl-icon',{staticClass:\"sidebar-item-icon hide-collapsed gl-inline-block\",class:{ 'is-active': _vm.confidential },attrs:{\"size\":16,\"name\":_vm.confidentialIcon}}),_vm._v(\" \"),_c('span',{staticClass:\"hide-collapsed\",attrs:{\"data-testid\":\"confidential-text\"}},[_vm._v(\"\\n \"+_vm._s(_vm.tooltipLabel)+\"\\n \"),(_vm.confidential)?_c('gl-alert',{staticClass:\"gl-mt-3\",attrs:{\"show-icon\":false,\"dismissible\":false,\"variant\":\"warning\"}},[_vm._v(\"\\n \"+_vm._s(_vm.confidentialBodyText)+\"\\n \")]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_confidentiality_form.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_confidentiality_form.vue?vue&type=script&lang=js\"","<script>\nimport { GlSprintf, GlButton } from '@gitlab/ui';\nimport { createAlert } from '~/alert';\nimport { TYPE_ISSUE, TYPE_TEST_CASE, issuableTypeText } from '~/issues/constants';\nimport { __, sprintf } from '~/locale';\nimport { confidentialityQueries } from '../../queries/constants';\n\nexport default {\n i18n: {\n confidentialityOnWarning: __(\n 'You are going to turn on confidentiality. Only %{context} members with %{strongStart}%{permissions}%{strongEnd} can view or be notified about this %{issuableType}.',\n ),\n confidentialityOffWarning: __(\n 'You are going to turn off the confidentiality. This means %{strongStart}everyone%{strongEnd} will be able to see%{commentText} this %{issuableType}.',\n ),\n },\n components: {\n GlSprintf,\n GlButton,\n },\n props: {\n iid: {\n type: String,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n confidential: {\n required: true,\n type: Boolean,\n },\n issuableType: {\n required: true,\n type: String,\n },\n },\n data() {\n return {\n loading: false,\n };\n },\n computed: {\n toggleButtonText() {\n if (this.loading) {\n return __('Applying');\n }\n return this.confidential ? __('Turn off') : __('Turn on');\n },\n warningMessage() {\n return this.confidential\n ? this.$options.i18n.confidentialityOffWarning\n : this.$options.i18n.confidentialityOnWarning;\n },\n isIssue() {\n return this.issuableType === TYPE_ISSUE;\n },\n isTestCase() {\n return this.issuableType === TYPE_TEST_CASE;\n },\n isIssueOrTestCase() {\n return this.isIssue || this.isTestCase;\n },\n context() {\n return this.isIssueOrTestCase ? __('project') : __('group');\n },\n workspacePath() {\n return this.isIssueOrTestCase\n ? {\n projectPath: this.fullPath,\n }\n : {\n groupPath: this.fullPath,\n };\n },\n permissions() {\n return this.isIssue\n ? __('at least the Planner role, the author, and assignees')\n : __('at least the Planner role');\n },\n issuableTypeText() {\n return issuableTypeText[this.issuableType];\n },\n commentText() {\n return this.isTestCase ? '' : __(' and leave a comment on');\n },\n },\n methods: {\n submitForm() {\n this.loading = true;\n this.$apollo\n .mutate({\n mutation: confidentialityQueries[this.issuableType].mutation,\n variables: {\n input: {\n ...this.workspacePath,\n iid: this.iid,\n confidential: !this.confidential,\n },\n },\n })\n .then(\n ({\n data: {\n issuableSetConfidential: { errors },\n },\n }) => {\n if (errors.length) {\n createAlert({\n message: errors[0],\n });\n } else {\n this.$emit('closeForm');\n }\n },\n )\n .catch(() => {\n createAlert({\n message: sprintf(\n __('Something went wrong while setting %{issuableType} confidentiality.'),\n {\n issuableType: this.issuableTypeText,\n },\n ),\n });\n })\n .finally(() => {\n this.loading = false;\n });\n },\n },\n};\n</script>\n\n<template>\n <div class=\"dropdown show\">\n <div class=\"dropdown-menu sidebar-item-warning-message\">\n <div>\n <p data-testid=\"warning-message\">\n <gl-sprintf :message=\"warningMessage\">\n <template #strong=\"{ content }\">\n <strong>\n <gl-sprintf :message=\"content\">\n <template #permissions>{{ permissions }}</template>\n </gl-sprintf>\n </strong>\n </template>\n <template #context>{{ context }}</template>\n <template #commentText>{{ commentText }}</template>\n <template #issuableType>{{ issuableTypeText }}</template>\n </gl-sprintf>\n </p>\n <div class=\"sidebar-item-warning-message-actions\">\n <gl-button class=\"gl-mr-3\" data-testid=\"confidential-cancel\" @click=\"$emit('closeForm')\">\n {{ __('Cancel') }}\n </gl-button>\n <gl-button\n category=\"secondary\"\n variant=\"confirm\"\n :disabled=\"loading\"\n :loading=\"loading\"\n data-testid=\"confidential-toggle\"\n @click.prevent=\"submitForm\"\n >\n {{ toggleButtonText }}\n </gl-button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_confidentiality_form.vue?vue&type=template&id=2980d1fb\"\nimport script from \"./sidebar_confidentiality_form.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_confidentiality_form.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"dropdown show\"},[_c('div',{staticClass:\"dropdown-menu sidebar-item-warning-message\"},[_c('div',[_c('p',{attrs:{\"data-testid\":\"warning-message\"}},[_c('gl-sprintf',{attrs:{\"message\":_vm.warningMessage},scopedSlots:_vm._u([{key:\"strong\",fn:function({ content }){return [_c('strong',[_c('gl-sprintf',{attrs:{\"message\":content},scopedSlots:_vm._u([{key:\"permissions\",fn:function(){return [_vm._v(_vm._s(_vm.permissions))]},proxy:true}],null,true)})],1)]}},{key:\"context\",fn:function(){return [_vm._v(_vm._s(_vm.context))]},proxy:true},{key:\"commentText\",fn:function(){return [_vm._v(_vm._s(_vm.commentText))]},proxy:true},{key:\"issuableType\",fn:function(){return [_vm._v(_vm._s(_vm.issuableTypeText))]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"sidebar-item-warning-message-actions\"},[_c('gl-button',{staticClass:\"gl-mr-3\",attrs:{\"data-testid\":\"confidential-cancel\"},on:{\"click\":function($event){return _vm.$emit('closeForm')}}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Cancel'))+\"\\n \")]),_vm._v(\" \"),_c('gl-button',{attrs:{\"category\":\"secondary\",\"variant\":\"confirm\",\"disabled\":_vm.loading,\"loading\":_vm.loading,\"data-testid\":\"confidential-toggle\"},on:{\"click\":function($event){$event.preventDefault();return _vm.submitForm.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.toggleButtonText)+\"\\n \")])],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport produce from 'immer';\nimport Vue from 'vue';\nimport { createAlert } from '~/alert';\nimport { __, sprintf } from '~/locale';\nimport { Tracking } from '../../constants';\nimport { confidentialityQueries } from '../../queries/constants';\nimport SidebarEditableItem from '../sidebar_editable_item.vue';\nimport SidebarConfidentialityContent from './sidebar_confidentiality_content.vue';\nimport SidebarConfidentialityForm from './sidebar_confidentiality_form.vue';\n\nexport const confidentialWidget = Vue.observable({\n setConfidentiality: null,\n});\n\nconst hideDropdownEvent = new CustomEvent('hiddenGlDropdown', {\n bubbles: true,\n});\n\nexport default {\n tracking: {\n event: Tracking.editEvent,\n label: Tracking.rightSidebarLabel,\n property: 'confidentiality',\n },\n components: {\n SidebarEditableItem,\n SidebarConfidentialityContent,\n SidebarConfidentialityForm,\n },\n inject: {\n isClassicSidebar: {\n default: false,\n },\n },\n props: {\n iid: {\n type: String,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n issuableType: {\n required: true,\n type: String,\n },\n },\n data() {\n return {\n confidential: false,\n };\n },\n apollo: {\n confidential: {\n query() {\n return confidentialityQueries[this.issuableType].query;\n },\n variables() {\n return {\n fullPath: this.fullPath,\n iid: String(this.iid),\n };\n },\n update(data) {\n return data.workspace?.issuable?.confidential || false;\n },\n skip() {\n return !this.iid;\n },\n result({ data }) {\n if (!data) {\n return;\n }\n this.$emit('confidentialityUpdated', data.workspace?.issuable?.confidential);\n },\n error() {\n createAlert({\n message: sprintf(\n __('Something went wrong while setting %{issuableType} confidentiality.'),\n {\n issuableType: this.issuableType,\n },\n ),\n });\n },\n },\n },\n computed: {\n isLoading() {\n return this.$apollo.queries.confidential.loading;\n },\n },\n mounted() {\n confidentialWidget.setConfidentiality = this.setConfidentiality;\n },\n destroyed() {\n confidentialWidget.setConfidentiality = null;\n },\n methods: {\n closeForm() {\n this.$refs.editable.collapse();\n this.$el.dispatchEvent(hideDropdownEvent);\n this.$emit('closeForm');\n },\n // synchronizing the quick action with the sidebar widget\n // this is a temporary solution until we have confidentiality real-time updates\n setConfidentiality() {\n const { defaultClient: client } = this.$apollo.provider.clients;\n const sourceData = client.readQuery({\n query: confidentialityQueries[this.issuableType].query,\n variables: { fullPath: this.fullPath, iid: this.iid },\n });\n\n const data = produce(sourceData, (draftData) => {\n draftData.workspace.issuable.confidential = !this.confidential;\n });\n\n client.writeQuery({\n query: confidentialityQueries[this.issuableType].query,\n variables: { fullPath: this.fullPath, iid: this.iid },\n data,\n });\n },\n expandSidebar() {\n this.$refs.editable.expand();\n this.$emit('expandSidebar');\n },\n },\n};\n</script>\n\n<template>\n <sidebar-editable-item\n ref=\"editable\"\n :title=\"__('Confidentiality')\"\n :tracking=\"$options.tracking\"\n :loading=\"isLoading\"\n class=\"block confidentiality\"\n data-testid=\"sidebar-confidentiality\"\n >\n <template #collapsed>\n <div>\n <sidebar-confidentiality-content\n v-if=\"!isLoading\"\n :confidential=\"confidential\"\n :issuable-type=\"issuableType\"\n :class=\"{ 'gl-mt-3': !isClassicSidebar }\"\n @expandSidebar=\"expandSidebar\"\n />\n </div>\n </template>\n <template #default>\n <sidebar-confidentiality-content :confidential=\"confidential\" :issuable-type=\"issuableType\" />\n <sidebar-confidentiality-form\n :iid=\"iid\"\n :full-path=\"fullPath\"\n :confidential=\"confidential\"\n :issuable-type=\"issuableType\"\n @closeForm=\"closeForm\"\n />\n </template>\n </sidebar-editable-item>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_confidentiality_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_confidentiality_widget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./sidebar_confidentiality_widget.vue?vue&type=template&id=0e1d964c\"\nimport script from \"./sidebar_confidentiality_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_confidentiality_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"},{name:\"gl-resize-observer\",rawName:\"v-gl-resize-observer\",value:(_vm.onResize),expression:\"onResize\"}],staticClass:\"gl-min-w-0\",class:_vm.classes},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlTooltipDirective, GlResizeObserverDirective } from '@gitlab/ui';\nimport { isFunction, debounce } from 'lodash';\nimport { hasHorizontalOverflow } from '~/lib/utils/dom_utils';\n\nconst UPDATE_TOOLTIP_DEBOUNCED_WAIT_MS = 300;\n\nexport default {\n directives: {\n GlTooltip: GlTooltipDirective,\n GlResizeObserver: GlResizeObserverDirective,\n },\n props: {\n title: {\n type: String,\n required: false,\n default: '',\n },\n placement: {\n type: String,\n required: false,\n default: 'top',\n },\n boundary: {\n type: String,\n required: false,\n default: '',\n },\n truncateTarget: {\n type: [String, Function],\n required: false,\n default: '',\n },\n },\n data() {\n return {\n tooltipDisabled: true,\n };\n },\n computed: {\n classes() {\n if (this.tooltipDisabled) {\n return '';\n }\n return 'js-show-tooltip';\n },\n tooltip() {\n return {\n title: this.title,\n placement: this.placement,\n disabled: this.tooltipDisabled,\n // Only set the tooltip boundary if it's truthy\n ...(this.boundary && { boundary: this.boundary }),\n };\n },\n },\n watch: {\n title() {\n // Wait on $nextTick in case the slot width changes\n this.$nextTick(this.updateTooltip);\n },\n },\n created() {\n this.updateTooltipDebounced = debounce(this.updateTooltip, UPDATE_TOOLTIP_DEBOUNCED_WAIT_MS);\n },\n mounted() {\n this.updateTooltip();\n },\n methods: {\n selectTarget() {\n if (isFunction(this.truncateTarget)) {\n return this.truncateTarget(this.$el);\n }\n if (this.truncateTarget === 'child') {\n return this.$el.childNodes[0];\n }\n return this.$el;\n },\n updateTooltip() {\n this.tooltipDisabled = !hasHorizontalOverflow(this.selectTarget());\n },\n onResize() {\n this.updateTooltipDebounced();\n },\n },\n};\n</script>\n\n<template>\n <span v-gl-tooltip=\"tooltip\" v-gl-resize-observer=\"onResize\" :class=\"classes\" class=\"gl-min-w-0\">\n <slot></slot>\n </span>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip_on_truncate.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tooltip_on_truncate.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./tooltip_on_truncate.vue?vue&type=template&id=50568281\"\nimport script from \"./tooltip_on_truncate.vue?vue&type=script&lang=js\"\nexport * from \"./tooltip_on_truncate.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableEpicUpdated\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableEpicUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Issue\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasEpic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"epic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"EpicFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":255}};\n doc.loc.source = {\"body\":\"#import \\\"./epic.fragment.graphql\\\"\\n\\nsubscription issuableEpicUpdated($issuableId: IssuableID!) {\\n issuableEpicUpdated(issuableId: $issuableId) {\\n ... on Issue {\\n id\\n hasEpic\\n attribute: epic {\\n ...EpicFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./epic.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issuableEpicUpdated\"] = oneQuery(doc, \"issuableEpicUpdated\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"issueSetTimeEstimate\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateIssueInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuableSetTimeEstimate\"},\"name\":{\"kind\":\"Name\",\"value\":\"updateIssue\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"humanTimeEstimate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timeEstimate\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":212}};\n doc.loc.source = {\"body\":\"mutation issueSetTimeEstimate($input: UpdateIssueInput!) {\\n issuableSetTimeEstimate: updateIssue(input: $input) {\\n errors\\n issuable: issue {\\n id\\n humanTimeEstimate\\n timeEstimate\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueSetTimeEstimate\"] = oneQuery(doc, \"issueSetTimeEstimate\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Iteration\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"startDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dueDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationCadence\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":130}};\n doc.loc.source = {\"body\":\"fragment IterationFragment on Iteration {\\n id\\n title\\n startDate\\n dueDate\\n webUrl\\n iterationCadence {\\n id\\n title\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IterationFragment\"] = oneQuery(doc, \"IterationFragment\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-button',_vm._b({class:{ 'btn-icon': _vm.isIconButton },attrs:{\"aria-label\":_vm.buttonLabel},on:{\"click\":function($event){return _vm.onToggle($event)}}},'gl-button',_vm.$attrs,false),[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.buttonLabel))]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./todo_button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./todo_button.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton } from '@gitlab/ui';\nimport { todoLabel, updateGlobalTodoCount } from '../../utils';\n\nexport default {\n components: {\n GlButton,\n },\n props: {\n isTodo: {\n type: Boolean,\n required: false,\n default: true,\n },\n isIconButton: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n computed: {\n buttonLabel() {\n return todoLabel(this.isTodo);\n },\n },\n methods: {\n incrementGlobalTodoCount() {\n updateGlobalTodoCount(1);\n },\n decrementGlobalTodoCount() {\n updateGlobalTodoCount(-1);\n },\n onToggle(event) {\n if (this.isTodo) {\n this.decrementGlobalTodoCount();\n } else {\n this.incrementGlobalTodoCount();\n }\n this.$emit('click', event);\n },\n },\n};\n</script>\n\n<template>\n <gl-button\n v-bind=\"$attrs\"\n :aria-label=\"buttonLabel\"\n :class=\"{ 'btn-icon': isIconButton }\"\n @click=\"onToggle($event)\"\n >\n <slot>{{ buttonLabel }}</slot>\n </gl-button>\n</template>\n","import { render, staticRenderFns } from \"./todo_button.vue?vue&type=template&id=1d8cd8ea\"\nimport script from \"./todo_button.vue?vue&type=script&lang=js\"\nexport * from \"./todo_button.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { s__ } from '~/locale';\nimport { helpPagePath } from '~/helpers/help_page_helper';\n\nexport const PROJECT_SELECT_LABEL_ID = 'project-select';\nexport const SEARCH_DELAY = 200;\nexport const VALID_TOKEN_BACKGROUND = 'gl-bg-green-100';\nexport const WARNING_TOKEN_BACKGROUND = 'gl-bg-orange-100';\nexport const INVALID_TOKEN_BACKGROUND = 'gl-bg-red-100';\nexport const TOAST_MESSAGE_LOCALSTORAGE_KEY = 'members_invited_successfully';\nexport const MEMBERS_WITH_QUEUED_STATUS_LOCALSTORAGE_KEY = 'members_queued_successfully';\n\nexport const GROUP_FILTERS = {\n ALL: 'all',\n DESCENDANT_GROUPS: 'descendant_groups',\n};\n\nexport const USERS_FILTER_ALL = 'all';\nexport const USERS_FILTER_SAML_PROVIDER_ID = 'saml_provider_id';\nexport const TRIGGER_ELEMENT_BUTTON = 'button';\nexport const TOP_NAV_INVITE_MEMBERS_COMPONENT = 'invite_members';\nexport const TRIGGER_ELEMENT_WITH_EMOJI = 'text-emoji';\nexport const TRIGGER_ELEMENT_DROPDOWN_WITH_EMOJI = 'dropdown-text-emoji';\nexport const TRIGGER_ELEMENT_DISCLOSURE_DROPDOWN = 'dropdown-text';\nexport const INVITE_MEMBER_MODAL_TRACKING_CATEGORY = 'invite_members_modal';\nexport const IMPORT_PROJECT_MEMBERS_MODAL_TRACKING_CATEGORY = 'invite_project_members_modal';\nexport const IMPORT_PROJECT_MEMBERS_MODAL_TRACKING_LABEL = 'project-members-page';\nexport const MEMBERS_MODAL_DEFAULT_TITLE = s__('InviteMembersModal|Invite members');\nexport const MEMBERS_MODAL_CELEBRATE_TITLE = s__(\n 'InviteMembersModal|GitLab is better with colleagues!',\n);\nexport const MEMBERS_MODAL_CELEBRATE_INTRO = s__(\n 'InviteMembersModal|How about inviting a colleague or two to join you?',\n);\nexport const MEMBERS_TO_GROUP_DEFAULT_INTRO_TEXT = s__(\n \"InviteMembersModal|You're inviting members to the %{strongStart}%{name}%{strongEnd} group.\",\n);\n\nexport const MEMBERS_TO_PROJECT_DEFAULT_INTRO_TEXT = s__(\n \"InviteMembersModal|You're inviting members to the %{strongStart}%{name}%{strongEnd} project.\",\n);\nexport const MEMBERS_TO_PROJECT_CELEBRATE_INTRO_TEXT = s__(\n \"InviteMembersModal|Congratulations on creating your project, you're almost there!\",\n);\nexport const MEMBERS_SEARCH_FIELD = s__('InviteMembersModal|Username, name or email address');\nexport const MEMBERS_PLACEHOLDER = s__(\n 'InviteMembersModal|Select from GitLab usernames or enter email addresses',\n);\n\nexport const GROUP_MODAL_DEFAULT_TITLE = s__('InviteMembersModal|Invite a group');\nexport const GROUP_MODAL_TO_GROUP_DEFAULT_INTRO_TEXT = s__(\n \"InviteMembersModal|You're inviting a group to the %{strongStart}%{name}%{strongEnd} group.\",\n);\nexport const GROUP_MODAL_TO_PROJECT_DEFAULT_INTRO_TEXT = s__(\n \"InviteMembersModal|You're inviting a group to the %{strongStart}%{name}%{strongEnd} project.\",\n);\n\nexport const GROUP_MODAL_TO_GROUP_ALERT_BODY = s__(\n 'InviteMembersModal|Inviting a group %{linkStart}adds its members to your group%{linkEnd}, including members who join after the invite. This might put your group over the free %{count} user limit.',\n);\nexport const GROUP_MODAL_TO_GROUP_ALERT_LINK = helpPagePath(\n 'user/project/members/sharing_projects_groups',\n {\n anchor: 'invite-a-group-to-a-group',\n },\n);\nexport const GROUP_MODAL_TO_PROJECT_ALERT_BODY = s__(\n 'InviteMembersModal|Inviting a group %{linkStart}adds its members to your project%{linkEnd}, including members who join after the invite. This might put your group over the free %{count} user limit.',\n);\nexport const GROUP_MODAL_TO_PROJECT_ALERT_LINK = helpPagePath(\n 'user/project/members/sharing_projects_groups',\n {\n anchor: 'invite-a-group-to-a-project',\n },\n);\n\nexport const GROUP_SEARCH_FIELD = s__('InviteMembersModal|Select a group to invite');\nexport const GROUP_PLACEHOLDER = s__('InviteMembersModal|Search for a group to invite');\n\nexport const ACCESS_LEVEL = s__('InviteMembersModal|Select maximum role');\nexport const ACCESS_EXPIRE_DATE = s__('InviteMembersModal|Access expiration date (optional)');\nexport const TOAST_MESSAGE_SUCCESSFUL = s__('InviteMembersModal|Members were successfully added.');\nexport const QUEUED_MESSAGE_SUCCESSFUL = s__(\n 'InviteMembersModal|Some invitations have been queued for administrator approval.',\n);\nexport const INVALID_FEEDBACK_MESSAGE_DEFAULT = s__('InviteMembersModal|Something went wrong');\nexport const READ_MORE_TEXT = s__(\n `InviteMembersModal|%{linkStart}Read more%{linkEnd} about role permissions. You can change this later. Invited members are limited to this role or their current group role, whichever is lower.`,\n);\nexport const READ_MORE_ACCESS_EXPIRATION_TEXT = s__(\n `InviteMembersModal|%{linkStart}Read more%{linkEnd} about access expiration`,\n);\nexport const INVITE_BUTTON_TEXT = s__('InviteMembersModal|Invite');\nexport const INVITE_BUTTON_TEXT_DISABLED = s__('InviteMembersModal|Manage members');\nexport const CANCEL_BUTTON_TEXT = s__('InviteMembersModal|Cancel');\nexport const HEADER_CLOSE_LABEL = s__('InviteMembersModal|Close invite team members');\nexport const MEMBER_ERROR_LIST_TEXT = s__(\n 'InviteMembersModal|Review the invite errors and try again:',\n);\nexport const COLLAPSED_ERRORS = s__('InviteMembersModal|Show more (%{count})');\nexport const EXPANDED_ERRORS = s__('InviteMembersModal|Show less');\nexport const EMPTY_INVITES_ALERT_TEXT = s__('InviteMembersModal|Please add members to invite');\n\nexport const MEMBER_MODAL_LABELS = {\n modal: {\n default: {\n title: MEMBERS_MODAL_DEFAULT_TITLE,\n },\n celebrate: {\n title: MEMBERS_MODAL_CELEBRATE_TITLE,\n intro: MEMBERS_MODAL_CELEBRATE_INTRO,\n },\n },\n toGroup: {\n default: {\n introText: MEMBERS_TO_GROUP_DEFAULT_INTRO_TEXT,\n },\n },\n toProject: {\n default: {\n introText: MEMBERS_TO_PROJECT_DEFAULT_INTRO_TEXT,\n },\n celebrate: {\n introText: MEMBERS_TO_PROJECT_CELEBRATE_INTRO_TEXT,\n },\n },\n searchField: MEMBERS_SEARCH_FIELD,\n placeHolder: MEMBERS_PLACEHOLDER,\n toastMessageSuccessful: TOAST_MESSAGE_SUCCESSFUL,\n memberErrorListText: MEMBER_ERROR_LIST_TEXT,\n collapsedErrors: COLLAPSED_ERRORS,\n expandedErrors: EXPANDED_ERRORS,\n emptyInvitesAlertText: EMPTY_INVITES_ALERT_TEXT,\n};\n\nexport const GROUP_MODAL_LABELS = {\n title: GROUP_MODAL_DEFAULT_TITLE,\n toGroup: {\n introText: GROUP_MODAL_TO_GROUP_DEFAULT_INTRO_TEXT,\n notificationText: GROUP_MODAL_TO_GROUP_ALERT_BODY,\n notificationLink: GROUP_MODAL_TO_GROUP_ALERT_LINK,\n },\n toProject: {\n introText: GROUP_MODAL_TO_PROJECT_DEFAULT_INTRO_TEXT,\n notificationText: GROUP_MODAL_TO_PROJECT_ALERT_BODY,\n notificationLink: GROUP_MODAL_TO_PROJECT_ALERT_LINK,\n },\n searchField: GROUP_SEARCH_FIELD,\n placeHolder: GROUP_PLACEHOLDER,\n toastMessageSuccessful: TOAST_MESSAGE_SUCCESSFUL,\n};\n\nexport const ON_SHOW_TRACK_LABEL = 'over_limit_modal_viewed';\nexport const ON_CELEBRATION_TRACK_LABEL = 'invite_celebration_modal';\n\nexport const WARNING_ALERT_TITLE = s__(\n 'InviteMembersModal|You only have space for %{count} more %{members} in %{name}',\n);\nexport const DANGER_ALERT_TITLE = s__(\n \"InviteMembersModal|You've reached your %{count} %{members} limit for %{name}\",\n);\n\nexport const REACHED_LIMIT_VARIANT = 'reached';\nexport const CLOSE_TO_LIMIT_VARIANT = 'close';\n\nexport const REACHED_LIMIT_MESSAGE = s__(\n 'InviteMembersModal|To invite new users to this top-level group, you must remove existing users. You can still add existing users from the top-level group, including any subgroups and projects.',\n);\n\nexport const REACHED_LIMIT_UPGRADE_SUGGESTION_MESSAGE = REACHED_LIMIT_MESSAGE.concat(\n s__(\n 'InviteMembersModal| To get more members, the owner of this top-level group can %{trialLinkStart}start a trial%{trialLinkEnd} or %{upgradeLinkStart}upgrade%{upgradeLinkEnd} to a paid tier.',\n ),\n);\n\nexport const CLOSE_TO_LIMIT_MESSAGE = s__(\n 'InviteMembersModal|To get more members an owner of the group can %{trialLinkStart}start a trial%{trialLinkEnd} or %{upgradeLinkStart}upgrade%{upgradeLinkEnd} to a paid tier.',\n);\nexport const BLOCKED_SEAT_OVERAGES_BODY = s__(\n 'InviteMembersModal|You must purchase more seats for your subscription before this amount of users can be added.',\n);\nexport const BLOCKED_SEAT_OVERAGES_CTA = s__('InviteMembersModal|Purchase more seats');\nexport const BLOCKED_SEAT_OVERAGES_CTA_DOCS = s__('InviteMembersModal|Learn how to add seats');\nexport const BLOCKED_SEAT_OVERAGES_ERROR_REASON = 'seat_limit_exceeded_error';\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"sidebarSeverity\",staticClass:\"block\",attrs:{\"data-testid\":\"severity-block-container\"}},[_c('sidebar-editable-item',{ref:\"toggle\",attrs:{\"loading\":_vm.isUpdating,\"title\":_vm.$options.i18n.SEVERITY,\"can-edit\":_vm.canUpdate},on:{\"open\":_vm.showDropdown},scopedSlots:_vm._u([{key:\"collapsed\",fn:function(){return [_c('div',{ref:\"severity\",staticClass:\"sidebar-collapsed-icon\"},[_c('severity-token',{attrs:{\"severity\":_vm.selectedItem,\"icon-size\":14,\"icon-only\":true}}),_vm._v(\" \"),_c('gl-tooltip',{attrs:{\"target\":() => _vm.$refs.severity,\"boundary\":\"viewport\",\"placement\":\"left\"}},[_c('gl-sprintf',{attrs:{\"message\":_vm.$options.i18n.SEVERITY_VALUE},scopedSlots:_vm._u([{key:\"severity\",fn:function(){return [_vm._v(\"\\n \"+_vm._s(_vm.selectedItem.label)+\"\\n \")]},proxy:true}])})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"hide-collapsed\",attrs:{\"data-testid\":\"incident-severity\"}},[_c('severity-token',{attrs:{\"severity\":_vm.selectedItem}})],1)]},proxy:true},{key:\"default\",fn:function(){return [_c('gl-collapsible-listbox',{ref:\"dropdown\",staticClass:\"gl-mt-3\",attrs:{\"block\":\"\",\"header-text\":_vm.__('Assign severity'),\"toggle-text\":_vm.selectedItem.label,\"items\":_vm.dropdownItems,\"selected\":_vm.severity},on:{\"select\":_vm.updateSeverity},scopedSlots:_vm._u([{key:\"list-item\",fn:function({ item }){return [_c('severity-token',{attrs:{\"severity\":item.severity}})]}}])})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_severity_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_severity_widget.vue?vue&type=script&lang=js\"","<script>\nimport { GlCollapsibleListbox, GlTooltip, GlSprintf } from '@gitlab/ui';\nimport { createAlert } from '~/alert';\nimport { TYPE_INCIDENT } from '~/issues/constants';\nimport SidebarEditableItem from '~/sidebar/components/sidebar_editable_item.vue';\nimport updateIssuableSeverity from '../../queries/update_issuable_severity.mutation.graphql';\nimport { INCIDENT_SEVERITY, SEVERITY_I18N as I18N } from '../../constants';\nimport SeverityToken from './severity.vue';\n\nexport default {\n i18n: I18N,\n components: {\n GlTooltip,\n GlSprintf,\n GlCollapsibleListbox,\n SeverityToken,\n SidebarEditableItem,\n },\n inject: ['canUpdate'],\n props: {\n projectPath: {\n type: String,\n required: true,\n },\n iid: {\n type: String,\n required: true,\n },\n initialSeverity: {\n type: String,\n required: false,\n default: INCIDENT_SEVERITY.UNKNOWN.value,\n },\n issuableType: {\n type: String,\n required: false,\n default: TYPE_INCIDENT,\n validator: (value) => {\n // currently severity is supported only for incidents, but this list might be extended\n return [TYPE_INCIDENT].includes(value);\n },\n },\n },\n data() {\n return {\n isUpdating: false,\n severity: this.initialSeverity,\n };\n },\n computed: {\n severitiesList() {\n switch (this.issuableType) {\n case TYPE_INCIDENT:\n return Object.values(INCIDENT_SEVERITY);\n default:\n return [];\n }\n },\n dropdownItems() {\n return this.severitiesList.map((severity) => ({\n text: severity.label,\n value: severity.value,\n severity,\n }));\n },\n selectedItem() {\n return this.severitiesList.find((severity) => severity.value === this.severity);\n },\n },\n methods: {\n updateSeverity(value) {\n this.$refs.toggle.collapse();\n this.isUpdating = true;\n this.$apollo\n .mutate({\n mutation: updateIssuableSeverity,\n variables: {\n iid: this.iid,\n severity: value,\n projectPath: this.projectPath,\n },\n })\n .then((resp) => {\n const {\n data: {\n issueSetSeverity: {\n errors = [],\n issue: { severity },\n },\n },\n } = resp;\n\n if (errors[0]) {\n throw errors[0];\n }\n this.severity = severity;\n })\n .catch(() =>\n createAlert({\n message: `${this.$options.i18n.UPDATE_SEVERITY_ERROR} ${this.$options.i18n.TRY_AGAIN}`,\n }),\n )\n .finally(() => {\n this.isUpdating = false;\n });\n },\n showDropdown() {\n this.$refs.dropdown.open();\n },\n },\n};\n</script>\n\n<template>\n <div ref=\"sidebarSeverity\" class=\"block\" data-testid=\"severity-block-container\">\n <sidebar-editable-item\n ref=\"toggle\"\n :loading=\"isUpdating\"\n :title=\"$options.i18n.SEVERITY\"\n :can-edit=\"canUpdate\"\n @open=\"showDropdown\"\n >\n <template #collapsed>\n <div ref=\"severity\" class=\"sidebar-collapsed-icon\">\n <severity-token :severity=\"selectedItem\" :icon-size=\"14\" :icon-only=\"true\" />\n <gl-tooltip :target=\"() => $refs.severity\" boundary=\"viewport\" placement=\"left\">\n <gl-sprintf :message=\"$options.i18n.SEVERITY_VALUE\">\n <template #severity>\n {{ selectedItem.label }}\n </template>\n </gl-sprintf>\n </gl-tooltip>\n </div>\n <div class=\"hide-collapsed\" data-testid=\"incident-severity\">\n <severity-token :severity=\"selectedItem\" />\n </div>\n </template>\n\n <template #default>\n <gl-collapsible-listbox\n ref=\"dropdown\"\n class=\"gl-mt-3\"\n block\n :header-text=\"__('Assign severity')\"\n :toggle-text=\"selectedItem.label\"\n :items=\"dropdownItems\"\n :selected=\"severity\"\n @select=\"updateSeverity\"\n >\n <template #list-item=\"{ item }\">\n <severity-token :severity=\"item.severity\" />\n </template>\n </gl-collapsible-listbox>\n </template>\n </sidebar-editable-item>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_severity_widget.vue?vue&type=template&id=292f05fb\"\nimport script from \"./sidebar_severity_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_severity_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"projectEscalationPolicies\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attributes\"},\"name\":{\"kind\":\"Name\",\"value\":\"incidentManagementEscalationPolicies\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"EscalationPolicyFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":304}};\n doc.loc.source = {\"body\":\"#import \\\"./escalation_policy.fragment.graphql\\\"\\n\\nquery projectEscalationPolicies($fullPath: ID!, $title: String) {\\n workspace: project(fullPath: $fullPath) {\\n id\\n attributes: incidentManagementEscalationPolicies(name: $title) {\\n nodes {\\n ...EscalationPolicyFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./escalation_policy.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"projectEscalationPolicies\"] = oneQuery(doc, \"projectEscalationPolicies\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"gl-flex gl-items-center gl-font-bold gl-leading-20 gl-text-default\",on:{\"click\":function($event){if($event.target !== $event.currentTarget)return null;return _vm.collapse.apply(null, arguments)}}},[_c('span',{staticClass:\"hide-collapsed\",attrs:{\"data-testid\":\"title\"},on:{\"click\":_vm.collapse}},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_vm._v(\" \"),_vm._t(\"title-extra\"),_vm._v(\" \"),(_vm.loading || _vm.initialLoading)?_c('gl-loading-icon',{staticClass:\"hide-collapsed gl-ml-2\",attrs:{\"size\":\"sm\",\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.loading && _vm.isClassicSidebar)?_c('gl-loading-icon',{staticClass:\"hide-expanded gl-mx-auto gl-my-0\",attrs:{\"size\":\"sm\",\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._t(\"collapsed-right\"),_vm._v(\" \"),(_vm.canUpdate && !_vm.initialLoading && _vm.canEdit)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.viewport.html\",modifiers:{\"viewport\":true,\"html\":true}}],staticClass:\"hide-collapsed shortcut-sidebar-dropdown-toggle -gl-mr-2 gl-ml-auto\",attrs:{\"id\":_vm.buttonId,\"category\":\"tertiary\",\"size\":\"small\",\"title\":_vm.editTooltipText,\"aria-label\":_vm.editAriaLabelText,\"aria-keyshortcuts\":_vm.editKeyshortcutsText,\"data-testid\":\"edit-button\",\"data-track-action\":_vm.tracking.event,\"data-track-label\":_vm.tracking.label,\"data-track-property\":_vm.tracking.property},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.toggle.apply(null, arguments)},\"click\":_vm.toggle}},[_vm._v(\"\\n \"+_vm._s(_vm.editButtonText)+\"\\n \")]):_vm._e()],2),_vm._v(\" \"),(!_vm.initialLoading)?[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.edit),expression:\"!edit\"}],attrs:{\"data-testid\":\"collapsed-content\"}},[_vm._t(\"collapsed\",function(){return [_vm._v(_vm._s(_vm.__('None')))]})],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.edit),expression:\"edit\"}],class:{ 'gl-mt-3': !_vm.isClassicSidebar },attrs:{\"data-testid\":\"expanded-content\"}},[_vm._t(\"default\",null,{\"edit\":_vm.edit,\"toggle\":_vm.toggle})],2)]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_editable_item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_editable_item.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlLoadingIcon, GlTooltipDirective } from '@gitlab/ui';\nimport { __ } from '~/locale';\n\nexport default {\n i18n: {\n unassigned: __('Unassigned'),\n },\n components: { GlButton, GlLoadingIcon },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n inject: {\n canUpdate: {},\n isClassicSidebar: {\n default: false,\n },\n },\n props: {\n buttonId: {\n type: String,\n required: false,\n default: '',\n },\n title: {\n type: String,\n required: false,\n default: '',\n },\n loading: {\n type: Boolean,\n required: false,\n default: false,\n },\n initialLoading: {\n type: Boolean,\n required: false,\n default: false,\n },\n isDirty: {\n type: Boolean,\n required: false,\n default: false,\n },\n tracking: {\n type: Object,\n required: false,\n default: () => ({\n event: null,\n label: null,\n property: null,\n }),\n },\n canEdit: {\n type: Boolean,\n required: false,\n default: true,\n },\n shouldShowConfirmationPopover: {\n type: Boolean,\n required: false,\n default: false,\n },\n editTooltip: {\n type: String,\n required: false,\n default: '',\n },\n editAriaLabel: {\n type: String,\n required: false,\n default: '',\n },\n editKeyshortcuts: {\n type: String,\n required: false,\n default: '',\n },\n },\n data() {\n return {\n edit: false,\n };\n },\n computed: {\n editButtonText() {\n return this.isDirty ? __('Apply') : __('Edit');\n },\n editTooltipText() {\n return this.isDirty ? '' : this.editTooltip;\n },\n editAriaLabelText() {\n return this.isDirty ? this.editButtonText : this.editAriaLabel;\n },\n editKeyshortcutsText() {\n return this.isDirty ? __('Escape') : this.editKeyshortcuts;\n },\n },\n destroyed() {\n window.removeEventListener('click', this.collapseWhenOffClick);\n window.removeEventListener('keyup', this.collapseOnEscape);\n },\n methods: {\n collapseWhenOffClick({ target }) {\n if (!this.$el.contains(target)) {\n this.collapse();\n }\n },\n collapseOnEscape({ key }) {\n if (key === 'Escape') {\n this.collapse();\n }\n },\n expand() {\n if (this.edit) {\n return;\n }\n\n if (this.canEdit && this.canUpdate) {\n this.edit = true;\n }\n this.$emit('open');\n window.addEventListener('click', this.collapseWhenOffClick);\n window.addEventListener('keyup', this.collapseOnEscape);\n },\n collapse({ emitEvent = true } = {}) {\n if (!this.edit) {\n return;\n }\n\n this.edit = false;\n if (emitEvent) {\n this.$emit('close');\n }\n window.removeEventListener('click', this.collapseWhenOffClick);\n window.removeEventListener('keyup', this.collapseOnEscape);\n },\n toggle({ emitEvent = true } = {}) {\n if (this.shouldShowConfirmationPopover) {\n this.$emit('edit-confirm');\n return;\n }\n\n if (this.edit) {\n this.collapse({ emitEvent });\n } else {\n this.expand();\n }\n },\n },\n};\n</script>\n\n<template>\n <div>\n <div\n class=\"gl-flex gl-items-center gl-font-bold gl-leading-20 gl-text-default\"\n @click.self=\"collapse\"\n >\n <span class=\"hide-collapsed\" data-testid=\"title\" @click=\"collapse\">\n {{ title }}\n </span>\n <slot name=\"title-extra\"></slot>\n <gl-loading-icon\n v-if=\"loading || initialLoading\"\n size=\"sm\"\n inline\n class=\"hide-collapsed gl-ml-2\"\n />\n <gl-loading-icon\n v-if=\"loading && isClassicSidebar\"\n size=\"sm\"\n inline\n class=\"hide-expanded gl-mx-auto gl-my-0\"\n />\n <slot name=\"collapsed-right\"></slot>\n <gl-button\n v-if=\"canUpdate && !initialLoading && canEdit\"\n :id=\"buttonId\"\n v-gl-tooltip.viewport.html\n category=\"tertiary\"\n size=\"small\"\n class=\"hide-collapsed shortcut-sidebar-dropdown-toggle -gl-mr-2 gl-ml-auto\"\n :title=\"editTooltipText\"\n :aria-label=\"editAriaLabelText\"\n :aria-keyshortcuts=\"editKeyshortcutsText\"\n data-testid=\"edit-button\"\n :data-track-action=\"tracking.event\"\n :data-track-label=\"tracking.label\"\n :data-track-property=\"tracking.property\"\n @keyup.esc=\"toggle\"\n @click=\"toggle\"\n >\n {{ editButtonText }}\n </gl-button>\n </div>\n <template v-if=\"!initialLoading\">\n <div v-show=\"!edit\" data-testid=\"collapsed-content\">\n <slot name=\"collapsed\">{{ __('None') }}</slot>\n </div>\n <div v-show=\"edit\" data-testid=\"expanded-content\" :class=\"{ 'gl-mt-3': !isClassicSidebar }\">\n <slot :edit=\"edit\" :toggle=\"toggle\"></slot>\n </div>\n </template>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_editable_item.vue?vue&type=template&id=6046ea02\"\nimport script from \"./sidebar_editable_item.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_editable_item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"getParent\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"workItem\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgets\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemWidgetHierarchy\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":224}};\n doc.loc.source = {\"body\":\"query getParent($id: WorkItemID!) {\\n workItem(id: $id) {\\n id\\n widgets {\\n ... on WorkItemWidgetHierarchy {\\n type\\n parent {\\n id\\n title\\n webUrl\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"getParent\"] = oneQuery(doc, \"getParent\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"data-testid\":\"assignees-widget\"}},[(_vm.shouldEnableRealtime)?_c('sidebar-assignees-realtime',{attrs:{\"issuable-type\":_vm.issuableType,\"issuable-id\":_vm.issuableId,\"query-variables\":_vm.queryVariables},on:{\"assigneesUpdated\":function($event){return _vm.$emit('assignees-updated', $event)}}}):_vm._e(),_vm._v(\" \"),_c('sidebar-editable-item',{ref:\"toggle\",attrs:{\"loading\":_vm.isSettingAssignees,\"initial-loading\":_vm.isAssigneesLoading,\"title\":_vm.assigneeText,\"edit-tooltip\":_vm.assigneeTooltip,\"edit-aria-label\":_vm.assigneeShortcutDescription,\"edit-keyshortcuts\":_vm.assigneeShortcutKey,\"is-dirty\":_vm.isDirty},on:{\"open\":_vm.showDropdown,\"close\":_vm.saveAssignees},scopedSlots:_vm._u([{key:\"collapsed\",fn:function(){return [_vm._t(\"collapsed\",null,{\"users\":_vm.assignees}),_vm._v(\" \"),_c('issuable-assignees',{attrs:{\"users\":_vm.assignees,\"issuable-type\":_vm.issuableType,\"signed-in\":_vm.signedIn,\"editable\":_vm.editable},on:{\"assign-self\":_vm.assignSelf,\"expand-widget\":_vm.expandWidget}})]},proxy:true},{key:\"default\",fn:function({ edit }){return [_c('user-select',{ref:\"userSelect\",staticClass:\"dropdown-menu-user -gl-mt-3 gl-w-full\",attrs:{\"text\":_vm.$options.i18n.assignees,\"header-text\":_vm.$options.i18n.assignTo,\"iid\":_vm.iid,\"issuable-id\":_vm.issuableId,\"full-path\":_vm.fullPath,\"allow-multiple-assignees\":_vm.allowMultipleAssignees,\"current-user\":_vm.currentUser,\"issuable-type\":_vm.issuableType,\"is-editing\":edit,\"issuable-author\":_vm.issuableAuthor},on:{\"toggle\":_vm.collapseWidget,\"error\":_vm.showError,\"input\":_vm.setDirtyState},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [(_vm.directlyInviteMembers)?_c('gl-dropdown-item',[_c('sidebar-invite-members',{attrs:{\"issuable-type\":_vm.issuableType}})],1):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})]}}],null,true)})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignees_realtime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignees_realtime.vue?vue&type=script&lang=js\"","<script>\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { assigneesQueries } from '../../queries/constants';\n\nexport default {\n subscription: null,\n name: 'AssigneesRealtime',\n props: {\n mediator: {\n type: Object,\n required: false,\n default: null,\n },\n issuableType: {\n type: String,\n required: true,\n },\n queryVariables: {\n type: Object,\n required: true,\n },\n },\n computed: {\n issuableId() {\n return this.issuable?.id;\n },\n },\n apollo: {\n // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n issuable: {\n query() {\n return assigneesQueries[this.issuableType].query;\n },\n variables() {\n return this.queryVariables;\n },\n update(data) {\n return data.workspace?.issuable;\n },\n subscribeToMore: {\n document() {\n return assigneesQueries[this.issuableType].subscription;\n },\n variables() {\n return {\n issuableId: this.issuableId,\n };\n },\n skip() {\n return !this.issuableId;\n },\n updateQuery(\n _,\n {\n subscriptionData: {\n data: { issuableAssigneesUpdated },\n },\n },\n ) {\n if (issuableAssigneesUpdated) {\n const {\n id,\n assignees: { nodes },\n } = issuableAssigneesUpdated;\n if (this.mediator) {\n this.handleFetchResult(nodes);\n }\n this.$emit('assigneesUpdated', { id, assignees: nodes });\n }\n },\n },\n },\n },\n methods: {\n handleFetchResult(nodes) {\n const assignees = nodes.map((n) => ({\n ...n,\n avatar_url: n.avatarUrl,\n id: getIdFromGraphQLId(n.id),\n }));\n\n this.mediator.store.setAssigneesFromRealtime(assignees);\n },\n },\n render() {\n return null;\n },\n};\n</script>\n","var render, staticRenderFns\nimport script from \"./assignees_realtime.vue?vue&type=script&lang=js\"\nexport * from \"./assignees_realtime.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_assignees.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./issuable_assignees.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton } from '@gitlab/ui';\nimport { TYPE_ISSUE } from '~/issues/constants';\nimport { n__ } from '~/locale';\nimport UncollapsedAssigneeList from './uncollapsed_assignee_list.vue';\n\nexport default {\n components: {\n GlButton,\n UncollapsedAssigneeList,\n },\n props: {\n users: {\n type: Array,\n required: true,\n },\n issuableType: {\n type: String,\n required: false,\n default: TYPE_ISSUE,\n },\n signedIn: {\n type: Boolean,\n required: false,\n default: false,\n },\n editable: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n assigneesText() {\n return n__('Assignee', '%d Assignees', this.users.length);\n },\n emptyUsers() {\n return this.users.length === 0;\n },\n },\n};\n</script>\n\n<template>\n <div class=\"issuable-assignees gl-flex gl-flex-col\">\n <div\n v-if=\"emptyUsers\"\n class=\"hide-collapsed gl-flex gl-items-center gl-text-subtle\"\n data-testid=\"none\"\n >\n <span> {{ __('None') }}</span>\n <template v-if=\"signedIn && editable\">\n <span class=\"gl-ml-2\">-</span>\n <gl-button\n data-testid=\"assign-yourself\"\n category=\"tertiary\"\n variant=\"link\"\n class=\"gl-ml-2\"\n @click=\"$emit('assign-self')\"\n >\n <span class=\"gl-text-subtle hover:gl-text-blue-800\">{{ __('assign yourself') }}</span>\n </gl-button>\n </template>\n </div>\n <uncollapsed-assignee-list\n v-else\n :users=\"users\"\n :issuable-type=\"issuableType\"\n class=\"hide-collapsed gl-pt-2\"\n />\n </div>\n</template>\n","import { render, staticRenderFns } from \"./issuable_assignees.vue?vue&type=template&id=6fdfb102\"\nimport script from \"./issuable_assignees.vue?vue&type=script&lang=js\"\nexport * from \"./issuable_assignees.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"issuable-assignees gl-flex gl-flex-col\"},[(_vm.emptyUsers)?_c('div',{staticClass:\"hide-collapsed gl-flex gl-items-center gl-text-subtle\",attrs:{\"data-testid\":\"none\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.__('None')))]),_vm._v(\" \"),(_vm.signedIn && _vm.editable)?[_c('span',{staticClass:\"gl-ml-2\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('gl-button',{staticClass:\"gl-ml-2\",attrs:{\"data-testid\":\"assign-yourself\",\"category\":\"tertiary\",\"variant\":\"link\"},on:{\"click\":function($event){return _vm.$emit('assign-self')}}},[_c('span',{staticClass:\"gl-text-subtle hover:gl-text-blue-800\"},[_vm._v(_vm._s(_vm.__('assign yourself')))])])]:_vm._e()],2):_c('uncollapsed-assignee-list',{staticClass:\"hide-collapsed gl-pt-2\",attrs:{\"users\":_vm.users,\"issuable-type\":_vm.issuableType}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_invite_members.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_invite_members.vue?vue&type=script&lang=js\"","<script>\nimport InviteMembersTrigger from '~/invite_members/components/invite_members_trigger.vue';\nimport { __ } from '~/locale';\n\nexport default {\n displayText: __('Invite members'),\n components: {\n InviteMembersTrigger,\n },\n props: {\n issuableType: {\n type: String,\n required: true,\n },\n },\n computed: {\n triggerSource() {\n return `${this.issuableType}_assignee_dropdown`;\n },\n },\n};\n</script>\n\n<template>\n <invite-members-trigger\n trigger-element=\"anchor\"\n :display-text=\"$options.displayText\"\n :trigger-source=\"triggerSource\"\n classes=\"gl-block gl-pl-0 hover:gl-no-underline hover:!gl-text-blue-800\"\n />\n</template>\n","import { render, staticRenderFns } from \"./sidebar_invite_members.vue?vue&type=template&id=3178adca\"\nimport script from \"./sidebar_invite_members.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_invite_members.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('invite-members-trigger',{attrs:{\"trigger-element\":\"anchor\",\"display-text\":_vm.$options.displayText,\"trigger-source\":_vm.triggerSource,\"classes\":\"gl-block gl-pl-0 hover:gl-no-underline hover:!gl-text-blue-800\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlDropdownItem } from '@gitlab/ui';\nimport Vue from 'vue';\nimport { createAlert } from '~/alert';\nimport { TYPE_ALERT, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { __, n__ } from '~/locale';\nimport UserSelect from '~/vue_shared/components/user_select/user_select.vue';\nimport glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport { keysFor, ISSUE_MR_CHANGE_ASSIGNEE } from '~/behaviors/shortcuts/keybindings';\nimport { shouldDisableShortcuts } from '~/behaviors/shortcuts/shortcuts_toggle';\nimport { sanitize } from '~/lib/dompurify';\nimport { assigneesQueries } from '../../queries/constants';\nimport SidebarEditableItem from '../sidebar_editable_item.vue';\nimport SidebarAssigneesRealtime from './assignees_realtime.vue';\nimport IssuableAssignees from './issuable_assignees.vue';\nimport SidebarInviteMembers from './sidebar_invite_members.vue';\n\nexport const assigneesWidget = Vue.observable({\n updateAssignees: null,\n});\n\nconst hideDropdownEvent = new CustomEvent('hiddenGlDropdown', {\n bubbles: true,\n});\n\nexport default {\n i18n: {\n unassigned: __('Unassigned'),\n assignee: __('Assignee'),\n assignees: __('Assignees'),\n assignTo: __('Select assignees'),\n },\n components: {\n SidebarEditableItem,\n IssuableAssignees,\n GlDropdownItem,\n SidebarInviteMembers,\n SidebarAssigneesRealtime,\n UserSelect,\n },\n mixins: [glFeatureFlagsMixin()],\n inject: {\n directlyInviteMembers: {\n default: false,\n },\n },\n props: {\n iid: {\n type: String,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n initialAssignees: {\n type: Array,\n required: false,\n default: null,\n },\n issuableType: {\n type: String,\n required: false,\n default: TYPE_ISSUE,\n validator(value) {\n return [TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_ALERT].includes(value);\n },\n },\n issuableId: {\n type: Number,\n required: false,\n default: null,\n },\n allowMultipleAssignees: {\n type: Boolean,\n required: true,\n },\n editable: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n issuable: {},\n selected: [],\n isSettingAssignees: false,\n isDirty: false,\n oldIid: null,\n oldSelected: null,\n };\n },\n apollo: {\n issuable: {\n query() {\n return assigneesQueries[this.issuableType].query;\n },\n variables() {\n return this.queryVariables;\n },\n update(data) {\n return data.workspace?.issuable;\n },\n skip() {\n return !this.iid;\n },\n result({ data }) {\n if (!data) {\n return;\n }\n const issuable = data.workspace?.issuable;\n if (issuable) {\n this.selected = issuable.assignees.nodes.map((node) => ({\n ...node,\n canMerge: node.mergeRequestInteraction?.canMerge || false,\n }));\n }\n },\n error() {\n createAlert({ message: __('An error occurred while fetching participants.') });\n },\n },\n },\n computed: {\n shouldEnableRealtime() {\n // Note: Realtime is only available on issues right now, future support for MR wil be built later.\n return this.issuableType === TYPE_ISSUE;\n },\n queryVariables() {\n return {\n iid: this.iid,\n fullPath: this.fullPath,\n };\n },\n assignees() {\n const currentAssignees = this.$apollo.queries.issuable.loading\n ? this.initialAssignees\n : this.issuable?.assignees?.nodes;\n return currentAssignees || [];\n },\n assigneeText() {\n const items = this.$apollo.queries.issuable.loading ? this.initialAssignees : this.selected;\n if (!items) {\n return __('Assignee');\n }\n return n__('Assignee', '%d Assignees', items.length);\n },\n isAssigneesLoading() {\n return !this.initialAssignees && this.$apollo.queries.issuable.loading;\n },\n currentUser() {\n return {\n username: gon?.current_username,\n name: gon?.current_user_fullname,\n avatarUrl: gon?.current_user_avatar_url,\n canMerge: this.issuable?.userPermissions?.canMerge || false,\n };\n },\n signedIn() {\n return this.currentUser.username !== undefined;\n },\n issuableAuthor() {\n return this.issuable?.author;\n },\n assigneeShortcutDescription() {\n return shouldDisableShortcuts() ? null : ISSUE_MR_CHANGE_ASSIGNEE.description;\n },\n assigneeShortcutKey() {\n return shouldDisableShortcuts() ? null : keysFor(ISSUE_MR_CHANGE_ASSIGNEE)[0];\n },\n assigneeTooltip() {\n const description = this.assigneeShortcutDescription;\n const key = this.assigneeShortcutKey;\n return shouldDisableShortcuts()\n ? null\n : sanitize(`${description} <kbd class=\"flat gl-ml-1\" aria-hidden=true>${key}</kbd>`);\n },\n },\n watch: {\n iid(_, oldIid) {\n if (this.isDirty) {\n this.oldIid = oldIid;\n this.oldSelected = this.selected;\n }\n },\n },\n created() {\n assigneesWidget.updateAssignees = this.updateAssignees;\n },\n destroyed() {\n assigneesWidget.updateAssignees = null;\n },\n methods: {\n updateAssignees(assigneeUsernames) {\n this.isSettingAssignees = true;\n return this.$apollo\n .mutate({\n mutation: assigneesQueries[this.issuableType].mutation,\n variables: {\n ...this.queryVariables,\n assigneeUsernames,\n iid: this.oldIid || this.iid,\n },\n })\n .then(({ data }) => {\n this.$emit('assignees-updated', {\n id: data.issuableSetAssignees.issuable.id,\n assignees: data.issuableSetAssignees.issuable.assignees.nodes,\n });\n return data;\n })\n .catch(() => {\n createAlert({ message: __('An error occurred while updating assignees.') });\n })\n .finally(() => {\n this.isSettingAssignees = false;\n });\n },\n assignSelf() {\n this.updateAssignees([this.currentUser.username]);\n },\n saveAssignees() {\n if (this.isDirty) {\n this.isDirty = false;\n const usernames = this.oldSelected || this.selected;\n this.updateAssignees(usernames.map(({ username }) => username));\n this.oldIid = null;\n this.oldSelected = null;\n }\n this.$el.dispatchEvent(hideDropdownEvent);\n },\n collapseWidget() {\n this.$refs.toggle.collapse();\n },\n expandWidget() {\n this.$refs.toggle.expand();\n },\n showDropdown() {\n this.$refs.userSelect.showDropdown();\n },\n showError() {\n createAlert({ message: __('An error occurred while fetching participants.') });\n },\n setDirtyState() {\n this.isDirty = true;\n if (!this.allowMultipleAssignees) {\n this.collapseWidget();\n }\n },\n },\n};\n</script>\n\n<template>\n <div data-testid=\"assignees-widget\">\n <sidebar-assignees-realtime\n v-if=\"shouldEnableRealtime\"\n :issuable-type=\"issuableType\"\n :issuable-id=\"issuableId\"\n :query-variables=\"queryVariables\"\n @assigneesUpdated=\"$emit('assignees-updated', $event)\"\n />\n <sidebar-editable-item\n ref=\"toggle\"\n :loading=\"isSettingAssignees\"\n :initial-loading=\"isAssigneesLoading\"\n :title=\"assigneeText\"\n :edit-tooltip=\"assigneeTooltip\"\n :edit-aria-label=\"assigneeShortcutDescription\"\n :edit-keyshortcuts=\"assigneeShortcutKey\"\n :is-dirty=\"isDirty\"\n @open=\"showDropdown\"\n @close=\"saveAssignees\"\n >\n <template #collapsed>\n <slot name=\"collapsed\" :users=\"assignees\"></slot>\n <issuable-assignees\n :users=\"assignees\"\n :issuable-type=\"issuableType\"\n :signed-in=\"signedIn\"\n :editable=\"editable\"\n @assign-self=\"assignSelf\"\n @expand-widget=\"expandWidget\"\n />\n </template>\n <template #default=\"{ edit }\">\n <user-select\n ref=\"userSelect\"\n v-model=\"selected\"\n :text=\"$options.i18n.assignees\"\n :header-text=\"$options.i18n.assignTo\"\n :iid=\"iid\"\n :issuable-id=\"issuableId\"\n :full-path=\"fullPath\"\n :allow-multiple-assignees=\"allowMultipleAssignees\"\n :current-user=\"currentUser\"\n :issuable-type=\"issuableType\"\n :is-editing=\"edit\"\n :issuable-author=\"issuableAuthor\"\n class=\"dropdown-menu-user -gl-mt-3 gl-w-full\"\n @toggle=\"collapseWidget\"\n @error=\"showError\"\n @input=\"setDirtyState\"\n >\n <template #footer>\n <gl-dropdown-item v-if=\"directlyInviteMembers\">\n <sidebar-invite-members :issuable-type=\"issuableType\" />\n </gl-dropdown-item> </template\n ></user-select>\n </template>\n </sidebar-editable-item>\n </div>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_assignees_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_assignees_widget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./sidebar_assignees_widget.vue?vue&type=template&id=66077c2e\"\nimport script from \"./sidebar_assignees_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_assignees_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#js-right-sidebar-portal\",\"name\":\"board-content-sidebar\",\"append\":\"\"}},[_c('gl-drawer',_vm._b({staticClass:\"boards-sidebar\",attrs:{\"open\":_vm.isSidebarOpen,\"variant\":\"sidebar\"},on:{\"close\":_vm.handleClose},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('h2',{staticClass:\"gl-my-0 gl-text-size-h2 gl-leading-24\"},[_vm._v(_vm._s(_vm.sidebarTitle))])]},proxy:true},{key:\"header\",fn:function(){return [_c('sidebar-todo-widget',{staticClass:\"gl-mt-3\",attrs:{\"issuable-id\":_vm.activeBoardIssuable.id,\"issuable-iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"issuable-type\":_vm.issuableType}})]},proxy:true},{key:\"default\",fn:function(){return [_c('board-sidebar-title',{attrs:{\"active-item\":_vm.activeBoardIssuable,\"data-testid\":\"sidebar-title\"}}),_vm._v(\" \"),(_vm.activeBoardIssuable.assignees)?_c('sidebar-assignees-widget',{attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"initial-assignees\":_vm.activeBoardIssuable.assignees,\"allow-multiple-assignees\":_vm.multipleAssigneesFeatureAvailable,\"editable\":_vm.canUpdate},on:{\"assignees-updated\":function($event){return _vm.updateAffectedLists({\n listType: _vm.$options.ListType.assignee,\n attribute: $event.assignees,\n })}}}):_vm._e(),_vm._v(\" \"),(_vm.showEpicSidebarDropdownWidget)?_c('sidebar-dropdown-widget',{key:`epic-${_vm.activeBoardIssuable.iid}`,attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"issuable-attribute\":\"epic\",\"workspace-path\":_vm.projectPathForActiveIssue,\"attr-workspace-path\":_vm.groupPathForActiveIssue,\"issuable-type\":_vm.issuableType,\"issue-id\":_vm.activeBoardIssuable.id,\"show-work-item-epics\":_vm.showWorkItemEpics,\"data-testid\":\"sidebar-epic\"}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.activeBoardIssuable.id)?_c('sidebar-dropdown-widget',{key:`milestone-${_vm.activeBoardIssuable.iid}`,attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"issuable-attribute\":\"milestone\",\"workspace-path\":_vm.projectPathForActiveIssue,\"attr-workspace-path\":_vm.projectPathForActiveIssue,\"issuable-type\":_vm.issuableType,\"issue-id\":_vm.activeBoardIssuable.id,\"data-testid\":\"sidebar-milestones\"},on:{\"attribute-updated\":function($event){return _vm.updateAffectedLists({ listType: _vm.$options.ListType.milestone, attribute: $event })}}}):_vm._e(),_vm._v(\" \"),(_vm.showIterationSidebarDropdownWidget)?_c('sidebar-iteration-widget',{key:`iteration-${_vm.activeBoardIssuable.iid}`,staticClass:\"gl-mt-5\",attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"issue-id\":_vm.activeBoardIssuable.id,\"workspace-path\":_vm.projectPathForActiveIssue,\"attr-workspace-path\":_vm.groupPathForActiveIssue,\"issuable-type\":_vm.issuableType,\"data-testid\":\"iteration-edit\"},on:{\"iteration-updated\":function($event){return _vm.updateAffectedLists({ listType: _vm.$options.ListType.iteration, attribute: $event })}}}):_vm._e()],1),_vm._v(\" \"),_c('sidebar-time-tracker',{attrs:{\"can-add-time-entries\":_vm.canUpdate,\"can-set-time-estimate\":_vm.canUpdate,\"full-path\":_vm.projectPathForActiveIssue,\"issuable-id\":_vm.activeBoardIssuable.id,\"issuable-iid\":_vm.activeBoardIssuable.iid,\"limit-to-hours\":_vm.timeTrackingLimitToHours,\"show-collapsed\":false}}),_vm._v(\" \"),_c('sidebar-date-widget',{attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"issuable-type\":_vm.issuableType,\"data-testid\":\"sidebar-due-date\"}}),_vm._v(\" \"),_c('sidebar-labels-widget',{staticClass:\"block labels\",attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"allow-label-remove\":_vm.allowLabelEdit,\"allow-multiselect\":true,\"footer-create-label-title\":_vm.createLabelTitle,\"footer-manage-label-title\":_vm.manageLabelTitle,\"labels-create-title\":_vm.createLabelTitle,\"labels-filter-base-path\":_vm.labelsFilterPath,\"attr-workspace-path\":_vm.attrWorkspacePath,\"workspace-type\":\"project\",\"issuable-type\":_vm.issuableType,\"label-create-type\":_vm.labelType},on:{\"updateSelectedLabels\":function($event){return _vm.updateAffectedLists({ listType: _vm.$options.ListType.label, attribute: $event.labels })}}},[_vm._v(\"\\n \"+_vm._s(_vm.__('None'))+\"\\n \")]),_vm._v(\" \"),(_vm.isIncidentSidebar)?_c('sidebar-severity-widget',{attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"project-path\":_vm.projectPathForActiveIssue,\"initial-severity\":_vm.activeBoardIssuable.severity}}):_vm._e(),_vm._v(\" \"),(_vm.weightFeatureAvailable && !_vm.isIncidentSidebar)?_c('sidebar-weight-widget',{attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"issuable-type\":_vm.issuableType},on:{\"weightUpdated\":_vm.updateListTotalWeight}}):_vm._e(),_vm._v(\" \"),(_vm.healthStatusFeatureAvailable)?_c('sidebar-health-status-widget',{attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"issuable-type\":_vm.issuableType}}):_vm._e(),_vm._v(\" \"),_c('sidebar-confidentiality-widget',{attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"issuable-type\":_vm.issuableType}}),_vm._v(\" \"),_c('sidebar-subscriptions-widget',{attrs:{\"iid\":_vm.activeBoardIssuable.iid,\"full-path\":_vm.projectPathForActiveIssue,\"issuable-type\":_vm.issuableType,\"show-in-dropdown\":false,\"data-testid\":\"sidebar-notifications\"}})]},proxy:true}])},'gl-drawer',_vm.$attrs,false))],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_content_sidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./board_content_sidebar.vue?vue&type=script&lang=js\"","<script>\nimport { GlDrawer } from '@gitlab/ui';\nimport { MountingPortal } from 'portal-vue';\nimport { union } from 'lodash';\nimport SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdown_widget.vue';\nimport activeBoardItemQuery from 'ee_else_ce/boards/graphql/client/active_board_item.query.graphql';\nimport setActiveBoardItemMutation from 'ee_else_ce/boards/graphql/client/set_active_board_item.mutation.graphql';\nimport { __, s__, sprintf } from '~/locale';\nimport SidebarTimeTracker from '~/sidebar/components/time_tracking/time_tracker.vue';\nimport BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue';\nimport { INCIDENT, ListType } from '~/boards/constants';\nimport { TYPE_ISSUE, WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants';\nimport SidebarAssigneesWidget from '~/sidebar/components/assignees/sidebar_assignees_widget.vue';\nimport SidebarConfidentialityWidget from '~/sidebar/components/confidential/sidebar_confidentiality_widget.vue';\nimport SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue';\nimport SidebarSeverityWidget from '~/sidebar/components/severity/sidebar_severity_widget.vue';\nimport SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue';\nimport SidebarTodoWidget from '~/sidebar/components/todo_toggle/sidebar_todo_widget.vue';\nimport SidebarLabelsWidget from '~/sidebar/components/labels/labels_select_widget/labels_select_root.vue';\nimport glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport { setError, updateListWeightCache, identifyAffectedLists } from '../graphql/cache_updates';\n\nexport default {\n ListType,\n components: {\n GlDrawer,\n BoardSidebarTitle,\n SidebarAssigneesWidget,\n SidebarDateWidget,\n SidebarConfidentialityWidget,\n SidebarTimeTracker,\n SidebarLabelsWidget,\n SidebarSubscriptionsWidget,\n SidebarDropdownWidget,\n SidebarTodoWidget,\n SidebarSeverityWidget,\n MountingPortal,\n SidebarHealthStatusWidget: () =>\n import('ee_component/sidebar/components/health_status/sidebar_health_status_widget.vue'),\n SidebarIterationWidget: () =>\n import('ee_component/sidebar/components/iteration/sidebar_iteration_widget.vue'),\n SidebarWeightWidget: () =>\n import('ee_component/sidebar/components/weight/sidebar_weight_widget.vue'),\n },\n mixins: [glFeatureFlagMixin()],\n inject: {\n multipleAssigneesFeatureAvailable: {\n default: false,\n },\n epicFeatureAvailable: {\n default: false,\n },\n iterationFeatureAvailable: {\n default: false,\n },\n weightFeatureAvailable: {\n default: false,\n },\n healthStatusFeatureAvailable: {\n default: false,\n },\n allowLabelEdit: {\n default: false,\n },\n labelsFilterBasePath: {\n default: '',\n },\n canUpdate: {\n default: false,\n },\n issuableType: {\n default: TYPE_ISSUE,\n },\n isGroupBoard: {\n default: false,\n },\n timeTrackingLimitToHours: {\n default: false,\n },\n },\n inheritAttrs: false,\n props: {\n backlogListId: {\n type: String,\n required: true,\n },\n closedListId: {\n type: String,\n required: true,\n },\n },\n data() {\n return {\n affectedListTypes: [],\n updatedAttributeIds: [],\n };\n },\n apollo: {\n // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n activeBoardCard: {\n query: activeBoardItemQuery,\n variables: {\n isIssue: true,\n },\n update(data) {\n if (!data.activeBoardItem?.id) {\n return { id: '', iid: '' };\n }\n return {\n ...data.activeBoardItem,\n assignees: data.activeBoardItem.assignees?.nodes || [],\n };\n },\n error(error) {\n setError({\n error,\n message: s__('Boards|An error occurred while selecting the card. Please try again.'),\n });\n },\n },\n },\n computed: {\n activeBoardIssuable() {\n return this.activeBoardCard;\n },\n isSidebarOpen() {\n return Boolean(this.activeBoardIssuable?.id);\n },\n isIncidentSidebar() {\n return this.activeBoardIssuable?.type === INCIDENT;\n },\n sidebarTitle() {\n return this.isIncidentSidebar ? __('Incident details') : __('Issue details');\n },\n parentType() {\n return this.isGroupBoard ? WORKSPACE_GROUP : WORKSPACE_PROJECT;\n },\n createLabelTitle() {\n return sprintf(__('Create %{workspace} label'), {\n workspace: this.parentType,\n });\n },\n manageLabelTitle() {\n return sprintf(__('Manage %{workspace} labels'), {\n workspace: this.parentType,\n });\n },\n attrWorkspacePath() {\n return this.isGroupBoard ? this.groupPathForActiveIssue : this.projectPathForActiveIssue;\n },\n labelType() {\n return this.isGroupBoard ? WORKSPACE_GROUP : WORKSPACE_PROJECT;\n },\n labelsFilterPath() {\n return this.isGroupBoard\n ? this.labelsFilterBasePath.replace(':project_path', this.projectPathForActiveIssue)\n : this.labelsFilterBasePath;\n },\n groupPathForActiveIssue() {\n const { referencePath = '' } = this.activeBoardIssuable;\n return referencePath.slice(0, referencePath.lastIndexOf('/'));\n },\n projectPathForActiveIssue() {\n const { referencePath = '' } = this.activeBoardIssuable;\n return referencePath.slice(0, referencePath.indexOf('#'));\n },\n showWorkItemEpics() {\n return this.glFeatures.workItemEpics;\n },\n showEpicSidebarDropdownWidget() {\n return this.epicFeatureAvailable && !this.isIncidentSidebar && this.activeBoardIssuable.id;\n },\n showIterationSidebarDropdownWidget() {\n return (\n this.iterationFeatureAvailable && !this.isIncidentSidebar && this.activeBoardIssuable.id\n );\n },\n apolloClient() {\n return this.$apollo.provider.clients.defaultClient;\n },\n },\n methods: {\n async handleClose() {\n const item = this.activeBoardCard;\n\n await this.$apollo.mutate({\n mutation: setActiveBoardItemMutation,\n variables: {\n boardItem: null,\n listId: null,\n },\n });\n\n if (item.listId !== this.closedListId) {\n await this.refetchAffectedLists(item);\n }\n this.affectedListTypes = [];\n this.updatedAttributeIds = [];\n },\n updateListTotalWeight({ weight }) {\n const { cache } = this.apolloClient;\n updateListWeightCache({ weight, listId: this.activeBoardCard.listId, cache });\n },\n updateAffectedLists({ listType, attribute }) {\n if (!this.affectedListTypes.includes(listType)) {\n this.affectedListTypes.push(listType);\n }\n\n if (Array.isArray(attribute)) {\n this.updatedAttributeIds = union(\n this.updatedAttributeIds,\n attribute.map(({ id }) => id),\n );\n } else {\n const attr = attribute.issuableSetAttribute.issuable.attribute;\n if (attr) {\n this.updatedAttributeIds.push(attr.id);\n }\n }\n },\n refetchAffectedLists(item) {\n if (!this.affectedListTypes.length) {\n return;\n }\n\n const affectedLists = identifyAffectedLists({\n client: this.apolloClient,\n item,\n issuableType: this.issuableType,\n affectedListTypes: this.affectedListTypes,\n updatedAttributeIds: this.updatedAttributeIds,\n });\n\n if (this.backlogListId && !affectedLists.includes(this.backlogListId)) {\n affectedLists.push(this.backlogListId);\n }\n\n this.apolloClient.refetchQueries({\n updateCache(cache) {\n affectedLists.forEach((listId) => {\n cache.evict({\n id: cache.identify({\n __typename: 'BoardList',\n id: listId,\n }),\n fieldName: 'issues',\n });\n cache.evict({\n id: cache.identify({\n __typename: 'BoardList',\n id: listId,\n }),\n fieldName: 'issuesCount',\n });\n });\n },\n });\n },\n },\n};\n</script>\n\n<template>\n <mounting-portal mount-to=\"#js-right-sidebar-portal\" name=\"board-content-sidebar\" append>\n <gl-drawer\n v-bind=\"$attrs\"\n :open=\"isSidebarOpen\"\n class=\"boards-sidebar\"\n variant=\"sidebar\"\n @close=\"handleClose\"\n >\n <template #title>\n <h2 class=\"gl-my-0 gl-text-size-h2 gl-leading-24\">{{ sidebarTitle }}</h2>\n </template>\n <template #header>\n <sidebar-todo-widget\n class=\"gl-mt-3\"\n :issuable-id=\"activeBoardIssuable.id\"\n :issuable-iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n />\n </template>\n <template #default>\n <board-sidebar-title :active-item=\"activeBoardIssuable\" data-testid=\"sidebar-title\" />\n <sidebar-assignees-widget\n v-if=\"activeBoardIssuable.assignees\"\n :iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :initial-assignees=\"activeBoardIssuable.assignees\"\n :allow-multiple-assignees=\"multipleAssigneesFeatureAvailable\"\n :editable=\"canUpdate\"\n @assignees-updated=\"\n updateAffectedLists({\n listType: $options.ListType.assignee,\n attribute: $event.assignees,\n })\n \"\n />\n <sidebar-dropdown-widget\n v-if=\"showEpicSidebarDropdownWidget\"\n :key=\"`epic-${activeBoardIssuable.iid}`\"\n :iid=\"activeBoardIssuable.iid\"\n issuable-attribute=\"epic\"\n :workspace-path=\"projectPathForActiveIssue\"\n :attr-workspace-path=\"groupPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n :issue-id=\"activeBoardIssuable.id\"\n :show-work-item-epics=\"showWorkItemEpics\"\n data-testid=\"sidebar-epic\"\n />\n <div>\n <sidebar-dropdown-widget\n v-if=\"activeBoardIssuable.id\"\n :key=\"`milestone-${activeBoardIssuable.iid}`\"\n :iid=\"activeBoardIssuable.iid\"\n issuable-attribute=\"milestone\"\n :workspace-path=\"projectPathForActiveIssue\"\n :attr-workspace-path=\"projectPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n :issue-id=\"activeBoardIssuable.id\"\n data-testid=\"sidebar-milestones\"\n @attribute-updated=\"\n updateAffectedLists({ listType: $options.ListType.milestone, attribute: $event })\n \"\n />\n <sidebar-iteration-widget\n v-if=\"showIterationSidebarDropdownWidget\"\n :key=\"`iteration-${activeBoardIssuable.iid}`\"\n :iid=\"activeBoardIssuable.iid\"\n :issue-id=\"activeBoardIssuable.id\"\n :workspace-path=\"projectPathForActiveIssue\"\n :attr-workspace-path=\"groupPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n class=\"gl-mt-5\"\n data-testid=\"iteration-edit\"\n @iteration-updated=\"\n updateAffectedLists({ listType: $options.ListType.iteration, attribute: $event })\n \"\n />\n </div>\n <sidebar-time-tracker\n :can-add-time-entries=\"canUpdate\"\n :can-set-time-estimate=\"canUpdate\"\n :full-path=\"projectPathForActiveIssue\"\n :issuable-id=\"activeBoardIssuable.id\"\n :issuable-iid=\"activeBoardIssuable.iid\"\n :limit-to-hours=\"timeTrackingLimitToHours\"\n :show-collapsed=\"false\"\n />\n <sidebar-date-widget\n :iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n data-testid=\"sidebar-due-date\"\n />\n <sidebar-labels-widget\n class=\"block labels\"\n :iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :allow-label-remove=\"allowLabelEdit\"\n :allow-multiselect=\"true\"\n :footer-create-label-title=\"createLabelTitle\"\n :footer-manage-label-title=\"manageLabelTitle\"\n :labels-create-title=\"createLabelTitle\"\n :labels-filter-base-path=\"labelsFilterPath\"\n :attr-workspace-path=\"attrWorkspacePath\"\n workspace-type=\"project\"\n :issuable-type=\"issuableType\"\n :label-create-type=\"labelType\"\n @updateSelectedLabels=\"\n updateAffectedLists({ listType: $options.ListType.label, attribute: $event.labels })\n \"\n >\n {{ __('None') }}\n </sidebar-labels-widget>\n <sidebar-severity-widget\n v-if=\"isIncidentSidebar\"\n :iid=\"activeBoardIssuable.iid\"\n :project-path=\"projectPathForActiveIssue\"\n :initial-severity=\"activeBoardIssuable.severity\"\n />\n <sidebar-weight-widget\n v-if=\"weightFeatureAvailable && !isIncidentSidebar\"\n :iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n @weightUpdated=\"updateListTotalWeight\"\n />\n <sidebar-health-status-widget\n v-if=\"healthStatusFeatureAvailable\"\n :iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n />\n <sidebar-confidentiality-widget\n :iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n />\n <sidebar-subscriptions-widget\n :iid=\"activeBoardIssuable.iid\"\n :full-path=\"projectPathForActiveIssue\"\n :issuable-type=\"issuableType\"\n :show-in-dropdown=\"false\"\n data-testid=\"sidebar-notifications\"\n />\n </template>\n </gl-drawer>\n </mounting-portal>\n</template>\n","import { render, staticRenderFns } from \"./board_content_sidebar.vue?vue&type=template&id=00a23ebf\"\nimport script from \"./board_content_sidebar.vue?vue&type=script&lang=js\"\nexport * from \"./board_content_sidebar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"projectAutocompleteUsersSearchWithMRPermissions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequestId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MergeRequestID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"users\"},\"name\":{\"kind\":\"Name\",\"value\":\"autocompleteUsers\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"User\"},\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"UserAvailability\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequestInteraction\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequestId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canMerge\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":477}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/user.fragment.graphql\\\"\\n#import \\\"~/graphql_shared/fragments/user_availability.fragment.graphql\\\"\\n\\nquery projectAutocompleteUsersSearchWithMRPermissions(\\n $search: String!\\n $fullPath: ID!\\n $mergeRequestId: MergeRequestID!\\n) {\\n workspace: project(fullPath: $fullPath) {\\n id\\n users: autocompleteUsers(search: $search) {\\n ...User\\n ...UserAvailability\\n mergeRequestInteraction(id: $mergeRequestId) {\\n canMerge\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/user.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"~/graphql_shared/fragments/user_availability.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"projectAutocompleteUsersSearchWithMRPermissions\"] = oneQuery(doc, \"projectAutocompleteUsersSearchWithMRPermissions\");\n \n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('sidebar-dropdown-widget',_vm._g(_vm._b({attrs:{\"icon\":_vm.icon,\"issuable-type\":_vm.issuableType,\"attr-workspace-path\":_vm.attrWorkspacePath,\"issuable-attribute\":_vm.issuableAttribute,\"iid\":_vm.iid,\"workspace-path\":_vm.workspacePath,\"show-work-item-epics\":_vm.showWorkItemEpics,\"is-epic-attribute\":_vm.isEpic,\"issuable-parent\":_vm.issuable},on:{\"updateAttribute\":_vm.updateAttribute},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(_,name){return {key:name,fn:function(slotData){return [_vm._t(name,null,null,slotData)]}}})],null,true)},'sidebar-dropdown-widget',_vm.$attrs,false),_vm.$listeners))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { __ } from '~/locale';\nimport SidebarDropdownWidget from '~/sidebar/components/sidebar_dropdown_widget.vue';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_EPIC } from '~/issues/constants';\nimport { WORK_ITEM_TYPE_VALUE_EPIC } from '~/work_items/constants';\nimport { getIdFromGraphQLId, convertToGraphQLId } from '~/graphql_shared/utils';\nimport { TYPENAME_WORK_ITEM, TYPENAME_ISSUE } from '~/graphql_shared/constants';\nimport { createAlert } from '~/alert';\nimport {\n dropdowni18nText,\n IssuableAttributeType,\n IssuableAttributeState,\n LocalizedIssuableAttributeType,\n IssuableAttributeTypeKeyMap,\n SIDEBAR_ESCALATION_POLICY_TITLE,\n} from 'ee_else_ce/sidebar/constants';\nimport { issuableAttributesQueries } from '../queries/constants';\n\nconst widgetTitleText = {\n [IssuableAttributeType.Milestone]: __('Milestone'),\n [IssuableAttributeType.Iteration]: __('Iteration'),\n [IssuableAttributeType.Epic]: __('Epic'),\n [IssuableAttributeType.EscalationPolicy]: SIDEBAR_ESCALATION_POLICY_TITLE,\n none: __('None'),\n expired: __('(expired)'),\n};\n\nexport default {\n components: { SidebarDropdownWidget },\n provide: {\n issuableAttributesQueries,\n widgetTitleText,\n issuableAttributesState: IssuableAttributeState,\n },\n inheritAttrs: false,\n props: {\n issuableAttribute: {\n type: String,\n required: true,\n validator(value) {\n return [\n IssuableAttributeType.Milestone,\n IssuableAttributeType.Iteration,\n IssuableAttributeType.Epic,\n IssuableAttributeType.EscalationPolicy,\n ].includes(value);\n },\n },\n workspacePath: {\n required: true,\n type: String,\n },\n iid: {\n required: true,\n type: String,\n },\n attrWorkspacePath: {\n required: true,\n type: String,\n },\n issuableType: {\n type: String,\n required: true,\n validator(value) {\n return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(value);\n },\n },\n icon: {\n type: String,\n required: false,\n default: undefined,\n },\n issueId: {\n type: String,\n required: false,\n default: '',\n },\n showWorkItemEpics: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n apollo: {\n // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n issuable: {\n query() {\n const { current } = this.issuableAttributeQuery;\n const { query } = current[this.issuableType];\n\n return query;\n },\n variables() {\n return {\n fullPath: this.workspacePath,\n iid: this.iid,\n };\n },\n update(data) {\n return data.workspace?.issuable || {};\n },\n result({ data }) {\n this.hasWorkItemParent = data?.workspace?.issuable?.hasParent && this.showWorkItemEpics;\n },\n error(error) {\n createAlert({\n message: this.i18n.currentFetchError,\n captureError: true,\n error,\n });\n },\n },\n // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n workItem: {\n query() {\n return issuableAttributesQueries[IssuableAttributeType.Parent].current[this.issuableType]\n .query;\n },\n variables() {\n return {\n id: this.issuableId,\n };\n },\n update(data) {\n return data.workspace?.workItems?.nodes[0] || {};\n },\n skip() {\n return !this.hasWorkItemParent;\n },\n result({ data }) {\n if (data?.workItem) {\n this.setParentData(data.workItem);\n }\n },\n error(error) {\n createAlert({\n message: this.i18n.currentFetchError,\n captureError: true,\n error,\n });\n },\n subscribeToMore: {\n document() {\n return issuableAttributesQueries[IssuableAttributeType.Parent].subscription;\n },\n variables() {\n return {\n workItemId: convertToGraphQLId(TYPENAME_WORK_ITEM, getIdFromGraphQLId(this.issuableId)),\n };\n },\n skip() {\n return this.skipRealTimeWorkItemParentUpdates;\n },\n updateQuery(_, { subscriptionData }) {\n if (subscriptionData.data?.workItem) {\n this.setParentData(subscriptionData.data.workItem);\n }\n },\n },\n },\n },\n data() {\n return {\n hasWorkItemParent: false,\n };\n },\n computed: {\n issuableId() {\n return this.issuableType === TYPE_ISSUE\n ? convertToGraphQLId(TYPENAME_ISSUE, this.issueId)\n : this.issueId;\n },\n issuableAttributeQuery() {\n return issuableAttributesQueries[this.issuableAttribute];\n },\n skipRealTimeWorkItemParentUpdates() {\n return this.isEpic && !this.showWorkItemEpics && !this.issuableId;\n },\n i18n() {\n const localizedAttribute =\n LocalizedIssuableAttributeType[IssuableAttributeTypeKeyMap[this.issuableAttribute]];\n return dropdowni18nText(localizedAttribute, this.issuableType);\n },\n isEpic() {\n return this.issuableAttribute === TYPE_EPIC;\n },\n },\n methods: {\n async updateAttribute({ id, workItemType }) {\n this.updating = true;\n let response;\n try {\n if (this.hasWorkItemParent) {\n // setting null if there is parent already assigned\n // to avoid parent already assigned error\n await this.updateWorkItem({\n input: {\n id: this.issuableId,\n hierarchyWidget: { parentId: null },\n },\n });\n } else if (this.isEpic && this.showWorkItemEpics && !this.issuable?.hasParent) {\n // Added checks to avoid getting it fired unnecessarily for other widgets\n\n // setting null if there is epic already assigned\n // to avoid epic already assigned error\n await this.updateIssuable({\n fullPath: this.workspacePath,\n attributeId: null,\n iid: this.iid,\n });\n }\n\n // Set actual data for work item epic or legacy epic\n if (workItemType?.name === WORK_ITEM_TYPE_VALUE_EPIC) {\n response = await this.updateWorkItem({\n input: {\n id: this.issuableId,\n hierarchyWidget: { parentId: id },\n },\n });\n } else {\n response = await this.updateIssuable({\n fullPath: this.workspacePath,\n attributeId: id,\n iid: this.iid,\n });\n }\n\n if (response.data.issuableSetAttribute?.errors?.length) {\n createAlert({\n message: response.data.issuableSetAttribute.errors[0],\n captureError: true,\n error: response.data.issuableSetAttribute.errors[0],\n });\n } else {\n this.hasWorkItemParent =\n workItemType?.name === WORK_ITEM_TYPE_VALUE_EPIC && this.showWorkItemEpics;\n this.$emit('attribute-updated', response.data);\n }\n } catch (error) {\n createAlert({ message: this.i18n.updateError, captureError: true, error });\n } finally {\n this.updating = false;\n }\n },\n updateWorkItem(variables) {\n const { current } = issuableAttributesQueries[IssuableAttributeType.Parent];\n const { mutation } = current[this.issuableType];\n\n return this.$apollo.mutate({\n mutation,\n variables,\n });\n },\n updateIssuable(variables) {\n const { current } = this.issuableAttributeQuery;\n const { mutation } = current[this.issuableType];\n\n return this.$apollo.mutate({\n mutation,\n variables,\n });\n },\n setParentData(workItem) {\n const parent = workItem?.widgets?.find((widget) => widget.type === 'HIERARCHY')?.parent;\n\n this.issuable = {\n ...this.issuable,\n attribute: parent\n ? {\n id: parent.id,\n title: parent.title,\n webUrl: parent.webUrl,\n }\n : null,\n };\n },\n },\n};\n</script>\n<template>\n <sidebar-dropdown-widget\n :icon=\"icon\"\n :issuable-type=\"issuableType\"\n :attr-workspace-path=\"attrWorkspacePath\"\n :issuable-attribute=\"issuableAttribute\"\n :iid=\"iid\"\n :workspace-path=\"workspacePath\"\n :show-work-item-epics=\"showWorkItemEpics\"\n :is-epic-attribute=\"isEpic\"\n :issuable-parent=\"issuable\"\n v-bind=\"$attrs\"\n @updateAttribute=\"updateAttribute\"\n v-on=\"$listeners\"\n >\n <template v-for=\"(_, name) in $scopedSlots\" #[name]=\"slotData\">\n <slot :name=\"name\" v-bind=\"slotData\"></slot>\n </template>\n </sidebar-dropdown-widget>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./sidebar_dropdown_widget.vue?vue&type=template&id=dd4f7e04\"\nimport script from \"./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('sidebar-editable-item',{ref:\"editable\",staticClass:\"block\",attrs:{\"title\":_vm.dateLabel,\"tracking\":_vm.tracking,\"loading\":_vm.isLoading,\"data-testid\":_vm.dataTestId},on:{\"open\":_vm.openDatePicker},scopedSlots:_vm._u([(_vm.canInherit)?{key:\"title-extra\",fn:function(){return [_c('help-icon',{ref:\"epicDatePopover\",staticClass:\"hide-collapsed gl-ml-3 gl-cursor-pointer\",attrs:{\"tabindex\":\"0\",\"aria-label\":_vm.$options.i18n.help,\"data-testid\":\"inherit-date-popover\"}}),_vm._v(\" \"),_c('gl-popover',{attrs:{\"target\":_vm.epicDatePopoverEl,\"triggers\":\"focus\",\"placement\":\"left\",\"boundary\":\"viewport\"}},[_c('p',[_vm._v(_vm._s(_vm.$options.i18n.dateHelpValidMessage))]),_vm._v(\" \"),_c('gl-link',{attrs:{\"href\":_vm.$options.dateHelpUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$options.i18n.learnMore))])],1)]},proxy:true}:null,{key:\"collapsed\",fn:function(){return [_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.viewport.left\",modifiers:{\"viewport\":true,\"left\":true}}],staticClass:\"sidebar-collapsed-icon\",attrs:{\"title\":_vm.dateLabel}},[_c('gl-icon',{attrs:{\"size\":16,\"name\":\"calendar\"}}),_vm._v(\" \"),_c('span',{staticClass:\"gl-px-3 gl-pt-2 gl-text-sm\"},[_vm._v(_vm._s(_vm.formattedDate))])],1),_vm._v(\" \"),(_vm.canInherit && !_vm.initialLoading)?_c('sidebar-inherit-date',{attrs:{\"issuable\":_vm.issuable,\"date-type\":_vm.dateType,\"is-loading\":_vm.isLoading},on:{\"reset-date\":function($event){return _vm.setDate(null)},\"set-date\":_vm.setFixedDate}}):_c('sidebar-formatted-date',{attrs:{\"has-date\":_vm.hasDate,\"formatted-date\":_vm.formattedDate,\"reset-text\":_vm.removeDateLabel,\"is-loading\":_vm.isLoading},on:{\"reset-date\":function($event){return _vm.setDate(null)}}})]},proxy:true},{key:\"default\",fn:function(){return [(!_vm.isLoading)?_c('gl-datepicker',{ref:\"datePicker\",staticClass:\"gl-relative\",attrs:{\"value\":_vm.parsedDate,\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"default-date\":_vm.parsedDate,\"first-day\":_vm.firstDay,\"show-clear-button\":\"\",\"autocomplete\":\"off\"},on:{\"input\":_vm.setDate,\"clear\":function($event){return _vm.setDate(null)}}}):_vm._e()]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_formatted_date.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_formatted_date.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton } from '@gitlab/ui';\n\nexport default {\n components: {\n GlButton,\n },\n inject: ['canUpdate'],\n props: {\n formattedDate: {\n required: true,\n type: String,\n },\n hasDate: {\n required: true,\n type: Boolean,\n },\n resetText: {\n required: true,\n type: String,\n },\n isLoading: {\n required: true,\n type: Boolean,\n },\n canDelete: {\n required: false,\n type: Boolean,\n default: true,\n },\n },\n};\n</script>\n\n<template>\n <div class=\"hide-collapsed gl-flex gl-items-center\">\n <span :class=\"hasDate ? 'gl-text-default' : 'gl-text-subtle'\" data-testid=\"sidebar-date-value\">\n {{ formattedDate }}\n </span>\n <div v-if=\"hasDate && canUpdate && canDelete\" class=\"gl-flex\">\n <span class=\"gl-px-2\">-</span>\n <gl-button\n variant=\"link\"\n class=\"!gl-text-subtle\"\n data-testid=\"reset-button\"\n :disabled=\"isLoading\"\n @click=\"$emit('reset-date', $event)\"\n >\n {{ resetText }}\n </gl-button>\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_formatted_date.vue?vue&type=template&id=551d23d8\"\nimport script from \"./sidebar_formatted_date.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_formatted_date.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"hide-collapsed gl-flex gl-items-center\"},[_c('span',{class:_vm.hasDate ? 'gl-text-default' : 'gl-text-subtle',attrs:{\"data-testid\":\"sidebar-date-value\"}},[_vm._v(\"\\n \"+_vm._s(_vm.formattedDate)+\"\\n \")]),_vm._v(\" \"),(_vm.hasDate && _vm.canUpdate && _vm.canDelete)?_c('div',{staticClass:\"gl-flex\"},[_c('span',{staticClass:\"gl-px-2\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('gl-button',{staticClass:\"!gl-text-subtle\",attrs:{\"variant\":\"link\",\"data-testid\":\"reset-button\",\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.$emit('reset-date', $event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.resetText)+\"\\n \")])],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_inherit_date.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_inherit_date.vue?vue&type=script&lang=js\"","<script>\nimport { GlFormRadio } from '@gitlab/ui';\nimport { localeDateFormat, newDate } from '~/lib/utils/datetime_utility';\nimport { __ } from '~/locale';\nimport { dateFields } from '../../constants';\nimport SidebarFormattedDate from './sidebar_formatted_date.vue';\n\nexport default {\n components: {\n GlFormRadio,\n SidebarFormattedDate,\n },\n inject: ['canUpdate'],\n props: {\n issuable: {\n required: true,\n type: Object,\n },\n isLoading: {\n required: false,\n type: Boolean,\n default: false,\n },\n dateType: {\n type: String,\n required: true,\n },\n },\n computed: {\n dateIsFixed: {\n get() {\n return this.issuable?.[dateFields[this.dateType].isDateFixed] || false;\n },\n set(fixed) {\n if (fixed === this.issuable[dateFields[this.dateType].isDateFixed]) return;\n this.$emit('set-date', fixed);\n },\n },\n hasFixedDate() {\n return this.issuable[dateFields[this.dateType].dateFixed] !== null;\n },\n formattedFixedDate() {\n const dateFixed = this.issuable[dateFields[this.dateType].dateFixed];\n if (!dateFixed) {\n return this.$options.i18n.noDate;\n }\n\n return localeDateFormat.asDate.format(newDate(dateFixed));\n },\n formattedInheritedDate() {\n const dateFromMilestones = this.issuable[dateFields[this.dateType].dateFromMilestones];\n if (!dateFromMilestones) {\n return this.$options.i18n.noDate;\n }\n\n return localeDateFormat.asDate.format(newDate(dateFromMilestones));\n },\n },\n i18n: {\n fixed: __('Fixed:'),\n inherited: __('Inherited:'),\n remove: __('remove'),\n noDate: __('None'),\n },\n};\n</script>\n\n<template>\n <div class=\"hide-collapsed gl-mt-3\">\n <div class=\"gl-flex gl-items-baseline\" data-testid=\"sidebar-fixed-date\">\n <gl-form-radio\n v-model=\"dateIsFixed\"\n :value=\"true\"\n :disabled=\"!canUpdate || isLoading\"\n class=\"gl-pr-2\"\n >\n <span :class=\"dateIsFixed ? 'gl-font-bold gl-text-default' : 'gl-text-subtle'\">\n {{ $options.i18n.fixed }}\n </span>\n </gl-form-radio>\n <sidebar-formatted-date\n :has-date=\"dateIsFixed\"\n :formatted-date=\"formattedFixedDate\"\n :reset-text=\"$options.i18n.remove\"\n :is-loading=\"isLoading\"\n :can-delete=\"dateIsFixed && hasFixedDate\"\n class=\"gl-leading-normal\"\n @reset-date=\"$emit('reset-date', $event)\"\n />\n </div>\n <div class=\"gl-flex gl-items-baseline\" data-testid=\"sidebar-inherited-date\">\n <gl-form-radio\n v-model=\"dateIsFixed\"\n :value=\"false\"\n :disabled=\"!canUpdate || isLoading\"\n class=\"gl-pr-2\"\n >\n <span :class=\"!dateIsFixed ? 'gl-font-bold gl-text-default' : 'gl-text-disalbed'\">\n {{ $options.i18n.inherited }}\n </span>\n </gl-form-radio>\n <sidebar-formatted-date\n :has-date=\"!dateIsFixed\"\n :formatted-date=\"formattedInheritedDate\"\n :reset-text=\"$options.i18n.remove\"\n :is-loading=\"isLoading\"\n :can-delete=\"false\"\n class=\"gl-leading-normal\"\n />\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_inherit_date.vue?vue&type=template&id=144fb6f1\"\nimport script from \"./sidebar_inherit_date.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_inherit_date.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"hide-collapsed gl-mt-3\"},[_c('div',{staticClass:\"gl-flex gl-items-baseline\",attrs:{\"data-testid\":\"sidebar-fixed-date\"}},[_c('gl-form-radio',{staticClass:\"gl-pr-2\",attrs:{\"value\":true,\"disabled\":!_vm.canUpdate || _vm.isLoading},model:{value:(_vm.dateIsFixed),callback:function ($$v) {_vm.dateIsFixed=$$v},expression:\"dateIsFixed\"}},[_c('span',{class:_vm.dateIsFixed ? 'gl-font-bold gl-text-default' : 'gl-text-subtle'},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.fixed)+\"\\n \")])]),_vm._v(\" \"),_c('sidebar-formatted-date',{staticClass:\"gl-leading-normal\",attrs:{\"has-date\":_vm.dateIsFixed,\"formatted-date\":_vm.formattedFixedDate,\"reset-text\":_vm.$options.i18n.remove,\"is-loading\":_vm.isLoading,\"can-delete\":_vm.dateIsFixed && _vm.hasFixedDate},on:{\"reset-date\":function($event){return _vm.$emit('reset-date', $event)}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"gl-flex gl-items-baseline\",attrs:{\"data-testid\":\"sidebar-inherited-date\"}},[_c('gl-form-radio',{staticClass:\"gl-pr-2\",attrs:{\"value\":false,\"disabled\":!_vm.canUpdate || _vm.isLoading},model:{value:(_vm.dateIsFixed),callback:function ($$v) {_vm.dateIsFixed=$$v},expression:\"dateIsFixed\"}},[_c('span',{class:!_vm.dateIsFixed ? 'gl-font-bold gl-text-default' : 'gl-text-disalbed'},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.inherited)+\"\\n \")])]),_vm._v(\" \"),_c('sidebar-formatted-date',{staticClass:\"gl-leading-normal\",attrs:{\"has-date\":!_vm.dateIsFixed,\"formatted-date\":_vm.formattedInheritedDate,\"reset-text\":_vm.$options.i18n.remove,\"is-loading\":_vm.isLoading,\"can-delete\":false}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlIcon, GlDatepicker, GlTooltipDirective, GlLink, GlPopover } from '@gitlab/ui';\nimport { createAlert } from '~/alert';\nimport HelpIcon from '~/vue_shared/components/help_icon/help_icon.vue';\nimport { TYPE_ISSUE } from '~/issues/constants';\nimport { localeDateFormat, newDate, toISODateFormat } from '~/lib/utils/datetime_utility';\nimport { __, sprintf } from '~/locale';\nimport { dateFields, dateTypes, Tracking } from '../../constants';\nimport { dueDateQueries, startDateQueries } from '../../queries/constants';\nimport SidebarEditableItem from '../sidebar_editable_item.vue';\nimport SidebarFormattedDate from './sidebar_formatted_date.vue';\nimport SidebarInheritDate from './sidebar_inherit_date.vue';\n\nconst hideDropdownEvent = new CustomEvent('hiddenGlDropdown', {\n bubbles: true,\n});\n\nexport default {\n tracking: {\n event: Tracking.editEvent,\n label: Tracking.rightSidebarLabel,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n components: {\n GlIcon,\n GlDatepicker,\n GlLink,\n GlPopover,\n SidebarEditableItem,\n SidebarFormattedDate,\n SidebarInheritDate,\n HelpIcon,\n },\n inject: ['canUpdate'],\n props: {\n iid: {\n type: String,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n dateType: {\n type: String,\n required: false,\n default: dateTypes.due,\n },\n issuableType: {\n required: true,\n type: String,\n },\n canInherit: {\n required: false,\n type: Boolean,\n default: false,\n },\n minDate: {\n required: false,\n type: Date,\n default: null,\n },\n maxDate: {\n required: false,\n type: Date,\n default: null,\n },\n },\n data() {\n return {\n issuable: {},\n loading: false,\n tracking: {\n ...this.$options.tracking,\n property: this.dateType === dateTypes.start ? 'startDate' : 'dueDate',\n },\n };\n },\n apollo: {\n issuable: {\n query() {\n return this.dateQueries[this.issuableType].query;\n },\n variables() {\n return {\n fullPath: this.fullPath,\n iid: String(this.iid),\n };\n },\n skip() {\n return !this.iid;\n },\n update(data) {\n return data.workspace?.issuable || {};\n },\n result({ data }) {\n if (!data) {\n return;\n }\n this.$emit(`${this.dateType}Updated`, data.workspace?.issuable?.[this.dateType]);\n },\n error() {\n createAlert({\n message: sprintf(\n __('Something went wrong while setting %{issuableType} %{dateType} date.'),\n {\n issuableType: this.issuableType,\n dateType: this.dateType === dateTypes.start ? 'start' : 'due',\n },\n ),\n });\n },\n subscribeToMore: {\n document() {\n return this.dateQueries[this.issuableType].subscription;\n },\n variables() {\n return {\n issuableId: this.issuableId,\n };\n },\n skip() {\n return this.skipIssueDueDateSubscription;\n },\n },\n },\n },\n computed: {\n dateQueries() {\n return this.dateType === dateTypes.start ? startDateQueries : dueDateQueries;\n },\n dateLabel() {\n return this.dateType === dateTypes.start\n ? this.$options.i18n.startDate\n : this.$options.i18n.dueDate;\n },\n removeDateLabel() {\n return this.dateType === dateTypes.start\n ? this.$options.i18n.removeStartDate\n : this.$options.i18n.removeDueDate;\n },\n dateValue() {\n return this.issuable?.[this.dateType] || null;\n },\n firstDay() {\n return gon.first_day_of_week;\n },\n isLoading() {\n return this.$apollo.queries.issuable.loading || this.loading;\n },\n initialLoading() {\n return this.$apollo.queries.issuable.loading;\n },\n hasDate() {\n return this.dateValue !== null;\n },\n parsedDate() {\n if (!this.hasDate) {\n return null;\n }\n\n return newDate(this.dateValue);\n },\n formattedDate() {\n if (!this.hasDate) {\n return this.$options.i18n.noDate;\n }\n\n return localeDateFormat.asDate.format(this.parsedDate);\n },\n workspacePath() {\n return this.issuableType === TYPE_ISSUE\n ? {\n projectPath: this.fullPath,\n }\n : {\n groupPath: this.fullPath,\n };\n },\n dataTestId() {\n return this.dateType === dateTypes.start ? 'sidebar-start-date' : 'sidebar-due-date';\n },\n issuableId() {\n return this.issuable.id;\n },\n skipIssueDueDateSubscription() {\n return this.issuableType !== TYPE_ISSUE || !this.issuableId || this.isLoading;\n },\n },\n methods: {\n epicDatePopoverEl() {\n return this.$refs?.epicDatePopover?.$el;\n },\n closeForm() {\n this.$refs.editable.collapse();\n this.$el.dispatchEvent(hideDropdownEvent);\n this.$emit('closeForm');\n },\n openDatePicker() {\n this.$refs.datePicker.show();\n },\n setFixedDate(isFixed) {\n const date = this.issuable[dateFields[this.dateType].dateFixed];\n this.setDate(date, isFixed);\n },\n setDate(date, isFixed = true) {\n const formattedDate = date ? toISODateFormat(date) : null;\n this.loading = true;\n this.$refs.editable.collapse();\n this.$apollo\n .mutate({\n mutation: this.dateQueries[this.issuableType].mutation,\n variables: {\n input: {\n ...this.workspacePath,\n iid: this.iid,\n ...(this.canInherit\n ? {\n [dateFields[this.dateType].dateFixed]: isFixed ? formattedDate : undefined,\n [dateFields[this.dateType].isDateFixed]: isFixed,\n }\n : {\n [this.dateType]: formattedDate,\n }),\n },\n },\n })\n .then(\n ({\n data: {\n issuableSetDate: { errors },\n },\n }) => {\n if (errors.length) {\n createAlert({\n message: errors[0],\n });\n } else {\n this.$emit('closeForm');\n }\n },\n )\n .catch(() => {\n createAlert({\n message: sprintf(\n __('Something went wrong while setting %{issuableType} %{dateType} date.'),\n {\n issuableType: this.issuableType,\n dateType: this.dateType === dateTypes.start ? 'start' : 'due',\n },\n ),\n });\n })\n .finally(() => {\n this.loading = false;\n });\n },\n },\n i18n: {\n dueDate: __('Due date'),\n startDate: __('Start date'),\n noDate: __('None'),\n removeDueDate: __('remove due date'),\n removeStartDate: __('remove start date'),\n dateHelpValidMessage: __(\n 'These dates affect how your epics appear in the roadmap. Set a fixed date or one inherited from the milestones assigned to issues in this epic.',\n ),\n help: __('Help'),\n learnMore: __('Learn more'),\n },\n dateHelpUrl: '/help/user/group/epics/manage_epics.md#start-and-due-date-inheritance',\n};\n</script>\n\n<template>\n <sidebar-editable-item\n ref=\"editable\"\n :title=\"dateLabel\"\n :tracking=\"tracking\"\n :loading=\"isLoading\"\n class=\"block\"\n :data-testid=\"dataTestId\"\n @open=\"openDatePicker\"\n >\n <template v-if=\"canInherit\" #title-extra>\n <help-icon\n ref=\"epicDatePopover\"\n class=\"hide-collapsed gl-ml-3 gl-cursor-pointer\"\n tabindex=\"0\"\n :aria-label=\"$options.i18n.help\"\n data-testid=\"inherit-date-popover\"\n />\n <gl-popover :target=\"epicDatePopoverEl\" triggers=\"focus\" placement=\"left\" boundary=\"viewport\">\n <p>{{ $options.i18n.dateHelpValidMessage }}</p>\n <gl-link :href=\"$options.dateHelpUrl\" target=\"_blank\">{{\n $options.i18n.learnMore\n }}</gl-link>\n </gl-popover>\n </template>\n <template #collapsed>\n <div v-gl-tooltip.viewport.left :title=\"dateLabel\" class=\"sidebar-collapsed-icon\">\n <gl-icon :size=\"16\" name=\"calendar\" />\n <span class=\"gl-px-3 gl-pt-2 gl-text-sm\">{{ formattedDate }}</span>\n </div>\n <sidebar-inherit-date\n v-if=\"canInherit && !initialLoading\"\n :issuable=\"issuable\"\n :date-type=\"dateType\"\n :is-loading=\"isLoading\"\n @reset-date=\"setDate(null)\"\n @set-date=\"setFixedDate\"\n />\n <sidebar-formatted-date\n v-else\n :has-date=\"hasDate\"\n :formatted-date=\"formattedDate\"\n :reset-text=\"removeDateLabel\"\n :is-loading=\"isLoading\"\n @reset-date=\"setDate(null)\"\n />\n </template>\n <template #default>\n <gl-datepicker\n v-if=\"!isLoading\"\n ref=\"datePicker\"\n class=\"gl-relative\"\n :value=\"parsedDate\"\n :min-date=\"minDate\"\n :max-date=\"maxDate\"\n :default-date=\"parsedDate\"\n :first-day=\"firstDay\"\n show-clear-button\n autocomplete=\"off\"\n @input=\"setDate\"\n @clear=\"setDate(null)\"\n />\n </template>\n </sidebar-editable-item>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_date_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_date_widget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./sidebar_date_widget.vue?vue&type=template&id=7f43361a\"\nimport script from \"./sidebar_date_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_date_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemParentUpdated\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workItem\"},\"name\":{\"kind\":\"Name\",\"value\":\"workItemUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"workItemId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgets\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemWidgetHierarchy\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":284}};\n doc.loc.source = {\"body\":\"subscription workItemParentUpdated($workItemId: WorkItemID!) {\\n workItem: workItemUpdated(workItemId: $workItemId) {\\n id\\n widgets {\\n ... on WorkItemWidgetHierarchy {\\n type\\n parent {\\n id\\n title\\n webUrl\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"workItemParentUpdated\"] = oneQuery(doc, \"workItemParentUpdated\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"suggested-colors gl-grid gl-grid-cols-[repeat(auto-fill,2rem)] gl-justify-between gl-gap-2\"},_vm._l((_vm.suggestedColors),function(color,index){return _c('gl-link',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip:tooltipcontainer\",arg:\"tooltipcontainer\"}],key:index,staticClass:\"gl-block gl-h-7 gl-w-7 gl-rounded-base\",style:(_vm.getStyle(color)),attrs:{\"title\":_vm.getColorName(color)},on:{\"click\":function($event){$event.preventDefault();_vm.handleColorClick(_vm.getColorCode(color))}}})}),1),_vm._v(\" \"),_c('div',{staticClass:\"gl-flex\"},[_c('gl-form-group',{staticClass:\"gl-mb-0\"},[_c('gl-form-input',{staticClass:\"-gl-mr-1 gl-w-8 gl-rounded-e-none\",attrs:{\"type\":\"color\",\"value\":_vm.selectedColor,\"placeholder\":_vm.__('Select color'),\"data-testid\":\"selected-color\"},model:{value:(_vm.selectedColor),callback:function ($$v) {_vm.selectedColor=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"selectedColor\"}})],1),_vm._v(\" \"),_c('gl-form-group',{staticClass:\"gl-mb-0 gl-grow\",attrs:{\"invalid-feedback\":_vm.errorMessage,\"state\":_vm.validColor}},[_c('gl-form-input',{staticClass:\"gl-mb-2 gl-rounded-s-none\",attrs:{\"placeholder\":_vm.__('Use custom color #FF0000'),\"autofocus\":_vm.autofocus,\"state\":_vm.validColor},model:{value:(_vm.selectedColor),callback:function ($$v) {_vm.selectedColor=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"selectedColor\"}})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_color_picker.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_color_picker.vue?vue&type=script&lang=js\"","<script>\nimport { GlFormGroup, GlFormInput, GlLink, GlTooltipDirective } from '@gitlab/ui';\n\nexport default {\n components: {\n GlFormInput,\n GlLink,\n GlFormGroup,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n props: {\n value: {\n type: String,\n required: false,\n default: '',\n },\n errorMessage: {\n type: String,\n required: false,\n default: '',\n },\n suggestedColors: {\n type: Array,\n required: false,\n default: () => [],\n },\n autofocus: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n computed: {\n selectedColor: {\n get() {\n return this.value;\n },\n set(color) {\n this.handleColorClick(color);\n },\n },\n validColor() {\n return !this.errorMessage;\n },\n },\n methods: {\n handleColorClick(color) {\n this.$emit('input', color);\n },\n getColorCode(color) {\n return Object.keys(color).pop();\n },\n getColorName(color) {\n return Object.values(color).pop();\n },\n getStyle(color) {\n return {\n backgroundColor: this.getColorCode(color),\n };\n },\n },\n};\n</script>\n<template>\n <div>\n <div\n class=\"suggested-colors gl-grid gl-grid-cols-[repeat(auto-fill,2rem)] gl-justify-between gl-gap-2\"\n >\n <gl-link\n v-for=\"(color, index) in suggestedColors\"\n :key=\"index\"\n v-gl-tooltip:tooltipcontainer\n class=\"gl-block gl-h-7 gl-w-7 gl-rounded-base\"\n :style=\"getStyle(color)\"\n :title=\"getColorName(color)\"\n @click.prevent=\"handleColorClick(getColorCode(color))\"\n />\n </div>\n <div class=\"gl-flex\">\n <gl-form-group class=\"gl-mb-0\">\n <gl-form-input\n v-model.trim=\"selectedColor\"\n class=\"-gl-mr-1 gl-w-8 gl-rounded-e-none\"\n type=\"color\"\n :value=\"selectedColor\"\n :placeholder=\"__('Select color')\"\n data-testid=\"selected-color\"\n />\n </gl-form-group>\n <gl-form-group :invalid-feedback=\"errorMessage\" :state=\"validColor\" class=\"gl-mb-0 gl-grow\">\n <gl-form-input\n v-model.trim=\"selectedColor\"\n class=\"gl-mb-2 gl-rounded-s-none\"\n :placeholder=\"__('Use custom color #FF0000')\"\n :autofocus=\"autofocus\"\n :state=\"validColor\"\n />\n </gl-form-group>\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_color_picker.vue?vue&type=template&id=e1c9cc7a\"\nimport script from \"./sidebar_color_picker.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_color_picker.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"value issuable-show-labels js-value\",class:{\n 'has-labels': _vm.selectedLabels.length,\n },attrs:{\"data-testid\":\"value-wrapper\"}},[_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.left.viewport\",modifiers:{\"left\":true,\"viewport\":true}}],staticClass:\"sidebar-collapsed-icon\",attrs:{\"title\":_vm.labelsList},on:{\"click\":_vm.handleCollapsedClick}},[_c('gl-icon',{attrs:{\"name\":\"labels\"}}),_vm._v(\" \"),_c('span',{staticClass:\"collapse-truncated-title gl-px-3 gl-pt-2 gl-text-sm\"},[_vm._v(_vm._s(_vm.selectedLabels.length))])],1),_vm._v(\" \"),(!_vm.selectedLabels.length)?_c('span',{staticClass:\"hide-collapsed gl-text-subtle\",attrs:{\"data-testid\":\"empty-placeholder\"}},[_vm._t(\"default\")],2):_vm._l((_vm.sortedSelectedLabels),function(label){return _c('gl-label',{key:label.id,staticClass:\"hide-collapsed\",attrs:{\"data-testid\":\"selected-label-content\",\"data-qa-label-name\":label.title,\"title\":label.title,\"description\":label.description,\"background-color\":label.color,\"target\":_vm.labelFilterUrl(label),\"scoped\":_vm.scopedLabel(label),\"show-close-button\":_vm.showCloseButton(label),\"disabled\":_vm.disableLabels,\"tooltip-placement\":\"top\"},on:{\"close\":function($event){return _vm.removeLabel(label.id)}}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_value.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown_value.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon, GlLabel, GlTooltipDirective } from '@gitlab/ui';\nimport { sortBy } from 'lodash';\nimport { isScopedLabel } from '~/lib/utils/common_utils';\nimport { s__, sprintf } from '~/locale';\n\nexport default {\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n components: {\n GlIcon,\n GlLabel,\n },\n inject: ['allowScopedLabels'],\n props: {\n disableLabels: {\n type: Boolean,\n required: false,\n default: false,\n },\n selectedLabels: {\n type: Array,\n required: true,\n },\n allowLabelRemove: {\n type: Boolean,\n required: true,\n },\n supportsLockOnMerge: {\n type: Boolean,\n required: false,\n default: false,\n },\n labelsFilterBasePath: {\n type: String,\n required: true,\n },\n labelsFilterParam: {\n type: String,\n required: true,\n },\n },\n computed: {\n sortedSelectedLabels() {\n return sortBy(this.selectedLabels, (label) => (isScopedLabel(label) ? 0 : 1));\n },\n labelsList() {\n const labelsString = this.selectedLabels.length\n ? this.selectedLabels\n .slice(0, 5)\n .map((label) => label.title)\n .join(', ')\n : s__('LabelSelect|Labels');\n\n if (this.selectedLabels.length > 5) {\n return sprintf(s__('LabelSelect|%{labelsString}, and %{remainingLabelCount} more'), {\n labelsString,\n remainingLabelCount: this.selectedLabels.length - 5,\n });\n }\n\n return labelsString;\n },\n },\n methods: {\n labelFilterUrl(label) {\n return `${this.labelsFilterBasePath}?${this.labelsFilterParam}[]=${encodeURIComponent(\n label.title,\n )}`;\n },\n scopedLabel(label) {\n return this.allowScopedLabels && isScopedLabel(label);\n },\n isLabelLocked(label) {\n return label.lockOnMerge && this.supportsLockOnMerge;\n },\n showCloseButton(label) {\n return this.allowLabelRemove && !this.isLabelLocked(label);\n },\n removeLabel(labelId) {\n this.$emit('onLabelRemove', labelId);\n },\n handleCollapsedClick() {\n this.$emit('onCollapsedValueClick');\n },\n },\n};\n</script>\n\n<template>\n <div\n :class=\"{\n 'has-labels': selectedLabels.length,\n }\"\n class=\"value issuable-show-labels js-value\"\n data-testid=\"value-wrapper\"\n >\n <div\n v-gl-tooltip.left.viewport\n :title=\"labelsList\"\n class=\"sidebar-collapsed-icon\"\n @click=\"handleCollapsedClick\"\n >\n <gl-icon name=\"labels\" />\n <span class=\"collapse-truncated-title gl-px-3 gl-pt-2 gl-text-sm\">{{\n selectedLabels.length\n }}</span>\n </div>\n <span\n v-if=\"!selectedLabels.length\"\n class=\"hide-collapsed gl-text-subtle\"\n data-testid=\"empty-placeholder\"\n >\n <slot></slot>\n </span>\n <template v-else>\n <gl-label\n v-for=\"label in sortedSelectedLabels\"\n :key=\"label.id\"\n class=\"hide-collapsed\"\n data-testid=\"selected-label-content\"\n :data-qa-label-name=\"label.title\"\n :title=\"label.title\"\n :description=\"label.description\"\n :background-color=\"label.color\"\n :target=\"labelFilterUrl(label)\"\n :scoped=\"scopedLabel(label)\"\n :show-close-button=\"showCloseButton(label)\"\n :disabled=\"disableLabels\"\n tooltip-placement=\"top\"\n @close=\"removeLabel(label.id)\"\n />\n </template>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./dropdown_value.vue?vue&type=template&id=029da1af\"\nimport script from \"./dropdown_value.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown_value.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { __, s__ } from '~/locale';\nimport { STATUS_LABELS } from './constants';\n\nexport const getStatusLabel = (status) => STATUS_LABELS[status] ?? s__('IncidentManagement|None');\n\nexport const todoLabel = (hasTodo) => {\n return hasTodo ? __('Mark as done') : __('Add a to-do item');\n};\n\nexport const updateGlobalTodoCount = (delta) => {\n // Optimistic update of user counts\n document.dispatchEvent(new CustomEvent('todo:toggle', { detail: { delta } }));\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"issueEscalationPolicy\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"escalationPolicy\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"EscalationPolicyFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":294}};\n doc.loc.source = {\"body\":\"#import \\\"./escalation_policy.fragment.graphql\\\"\\n\\nquery issueEscalationPolicy($fullPath: ID!, $iid: String!) {\\n workspace: project(fullPath: $fullPath) {\\n id\\n issuable: issue(iid: $iid) {\\n id\\n attribute: escalationPolicy {\\n ...EscalationPolicyFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./escalation_policy.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueEscalationPolicy\"] = oneQuery(doc, \"issueEscalationPolicy\");\n \n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{class:_vm.containerClasses},[_c('gl-sprintf',{attrs:{\"message\":_vm.s__('UserAvailability|%{author}%{badgeStart}Busy%{badgeEnd}')},scopedSlots:_vm._u([{key:\"author\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.name))]),(_vm.hasPronouns)?_c('span',{staticClass:\"gl-ml-1 gl-text-sm gl-font-normal gl-text-subtle\"},[_vm._v(\"(\"+_vm._s(_vm.pronouns)+\")\")]):_vm._e()]},proxy:true},{key:\"badge\",fn:function({ content }){return [(_vm.isBusy)?_c('gl-badge',{staticClass:\"gl-ml-2\",attrs:{\"variant\":\"warning\"}},[_vm._v(\"\\n \"+_vm._s(content)+\"\\n \")]):_vm._e()]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_name_with_status.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_name_with_status.vue?vue&type=script&lang=js\"","<script>\nimport { GlBadge, GlSprintf } from '@gitlab/ui';\nimport { isUserBusy } from '~/set_status_modal/utils';\n\nexport default {\n name: 'UserNameWithStatus',\n components: {\n GlBadge,\n GlSprintf,\n },\n props: {\n name: {\n type: String,\n required: true,\n },\n containerClasses: {\n type: String,\n required: false,\n default: '',\n },\n availability: {\n type: String,\n required: false,\n default: '',\n },\n pronouns: {\n type: String,\n required: false,\n default: '',\n },\n },\n computed: {\n hasPronouns() {\n return this.pronouns !== null && this.pronouns.trim() !== '';\n },\n isBusy() {\n return isUserBusy(this.availability);\n },\n },\n};\n</script>\n<template>\n <span :class=\"containerClasses\">\n <gl-sprintf :message=\"s__('UserAvailability|%{author}%{badgeStart}Busy%{badgeEnd}')\">\n <template #author\n ><span>{{ name }}</span\n ><span v-if=\"hasPronouns\" class=\"gl-ml-1 gl-text-sm gl-font-normal gl-text-subtle\"\n >({{ pronouns }})</span\n ></template\n >\n <template #badge=\"{ content }\">\n <gl-badge v-if=\"isBusy\" variant=\"warning\" class=\"gl-ml-2\">\n {{ content }}\n </gl-badge>\n </template>\n </gl-sprintf>\n </span>\n</template>\n","import { render, staticRenderFns } from \"./user_name_with_status.vue?vue&type=template&id=029cafa0\"\nimport script from \"./user_name_with_status.vue?vue&type=script&lang=js\"\nexport * from \"./user_name_with_status.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('sidebar-editable-item',{ref:\"editable\",attrs:{\"title\":_vm.attributeTypeTitle,\"data-testid\":`${_vm.formatIssuableAttribute.kebab}-edit`,\"button-id\":`${_vm.formatIssuableAttribute.kebab}-edit`,\"tracking\":_vm.tracking,\"should-show-confirmation-popover\":_vm.shouldShowConfirmationPopover,\"loading\":_vm.updating || _vm.loading},on:{\"open\":_vm.showDropdown,\"edit-confirm\":_vm.handleEditConfirmation},scopedSlots:_vm._u([{key:\"collapsed\",fn:function(){return [_vm._t(\"value-collapsed\",function(){return [(_vm.isClassicSidebar)?_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.left.viewport\",modifiers:{\"left\":true,\"viewport\":true}}],staticClass:\"sidebar-collapsed-icon\",attrs:{\"title\":_vm.attributeTypeTitle}},[_c('gl-icon',{attrs:{\"aria-label\":_vm.attributeTypeTitle,\"name\":_vm.attributeTypeIcon}}),_vm._v(\" \"),_c('span',{staticClass:\"collapse-truncated-title gl-px-3 gl-pt-2 gl-text-sm\"},[_vm._v(\"\\n \"+_vm._s(_vm.attributeTitle)+\"\\n \")])],1):_vm._e()]},{\"currentAttribute\":_vm.currentAttribute}),_vm._v(\" \"),_c('div',{class:_vm.isClassicSidebar ? 'hide-collapsed' : 'gl-mt-3',attrs:{\"data-testid\":`select-${_vm.formatIssuableAttribute.kebab}`}},[(_vm.updating)?_c('span',[_vm._v(_vm._s(_vm.selectedTitle))]):(!_vm.currentAttribute && _vm.hasCurrentAttribute)?[_c('gl-icon',{attrs:{\"name\":\"warning\",\"variant\":\"warning\"}}),_vm._v(\" \"),_c('span',{staticClass:\"gl-text-subtle\"},[_vm._v(_vm._s(_vm.i18n.noPermissionToView))])]:(!_vm.currentAttribute)?_c('span',{staticClass:\"gl-text-subtle\"},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.none)+\"\\n \")]):_vm._t(\"value\",function(){return [_c('gl-link',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:(_vm.tooltipText),expression:\"tooltipText\"}],staticClass:\"gl-text-inherit hover:gl-text-blue-800\",attrs:{\"href\":_vm.attributeUrl,\"data-testid\":`${_vm.formatIssuableAttribute.kebab}-link`}},[_vm._v(\"\\n \"+_vm._s(_vm.attributeTitle)+\"\\n \"),(_vm.isAttributeOverdue(_vm.currentAttribute))?_c('span',[_vm._v(_vm._s(_vm.$options.i18n.expired))]):_vm._e()])]},{\"attributeTitle\":_vm.attributeTitle,\"attributeUrl\":_vm.attributeUrl,\"currentAttribute\":_vm.currentAttribute})],2)]},proxy:true},(_vm.shouldShowConfirmationPopover)?{key:\"default\",fn:function({ toggle }){return [_c('gl-popover',{ref:\"popover\",attrs:{\"target\":`${_vm.formatIssuableAttribute.kebab}-edit`,\"placement\":\"bottomleft\",\"boundary\":\"viewport\",\"triggers\":\"click\"}},[_c('div',{staticClass:\"gl-mb-4 gl-text-base\"},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.editConfirmation)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-flex gl-items-center\"},[_c('gl-button',{attrs:{\"size\":\"small\",\"variant\":\"confirm\",\"category\":\"primary\",\"data-testid\":\"confirm-edit-cta\"},on:{\"click\":function($event){$event.preventDefault();return (() => _vm.handlePopoverConfirm(toggle)).apply(null, arguments)}}},[_vm._v(_vm._s(_vm.i18n.editConfirmationCta))]),_vm._v(\" \"),_c('gl-button',{staticClass:\"gl-ml-auto\",attrs:{\"size\":\"small\",\"name\":\"cancel\",\"variant\":\"default\",\"category\":\"primary\",\"data-testid\":\"confirm-edit-cancel\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handlePopoverClose.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.i18n.editConfirmationCancel))])],1)])]}}:{key:\"default\",fn:function(){return [_c('sidebar-dropdown',{ref:\"dropdown\",attrs:{\"attr-workspace-path\":_vm.attrWorkspacePath,\"current-attribute\":_vm.currentAttribute,\"issuable-attribute\":_vm.issuableAttribute,\"issuable-type\":_vm.issuableType,\"show-work-item-epics\":_vm.showWorkItemEpics},on:{\"change\":_vm.updateAttribute},scopedSlots:_vm._u([{key:\"list\",fn:function({ attributesList, isAttributeChecked, updateAttribute: update }){return [_vm._t(\"list\",null,{\"attributesList\":attributesList,\"isAttributeChecked\":isAttributeChecked,\"updateAttribute\":update})]}}],null,true)})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlIcon, GlLink, GlPopover, GlTooltipDirective } from '@gitlab/ui';\nimport { kebabCase, snakeCase } from 'lodash';\nimport { createAlert } from '~/alert';\nimport { getIdFromGraphQLId } from '~/graphql_shared/utils';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { timeFor } from '~/lib/utils/datetime_utility';\nimport { __ } from '~/locale';\nimport glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\n\nimport {\n dropdowni18nText,\n LocalizedIssuableAttributeType,\n IssuableAttributeTypeKeyMap,\n IssuableAttributeType,\n Tracking,\n} from 'ee_else_ce/sidebar/constants';\nimport { issuableAttributesQueries } from 'ee_else_ce/sidebar/queries/constants';\nimport SidebarDropdown from './sidebar_dropdown.vue';\nimport SidebarEditableItem from './sidebar_editable_item.vue';\n\nexport default {\n i18n: {\n expired: __('(expired)'),\n none: __('None'),\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n components: {\n GlLink,\n GlIcon,\n GlPopover,\n GlButton,\n SidebarDropdown,\n SidebarEditableItem,\n },\n mixins: [glFeatureFlagMixin()],\n inject: {\n isClassicSidebar: {\n default: false,\n },\n issuableAttributesQueries: {\n default: issuableAttributesQueries,\n },\n widgetTitleText: {\n default: {\n [IssuableAttributeType.Milestone]: __('Milestone'),\n expired: __('(expired)'),\n none: __('None'),\n },\n },\n },\n props: {\n issuableAttribute: {\n type: String,\n required: true,\n },\n workspacePath: {\n required: true,\n type: String,\n },\n iid: {\n required: true,\n type: String,\n },\n attrWorkspacePath: {\n required: true,\n type: String,\n },\n issuableType: {\n type: String,\n required: true,\n validator(value) {\n return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(value);\n },\n },\n icon: {\n type: String,\n required: false,\n default: undefined,\n },\n showWorkItemEpics: {\n type: Boolean,\n required: false,\n default: false,\n },\n isEpicAttribute: {\n type: Boolean,\n required: false,\n default: false,\n },\n issuableParent: {\n type: Object,\n required: false,\n default: null,\n },\n },\n apollo: {\n issuable: {\n query() {\n const { current } = this.issuableAttributeQuery;\n const { query } = current[this.issuableType];\n\n return query;\n },\n variables() {\n return {\n fullPath: this.workspacePath,\n iid: this.iid,\n };\n },\n update(data) {\n return data.workspace?.issuable || {};\n },\n result({ data }) {\n if (this.glFeatures?.epicWidgetEditConfirmation && this.isEpicAttribute) {\n this.hasCurrentAttribute = data?.workspace?.issuable.hasEpic;\n }\n },\n skip() {\n return !this.iid;\n },\n error(error) {\n createAlert({\n message: this.i18n.currentFetchError,\n captureError: true,\n error,\n });\n },\n subscribeToMore: {\n document() {\n return issuableAttributesQueries[this.issuableAttribute].subscription;\n },\n variables() {\n return {\n issuableId: this.issuableId,\n };\n },\n skip() {\n return this.shouldSkipRealTimeEpicLinkUpdates;\n },\n },\n },\n },\n data() {\n return {\n updating: false,\n selectedTitle: null,\n issuable: {},\n hasCurrentAttribute: false,\n editConfirmation: false,\n tracking: {\n event: Tracking.editEvent,\n label: Tracking.rightSidebarLabel,\n property: this.issuableAttribute,\n },\n };\n },\n computed: {\n currentAttribute() {\n if (this.isEpicAttribute && this.issuableParent?.attribute) {\n return this.issuableParent.attribute;\n }\n return this.issuable.attribute;\n },\n issuableId() {\n return this.issuable.id;\n },\n issuableAttributeQuery() {\n return this.issuableAttributesQueries[this.issuableAttribute];\n },\n attributeTitle() {\n return this.currentAttribute?.title || __('None');\n },\n attributeUrl() {\n return this.currentAttribute?.webUrl;\n },\n loading() {\n return this.$apollo.queries.issuable.loading;\n },\n attributeTypeTitle() {\n return this.widgetTitleText[this.issuableAttribute];\n },\n attributeTypeIcon() {\n return this.icon || this.issuableAttribute;\n },\n tooltipText() {\n return timeFor(this.currentAttribute?.dueDate);\n },\n i18n() {\n const localizedAttribute =\n LocalizedIssuableAttributeType[IssuableAttributeTypeKeyMap[this.issuableAttribute]];\n return dropdowni18nText(localizedAttribute, this.issuableType);\n },\n formatIssuableAttribute() {\n return {\n kebab: kebabCase(this.issuableAttribute),\n snake: snakeCase(this.issuableAttribute),\n };\n },\n shouldShowConfirmationPopover() {\n if (!this.glFeatures?.epicWidgetEditConfirmation) {\n return false;\n }\n\n return this.isEpicAttribute && this.currentAttribute === null && this.hasCurrentAttribute\n ? !this.editConfirmation\n : false;\n },\n shouldSkipRealTimeEpicLinkUpdates() {\n return !this.issuableId || this.issuableAttribute !== IssuableAttributeType.Epic;\n },\n },\n methods: {\n updateAttribute({ id, workItemType }) {\n if (this.currentAttribute === null && id === null) return;\n if (id === this.currentAttribute?.id) return;\n\n if (this.showWorkItemEpics && this.isEpicAttribute) {\n this.$emit('updateAttribute', { id, workItemType });\n } else {\n this.updating = true;\n\n const { current } = this.issuableAttributeQuery;\n const { mutation } = current[this.issuableType];\n\n this.$apollo\n .mutate({\n mutation,\n variables: {\n fullPath: this.workspacePath,\n attributeId:\n this.issuableAttribute === IssuableAttributeType.Milestone &&\n this.issuableType === TYPE_ISSUE\n ? getIdFromGraphQLId(id)\n : id,\n iid: this.iid,\n },\n })\n .then(({ data }) => {\n if (data.issuableSetAttribute?.errors?.length) {\n createAlert({\n message: data.issuableSetAttribute.errors[0],\n captureError: true,\n error: data.issuableSetAttribute.errors[0],\n });\n } else {\n this.$emit('attribute-updated', data);\n }\n })\n .catch((error) => {\n createAlert({ message: this.i18n.updateError, captureError: true, error });\n })\n .finally(() => {\n this.updating = false;\n this.selectedTitle = null;\n });\n }\n },\n isAttributeOverdue(attribute) {\n return this.issuableAttribute === IssuableAttributeType.Milestone\n ? attribute?.expired\n : false;\n },\n showDropdown() {\n this.$refs.dropdown.show();\n },\n handlePopoverClose() {\n this.$refs.popover.$emit('close');\n },\n handlePopoverConfirm(cb) {\n this.editConfirmation = true;\n this.handlePopoverClose();\n setTimeout(cb, 0);\n },\n handleEditConfirmation() {\n this.$refs.popover.$emit('open');\n },\n },\n};\n</script>\n\n<template>\n <sidebar-editable-item\n ref=\"editable\"\n :title=\"attributeTypeTitle\"\n :data-testid=\"`${formatIssuableAttribute.kebab}-edit`\"\n :button-id=\"`${formatIssuableAttribute.kebab}-edit`\"\n :tracking=\"tracking\"\n :should-show-confirmation-popover=\"shouldShowConfirmationPopover\"\n :loading=\"updating || loading\"\n @open=\"showDropdown\"\n @edit-confirm=\"handleEditConfirmation\"\n >\n <template #collapsed>\n <slot name=\"value-collapsed\" :current-attribute=\"currentAttribute\">\n <div\n v-if=\"isClassicSidebar\"\n v-gl-tooltip.left.viewport\n :title=\"attributeTypeTitle\"\n class=\"sidebar-collapsed-icon\"\n >\n <gl-icon :aria-label=\"attributeTypeTitle\" :name=\"attributeTypeIcon\" />\n <span class=\"collapse-truncated-title gl-px-3 gl-pt-2 gl-text-sm\">\n {{ attributeTitle }}\n </span>\n </div>\n </slot>\n <div\n :data-testid=\"`select-${formatIssuableAttribute.kebab}`\"\n :class=\"isClassicSidebar ? 'hide-collapsed' : 'gl-mt-3'\"\n >\n <span v-if=\"updating\">{{ selectedTitle }}</span>\n <template v-else-if=\"!currentAttribute && hasCurrentAttribute\">\n <gl-icon name=\"warning\" variant=\"warning\" />\n <span class=\"gl-text-subtle\">{{ i18n.noPermissionToView }}</span>\n </template>\n <span v-else-if=\"!currentAttribute\" class=\"gl-text-subtle\">\n {{ $options.i18n.none }}\n </span>\n <slot\n v-else\n name=\"value\"\n :attribute-title=\"attributeTitle\"\n :attribute-url=\"attributeUrl\"\n :current-attribute=\"currentAttribute\"\n >\n <gl-link\n v-gl-tooltip=\"tooltipText\"\n class=\"gl-text-inherit hover:gl-text-blue-800\"\n :href=\"attributeUrl\"\n :data-testid=\"`${formatIssuableAttribute.kebab}-link`\"\n >\n {{ attributeTitle }}\n <span v-if=\"isAttributeOverdue(currentAttribute)\">{{ $options.i18n.expired }}</span>\n </gl-link>\n </slot>\n </div>\n </template>\n <template v-if=\"shouldShowConfirmationPopover\" #default=\"{ toggle }\">\n <gl-popover\n ref=\"popover\"\n :target=\"`${formatIssuableAttribute.kebab}-edit`\"\n placement=\"bottomleft\"\n boundary=\"viewport\"\n triggers=\"click\"\n >\n <div class=\"gl-mb-4 gl-text-base\">\n {{ i18n.editConfirmation }}\n </div>\n <div class=\"gl-flex gl-items-center\">\n <gl-button\n size=\"small\"\n variant=\"confirm\"\n category=\"primary\"\n data-testid=\"confirm-edit-cta\"\n @click.prevent=\"() => handlePopoverConfirm(toggle)\"\n >{{ i18n.editConfirmationCta }}</gl-button\n >\n <gl-button\n class=\"gl-ml-auto\"\n size=\"small\"\n name=\"cancel\"\n variant=\"default\"\n category=\"primary\"\n data-testid=\"confirm-edit-cancel\"\n @click.prevent=\"handlePopoverClose\"\n >{{ i18n.editConfirmationCancel }}</gl-button\n >\n </div>\n </gl-popover>\n </template>\n <template v-else #default>\n <sidebar-dropdown\n ref=\"dropdown\"\n :attr-workspace-path=\"attrWorkspacePath\"\n :current-attribute=\"currentAttribute\"\n :issuable-attribute=\"issuableAttribute\"\n :issuable-type=\"issuableType\"\n :show-work-item-epics=\"showWorkItemEpics\"\n @change=\"updateAttribute\"\n >\n <template #list=\"{ attributesList, isAttributeChecked, updateAttribute: update }\">\n <slot\n name=\"list\"\n :attributes-list=\"attributesList\"\n :is-attribute-checked=\"isAttributeChecked\"\n :update-attribute=\"update\"\n >\n </slot>\n </template>\n </sidebar-dropdown>\n </template>\n </sidebar-editable-item>\n</template>\n","import { render, staticRenderFns } from \"./sidebar_dropdown_widget.vue?vue&type=template&id=5aba64de\"\nimport script from \"./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_dropdown_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"projectIssueIterationMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"attributeId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationID\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuableSetAttribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"issueSetIteration\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"attributeId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"iteration\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":354}};\n doc.loc.source = {\"body\":\"mutation projectIssueIterationMutation($fullPath: ID!, $iid: String!, $attributeId: IterationID) {\\n issuableSetAttribute: issueSetIteration(\\n input: { projectPath: $fullPath, iid: $iid, iterationId: $attributeId }\\n ) {\\n errors\\n issuable: issue {\\n id\\n attribute: iteration {\\n title\\n id\\n state\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"projectIssueIterationMutation\"] = oneQuery(doc, \"projectIssueIterationMutation\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"time-tracker sidebar-help-wrap\",attrs:{\"data-testid\":\"time-tracker\"}},[(_vm.showCollapsed)?_c('time-tracking-collapsed-state',{attrs:{\"show-comparison-state\":_vm.showComparisonState,\"show-no-time-tracking-state\":_vm.showNoTimeTrackingState,\"show-spent-only-state\":_vm.showSpentOnlyState,\"show-estimate-only-state\":_vm.showEstimateOnlyState,\"time-spent-human-readable\":_vm.humanTotalTimeSpent,\"time-estimate-human-readable\":_vm.humanTimeEstimate}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"hide-collapsed gl-flex gl-items-center gl-font-bold gl-leading-20 gl-text-default\"},[_vm._v(\"\\n \"+_vm._s(_vm.__('Time tracking'))+\"\\n \"),(_vm.isTimeTrackingInfoLoading)?_c('gl-loading-icon',{staticClass:\"gl-ml-2\",attrs:{\"size\":\"sm\",\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.canSetTimeEstimate || _vm.canAddTimeEntries)?_c('div',{staticClass:\"gl-ml-auto gl-flex\"},[(_vm.canSetTimeEstimate)?_c('gl-button',{directives:[{name:\"gl-modal\",rawName:\"v-gl-modal\",value:(_vm.$options.setTimeEstimateModalId),expression:\"$options.setTimeEstimateModalId\"},{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.top\",modifiers:{\"top\":true}}],attrs:{\"category\":\"tertiary\",\"icon\":\"timer\",\"size\":\"small\",\"data-testid\":\"set-time-estimate-button\",\"title\":_vm.timeEstimateTooltip,\"aria-label\":_vm.timeEstimateTooltip}}):_vm._e(),_vm._v(\" \"),(_vm.canAddTimeEntries)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.top\",modifiers:{\"top\":true}}],attrs:{\"category\":\"tertiary\",\"icon\":\"plus\",\"size\":\"small\",\"data-testid\":\"add-time-entry-button\",\"title\":_vm.__('Add time entry')},on:{\"click\":function($event){return _vm.openRegisterTimeSpentModal()}}}):_vm._e()],1):_vm._e()],1),_vm._v(\" \"),(!_vm.isTimeTrackingInfoLoading)?_c('div',{staticClass:\"hide-collapsed\"},[(_vm.showEstimateOnlyState)?_c('div',{attrs:{\"data-testid\":\"estimateOnlyPane\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$options.i18n.estimatedOnlyText)+\" \"+_vm._s(_vm.humanTimeEstimate)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showSpentOnlyState)?_c('time-tracking-spent-only-pane',{attrs:{\"time-spent-human-readable\":_vm.humanTotalTimeSpent}}):_vm._e(),_vm._v(\" \"),(_vm.showNoTimeTrackingState)?_c('div',{attrs:{\"data-testid\":\"noTrackingPane\"}},[_c('span',{staticClass:\"gl-text-subtle\"},[_vm._v(_vm._s(_vm.$options.i18n.noTimeTrackingText))])]):_vm._e(),_vm._v(\" \"),(_vm.showComparisonState)?_c('time-tracking-comparison-pane',{attrs:{\"time-estimate\":_vm.timeEstimate,\"time-spent\":_vm.totalTimeSpent,\"time-spent-human-readable\":_vm.humanTotalTimeSpent,\"time-estimate-human-readable\":_vm.humanTimeEstimate,\"limit-to-hours\":_vm.limitToHours}}):_vm._e(),_vm._v(\" \"),(_vm.isTimeReportSupported)?_c('div',[(_vm.hasTotalTimeSpent)?_c('gl-link',{directives:[{name:\"gl-modal\",rawName:\"v-gl-modal\",value:('time-tracking-report'),expression:\"'time-tracking-report'\"}],staticClass:\"gl-text-default\",attrs:{\"data-testid\":\"reportLink\",\"href\":\"#\"}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Time tracking report'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('gl-modal',{attrs:{\"modal-id\":\"time-tracking-report\",\"size\":\"lg\",\"title\":_vm.__('Time tracking report'),\"hide-footer\":true}},[_c('time-tracking-report',{attrs:{\"limit-to-hours\":_vm.limitToHours,\"issuable-id\":_vm.issuableId}})],1)],1):_vm._e(),_vm._v(\" \"),_c('create-timelog-form',{attrs:{\"issuable-id\":_vm.issuableId}}),_vm._v(\" \"),_c('set-time-estimate-form',{attrs:{\"full-path\":_vm.fullPath,\"issuable-iid\":_vm.issuableIid,\"time-tracking\":_vm.timeTracking}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./collapsed_state.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./collapsed_state.vue?vue&type=script&lang=js\"","<script>\nimport { GlIcon, GlTooltipDirective } from '@gitlab/ui';\nimport { __, sprintf } from '~/locale';\n\nexport default {\n name: 'TimeTrackingCollapsedState',\n components: {\n GlIcon,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n props: {\n showComparisonState: {\n type: Boolean,\n required: true,\n },\n showSpentOnlyState: {\n type: Boolean,\n required: true,\n },\n showEstimateOnlyState: {\n type: Boolean,\n required: true,\n },\n showNoTimeTrackingState: {\n type: Boolean,\n required: true,\n },\n timeSpentHumanReadable: {\n type: String,\n required: false,\n default: '',\n },\n timeEstimateHumanReadable: {\n type: String,\n required: false,\n default: '',\n },\n },\n computed: {\n divClass() {\n if (this.showComparisonState) {\n return 'compare';\n }\n if (this.showEstimateOnlyState) {\n return 'estimate-only';\n }\n if (this.showSpentOnlyState) {\n return 'spend-only';\n }\n if (this.showNoTimeTrackingState) {\n return 'no-tracking';\n }\n\n return '';\n },\n spanClass() {\n if (this.showNoTimeTrackingState) {\n return 'no-value collapse-truncated-title gl-pt-2 gl-px-3 gl-text-sm';\n }\n\n return '';\n },\n text() {\n if (this.showComparisonState) {\n return `${this.timeSpentHumanReadable} / ${this.timeEstimateHumanReadable}`;\n }\n if (this.showEstimateOnlyState) {\n return `-- / ${this.timeEstimateHumanReadable}`;\n }\n if (this.showSpentOnlyState) {\n return `${this.timeSpentHumanReadable} / --`;\n }\n if (this.showNoTimeTrackingState) {\n return __('None');\n }\n\n return '';\n },\n timeTrackedTooltipText() {\n let title;\n if (this.showComparisonState) {\n title = __('Time remaining');\n } else if (this.showEstimateOnlyState) {\n title = __('Estimated');\n } else if (this.showSpentOnlyState) {\n title = __('Time spent');\n }\n\n return sprintf('%{title}: %{text}', { title, text: this.text });\n },\n tooltipText() {\n return this.showNoTimeTrackingState ? __('Time tracking') : this.timeTrackedTooltipText;\n },\n },\n};\n</script>\n\n<template>\n <div\n v-gl-tooltip:body.viewport.left\n :title=\"tooltipText\"\n data-testid=\"collapsedState\"\n class=\"sidebar-collapsed-icon py-1 !gl-h-auto\"\n >\n <gl-icon name=\"timer\" />\n <div class=\"time-tracking-collapsed-summary\">\n <div class=\"gl-px-4\" :class=\"divClass\">\n <span class=\"gl-text-sm\" :class=\"spanClass\"> {{ text }} </span>\n </div>\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./collapsed_state.vue?vue&type=template&id=74d723ca\"\nimport script from \"./collapsed_state.vue?vue&type=script&lang=js\"\nexport * from \"./collapsed_state.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip:body.viewport.left\",arg:\"body\",modifiers:{\"viewport\":true,\"left\":true}}],staticClass:\"sidebar-collapsed-icon py-1 !gl-h-auto\",attrs:{\"title\":_vm.tooltipText,\"data-testid\":\"collapsedState\"}},[_c('gl-icon',{attrs:{\"name\":\"timer\"}}),_vm._v(\" \"),_c('div',{staticClass:\"time-tracking-collapsed-summary\"},[_c('div',{staticClass:\"gl-px-4\",class:_vm.divClass},[_c('span',{staticClass:\"gl-text-sm\",class:_vm.spanClass},[_vm._v(\" \"+_vm._s(_vm.text)+\" \")])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comparison_pane.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comparison_pane.vue?vue&type=script&lang=js\"","<script>\nimport { GlProgressBar, GlTooltipDirective } from '@gitlab/ui';\nimport { parseSeconds, stringifyTime } from '~/lib/utils/datetime_utility';\nimport { s__, sprintf } from '~/locale';\n\nexport default {\n name: 'TimeTrackingComparisonPane',\n components: {\n GlProgressBar,\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n props: {\n timeSpent: {\n type: Number,\n required: true,\n },\n timeEstimate: {\n type: Number,\n required: true,\n },\n timeSpentHumanReadable: {\n type: String,\n required: true,\n },\n timeEstimateHumanReadable: {\n type: String,\n required: true,\n },\n limitToHours: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n computed: {\n parsedTimeRemaining() {\n const diffSeconds = this.timeEstimate - this.timeSpent;\n return parseSeconds(diffSeconds, { limitToHours: this.limitToHours });\n },\n timeRemainingHumanReadable() {\n return stringifyTime(this.parsedTimeRemaining);\n },\n timeRemainingTooltip() {\n const { timeRemainingHumanReadable, timeRemainingMinutes } = this;\n return timeRemainingMinutes < 0\n ? sprintf(s__('TimeTracking|Over by %{timeRemainingHumanReadable}'), {\n timeRemainingHumanReadable,\n })\n : sprintf(s__('TimeTracking|Time remaining: %{timeRemainingHumanReadable}'), {\n timeRemainingHumanReadable,\n });\n },\n /* Diff values for comparison meter */\n timeRemainingMinutes() {\n return this.timeEstimate - this.timeSpent;\n },\n timeRemainingPercent() {\n return Math.floor((this.timeSpent / this.timeEstimate) * 100);\n },\n timeRemainingStatusClass() {\n return this.timeEstimate >= this.timeSpent ? 'within_estimate' : 'over_estimate';\n },\n progressBarVariant() {\n return this.timeRemainingPercent > 100 ? 'danger' : 'primary';\n },\n },\n};\n</script>\n\n<template>\n <div class=\"gl-mt-2\" data-testid=\"timeTrackingComparisonPane\">\n <div\n v-gl-tooltip\n data-testid=\"compareMeter\"\n :title=\"timeRemainingTooltip\"\n :class=\"timeRemainingStatusClass\"\n class=\"compare-meter\"\n >\n <gl-progress-bar\n data-testid=\"timeRemainingProgress\"\n :value=\"timeRemainingPercent\"\n :variant=\"progressBarVariant\"\n />\n <div class=\"compare-display-container gl-mt-2 gl-flex gl-justify-between\">\n <div class=\"gl-float-left\">\n <span class=\"gl-text-subtle\">{{ s__('TimeTracking|Spent') }}</span>\n <span class=\"compare-value spent\">{{ timeSpentHumanReadable }}</span>\n </div>\n <div class=\"estimated gl-float-right\">\n <span class=\"gl-text-subtle\">{{ s__('TimeTrackingEstimated|Est') }}</span>\n <span class=\"compare-value\">{{ timeEstimateHumanReadable }}</span>\n </div>\n </div>\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./comparison_pane.vue?vue&type=template&id=7d5da840\"\nimport script from \"./comparison_pane.vue?vue&type=script&lang=js\"\nexport * from \"./comparison_pane.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gl-mt-2\",attrs:{\"data-testid\":\"timeTrackingComparisonPane\"}},[_c('div',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\"}],staticClass:\"compare-meter\",class:_vm.timeRemainingStatusClass,attrs:{\"data-testid\":\"compareMeter\",\"title\":_vm.timeRemainingTooltip}},[_c('gl-progress-bar',{attrs:{\"data-testid\":\"timeRemainingProgress\",\"value\":_vm.timeRemainingPercent,\"variant\":_vm.progressBarVariant}}),_vm._v(\" \"),_c('div',{staticClass:\"compare-display-container gl-mt-2 gl-flex gl-justify-between\"},[_c('div',{staticClass:\"gl-float-left\"},[_c('span',{staticClass:\"gl-text-subtle\"},[_vm._v(_vm._s(_vm.s__('TimeTracking|Spent')))]),_vm._v(\" \"),_c('span',{staticClass:\"compare-value spent\"},[_vm._v(_vm._s(_vm.timeSpentHumanReadable))])]),_vm._v(\" \"),_c('div',{staticClass:\"estimated gl-float-right\"},[_c('span',{staticClass:\"gl-text-subtle\"},[_vm._v(_vm._s(_vm.s__('TimeTrackingEstimated|Est')))]),_vm._v(\" \"),_c('span',{staticClass:\"compare-value\"},[_vm._v(_vm._s(_vm.timeEstimateHumanReadable))])])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlSprintf } from '@gitlab/ui';\nimport { s__ } from '~/locale';\n\nconst timeSpent = s__('TimeTracking|%{spentStart}Spent: %{spentEnd}');\n\nexport default {\n name: 'TimeTrackingSpentOnlyPane',\n timeSpent,\n components: {\n GlSprintf,\n },\n props: {\n timeSpentHumanReadable: {\n type: String,\n required: true,\n },\n },\n};\n</script>\n\n<template>\n <div data-testid=\"spentOnlyPane\">\n <gl-sprintf :message=\"$options.timeSpent\">\n <template #spent=\"{ content }\">\n <span class=\"gl-font-bold\">{{ content }}</span\n >{{ timeSpentHumanReadable }}\n </template>\n </gl-sprintf>\n </div>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./spent_only_pane.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./spent_only_pane.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./spent_only_pane.vue?vue&type=template&id=0706bdc9\"\nimport script from \"./spent_only_pane.vue?vue&type=script&lang=js\"\nexport * from \"./spent_only_pane.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"data-testid\":\"spentOnlyPane\"}},[_c('gl-sprintf',{attrs:{\"message\":_vm.$options.timeSpent},scopedSlots:_vm._u([{key:\"spent\",fn:function({ content }){return [_c('span',{staticClass:\"gl-font-bold\"},[_vm._v(_vm._s(content))]),_vm._v(_vm._s(_vm.timeSpentHumanReadable)+\"\\n \")]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./time_tracker.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./time_tracker.vue?vue&type=script&lang=js\"","<script>\nimport {\n GlLink,\n GlModal,\n GlButton,\n GlModalDirective,\n GlLoadingIcon,\n GlTooltipDirective,\n} from '@gitlab/ui';\nimport { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';\nimport { BV_SHOW_MODAL } from '~/lib/utils/constants';\nimport { s__, __ } from '~/locale';\n\nimport { timeTrackingQueries } from '../../queries/constants';\nimport eventHub from '../../event_hub';\nimport TimeTrackingCollapsedState from './collapsed_state.vue';\nimport TimeTrackingComparisonPane from './comparison_pane.vue';\nimport TimeTrackingSpentOnlyPane from './spent_only_pane.vue';\nimport TimeTrackingReport from './time_tracking_report.vue';\nimport { CREATE_TIMELOG_MODAL_ID, SET_TIME_ESTIMATE_MODAL_ID } from './constants';\nimport CreateTimelogForm from './create_timelog_form.vue';\nimport SetTimeEstimateForm from './set_time_estimate_form.vue';\n\nexport default {\n name: 'IssuableTimeTracker',\n i18n: {\n noTimeTrackingText: __('No estimate or time spent'),\n estimatedOnlyText: s__('TimeTracking|Estimated:'),\n },\n components: {\n GlLink,\n GlModal,\n GlButton,\n GlLoadingIcon,\n TimeTrackingCollapsedState,\n TimeTrackingSpentOnlyPane,\n TimeTrackingComparisonPane,\n TimeTrackingReport,\n CreateTimelogForm,\n SetTimeEstimateForm,\n },\n directives: {\n GlModal: GlModalDirective,\n GlTooltip: GlTooltipDirective,\n },\n inject: {\n issuableType: {\n default: null,\n },\n },\n props: {\n limitToHours: {\n type: Boolean,\n default: false,\n required: false,\n },\n fullPath: {\n type: String,\n required: false,\n default: '',\n },\n issuableId: {\n type: String,\n required: false,\n default: '',\n },\n issuableIid: {\n type: String,\n required: false,\n default: '',\n },\n initialTimeTracking: {\n type: Object,\n required: false,\n default: null,\n },\n /*\n In issue list, \"time-tracking-collapsed-state\" is always rendered even if the sidebar isn't collapsed.\n The actual hiding is controlled with css classes:\n Hide \"time-tracking-collapsed-state\"\n if .right-sidebar .right-sidebar-collapsed .sidebar-collapsed-icon\n Show \"time-tracking-collapsed-state\"\n if .right-sidebar .right-sidebar-expanded .sidebar-collapsed-icon\n\n In Swimlanes sidebar, we do not use collapsed state at all.\n */\n showCollapsed: {\n type: Boolean,\n default: true,\n required: false,\n },\n canAddTimeEntries: {\n type: Boolean,\n required: false,\n default: true,\n },\n canSetTimeEstimate: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n data() {\n return {\n timeTracking: {\n ...this.initialTimeTracking,\n },\n };\n },\n apollo: {\n // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n issuableTimeTracking: {\n query() {\n return timeTrackingQueries[this.issuableType].query;\n },\n skip() {\n // Skip the query if either of the conditions are true\n // 1. issuableType is not provided\n // 2. Time tracking info was provided via prop\n // 3. issuableIid and fullPath are not provided\n if (!this.issuableType || !timeTrackingQueries[this.issuableType]) {\n return true;\n }\n if (this.initialTimeTracking) {\n return true;\n }\n if (!this.issuableIid || !this.fullPath) {\n return true;\n }\n return false;\n },\n variables() {\n return {\n iid: this.issuableIid,\n fullPath: this.fullPath,\n };\n },\n update(data) {\n this.timeTracking = {\n ...data.workspace?.issuable,\n };\n },\n },\n },\n computed: {\n isTimeTrackingInfoLoading() {\n return this.$apollo?.queries.issuableTimeTracking?.loading ?? false;\n },\n timeEstimate() {\n return this.timeTracking?.timeEstimate || 0;\n },\n totalTimeSpent() {\n return this.timeTracking?.totalTimeSpent || 0;\n },\n humanTimeEstimate() {\n return this.timeTracking?.humanTimeEstimate || '';\n },\n humanTotalTimeSpent() {\n return this.timeTracking?.humanTotalTimeSpent || '';\n },\n hasTotalTimeSpent() {\n return Boolean(this.totalTimeSpent);\n },\n hasTimeEstimate() {\n return Boolean(this.timeEstimate);\n },\n showComparisonState() {\n return this.hasTimeEstimate && this.hasTotalTimeSpent;\n },\n showEstimateOnlyState() {\n return this.hasTimeEstimate && !this.hasTotalTimeSpent;\n },\n showSpentOnlyState() {\n return this.hasTotalTimeSpent && !this.hasTimeEstimate;\n },\n showNoTimeTrackingState() {\n return !this.hasTimeEstimate && !this.hasTotalTimeSpent;\n },\n isTimeReportSupported() {\n return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(this.issuableType) && this.issuableId;\n },\n timeEstimateTooltip() {\n return this.hasTimeEstimate\n ? s__('TimeTracking|Edit estimate')\n : s__('TimeTracking|Set estimate');\n },\n },\n watch: {\n /**\n * When `initialTimeTracking` is provided via prop,\n * we don't query the same via GraphQl and instead\n * monitor it for any updates (eg; Epic Swimlanes)\n */\n initialTimeTracking(timeTracking) {\n this.timeTracking = timeTracking;\n },\n },\n created() {\n eventHub.$on('timeTracker:refresh', this.refresh);\n },\n methods: {\n refresh() {\n this.$apollo.queries.issuableTimeTracking.refetch();\n },\n openRegisterTimeSpentModal() {\n this.$root.$emit(BV_SHOW_MODAL, CREATE_TIMELOG_MODAL_ID);\n },\n },\n setTimeEstimateModalId: SET_TIME_ESTIMATE_MODAL_ID,\n};\n</script>\n\n<template>\n <div v-cloak class=\"time-tracker sidebar-help-wrap\" data-testid=\"time-tracker\">\n <time-tracking-collapsed-state\n v-if=\"showCollapsed\"\n :show-comparison-state=\"showComparisonState\"\n :show-no-time-tracking-state=\"showNoTimeTrackingState\"\n :show-spent-only-state=\"showSpentOnlyState\"\n :show-estimate-only-state=\"showEstimateOnlyState\"\n :time-spent-human-readable=\"humanTotalTimeSpent\"\n :time-estimate-human-readable=\"humanTimeEstimate\"\n />\n <div class=\"hide-collapsed gl-flex gl-items-center gl-font-bold gl-leading-20 gl-text-default\">\n {{ __('Time tracking') }}\n <gl-loading-icon v-if=\"isTimeTrackingInfoLoading\" size=\"sm\" class=\"gl-ml-2\" inline />\n <div v-if=\"canSetTimeEstimate || canAddTimeEntries\" class=\"gl-ml-auto gl-flex\">\n <gl-button\n v-if=\"canSetTimeEstimate\"\n v-gl-modal=\"$options.setTimeEstimateModalId\"\n v-gl-tooltip.top\n category=\"tertiary\"\n icon=\"timer\"\n size=\"small\"\n data-testid=\"set-time-estimate-button\"\n :title=\"timeEstimateTooltip\"\n :aria-label=\"timeEstimateTooltip\"\n />\n <gl-button\n v-if=\"canAddTimeEntries\"\n v-gl-tooltip.top\n category=\"tertiary\"\n icon=\"plus\"\n size=\"small\"\n data-testid=\"add-time-entry-button\"\n :title=\"__('Add time entry')\"\n @click=\"openRegisterTimeSpentModal()\"\n />\n </div>\n </div>\n <div v-if=\"!isTimeTrackingInfoLoading\" class=\"hide-collapsed\">\n <div v-if=\"showEstimateOnlyState\" data-testid=\"estimateOnlyPane\">\n {{ $options.i18n.estimatedOnlyText }} {{ humanTimeEstimate }}\n </div>\n <time-tracking-spent-only-pane\n v-if=\"showSpentOnlyState\"\n :time-spent-human-readable=\"humanTotalTimeSpent\"\n />\n <div v-if=\"showNoTimeTrackingState\" data-testid=\"noTrackingPane\">\n <span class=\"gl-text-subtle\">{{ $options.i18n.noTimeTrackingText }}</span>\n </div>\n <time-tracking-comparison-pane\n v-if=\"showComparisonState\"\n :time-estimate=\"timeEstimate\"\n :time-spent=\"totalTimeSpent\"\n :time-spent-human-readable=\"humanTotalTimeSpent\"\n :time-estimate-human-readable=\"humanTimeEstimate\"\n :limit-to-hours=\"limitToHours\"\n />\n <div v-if=\"isTimeReportSupported\">\n <gl-link\n v-if=\"hasTotalTimeSpent\"\n v-gl-modal=\"'time-tracking-report'\"\n class=\"gl-text-default\"\n data-testid=\"reportLink\"\n href=\"#\"\n >\n {{ __('Time tracking report') }}\n </gl-link>\n <gl-modal\n modal-id=\"time-tracking-report\"\n size=\"lg\"\n :title=\"__('Time tracking report')\"\n :hide-footer=\"true\"\n >\n <time-tracking-report :limit-to-hours=\"limitToHours\" :issuable-id=\"issuableId\" />\n </gl-modal>\n </div>\n <create-timelog-form :issuable-id=\"issuableId\" />\n <set-time-estimate-form\n :full-path=\"fullPath\"\n :issuable-iid=\"issuableIid\"\n :time-tracking=\"timeTracking\"\n />\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./time_tracker.vue?vue&type=template&id=a3c3d876\"\nimport script from \"./time_tracker.vue?vue&type=script&lang=js\"\nexport * from \"./time_tracker.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"issueEscalationPolicyMutation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"attributeId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IncidentManagementEscalationPolicyID\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuableSetAttribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"issueSetEscalationPolicy\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"projectPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"escalationPolicyId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"attributeId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"issuable\"},\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attribute\"},\"name\":{\"kind\":\"Name\",\"value\":\"escalationPolicy\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"EscalationPolicyFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"escalationStatus\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":474}};\n doc.loc.source = {\"body\":\"#import \\\"./escalation_policy.fragment.graphql\\\"\\n\\nmutation issueEscalationPolicyMutation(\\n $fullPath: ID!\\n $iid: String!\\n $attributeId: IncidentManagementEscalationPolicyID\\n) {\\n issuableSetAttribute: issueSetEscalationPolicy(\\n input: { projectPath: $fullPath, iid: $iid, escalationPolicyId: $attributeId }\\n ) {\\n errors\\n issuable: issue {\\n id\\n attribute: escalationPolicy {\\n ...EscalationPolicyFragment\\n }\\n escalationStatus\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./escalation_policy.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueEscalationPolicyMutation\"] = oneQuery(doc, \"issueEscalationPolicyMutation\");\n \n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.showInDropdown && !_vm.isNotificationsTodosButtons)?_c('gl-disclosure-dropdown-item',{attrs:{\"data-testid\":\"notification-toggle\"},on:{\"action\":_vm.toggleSubscribed},scopedSlots:_vm._u([{key:\"list-item\",fn:function(){return [_c('gl-toggle',{staticClass:\"merge-request-notification-toggle\",attrs:{\"value\":_vm.subscribed,\"label\":_vm.__('Notifications'),\"label-position\":\"left\"}})]},proxy:true}],null,false,2441604390)}):(_vm.isNotificationsTodosButtons)?_c('div',{class:{ 'inline-block': !_vm.isMergeRequest }},[_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.hover.top\",modifiers:{\"hover\":true,\"top\":true}}],ref:\"tooltip\",staticClass:\"hide-collapsed\",class:{ 'gl-ml-2': _vm.isIssuable, 'btn-icon': _vm.isNotificationsTodosButtons },attrs:{\"category\":\"secondary\",\"data-testid\":\"subscribe-button\",\"title\":_vm.notificationTooltip},on:{\"click\":_vm.toggleSubscribed}},[_c('gl-animated-notification-icon',{class:{ '!gl-text-blue-500': _vm.subscribed },attrs:{\"is-on\":!_vm.subscribed}})],1),_vm._v(\" \"),(!_vm.isMergeRequest)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.left.viewport\",modifiers:{\"left\":true,\"viewport\":true}}],ref:\"tooltip\",staticClass:\"sidebar-collapsed-icon sidebar-collapsed-container !gl-rounded-none !gl-border-0\",attrs:{\"category\":\"secondary\",\"data-testid\":\"subscribe-button\",\"title\":_vm.notificationTooltip},on:{\"click\":_vm.toggleSubscribed}},[_c('gl-animated-notification-icon',{class:{ '!gl-text-blue-500': _vm.subscribed },attrs:{\"is-on\":!_vm.subscribed}})],1):_vm._e()],1):_c('sidebar-editable-item',{ref:\"editable\",staticClass:\"block subscriptions\",attrs:{\"title\":_vm.$options.i18n.notifications,\"tracking\":_vm.$options.tracking,\"loading\":_vm.isLoading,\"can-edit\":false},scopedSlots:_vm._u([{key:\"collapsed-right\",fn:function(){return [_c('gl-toggle',{staticClass:\"hide-collapsed gl-ml-auto\",attrs:{\"value\":_vm.subscribed,\"is-loading\":_vm.isLoading,\"disabled\":_vm.canSubscribe,\"data-testid\":\"subscription-toggle\",\"label\":_vm.$options.i18n.notifications,\"label-position\":\"hidden\"},on:{\"change\":_vm.setSubscribed}})]},proxy:true},{key:\"collapsed\",fn:function(){return [_c('span',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.viewport.left\",modifiers:{\"viewport\":true,\"left\":true}}],ref:\"tooltip\",staticClass:\"sidebar-collapsed-icon\",attrs:{\"title\":_vm.notificationTooltip},on:{\"click\":_vm.toggleSubscribed}},[(_vm.isLoading)?_c('gl-loading-icon',{staticClass:\"sidebar-item-icon is-active\",attrs:{\"size\":\"sm\"}}):_c('gl-icon',{staticClass:\"sidebar-item-icon is-active\",attrs:{\"name\":_vm.notificationIcon,\"size\":16}})],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.emailsDisabled),expression:\"emailsDisabled\"}],staticClass:\"hide-collapsed gl-mt-3 gl-text-subtle\"},[_vm._v(\"\\n \"+_vm._s(_vm.subscribeDisabledDescription)+\"\\n \")])]},proxy:true},{key:\"default\",fn:function(){return undefined},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport {\n GlButton,\n GlDisclosureDropdownItem,\n GlIcon,\n GlLoadingIcon,\n GlToggle,\n GlTooltipDirective,\n GlAnimatedNotificationIcon,\n} from '@gitlab/ui';\nimport { createAlert } from '~/alert';\nimport { TYPE_ISSUE, TYPE_EPIC, WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants';\nimport { isLoggedIn } from '~/lib/utils/common_utils';\nimport { __, sprintf } from '~/locale';\nimport glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport toast from '~/vue_shared/plugins/global_toast';\nimport { subscribedQueries } from '../../queries/constants';\nimport { Tracking } from '../../constants';\nimport SidebarEditableItem from '../sidebar_editable_item.vue';\n\nconst ICON_ON = 'notifications';\nconst ICON_OFF = 'notifications-off';\n\nexport default {\n tracking: {\n event: Tracking.editEvent,\n label: Tracking.rightSidebarLabel,\n property: 'subscriptions',\n },\n directives: {\n GlTooltip: GlTooltipDirective,\n },\n components: {\n GlButton,\n GlDisclosureDropdownItem,\n GlIcon,\n GlLoadingIcon,\n GlToggle,\n GlAnimatedNotificationIcon,\n SidebarEditableItem,\n },\n mixins: [glFeatureFlagMixin()],\n props: {\n iid: {\n type: String,\n required: true,\n },\n fullPath: {\n type: String,\n required: true,\n },\n issuableType: {\n required: true,\n type: String,\n },\n showInDropdown: {\n required: false,\n type: Boolean,\n default: true,\n },\n },\n data() {\n return {\n subscribed: false,\n loading: false,\n emailsDisabled: false,\n };\n },\n apollo: {\n subscribed: {\n query() {\n return subscribedQueries[this.issuableType].query;\n },\n variables() {\n return {\n fullPath: this.fullPath,\n iid: String(this.iid),\n };\n },\n skip() {\n return !this.iid;\n },\n update(data) {\n return data.workspace?.issuable?.subscribed || false;\n },\n result({ data }) {\n if (!data) {\n return;\n }\n this.emailsDisabled = this.parentIsGroup\n ? data.workspace?.emailsDisabled\n : data.workspace?.issuable?.emailsDisabled;\n this.$emit('subscribedUpdated', data.workspace?.issuable?.subscribed);\n },\n error() {\n createAlert({\n message: sprintf(\n __('Something went wrong while setting %{issuableType} notifications.'),\n {\n issuableType: this.issuableType,\n },\n ),\n });\n },\n },\n },\n computed: {\n isIssuable() {\n return this.issuableType === TYPE_ISSUE;\n },\n isLoading() {\n return this.$apollo.queries?.subscribed?.loading || this.loading;\n },\n notificationTooltip() {\n if (this.emailsDisabled) {\n return this.subscribeDisabledDescription;\n }\n return this.subscribed ? this.$options.i18n.labelOn : this.$options.i18n.labelOff;\n },\n notificationIcon() {\n if (this.emailsDisabled || !this.subscribed) {\n return ICON_OFF;\n }\n return ICON_ON;\n },\n parentIsGroup() {\n return this.issuableType === TYPE_EPIC;\n },\n subscribeDisabledDescription() {\n return sprintf(__('Disabled by %{parent} owner'), {\n parent: this.parentIsGroup ? WORKSPACE_GROUP : WORKSPACE_PROJECT,\n });\n },\n isLoggedIn() {\n return isLoggedIn();\n },\n canSubscribe() {\n return this.emailsDisabled || !this.isLoggedIn;\n },\n isNotificationsTodosButtons() {\n return this.glFeatures.notificationsTodosButtons;\n },\n isMergeRequest() {\n return this.issuableType === 'merge_request';\n },\n },\n methods: {\n setSubscribed(subscribed) {\n this.loading = true;\n this.$apollo\n .mutate({\n mutation: subscribedQueries[this.issuableType].mutation,\n variables: {\n fullPath: this.fullPath,\n iid: this.iid,\n subscribedState: subscribed,\n },\n })\n .then(\n ({\n data: {\n updateIssuableSubscription: { errors },\n },\n }) => {\n if (errors.length) {\n createAlert({\n message: errors[0],\n });\n }\n\n toast(subscribed ? __('Notifications turned on.') : __('Notifications turned off.'));\n },\n )\n .catch(() => {\n createAlert({\n message: sprintf(\n __('Something went wrong while setting %{issuableType} notifications.'),\n {\n issuableType: this.issuableType,\n },\n ),\n });\n })\n .finally(() => {\n this.loading = false;\n });\n },\n toggleSubscribed() {\n if (this.emailsDisabled) {\n this.expandSidebar();\n } else {\n this.setSubscribed(!this.subscribed);\n }\n },\n expandSidebar() {\n this.$emit('expandSidebar');\n },\n },\n i18n: {\n notifications: __('Notifications'),\n labelOn: __('Notifications on'),\n labelOff: __('Notifications off'),\n },\n};\n</script>\n\n<template>\n <gl-disclosure-dropdown-item\n v-if=\"showInDropdown && !isNotificationsTodosButtons\"\n data-testid=\"notification-toggle\"\n @action=\"toggleSubscribed\"\n >\n <template #list-item>\n <gl-toggle\n :value=\"subscribed\"\n :label=\"__('Notifications')\"\n class=\"merge-request-notification-toggle\"\n label-position=\"left\"\n />\n </template>\n </gl-disclosure-dropdown-item>\n <div v-else-if=\"isNotificationsTodosButtons\" :class=\"{ 'inline-block': !isMergeRequest }\">\n <gl-button\n ref=\"tooltip\"\n v-gl-tooltip.hover.top\n category=\"secondary\"\n data-testid=\"subscribe-button\"\n class=\"hide-collapsed\"\n :title=\"notificationTooltip\"\n :class=\"{ 'gl-ml-2': isIssuable, 'btn-icon': isNotificationsTodosButtons }\"\n @click=\"toggleSubscribed\"\n >\n <gl-animated-notification-icon\n :class=\"{ '!gl-text-blue-500': subscribed }\"\n :is-on=\"!subscribed\"\n />\n </gl-button>\n <gl-button\n v-if=\"!isMergeRequest\"\n ref=\"tooltip\"\n v-gl-tooltip.left.viewport\n category=\"secondary\"\n data-testid=\"subscribe-button\"\n :title=\"notificationTooltip\"\n class=\"sidebar-collapsed-icon sidebar-collapsed-container !gl-rounded-none !gl-border-0\"\n @click=\"toggleSubscribed\"\n >\n <gl-animated-notification-icon\n :class=\"{ '!gl-text-blue-500': subscribed }\"\n :is-on=\"!subscribed\"\n />\n </gl-button>\n </div>\n <sidebar-editable-item\n v-else\n ref=\"editable\"\n :title=\"$options.i18n.notifications\"\n :tracking=\"$options.tracking\"\n :loading=\"isLoading\"\n :can-edit=\"false\"\n class=\"block subscriptions\"\n >\n <template #collapsed-right>\n <gl-toggle\n :value=\"subscribed\"\n :is-loading=\"isLoading\"\n :disabled=\"canSubscribe\"\n class=\"hide-collapsed gl-ml-auto\"\n data-testid=\"subscription-toggle\"\n :label=\"$options.i18n.notifications\"\n label-position=\"hidden\"\n @change=\"setSubscribed\"\n />\n </template>\n <template #collapsed>\n <span\n ref=\"tooltip\"\n v-gl-tooltip.viewport.left\n :title=\"notificationTooltip\"\n class=\"sidebar-collapsed-icon\"\n @click=\"toggleSubscribed\"\n >\n <gl-loading-icon v-if=\"isLoading\" size=\"sm\" class=\"sidebar-item-icon is-active\" />\n <gl-icon v-else :name=\"notificationIcon\" :size=\"16\" class=\"sidebar-item-icon is-active\" />\n </span>\n <div v-show=\"emailsDisabled\" class=\"hide-collapsed gl-mt-3 gl-text-subtle\">\n {{ subscribeDisabledDescription }}\n </div>\n </template>\n <template #default> </template>\n </sidebar-editable-item>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_subscriptions_widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar_subscriptions_widget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./sidebar_subscriptions_widget.vue?vue&type=template&id=b8d97386\"\nimport script from \"./sidebar_subscriptions_widget.vue?vue&type=script&lang=js\"\nexport * from \"./sidebar_subscriptions_widget.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { GlToast } from '@gitlab/ui';\nimport Vue from 'vue';\n\nVue.use(GlToast);\nconst instance = new Vue();\n\nexport default function showGlobalToast(...args) {\n return instance.$toast.show(...args);\n}\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"issueEpics\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"EpicState\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableSearchableField\"}}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iidStartsWith\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"workspace\"},\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"attributes\"},\"name\":{\"kind\":\"Name\",\"value\":\"epics\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"in\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeAncestorGroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDescendantGroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iidStartsWith\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iidStartsWith\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"EpicFragment\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iid\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":496}};\n doc.loc.source = {\"body\":\"#import \\\"./epic.fragment.graphql\\\"\\n\\nquery issueEpics(\\n $fullPath: ID!\\n $title: String\\n $state: EpicState\\n $in: [IssuableSearchableField!]\\n $iidStartsWith: String\\n) {\\n workspace: group(fullPath: $fullPath) {\\n id\\n attributes: epics(\\n search: $title\\n in: $in\\n state: $state\\n includeAncestorGroups: true\\n includeDescendantGroups: false\\n iidStartsWith: $iidStartsWith\\n ) {\\n nodes {\\n ...EpicFragment\\n state\\n iid\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./epic.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issueEpics\"] = oneQuery(doc, \"issueEpics\");\n \n","import { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_ARRAY_OBJECT_STRING } from '../../constants/props';\nimport { sortKeys, omit } from '../../utils/object';\nimport { makePropsConfigurable, makeProp } from '../../utils/props';\nimport { props as props$1, BForm } from '../form/form';\n\n// --- Props ---\n\nconst props = makePropsConfigurable(sortKeys({\n ...props$1,\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}), NAME_DROPDOWN_FORM);\n\n// --- Main component ---\n\n// @vue/component\nconst BDropdownForm = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_FORM,\n functional: true,\n props,\n render(h, _ref) {\n let {\n props,\n data,\n listeners,\n children\n } = _ref;\n return h('li', mergeData(omit(data, ['attrs', 'on']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(BForm, {\n staticClass: 'b-dropdown-form',\n class: [props.formClass, {\n disabled: props.disabled\n }],\n props,\n attrs: {\n ...(data.attrs || {}),\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n },\n on: listeners,\n ref: 'form'\n }, children)]);\n }\n});\n\nexport { BDropdownForm, props };\n","import { BDropdownForm } from '../../../vendor/bootstrap-vue/src/components/dropdown/dropdown-form';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'GlDropdownForm',\n components: {\n BDropdownForm\n },\n inheritAttrs: false\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-dropdown-form',_vm._g(_vm._b({attrs:{\"form-class\":\"gl-p-0\"}},'b-dropdown-form',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"EpicFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Epic\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":56}};\n doc.loc.source = {\"body\":\"fragment EpicFragment on Epic {\\n id\\n title\\n webUrl\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EpicFragment\"] = oneQuery(doc, \"EpicFragment\");\n \n","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nmodule.exports = kebabCase;\n","import { Mousetrap } from '~/lib/mousetrap';\nimport 'mousetrap/plugins/pause/mousetrap-pause';\n\nconst shorcutsDisabledKey = 'shortcutsDisabled';\n\nexport const shouldDisableShortcuts = () => !window.gon.keyboard_shortcuts_enabled;\n\nexport function enableShortcuts() {\n localStorage.setItem(shorcutsDisabledKey, false);\n Mousetrap.unpause();\n}\n\nexport function disableShortcuts() {\n localStorage.setItem(shorcutsDisabledKey, true);\n Mousetrap.pause();\n}\n","import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants';\nimport { issuableAttributesQueries as issuableAttributesQueriesFoss } from '~/sidebar/queries/constants';\nimport updateStatusMutation from '~/sidebar/queries/update_status.mutation.graphql';\nimport issuableWeightSubscription from 'ee/graphql_shared/subscriptions/issuable_weight.subscription.graphql';\nimport { IssuableAttributeType } from '../constants';\nimport epicAncestorsQuery from './epic_ancestors.query.graphql';\nimport groupEpicsQuery from './group_epics.query.graphql';\nimport groupIterationsQuery from './group_iterations.query.graphql';\nimport issueHealthStatusQuery from './issue_health_status.query.graphql';\nimport issueWeightQuery from './issue_weight.query.graphql';\nimport projectIssueEpicMutation from './project_issue_epic.mutation.graphql';\nimport projectIssueEpicQuery from './project_issue_epic.query.graphql';\nimport projectIssueIterationMutation from './project_issue_iteration.mutation.graphql';\nimport projectIssueIterationQuery from './project_issue_iteration.query.graphql';\nimport updateIssueWeightMutation from './update_issue_weight.mutation.graphql';\nimport issueEscalationPolicyQuery from './issue_escalation_policy.query.graphql';\nimport issueEscalationPolicyMutation from './issue_escalation_policy.mutation.graphql';\nimport projectEscalationPoliciesQuery from './project_escalation_policies.query.graphql';\nimport issuableEpicSubscription from './issuable_epic.subscription.graphql';\nimport workItemParent from './project_issue_parent.query.graphql';\nimport workItemParentsQuery from './work_item_parents.query.graphql';\nimport updateWorkItemParent from './project_issue_update_parent.mutation.graphql';\nimport workItemParentSubscription from './work_item_parent.subscription.graphql';\n\nexport const issuableIterationQueries = {\n [TYPE_ISSUE]: {\n query: projectIssueIterationQuery,\n mutation: projectIssueIterationMutation,\n },\n};\n\nexport const iterationsQueries = {\n [TYPE_ISSUE]: {\n query: groupIterationsQuery,\n },\n};\n\nconst issuableEpicQueries = {\n [TYPE_ISSUE]: {\n query: projectIssueEpicQuery,\n mutation: projectIssueEpicMutation,\n },\n};\n\nconst epicsQueries = {\n [TYPE_ISSUE]: {\n query: groupEpicsQuery,\n },\n};\n\nconst parentsQueries = {\n [TYPE_ISSUE]: {\n query: workItemParentsQuery,\n },\n};\n\nconst issuableEscalationPolicyQueries = {\n [TYPE_ISSUE]: {\n query: issueEscalationPolicyQuery,\n mutation: issueEscalationPolicyMutation,\n },\n};\n\nconst escalationPoliciesQueries = {\n [TYPE_ISSUE]: {\n query: projectEscalationPoliciesQuery,\n },\n};\n\nexport const parentQueries = {\n [TYPE_ISSUE]: {\n query: workItemParent,\n mutation: updateWorkItemParent,\n },\n};\n\nexport const issuableAttributesQueries = {\n ...issuableAttributesQueriesFoss,\n [IssuableAttributeType.Iteration]: {\n current: issuableIterationQueries,\n list: iterationsQueries,\n },\n [IssuableAttributeType.Epic]: {\n current: issuableEpicQueries,\n list: epicsQueries,\n subscription: issuableEpicSubscription,\n },\n [IssuableAttributeType.EscalationPolicy]: {\n current: issuableEscalationPolicyQueries,\n list: escalationPoliciesQueries,\n },\n [IssuableAttributeType.Parent]: {\n current: parentQueries,\n list: parentsQueries,\n subscription: workItemParentSubscription,\n },\n};\n\nexport const ancestorsQueries = {\n [TYPE_EPIC]: {\n query: epicAncestorsQuery,\n },\n};\n\nexport const weightQueries = {\n [TYPE_ISSUE]: {\n query: issueWeightQuery,\n mutation: updateIssueWeightMutation,\n subscription: issuableWeightSubscription,\n },\n};\n\nexport const healthStatusQueries = {\n [TYPE_ISSUE]: {\n mutation: updateStatusMutation,\n query: issueHealthStatusQuery,\n },\n [TYPE_EPIC]: {\n mutation: updateStatusMutation,\n query: issueHealthStatusQuery,\n },\n};\n","import { extend } from '../../vue';\nimport { NAME_TABLE_LITE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { props as props$1, idMixin } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as props$2, captionMixin } from './helpers/mixin-caption';\nimport { props as props$3, colgroupMixin } from './helpers/mixin-colgroup';\nimport { props as props$4, itemsMixin } from './helpers/mixin-items';\nimport { props as props$5, stackedMixin } from './helpers/mixin-stacked';\nimport { props as props$6, tableRendererMixin } from './helpers/mixin-table-renderer';\nimport { props as props$7, tbodyMixin } from './helpers/mixin-tbody';\nimport { props as props$8, tfootMixin } from './helpers/mixin-tfoot';\nimport { props as props$9, theadMixin } from './helpers/mixin-thead';\n\n// --- Props ---\n\nconst props = makePropsConfigurable(sortKeys({\n ...props$1,\n ...props$2,\n ...props$3,\n ...props$4,\n ...props$5,\n ...props$6,\n ...props$7,\n ...props$8,\n ...props$9\n}), NAME_TABLE_LITE);\n\n// --- Main component ---\n\n// @vue/component\nconst BTableLite = /*#__PURE__*/extend({\n name: NAME_TABLE_LITE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [\n // General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin,\n // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin,\n // Table features mixins\n // These are pretty lightweight, and are useful for lightweight tables\n captionMixin, colgroupMixin],\n props\n\n // Render function is provided by `tableRendererMixin`\n});\n\nexport { BTableLite, props };\n","import { BTableLite } from '../../../vendor/bootstrap-vue/src/components/table/table-lite';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst {\n tableClass\n} = BTableLite.options.props;\nvar script = {\n name: 'GlTableLite',\n components: {\n BTableLite\n },\n inheritAttrs: false,\n props: {\n tableClass,\n fields: {\n type: Array,\n required: false,\n default: null\n },\n stickyHeader: {\n type: Boolean,\n default: false,\n required: false\n }\n },\n computed: {\n stickyHeaderClass() {\n return this.stickyHeader ? 'gl-table--sticky-header' : null;\n },\n localTableClass() {\n return ['gl-table', this.tableClass, this.stickyHeaderClass];\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table-lite',_vm._g(_vm._b({attrs:{\"table-class\":_vm.localTableClass,\"fields\":_vm.fields},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)},'b-table-lite',_vm.$attrs,false),_vm.$listeners))};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteTimelog\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"TimelogDeleteInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timelogDelete\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timelog\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issue\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"IssueTimeTrackingFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mergeRequest\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"MergeRequestTimeTrackingFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":422}};\n doc.loc.source = {\"body\":\"#import \\\"~/graphql_shared/fragments/issue_time_tracking.fragment.graphql\\\"\\n#import \\\"~/graphql_shared/fragments/merge_request_time_tracking.fragment.graphql\\\"\\n\\nmutation deleteTimelog($input: TimelogDeleteInput!) {\\n timelogDelete(input: $input) {\\n errors\\n timelog {\\n id\\n issue {\\n ...IssueTimeTrackingFragment\\n }\\n mergeRequest {\\n ...MergeRequestTimeTrackingFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"~/graphql_shared/fragments/issue_time_tracking.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"~/graphql_shared/fragments/merge_request_time_tracking.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"deleteTimelog\"] = oneQuery(doc, \"deleteTimelog\");\n \n","export const CREATE_TIMELOG_MODAL_ID = 'create-timelog-modal';\nexport const SET_TIME_ESTIMATE_MODAL_ID = 'set-time-estimate-modal';\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"subscription\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableWeightUpdated\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IssuableID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableWeightUpdated\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"issuableId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItem\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"widgets\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"WorkItemWidgetWeight\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Issue\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":308}};\n doc.loc.source = {\"body\":\"subscription issuableWeightUpdated($issuableId: IssuableID!) {\\n issuableWeightUpdated(issuableId: $issuableId) {\\n ... on WorkItem {\\n id\\n widgets {\\n ... on WorkItemWidgetWeight {\\n type\\n weight\\n }\\n }\\n }\\n ... on Issue {\\n id\\n weight\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"issuableWeightUpdated\"] = oneQuery(doc, \"issuableWeightUpdated\");\n \n"],"sourceRoot":""}