diff options
Diffstat (limited to 'app/assets/javascripts/sidebar')
43 files changed, 183 insertions, 152 deletions
diff --git a/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue b/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue index 323f6f23df6..d65c950b33a 100644 --- a/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue +++ b/app/assets/javascripts/sidebar/components/assignees/assignee_avatar.vue @@ -1,6 +1,6 @@ <script> import { GlIcon } from '@gitlab/ui'; -import { IssuableType, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, sprintf } from '~/locale'; export default { @@ -32,7 +32,7 @@ export default { ); }, isMergeRequest() { - return this.issuableType === IssuableType.MergeRequest; + return this.issuableType === TYPE_MERGE_REQUEST; }, hasMergeIcon() { const canMerge = this.user.mergeRequestInteraction?.canMerge || this.user.can_merge; diff --git a/app/assets/javascripts/sidebar/components/assignees/assignee_avatar_link.vue b/app/assets/javascripts/sidebar/components/assignees/assignee_avatar_link.vue index 73cd0044c16..2c6eb0e5001 100644 --- a/app/assets/javascripts/sidebar/components/assignees/assignee_avatar_link.vue +++ b/app/assets/javascripts/sidebar/components/assignees/assignee_avatar_link.vue @@ -1,6 +1,6 @@ <script> import { GlTooltipDirective, GlLink } from '@gitlab/ui'; -import { IssuableType, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { isGid, getIdFromGraphQLId } from '~/graphql_shared/utils'; import { __ } from '~/locale'; import { isUserBusy } from '~/set_status_modal/utils'; @@ -73,7 +73,7 @@ export default { }, computed: { isMergeRequest() { - return this.issuableType === IssuableType.MergeRequest; + return this.issuableType === TYPE_MERGE_REQUEST; }, cannotMerge() { const canMerge = this.user.mergeRequestInteraction?.canMerge || this.user.can_merge; diff --git a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue index 93fcf2cf1c9..319699b88f3 100644 --- a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue +++ b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue @@ -1,6 +1,5 @@ <script> import { getIdFromGraphQLId } from '~/graphql_shared/utils'; -import { IssuableType } from '~/issues/constants'; import { assigneesQueries } from '../../constants'; export default { @@ -22,9 +21,6 @@ export default { }, }, computed: { - issuableClass() { - return Object.keys(IssuableType).find((key) => IssuableType[key] === this.issuableType); - }, issuableId() { return this.issuable?.id; }, diff --git a/app/assets/javascripts/sidebar/components/assignees/collapsed_assignee_list.vue b/app/assets/javascripts/sidebar/components/assignees/collapsed_assignee_list.vue index d2f0ceb19c9..884edc97016 100644 --- a/app/assets/javascripts/sidebar/components/assignees/collapsed_assignee_list.vue +++ b/app/assets/javascripts/sidebar/components/assignees/collapsed_assignee_list.vue @@ -1,6 +1,6 @@ <script> import { GlIcon, GlTooltipDirective } from '@gitlab/ui'; -import { TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, sprintf } from '~/locale'; import { isUserBusy } from '~/set_status_modal/utils'; import CollapsedAssignee from './collapsed_assignee.vue'; @@ -47,7 +47,7 @@ export default { }, computed: { isMergeRequest() { - return this.issuableType === 'merge_request'; + return this.issuableType === TYPE_MERGE_REQUEST; }, hasNoUsers() { return !this.users.length; diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.vue b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.vue index caf3bb2f798..062f63175a7 100644 --- a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.vue +++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.vue @@ -1,6 +1,6 @@ <script> import { refreshUserMergeRequestCounts } from '~/commons/nav/user_merge_requests'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { TYPE_ISSUE } from '~/issues/constants'; import { __ } from '~/locale'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue index 8893e90b1e5..ae81dcb95de 100644 --- a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue +++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue @@ -1,8 +1,8 @@ <script> import { GlDropdownItem } from '@gitlab/ui'; import Vue from 'vue'; -import { createAlert } from '~/flash'; -import { IssuableType, TYPE_ISSUE } from '~/issues/constants'; +import { createAlert } from '~/alert'; +import { TYPE_ALERT, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, n__ } from '~/locale'; import UserSelect from '~/vue_shared/components/user_select/user_select.vue'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; @@ -60,7 +60,7 @@ export default { required: false, default: TYPE_ISSUE, validator(value) { - return [TYPE_ISSUE, IssuableType.MergeRequest, IssuableType.Alert].includes(value); + return [TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_ALERT].includes(value); }, }, issuableId: { diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_invite_members.vue b/app/assets/javascripts/sidebar/components/assignees/sidebar_invite_members.vue index 28bc5afc1a4..b41d126be68 100644 --- a/app/assets/javascripts/sidebar/components/assignees/sidebar_invite_members.vue +++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_invite_members.vue @@ -4,8 +4,6 @@ import { __ } from '~/locale'; export default { displayText: __('Invite members'), - dataTrackLabel: 'edit_assignee', - dataTrackEvent: 'click_invite_members', components: { InviteMembersTrigger, }, @@ -27,8 +25,6 @@ export default { <invite-members-trigger trigger-element="anchor" :display-text="$options.displayText" - :event="$options.dataTrackEvent" - :label="$options.dataTrackLabel" :trigger-source="triggerSource" classes="gl-display-block gl-pl-0 gl-hover-text-decoration-none gl-hover-text-blue-800!" /> diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_participant.vue b/app/assets/javascripts/sidebar/components/assignees/sidebar_participant.vue index ddbd8866680..8b40b48b54a 100644 --- a/app/assets/javascripts/sidebar/components/assignees/sidebar_participant.vue +++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_participant.vue @@ -1,6 +1,6 @@ <script> import { GlAvatarLabeled, GlIcon } from '@gitlab/ui'; -import { IssuableType, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { s__, sprintf } from '~/locale'; const AVAILABILITY_STATUS = { @@ -39,7 +39,7 @@ export default { ); }, hasCannotMergeIcon() { - return this.issuableType === IssuableType.MergeRequest && !this.user.canMerge; + return this.issuableType === TYPE_MERGE_REQUEST && !this.user.canMerge; }, }, }; diff --git a/app/assets/javascripts/sidebar/components/assignees/uncollapsed_assignee_list.vue b/app/assets/javascripts/sidebar/components/assignees/uncollapsed_assignee_list.vue index 71f349bb87e..b424d9074d0 100644 --- a/app/assets/javascripts/sidebar/components/assignees/uncollapsed_assignee_list.vue +++ b/app/assets/javascripts/sidebar/components/assignees/uncollapsed_assignee_list.vue @@ -1,6 +1,6 @@ <script> import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; -import { IssuableType, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, sprintf } from '~/locale'; import AssigneeAvatarLink from './assignee_avatar_link.vue'; import UserNameWithStatus from './user_name_with_status.vue'; @@ -53,7 +53,7 @@ export default { return `@${this.firstUser.username}`; }, isMergeRequest() { - return this.issuableType === IssuableType.MergeRequest; + return this.issuableType === TYPE_MERGE_REQUEST; }, }, methods: { @@ -61,7 +61,7 @@ export default { this.showLess = !this.showLess; }, userAvailability(u) { - if (this.issuableType === IssuableType.MergeRequest) { + if (this.issuableType === TYPE_MERGE_REQUEST) { return u?.availability || ''; } return u?.status?.availability || ''; diff --git a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_content.vue b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_content.vue index 1eeb725d5c9..196a86a931a 100644 --- a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_content.vue +++ b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_content.vue @@ -1,7 +1,7 @@ <script> import { GlIcon, GlAlert, GlTooltipDirective } from '@gitlab/ui'; import { __ } from '~/locale'; -import { TYPE_EPIC, WorkspaceType } from '~/issues/constants'; +import { TYPE_EPIC, WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants'; import { confidentialityInfoText } from '~/vue_shared/constants'; export default { @@ -25,7 +25,7 @@ export default { computed: { confidentialBodyText() { return confidentialityInfoText( - this.issuableType === TYPE_EPIC ? WorkspaceType.group : WorkspaceType.project, + this.issuableType === TYPE_EPIC ? WORKSPACE_GROUP : WORKSPACE_PROJECT, this.issuableType, ); }, diff --git a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue index f7526bcff3d..3038cec03eb 100644 --- a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue +++ b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue @@ -1,6 +1,6 @@ <script> import { GlSprintf, GlButton } from '@gitlab/ui'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { TYPE_ISSUE } from '~/issues/constants'; import { __, sprintf } from '~/locale'; import { confidentialityQueries } from '../../constants'; diff --git a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue index c2f239b56c7..9177baec246 100644 --- a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue +++ b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue @@ -1,7 +1,7 @@ <script> import produce from 'immer'; import Vue from 'vue'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { __, sprintf } from '~/locale'; import { confidentialityQueries, Tracking } from '../../constants'; import SidebarEditableItem from '../sidebar_editable_item.vue'; diff --git a/app/assets/javascripts/sidebar/components/crm_contacts/crm_contacts.vue b/app/assets/javascripts/sidebar/components/crm_contacts/crm_contacts.vue index c9ecaf4102f..916ff70a5ea 100644 --- a/app/assets/javascripts/sidebar/components/crm_contacts/crm_contacts.vue +++ b/app/assets/javascripts/sidebar/components/crm_contacts/crm_contacts.vue @@ -1,7 +1,7 @@ <script> import { GlIcon, GlLink, GlPopover, GlTooltipDirective } from '@gitlab/ui'; import { __, n__, sprintf } from '~/locale'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { convertToGraphQLId, getIdFromGraphQLId } from '~/graphql_shared/utils'; import { TYPENAME_ISSUE } from '~/graphql_shared/constants'; import getIssueCrmContactsQuery from '../../queries/get_issue_crm_contacts.query.graphql'; diff --git a/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue b/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue index 77be8022ec0..190b8c1de62 100644 --- a/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue +++ b/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue @@ -1,6 +1,6 @@ <script> import { GlIcon, GlDatepicker, GlTooltipDirective, GlLink, GlPopover } from '@gitlab/ui'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { TYPE_ISSUE } from '~/issues/constants'; import { dateInWords, formatDate, parsePikadayDate } from '~/lib/utils/datetime_utility'; import { __, sprintf } from '~/locale'; @@ -54,6 +54,16 @@ export default { type: Boolean, default: false, }, + minDate: { + required: false, + type: Date, + default: null, + }, + maxDate: { + required: false, + type: Date, + default: null, + }, }, data() { return { @@ -292,6 +302,8 @@ export default { v-if="!isLoading" ref="datePicker" class="gl-relative" + :min-date="minDate" + :max-date="maxDate" :default-date="parsedDate" :first-day="firstDay" show-clear-button diff --git a/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue b/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue index f7daad63f45..6db332a82da 100644 --- a/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue +++ b/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue @@ -1,6 +1,6 @@ <script> import { GlIcon, GlTooltipDirective } from '@gitlab/ui'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { logError } from '~/lib/logger'; import EscalationStatus from 'ee_else_ce/sidebar/components/incidents/escalation_status.vue'; import { diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_vue/dropdown_contents_create_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_vue/dropdown_contents_create_view.vue index b8afa67a947..227d85d952b 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_vue/dropdown_contents_create_view.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_vue/dropdown_contents_create_view.vue @@ -92,10 +92,14 @@ export default { /> </div> <div class="color-input-container gl-display-flex"> - <span - class="dropdown-label-color-preview position-relative position-relative d-inline-block" - :style="{ backgroundColor: selectedColor }" - ></span> + <gl-form-input + v-model.trim="selectedColor" + class="gl-rounded-top-right-none gl-rounded-bottom-right-none gl-mr-n1 gl-mb-2 gl-w-8" + type="color" + :value="selectedColor" + :placeholder="__('Open color picker')" + data-testid="selected-color" + /> <gl-form-input v-model.trim="selectedColor" class="gl-rounded-top-left-none gl-rounded-bottom-left-none gl-mb-2" diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_vue/store/actions.js b/app/assets/javascripts/sidebar/components/labels/labels_select_vue/store/actions.js index 2dab97826b9..06030003f3c 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_vue/store/actions.js +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_vue/store/actions.js @@ -1,4 +1,4 @@ -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import axios from '~/lib/utils/axios_utils'; import { __ } from '~/locale'; import * as types from './mutation_types'; diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/constants.js b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/constants.js index cd671b4d8f5..852ef0c6283 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/constants.js +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/constants.js @@ -6,8 +6,3 @@ export const DropdownVariant = { Standalone: 'standalone', Embedded: 'embedded', }; - -export const LabelType = { - group: 'group', - project: 'project', -}; diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue index aa1184ed314..1174ec3f01e 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue @@ -8,11 +8,11 @@ import { GlLoadingIcon, } from '@gitlab/ui'; import produce from 'immer'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; +import { WORKSPACE_GROUP } from '~/issues/constants'; import { __ } from '~/locale'; import { workspaceLabelsQueries } from '../../../constants'; import createLabelMutation from './graphql/create_label.mutation.graphql'; -import { LabelType } from './constants'; const errorMessage = __('Error creating label.'); @@ -62,7 +62,7 @@ export default { return Object.keys(colorsMap).map((color) => ({ [color]: colorsMap[color] })); }, mutationVariables() { - const attributePath = this.labelCreateType === LabelType.group ? 'groupPath' : 'projectPath'; + const attributePath = this.labelCreateType === WORKSPACE_GROUP ? 'groupPath' : 'projectPath'; return { title: this.labelTitle, @@ -163,11 +163,14 @@ export default { /> </div> <div class="color-input-container gl-display-flex"> - <span - class="dropdown-label-color-preview gl-relative gl-display-inline-block" + <gl-form-input + v-model.trim="selectedColor" + class="gl-rounded-top-right-none gl-rounded-bottom-right-none gl-mr-n1 gl-mb-2 gl-w-8" + type="color" + :value="selectedColor" + :placeholder="__('Select color')" data-testid="selected-color" - :style="{ backgroundColor: selectedColor }" - ></span> + /> <gl-form-input v-model.trim="selectedColor" class="gl-rounded-top-left-none gl-rounded-bottom-left-none gl-mb-2" diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue index c1939dc7785..e664d6b4bd6 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue @@ -1,7 +1,7 @@ <script> import { GlDropdownForm, GlDropdownItem, GlLoadingIcon, GlIntersectionObserver } from '@gitlab/ui'; import fuzzaldrinPlus from 'fuzzaldrin-plus'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import { __ } from '~/locale'; import { workspaceLabelsQueries } from '../../../constants'; diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue index bf916e26a15..3aa4215443e 100644 --- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue +++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue @@ -2,9 +2,9 @@ import { debounce } from 'lodash'; import issuableLabelsSubscription from 'ee_else_ce/sidebar/queries/issuable_labels.subscription.graphql'; import { MutationOperationMode, getIdFromGraphQLId } from '~/graphql_shared/utils'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; -import { IssuableType, TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_EPIC, TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_TEST_CASE } from '~/issues/constants'; import { __ } from '~/locale'; import { issuableLabelsQueries } from '../../../constants'; @@ -166,7 +166,7 @@ export default { fullPath: this.fullPath, }; - if (this.issuableType === IssuableType.TestCase) { + if (this.issuableType === TYPE_TEST_CASE) { queryVariables.types = ['TEST_CASE']; } @@ -262,9 +262,9 @@ export default { switch (this.issuableType) { case TYPE_ISSUE: - case IssuableType.TestCase: + case TYPE_TEST_CASE: return updateVariables; - case IssuableType.MergeRequest: + case TYPE_MERGE_REQUEST: return { ...updateVariables, operationMode: MutationOperationMode.Replace, @@ -319,12 +319,12 @@ export default { switch (this.issuableType) { case TYPE_ISSUE: - case IssuableType.TestCase: + case TYPE_TEST_CASE: return { ...removeVariables, removeLabelIds: [labelId], }; - case IssuableType.MergeRequest: + case TYPE_MERGE_REQUEST: return { ...removeVariables, labelIds: [labelId], diff --git a/app/assets/javascripts/sidebar/components/lock/edit_form_buttons.vue b/app/assets/javascripts/sidebar/components/lock/edit_form_buttons.vue index df03af346c0..606d374158b 100644 --- a/app/assets/javascripts/sidebar/components/lock/edit_form_buttons.vue +++ b/app/assets/javascripts/sidebar/components/lock/edit_form_buttons.vue @@ -2,7 +2,7 @@ import { GlButton } from '@gitlab/ui'; import $ from 'jquery'; import { mapActions } from 'vuex'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { __, sprintf } from '~/locale'; import eventHub from '../../event_hub'; @@ -49,11 +49,11 @@ export default { fullPath: this.fullPath, }) .catch(() => { - const flashMessage = __( + const alertMessage = __( 'Something went wrong trying to change the locked state of this %{issuableDisplayName}', ); createAlert({ - message: sprintf(flashMessage, { issuableDisplayName: this.issuableDisplayName }), + message: sprintf(alertMessage, { issuableDisplayName: this.issuableDisplayName }), }); }) .finally(() => { diff --git a/app/assets/javascripts/sidebar/components/lock/issuable_lock_form.vue b/app/assets/javascripts/sidebar/components/lock/issuable_lock_form.vue index 9d8f1304911..1eff4db3970 100644 --- a/app/assets/javascripts/sidebar/components/lock/issuable_lock_form.vue +++ b/app/assets/javascripts/sidebar/components/lock/issuable_lock_form.vue @@ -1,10 +1,10 @@ <script> import { GlIcon, GlTooltipDirective, GlOutsideDirective as Outside } from '@gitlab/ui'; import { mapGetters, mapActions } from 'vuex'; -import { TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, sprintf } from '~/locale'; import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import toast from '~/vue_shared/plugins/global_toast'; import eventHub from '../../event_hub'; import EditForm from './edit_form.vue'; @@ -46,7 +46,9 @@ export default { computed: { ...mapGetters(['getNoteableData']), isMergeRequest() { - return this.getNoteableData.targetType === 'merge_request' && this.glFeatures.movedMrSidebar; + return ( + this.getNoteableData.targetType === TYPE_MERGE_REQUEST && this.glFeatures.movedMrSidebar + ); }, issuableDisplayName() { const isInIssuePage = this.getNoteableData.targetType === TYPE_ISSUE; @@ -92,11 +94,11 @@ export default { } }) .catch(() => { - const flashMessage = __( + const alertMessage = __( 'Something went wrong trying to change the locked state of this %{issuableDisplayName}', ); createAlert({ - message: sprintf(flashMessage, { issuableDisplayName: this.issuableDisplayName }), + message: sprintf(alertMessage, { issuableDisplayName: this.issuableDisplayName }), }); }) .finally(() => { diff --git a/app/assets/javascripts/sidebar/components/milestone/milestone_dropdown.vue b/app/assets/javascripts/sidebar/components/milestone/milestone_dropdown.vue index 8072154cd28..24afb25e403 100644 --- a/app/assets/javascripts/sidebar/components/milestone/milestone_dropdown.vue +++ b/app/assets/javascripts/sidebar/components/milestone/milestone_dropdown.vue @@ -2,7 +2,12 @@ import { GlDropdownItem } from '@gitlab/ui'; import { TYPENAME_MILESTONE } from '~/graphql_shared/constants'; import { convertToGraphQLId, getIdFromGraphQLId } from '~/graphql_shared/utils'; -import { IssuableType, TYPE_ISSUE, WorkspaceType } from '~/issues/constants'; +import { + TYPE_ISSUE, + TYPE_MERGE_REQUEST, + WORKSPACE_GROUP, + WORKSPACE_PROJECT, +} from '~/issues/constants'; import { __ } from '~/locale'; import { IssuableAttributeType } from '../../constants'; import SidebarDropdown from '../sidebar_dropdown.vue'; @@ -37,7 +42,7 @@ export default { type: String, required: true, validator(value) { - return [TYPE_ISSUE, IssuableType.MergeRequest].includes(value); + return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(value); }, }, inputName: { @@ -64,7 +69,7 @@ export default { type: String, required: true, validator(value) { - return [WorkspaceType.group, WorkspaceType.project].includes(value); + return [WORKSPACE_GROUP, WORKSPACE_PROJECT].includes(value); }, }, }, diff --git a/app/assets/javascripts/sidebar/components/move/move_issue_button.vue b/app/assets/javascripts/sidebar/components/move/move_issue_button.vue index e1259fad6a7..76c47305369 100644 --- a/app/assets/javascripts/sidebar/components/move/move_issue_button.vue +++ b/app/assets/javascripts/sidebar/components/move/move_issue_button.vue @@ -1,7 +1,7 @@ <script> import ProjectSelect from '~/sidebar/components/move/issuable_move_dropdown.vue'; import { __ } from '~/locale'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { visitUrl } from '~/lib/utils/url_utility'; import moveIssueMutation from '../../queries/move_issue.mutation.graphql'; diff --git a/app/assets/javascripts/sidebar/components/move/move_issues_button.vue b/app/assets/javascripts/sidebar/components/move/move_issues_button.vue index ab4ac9500ad..68c8b35c009 100644 --- a/app/assets/javascripts/sidebar/components/move/move_issues_button.vue +++ b/app/assets/javascripts/sidebar/components/move/move_issues_button.vue @@ -1,6 +1,6 @@ <script> import { GlAlert } from '@gitlab/ui'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { logError } from '~/lib/logger'; import { s__ } from '~/locale'; import { diff --git a/app/assets/javascripts/sidebar/components/participants/participants.vue b/app/assets/javascripts/sidebar/components/participants/participants.vue index 2f25c2fd4b0..a9d102eb303 100644 --- a/app/assets/javascripts/sidebar/components/participants/participants.vue +++ b/app/assets/javascripts/sidebar/components/participants/participants.vue @@ -99,7 +99,7 @@ export default { > <gl-icon name="users" /> <gl-loading-icon v-if="loading" size="sm" /> - <span v-else data-testid="collapsed-count" class="gl-pt-2 gl-px-3 gl-font-sm"> + <span v-else class="gl-pt-2 gl-px-3 gl-font-sm"> {{ participantCount }} </span> </div> @@ -114,9 +114,12 @@ export default { <div v-for="participant in visibleParticipants" :key="participant.id" - class="participants-author gl-display-inline-block gl-pr-3 gl-pb-3" + class="participants-author gl-display-inline-block gl-mr-3 gl-mb-3" > - <a :href="participant.web_url || participant.webUrl" class="author-link"> + <a + :href="participant.web_url || participant.webUrl" + class="author-link gl-display-inline-block gl-rounded-full" + > <user-avatar-image :lazy="lazy" :img-src="participant.avatar_url || participant.avatarUrl" @@ -133,7 +136,6 @@ export default { <gl-button variant="link" button-text-classes="gl-text-secondary" - data-testid="more-participants" @click="toggleMoreParticipants" >{{ toggleLabel }}</gl-button > diff --git a/app/assets/javascripts/sidebar/components/reviewers/reviewer_avatar_link.vue b/app/assets/javascripts/sidebar/components/reviewers/reviewer_avatar_link.vue index 56ac4c39e84..80c051f86b5 100644 --- a/app/assets/javascripts/sidebar/components/reviewers/reviewer_avatar_link.vue +++ b/app/assets/javascripts/sidebar/components/reviewers/reviewer_avatar_link.vue @@ -2,7 +2,7 @@ // NOTE! For the first iteration, we are simply copying the implementation of Assignees // It will soon be overhauled in Issue https://gitlab.com/gitlab-org/gitlab/-/issues/233736 import { GlTooltipDirective, GlLink } from '@gitlab/ui'; -import { TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, sprintf } from '~/locale'; import ReviewerAvatar from './reviewer_avatar.vue'; @@ -41,7 +41,9 @@ export default { }, computed: { cannotMerge() { - return this.issuableType === 'merge_request' && !this.user.mergeRequestInteraction?.canMerge; + return ( + this.issuableType === TYPE_MERGE_REQUEST && !this.user.mergeRequestInteraction?.canMerge + ); }, tooltipTitle() { if (this.cannotMerge && this.tooltipHasName) { diff --git a/app/assets/javascripts/sidebar/components/reviewers/sidebar_reviewers.vue b/app/assets/javascripts/sidebar/components/reviewers/sidebar_reviewers.vue index 8dd58d33ecf..9c23f239b4c 100644 --- a/app/assets/javascripts/sidebar/components/reviewers/sidebar_reviewers.vue +++ b/app/assets/javascripts/sidebar/components/reviewers/sidebar_reviewers.vue @@ -3,7 +3,7 @@ // It will soon be overhauled in Issue https://gitlab.com/gitlab-org/gitlab/-/issues/233736 import Vue from 'vue'; import { refreshUserMergeRequestCounts } from '~/commons/nav/user_merge_requests'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { TYPE_ISSUE } from '~/issues/constants'; import { __ } from '~/locale'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; diff --git a/app/assets/javascripts/sidebar/components/severity/sidebar_severity_widget.vue b/app/assets/javascripts/sidebar/components/severity/sidebar_severity_widget.vue index ecb9a2809a0..55de0ceb388 100644 --- a/app/assets/javascripts/sidebar/components/severity/sidebar_severity_widget.vue +++ b/app/assets/javascripts/sidebar/components/severity/sidebar_severity_widget.vue @@ -1,9 +1,10 @@ <script> import { GlDropdown, GlDropdownItem, GlTooltip, GlSprintf } from '@gitlab/ui'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; +import { TYPE_INCIDENT } from '~/issues/constants'; import SidebarEditableItem from '~/sidebar/components/sidebar_editable_item.vue'; import updateIssuableSeverity from '../../queries/update_issuable_severity.mutation.graphql'; -import { INCIDENT_SEVERITY, ISSUABLE_TYPES, SEVERITY_I18N as I18N } from '../../constants'; +import { INCIDENT_SEVERITY, SEVERITY_I18N as I18N } from '../../constants'; import SeverityToken from './severity.vue'; export default { @@ -34,10 +35,10 @@ export default { issuableType: { type: String, required: false, - default: ISSUABLE_TYPES.INCIDENT, + default: TYPE_INCIDENT, validator: (value) => { // currently severity is supported only for incidents, but this list might be extended - return [ISSUABLE_TYPES.INCIDENT].includes(value); + return [TYPE_INCIDENT].includes(value); }, }, }, @@ -50,7 +51,7 @@ export default { computed: { severitiesList() { switch (this.issuableType) { - case ISSUABLE_TYPES.INCIDENT: + case TYPE_INCIDENT: return Object.values(INCIDENT_SEVERITY); default: return []; diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue index d68e4974ea4..50b4284cde0 100644 --- a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue +++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue @@ -8,7 +8,13 @@ import { GlSearchBoxByType, } from '@gitlab/ui'; import { kebabCase, snakeCase } from 'lodash'; -import { IssuableType, TYPE_EPIC, TYPE_ISSUE, WorkspaceType } from '~/issues/constants'; +import { + TYPE_EPIC, + TYPE_ISSUE, + TYPE_MERGE_REQUEST, + WORKSPACE_GROUP, + WORKSPACE_PROJECT, +} from '~/issues/constants'; import { __ } from '~/locale'; import { defaultEpicSort, @@ -21,7 +27,7 @@ import { LocalizedIssuableAttributeType, noAttributeId, } from 'ee_else_ce/sidebar/constants'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { PathIdSeparator } from '~/related_issues/constants'; export default { @@ -70,15 +76,15 @@ export default { type: String, required: true, validator(value) { - return [TYPE_ISSUE, IssuableType.MergeRequest].includes(value); + return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(value); }, }, workspaceType: { type: String, required: false, - default: WorkspaceType.project, + default: WORKSPACE_PROJECT, validator(value) { - return [WorkspaceType.group, WorkspaceType.project].includes(value); + return [WORKSPACE_GROUP, WORKSPACE_PROJECT].includes(value); }, }, }, diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue index 5df65c4aaaf..19e72da65f2 100644 --- a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue +++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue @@ -1,9 +1,9 @@ <script> import { GlButton, GlIcon, GlLink, GlPopover, GlTooltipDirective } from '@gitlab/ui'; import { kebabCase, snakeCase } from 'lodash'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; -import { IssuableType, TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_EPIC, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { timeFor } from '~/lib/utils/datetime_utility'; import { __ } from '~/locale'; import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; @@ -71,7 +71,7 @@ export default { type: String, required: true, validator(value) { - return [TYPE_ISSUE, IssuableType.MergeRequest].includes(value); + return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(value); }, }, icon: { diff --git a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue index cbe839d1112..344fa880131 100644 --- a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue +++ b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue @@ -1,7 +1,12 @@ <script> import { GlDropdownForm, GlIcon, GlLoadingIcon, GlToggle, GlTooltipDirective } from '@gitlab/ui'; -import { createAlert } from '~/flash'; -import { IssuableType, TYPE_EPIC } from '~/issues/constants'; +import { createAlert } from '~/alert'; +import { + TYPE_EPIC, + TYPE_MERGE_REQUEST, + WORKSPACE_GROUP, + WORKSPACE_PROJECT, +} from '~/issues/constants'; import { isLoggedIn } from '~/lib/utils/common_utils'; import { __, sprintf } from '~/locale'; import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; @@ -87,7 +92,7 @@ export default { }, computed: { isMergeRequest() { - return this.issuableType === IssuableType.MergeRequest && this.glFeatures.movedMrSidebar; + return this.issuableType === TYPE_MERGE_REQUEST && this.glFeatures.movedMrSidebar; }, isLoading() { return this.$apollo.queries?.subscribed?.loading || this.loading; @@ -109,7 +114,7 @@ export default { }, subscribeDisabledDescription() { return sprintf(__('Disabled by %{parent} owner'), { - parent: this.parentIsGroup ? 'group' : 'project', + parent: this.parentIsGroup ? WORKSPACE_GROUP : WORKSPACE_PROJECT, }); }, isLoggedIn() { diff --git a/app/assets/javascripts/sidebar/components/time_tracking/create_timelog_form.vue b/app/assets/javascripts/sidebar/components/time_tracking/create_timelog_form.vue index 964da3b6138..9b582ba41ed 100644 --- a/app/assets/javascripts/sidebar/components/time_tracking/create_timelog_form.vue +++ b/app/assets/javascripts/sidebar/components/time_tracking/create_timelog_form.vue @@ -29,7 +29,11 @@ export default { GlLink, GlSprintf, }, - inject: ['issuableType'], + inject: { + issuableType: { + default: null, + }, + }, props: { issuableId: { type: String, @@ -52,13 +56,11 @@ export default { primaryProps() { return { text: s__('CreateTimelogForm|Save'), - attributes: [ - { - variant: 'confirm', - disabled: this.submitDisabled, - loading: this.isLoading, - }, - ], + attributes: { + variant: 'confirm', + disabled: this.submitDisabled, + loading: this.isLoading, + }, }; }, cancelProps() { diff --git a/app/assets/javascripts/sidebar/components/time_tracking/report.vue b/app/assets/javascripts/sidebar/components/time_tracking/report.vue index cffbb6466f2..109e1af85ec 100644 --- a/app/assets/javascripts/sidebar/components/time_tracking/report.vue +++ b/app/assets/javascripts/sidebar/components/time_tracking/report.vue @@ -1,6 +1,6 @@ <script> import { GlLoadingIcon, GlTableLite, GlButton, GlTooltipDirective } from '@gitlab/ui'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { TYPENAME_ISSUE, TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constants'; import { convertToGraphQLId } from '~/graphql_shared/utils'; import { TYPE_ISSUE } from '~/issues/constants'; diff --git a/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue b/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue index c645b1649d2..f6968558122 100644 --- a/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue +++ b/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue @@ -8,7 +8,7 @@ import { GlLoadingIcon, GlTooltipDirective, } from '@gitlab/ui'; -import { IssuableType, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants'; import { BV_SHOW_MODAL } from '~/lib/utils/constants'; import { s__, __ } from '~/locale'; @@ -173,7 +173,7 @@ export default { return Boolean(this.showHelp); }, isTimeReportSupported() { - return [TYPE_ISSUE, IssuableType.MergeRequest].includes(this.issuableType) && this.issuableId; + return [TYPE_ISSUE, TYPE_MERGE_REQUEST].includes(this.issuableType) && this.issuableId; }, timeTrackingIconTitle() { return this.showHelpState ? '' : HOW_TO_TRACK_TIME; diff --git a/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue b/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue index b86ff279fd8..551d306a9c4 100644 --- a/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue +++ b/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue @@ -1,7 +1,8 @@ <script> import { GlButton, GlIcon, GlTooltipDirective } from '@gitlab/ui'; import { produce } from 'immer'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; +import { TYPE_MERGE_REQUEST } from '~/issues/constants'; import { __, sprintf } from '~/locale'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import Tracking from '~/tracking'; @@ -83,7 +84,7 @@ export default { }, computed: { isMergeRequest() { - return this.glFeatures.movedMrSidebar && this.issuableType === 'merge_request'; + return this.glFeatures.movedMrSidebar && this.issuableType === TYPE_MERGE_REQUEST; }, todoIdQuery() { return todoQueries[this.issuableType].query; diff --git a/app/assets/javascripts/sidebar/constants.js b/app/assets/javascripts/sidebar/constants.js index 14491226b15..7bca83c4142 100644 --- a/app/assets/javascripts/sidebar/constants.js +++ b/app/assets/javascripts/sidebar/constants.js @@ -3,7 +3,15 @@ import { s__, __, sprintf } from '~/locale'; import updateIssueLabelsMutation from '~/boards/graphql/issue_set_labels.mutation.graphql'; import userSearchQuery from '~/graphql_shared/queries/users_search.query.graphql'; import userSearchWithMRPermissionsQuery from '~/graphql_shared/queries/users_search_with_mr_permissions.graphql'; -import { IssuableType, TYPE_EPIC, TYPE_ISSUE, WorkspaceType } from '~/issues/constants'; +import { + TYPE_ALERT, + TYPE_EPIC, + TYPE_ISSUE, + TYPE_MERGE_REQUEST, + TYPE_TEST_CASE, + WORKSPACE_GROUP, + WORKSPACE_PROJECT, +} from '~/issues/constants'; import updateAlertAssigneesMutation from '~/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql'; import updateTestCaseLabelsMutation from './components/labels/labels_select_widget/graphql/update_test_case_labels.mutation.graphql'; import epicLabelsQuery from './components/labels/labels_select_widget/graphql/epic_labels.query.graphql'; @@ -69,11 +77,11 @@ export const assigneesQueries = { subscription: issuableAssigneesSubscription, mutation: updateIssueAssigneesMutation, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: getMergeRequestAssignees, mutation: updateMergeRequestAssigneesMutation, }, - [IssuableType.Alert]: { + [TYPE_ALERT]: { query: getAlertAssignees, mutation: updateAlertAssigneesMutation, }, @@ -83,13 +91,13 @@ export const participantsQueries = { [TYPE_ISSUE]: { query: issueParticipantsQuery, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: getMergeRequestParticipants, }, [TYPE_EPIC]: { query: epicParticipantsQuery, }, - [IssuableType.Alert]: { + [TYPE_ALERT]: { query: '', skipQuery: true, }, @@ -99,7 +107,7 @@ export const userSearchQueries = { [TYPE_ISSUE]: { query: userSearchQuery, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: userSearchWithMRPermissionsQuery, }, }; @@ -119,7 +127,7 @@ export const referenceQueries = { [TYPE_ISSUE]: { query: issueReferenceQuery, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: mergeRequestReferenceQuery, }, [TYPE_EPIC]: { @@ -128,10 +136,10 @@ export const referenceQueries = { }; export const workspaceLabelsQueries = { - [WorkspaceType.project]: { + [WORKSPACE_PROJECT]: { query: projectLabelsQuery, }, - [WorkspaceType.group]: { + [WORKSPACE_GROUP]: { query: groupLabelsQuery, }, }; @@ -142,7 +150,7 @@ export const issuableLabelsQueries = { mutation: updateIssueLabelsMutation, mutationName: 'updateIssue', }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { issuableQuery: mergeRequestLabelsQuery, mutation: updateMergeRequestLabelsMutation, mutationName: 'mergeRequestSetLabels', @@ -152,7 +160,7 @@ export const issuableLabelsQueries = { mutation: updateEpicLabelsMutation, mutationName: 'updateEpic', }, - [IssuableType.TestCase]: { + [TYPE_TEST_CASE]: { issuableQuery: issueLabelsQuery, mutation: updateTestCaseLabelsMutation, mutationName: 'updateTestCaseLabels', @@ -186,7 +194,7 @@ export const subscribedQueries = { query: epicSubscribedQuery, mutation: updateEpicSubscriptionMutation, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: mergeRequestSubscribed, mutation: updateMergeRequestSubscriptionMutation, }, @@ -201,7 +209,7 @@ export const timeTrackingQueries = { [TYPE_ISSUE]: { query: issueTimeTrackingQuery, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: mergeRequestTimeTrackingQuery, }, }; @@ -228,7 +236,7 @@ export const timelogQueries = { [TYPE_ISSUE]: { query: getIssueTimelogsQuery, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: getMrTimelogsQuery, }, }; @@ -240,7 +248,7 @@ export const issuableMilestoneQueries = { query: projectIssueMilestoneQuery, mutation: projectIssueMilestoneMutation, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: mergeRequestMilestone, mutation: mergeRequestMilestoneMutation, }, @@ -249,14 +257,14 @@ export const issuableMilestoneQueries = { export const milestonesQueries = { [TYPE_ISSUE]: { query: { - [WorkspaceType.group]: groupMilestonesQuery, - [WorkspaceType.project]: projectMilestonesQuery, + [WORKSPACE_GROUP]: groupMilestonesQuery, + [WORKSPACE_PROJECT]: projectMilestonesQuery, }, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: { - [WorkspaceType.group]: groupMilestonesQuery, - [WorkspaceType.project]: projectMilestonesQuery, + [WORKSPACE_GROUP]: groupMilestonesQuery, + [WORKSPACE_PROJECT]: projectMilestonesQuery, }, }, }; @@ -289,7 +297,7 @@ export const todoQueries = { [TYPE_ISSUE]: { query: issueTodoQuery, }, - [IssuableType.MergeRequest]: { + [TYPE_MERGE_REQUEST]: { query: mergeRequestTodoQuery, }, }; @@ -407,10 +415,6 @@ export const INCIDENT_SEVERITY = { }, }; -export const ISSUABLE_TYPES = { - INCIDENT: 'incident', -}; - export const MILESTONE_STATE = { ACTIVE: 'active', CLOSED: 'closed', diff --git a/app/assets/javascripts/sidebar/mount_milestone_sidebar.js b/app/assets/javascripts/sidebar/mount_milestone_sidebar.js index b908cf0cd9e..b0060e4c28d 100644 --- a/app/assets/javascripts/sidebar/mount_milestone_sidebar.js +++ b/app/assets/javascripts/sidebar/mount_milestone_sidebar.js @@ -1,5 +1,4 @@ import Vue from 'vue'; -import { IssuableType } from '~/issues/constants'; import { parseBoolean } from '~/lib/utils/common_utils'; import TimeTracker from './components/time_tracking/time_tracker.vue'; @@ -25,9 +24,6 @@ export default class SidebarMilestone { components: { TimeTracker, }, - provide: { - issuableType: IssuableType.Milestone, - }, render: (createElement) => createElement('time-tracker', { props: { diff --git a/app/assets/javascripts/sidebar/mount_sidebar.js b/app/assets/javascripts/sidebar/mount_sidebar.js index fb024d818da..99c3fdf82d4 100644 --- a/app/assets/javascripts/sidebar/mount_sidebar.js +++ b/app/assets/javascripts/sidebar/mount_sidebar.js @@ -4,7 +4,7 @@ import { TYPENAME_ISSUE, TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constan import { convertToGraphQLId, getIdFromGraphQLId } from '~/graphql_shared/utils'; import initInviteMembersModal from '~/invite_members/init_invite_members_modal'; import initInviteMembersTrigger from '~/invite_members/init_invite_members_trigger'; -import { IssuableType, TYPE_ISSUE } from '~/issues/constants'; +import { TYPE_ISSUE, TYPE_MERGE_REQUEST, WORKSPACE_PROJECT } from '~/issues/constants'; import { gqlClient } from '~/issues/list/graphql'; import { isInDesignPage, @@ -25,7 +25,6 @@ import CopyEmailToClipboard from './components/copy/copy_email_to_clipboard.vue' import SidebarDueDateWidget from './components/date/sidebar_date_widget.vue'; import SidebarEscalationStatus from './components/incidents/sidebar_escalation_status.vue'; import { DropdownVariant } from './components/labels/labels_select_vue/constants'; -import { LabelType } from './components/labels/labels_select_widget/constants'; import LabelsSelectWidget from './components/labels/labels_select_widget/labels_select_root.vue'; import IssuableLockForm from './components/lock/issuable_lock_form.vue'; import MilestoneDropdown from './components/milestone/milestone_dropdown.vue'; @@ -81,7 +80,7 @@ function mountSidebarTodoWidget() { issuableType: isInIssuePage() || isInIncidentPage() || isInDesignPage() ? TYPE_ISSUE - : IssuableType.MergeRequest, + : TYPE_MERGE_REQUEST, }, }), }); @@ -125,7 +124,7 @@ function mountSidebarAssigneesDeprecated(mediator) { issuableType: isInIssuePage() || isInIncidentPage() || isInDesignPage() ? TYPE_ISSUE - : IssuableType.MergeRequest, + : TYPE_MERGE_REQUEST, issuableId: id, assigneeAvailabilityStatus, }, @@ -142,7 +141,7 @@ function mountSidebarAssigneesWidget() { const { id, iid, fullPath, editable } = getSidebarOptions(); const isIssuablePage = isInIssuePage() || isInIncidentPage() || isInDesignPage(); - const issuableType = isIssuablePage ? TYPE_ISSUE : IssuableType.MergeRequest; + const issuableType = isIssuablePage ? TYPE_ISSUE : TYPE_MERGE_REQUEST; // eslint-disable-next-line no-new new Vue({ el, @@ -204,8 +203,7 @@ function mountSidebarReviewers(mediator) { issuableIid: String(iid), projectPath: fullPath, field: el.dataset.field, - issuableType: - isInIssuePage() || isInDesignPage() ? TYPE_ISSUE : IssuableType.MergeRequest, + issuableType: isInIssuePage() || isInDesignPage() ? TYPE_ISSUE : TYPE_MERGE_REQUEST, }, }), }); @@ -275,8 +273,7 @@ function mountSidebarMilestoneWidget() { attrWorkspacePath: projectPath, workspacePath: projectPath, iid: issueIid, - issuableType: - isInIssuePage() || isInDesignPage() ? TYPE_ISSUE : IssuableType.MergeRequest, + issuableType: isInIssuePage() || isInDesignPage() ? TYPE_ISSUE : TYPE_MERGE_REQUEST, issuableAttribute: IssuableAttributeType.Milestone, icon: 'clock', }, @@ -313,7 +310,7 @@ export function mountMilestoneDropdown() { attrWorkspacePath: fullPath, canAdminMilestone, inputName, - issuableType: isInIssuePage() ? TYPE_ISSUE : IssuableType.MergeRequest, + issuableType: isInIssuePage() ? TYPE_ISSUE : TYPE_MERGE_REQUEST, milestoneId, milestoneTitle, projectMilestonesPath, @@ -358,10 +355,10 @@ export function mountSidebarLabelsWidget() { issuableType: isInIssuePage() || isInIncidentPage() || isInDesignPage() ? TYPE_ISSUE - : IssuableType.MergeRequest, - workspaceType: 'project', + : TYPE_MERGE_REQUEST, + workspaceType: WORKSPACE_PROJECT, attrWorkspacePath: el.dataset.projectPath, - labelCreateType: LabelType.project, + labelCreateType: WORKSPACE_PROJECT, }, class: ['block labels js-labels-block'], scopedSlots: { @@ -398,7 +395,7 @@ function mountSidebarConfidentialityWidget() { issuableType: isInIssuePage() || isInIncidentPage() || isInDesignPage() ? TYPE_ISSUE - : IssuableType.MergeRequest, + : TYPE_MERGE_REQUEST, }, }), }); @@ -454,7 +451,7 @@ function mountSidebarReferenceWidget() { issuableType: isInIssuePage() || isInIncidentPage() || isInDesignPage() ? TYPE_ISSUE - : IssuableType.MergeRequest, + : TYPE_MERGE_REQUEST, }, }), }); @@ -506,7 +503,7 @@ function mountSidebarParticipantsWidget() { issuableType: isInIssuePage() || isInIncidentPage() || isInDesignPage() ? TYPE_ISSUE - : IssuableType.MergeRequest, + : TYPE_MERGE_REQUEST, }, }), }); @@ -536,7 +533,7 @@ function mountSidebarSubscriptionsWidget() { issuableType: isInIssuePage() || isInIncidentPage() || isInDesignPage() ? TYPE_ISSUE - : IssuableType.MergeRequest, + : TYPE_MERGE_REQUEST, }, }), }); diff --git a/app/assets/javascripts/sidebar/queries/update_epic_due_date.mutation.graphql b/app/assets/javascripts/sidebar/queries/update_epic_due_date.mutation.graphql index 9b0a8b4a8f7..690eb75f8f4 100644 --- a/app/assets/javascripts/sidebar/queries/update_epic_due_date.mutation.graphql +++ b/app/assets/javascripts/sidebar/queries/update_epic_due_date.mutation.graphql @@ -4,6 +4,7 @@ mutation updateEpicDueDate($input: UpdateEpicInput!) { id dueDateIsFixed dueDateFixed + dueDate dueDateFromMilestones } errors diff --git a/app/assets/javascripts/sidebar/queries/update_epic_start_date.mutation.graphql b/app/assets/javascripts/sidebar/queries/update_epic_start_date.mutation.graphql index 9b4bb9159c3..d2a598a00fa 100644 --- a/app/assets/javascripts/sidebar/queries/update_epic_start_date.mutation.graphql +++ b/app/assets/javascripts/sidebar/queries/update_epic_start_date.mutation.graphql @@ -4,6 +4,7 @@ mutation updateEpicStartDate($input: UpdateEpicInput!) { id startDateIsFixed startDateFixed + startDate startDateFromMilestones } errors diff --git a/app/assets/javascripts/sidebar/sidebar_mediator.js b/app/assets/javascripts/sidebar/sidebar_mediator.js index c6a66ab2275..7353694a324 100644 --- a/app/assets/javascripts/sidebar/sidebar_mediator.js +++ b/app/assets/javascripts/sidebar/sidebar_mediator.js @@ -1,4 +1,4 @@ -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import { __ } from '~/locale'; import toast from '~/vue_shared/plugins/global_toast'; import { visitUrl } from '~/lib/utils/url_utility'; |