diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-25 06:09:02 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-25 06:09:02 +0000 |
commit | 807d57c18fdde0d9ba991a2b3b078a74a7472f30 (patch) | |
tree | d327848aee84f9af2fef556a0652b2f6e5da7aea /app/assets | |
parent | 3bd9ad5574f2ee81888dc13bc29e1d66dafaedba (diff) | |
download | gitlab-ce-807d57c18fdde0d9ba991a2b3b078a74a7472f30.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets')
20 files changed, 67 insertions, 63 deletions
diff --git a/app/assets/javascripts/boards/components/board_blocked_icon.vue b/app/assets/javascripts/boards/components/board_blocked_icon.vue index 0e922a8498a..0f92e714752 100644 --- a/app/assets/javascripts/boards/components/board_blocked_icon.vue +++ b/app/assets/javascripts/boards/components/board_blocked_icon.vue @@ -158,7 +158,7 @@ export default { data-testid="issue-blocked-icon" @mouseenter="handleMouseEnter" /> - <gl-popover :target="glIconId" placement="top" triggers="hover"> + <gl-popover :target="glIconId" placement="top"> <template #title ><span data-testid="popover-title">{{ blockedLabel }}</span></template > diff --git a/app/assets/javascripts/ci_variable_list/components/ci_variable_popover.vue b/app/assets/javascripts/ci_variable_list/components/ci_variable_popover.vue index 6e6527df63f..605da5d9352 100644 --- a/app/assets/javascripts/ci_variable_list/components/ci_variable_popover.vue +++ b/app/assets/javascripts/ci_variable_list/components/ci_variable_popover.vue @@ -37,7 +37,7 @@ export default { <template> <div id="popover-container"> - <gl-popover :target="target" triggers="hover" placement="top" container="popover-container"> + <gl-popover :target="target" placement="top" container="popover-container"> <div class="gl-display-flex gl-justify-content-space-between gl-align-items-center gl-word-break-all" > diff --git a/app/assets/javascripts/clusters_list/components/node_error_help_text.vue b/app/assets/javascripts/clusters_list/components/node_error_help_text.vue index 1a396694bc8..9903a1bdb3e 100644 --- a/app/assets/javascripts/clusters_list/components/node_error_help_text.vue +++ b/app/assets/javascripts/clusters_list/components/node_error_help_text.vue @@ -34,7 +34,7 @@ export default { <gl-icon name="status_warning" :size="24" class="gl-p-2" /> - <gl-popover :container="popoverId" :target="popoverId" placement="top" triggers="hover focus"> + <gl-popover :container="popoverId" :target="popoverId" placement="top"> <template #title> <span class="gl-display-block gl-text-left">{{ errorContent.title }}</span> </template> diff --git a/app/assets/javascripts/feature_highlight/feature_highlight_popover.vue b/app/assets/javascripts/feature_highlight/feature_highlight_popover.vue index 2fd92a1bb11..79d7eb94569 100644 --- a/app/assets/javascripts/feature_highlight/feature_highlight_popover.vue +++ b/app/assets/javascripts/feature_highlight/feature_highlight_popover.vue @@ -71,7 +71,6 @@ export default { ref="popover" :target="$options.targetId" :css-classes="['feature-highlight-popover']" - triggers="hover" container="body" placement="right" boundary="viewport" diff --git a/app/assets/javascripts/performance_bar/components/request_selector.vue b/app/assets/javascripts/performance_bar/components/request_selector.vue index 5666e038f02..7f2064b3167 100644 --- a/app/assets/javascripts/performance_bar/components/request_selector.vue +++ b/app/assets/javascripts/performance_bar/components/request_selector.vue @@ -60,11 +60,7 @@ export default { </select> <span v-if="requestsWithWarnings.length"> <span id="performance-bar-request-selector-warning" v-html="glEmojiTag('warning')"></span> - <gl-popover - target="performance-bar-request-selector-warning" - :content="warningMessage" - triggers="hover focus" - /> + <gl-popover target="performance-bar-request-selector-warning" :content="warningMessage" /> </span> </div> </template> diff --git a/app/assets/javascripts/performance_bar/components/request_warning.vue b/app/assets/javascripts/performance_bar/components/request_warning.vue index b61e1e5b7a9..c74257b176a 100644 --- a/app/assets/javascripts/performance_bar/components/request_warning.vue +++ b/app/assets/javascripts/performance_bar/components/request_warning.vue @@ -37,6 +37,6 @@ export default { <template> <span v-if="hasWarnings"> <span :id="htmlId" v-html="glEmojiTag('warning')"></span> - <gl-popover :target="htmlId" :content="warningMessage" triggers="hover focus" /> + <gl-popover :target="htmlId" :content="warningMessage" /> </span> </template> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.vue index 23f415c3116..55e81efece2 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.vue @@ -149,12 +149,7 @@ export default { > {{ s__('mrWidget|Resolve conflicts') }} </gl-button> - <gl-popover - v-if="showPopover" - :target="() => $refs.popover" - placement="top" - triggers="hover focus" - > + <gl-popover v-if="showPopover" :target="() => $refs.popover" placement="top"> <template #title> <div class="gl-font-weight-normal gl-font-base"> {{ $options.i18n.title }} diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue index d02c32112e9..90369d94026 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue @@ -124,7 +124,7 @@ export default { }, pipeline() { if (this.glFeatures.mergeRequestWidgetGraphql) { - return this.state.pipelines?.nodes?.[0]; + return this.state.headPipeline; } return this.mr.pipeline; diff --git a/app/assets/javascripts/vue_merge_request_widget/queries/get_state.query.graphql b/app/assets/javascripts/vue_merge_request_widget/queries/get_state.query.graphql index 13ea07884b1..871aa880b36 100644 --- a/app/assets/javascripts/vue_merge_request_widget/queries/get_state.query.graphql +++ b/app/assets/javascripts/vue_merge_request_widget/queries/get_state.query.graphql @@ -11,11 +11,10 @@ query getState($projectPath: ID!, $iid: String!) { mergeError mergeStatus mergeableDiscussionsState - pipelines(first: 1) { - nodes { - status - warnings - } + headPipeline { + id + status + warnings } shouldBeRebased sourceBranchExists diff --git a/app/assets/javascripts/vue_merge_request_widget/queries/states/ready_to_merge.fragment.graphql b/app/assets/javascripts/vue_merge_request_widget/queries/states/ready_to_merge.fragment.graphql index 8ee45b05431..367b9ad1cdf 100644 --- a/app/assets/javascripts/vue_merge_request_widget/queries/states/ready_to_merge.fragment.graphql +++ b/app/assets/javascripts/vue_merge_request_widget/queries/states/ready_to_merge.fragment.graphql @@ -30,13 +30,11 @@ fragment ReadyToMerge on Project { message } } - pipelines(first: 1) { - nodes { - id - status - path - active - } + headPipeline { + id + status + path + active } } } diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js index 7ccbd771379..bdecc66855b 100644 --- a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js +++ b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js @@ -163,7 +163,7 @@ export default class MergeRequestStore { setGraphqlData(project) { const { mergeRequest } = project; - const pipeline = mergeRequest.pipelines?.nodes?.[0]; + const pipeline = mergeRequest.headPipeline; this.projectArchived = project.archived; this.onlyAllowMergeIfPipelineSucceeds = project.onlyAllowMergeIfPipelineSucceeds; diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue index f7b49a85b83..3905ce2596c 100644 --- a/app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_details.vue @@ -21,7 +21,7 @@ import Tracking from '~/tracking'; import initUserPopovers from '~/user_popovers'; import AlertDetailsTable from '~/vue_shared/components/alert_details_table.vue'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; -import { SEVERITY_LEVELS } from '../constants'; +import { PAGE_CONFIG, SEVERITY_LEVELS } from '../constants'; import createIssueMutation from '../graphql/mutations/alert_issue_create.mutation.graphql'; import toggleSidebarStatusMutation from '../graphql/mutations/alert_sidebar_status.mutation.graphql'; import alertQuery from '../graphql/queries/alert_details.query.graphql'; @@ -92,6 +92,9 @@ export default { projectIssuesPath: { default: '', }, + statuses: { + default: PAGE_CONFIG.OPERATIONS.STATUSES, + }, trackAlertsDetailsViewsOptions: { default: null, }, @@ -367,7 +370,7 @@ export default { > {{ alert.runbook }} </alert-summary-row> - <alert-details-table :alert="alert" :loading="loading" /> + <alert-details-table :alert="alert" :loading="loading" :statuses="statuses" /> </gl-tab> <gl-tab v-if="!isThreatMonitoringPage" diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue index a01bd462196..554c7a573fe 100644 --- a/app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_sidebar.vue @@ -19,10 +19,6 @@ export default { projectId: { default: '', }, - // TODO remove this limitation in https://gitlab.com/gitlab-org/gitlab/-/issues/296717 - isThreatMonitoringPage: { - default: false, - }, }, props: { alert: { @@ -66,7 +62,6 @@ export default { @alert-error="$emit('alert-error', $event)" /> <sidebar-status - v-if="!isThreatMonitoringPage" :project-path="projectPath" :alert="alert" @toggle-sidebar="$emit('toggle-sidebar')" diff --git a/app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue b/app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue index 8d5eb24ed1d..672761af1cf 100644 --- a/app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue +++ b/app/assets/javascripts/vue_shared/alert_details/components/alert_status.vue @@ -3,6 +3,7 @@ import { GlDropdown, GlDropdownItem } from '@gitlab/ui'; import updateAlertStatusMutation from '~/graphql_shared/mutations/alert_status_update.mutation.graphql'; import { s__ } from '~/locale'; import Tracking from '~/tracking'; +import { PAGE_CONFIG } from '../constants'; export default { i18n: { @@ -11,11 +12,6 @@ export default { ), UPDATE_ALERT_STATUS_INSTRUCTION: s__('AlertManagement|Please try again.'), }, - statuses: { - TRIGGERED: s__('AlertManagement|Triggered'), - ACKNOWLEDGED: s__('AlertManagement|Acknowledged'), - RESOLVED: s__('AlertManagement|Resolved'), - }, components: { GlDropdown, GlDropdownItem, @@ -42,6 +38,11 @@ export default { type: Boolean, required: true, }, + statuses: { + type: Object, + required: false, + default: () => PAGE_CONFIG.OPERATIONS.STATUSES, + }, }, computed: { dropdownClass() { @@ -57,13 +58,13 @@ export default { mutation: updateAlertStatusMutation, variables: { iid: this.alert.iid, - status: status.toUpperCase(), + status, projectPath: this.projectPath, }, }) .then((resp) => { if (this.trackAlertStatusUpdateOptions) { - this.trackStatusUpdate(status); + this.trackStatusUpdate(this.statuses[status]); } const errors = resp.data?.updateAlertStatus?.errors || []; @@ -99,7 +100,7 @@ export default { <gl-dropdown ref="dropdown" right - :text="$options.statuses[alert.status]" + :text="statuses[alert.status]" class="w-100" toggle-class="dropdown-menu-toggle" @keydown.esc.native="$emit('hide-dropdown')" @@ -110,12 +111,12 @@ export default { </p> <div class="dropdown-content dropdown-body"> <gl-dropdown-item - v-for="(label, field) in $options.statuses" + v-for="(label, field) in statuses" :key="field" data-testid="statusDropdownItem" - :active="label.toUpperCase() === alert.status" + :active="field === alert.status" :active-class="'is-active'" - @click="updateAlertStatus(label)" + @click="updateAlertStatus(field)" > {{ label }} </gl-dropdown-item> diff --git a/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue index 0a2bad5510b..3822b9153a4 100644 --- a/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue +++ b/app/assets/javascripts/vue_shared/alert_details/components/sidebar/sidebar_status.vue @@ -1,14 +1,9 @@ <script> import { GlIcon, GlLoadingIcon, GlTooltip, GlSprintf } from '@gitlab/ui'; -import { s__ } from '~/locale'; +import { PAGE_CONFIG } from '../../constants'; import AlertStatus from '../alert_status.vue'; export default { - statuses: { - TRIGGERED: s__('AlertManagement|Triggered'), - ACKNOWLEDGED: s__('AlertManagement|Acknowledged'), - RESOLVED: s__('AlertManagement|Resolved'), - }, components: { GlIcon, GlLoadingIcon, @@ -16,6 +11,11 @@ export default { GlSprintf, AlertStatus, }, + inject: { + statuses: { + default: PAGE_CONFIG.OPERATIONS.STATUSES, + }, + }, props: { projectPath: { type: String, @@ -94,6 +94,7 @@ export default { :project-path="projectPath" :is-dropdown-showing="isDropdownShowing" :is-sidebar="true" + :statuses="statuses" @alert-error="$emit('alert-error', $event)" @hide-dropdown="hideDropdown" @handle-updating="handleUpdating" @@ -103,14 +104,11 @@ export default { <p v-else-if="!isDropdownShowing" class="value gl-m-0" - :class="{ 'no-value': !$options.statuses[alert.status] }" + :class="{ 'no-value': !statuses[alert.status] }" > - <span - v-if="$options.statuses[alert.status]" - class="gl-text-gray-500" - data-testid="status" - >{{ $options.statuses[alert.status] }}</span - > + <span v-if="statuses[alert.status]" class="gl-text-gray-500" data-testid="status"> + {{ statuses[alert.status] }} + </span> <span v-else> {{ s__('AlertManagement|None') }} </span> diff --git a/app/assets/javascripts/vue_shared/alert_details/constants.js b/app/assets/javascripts/vue_shared/alert_details/constants.js index 2ab5160534c..6cc70739eaa 100644 --- a/app/assets/javascripts/vue_shared/alert_details/constants.js +++ b/app/assets/javascripts/vue_shared/alert_details/constants.js @@ -13,6 +13,11 @@ export const SEVERITY_LEVELS = { export const PAGE_CONFIG = { OPERATIONS: { TITLE: 'OPERATIONS', + STATUSES: { + TRIGGERED: s__('AlertManagement|Triggered'), + ACKNOWLEDGED: s__('AlertManagement|Acknowledged'), + RESOLVED: s__('AlertManagement|Resolved'), + }, // Tracks snowplow event when user views alert details TRACK_ALERTS_DETAILS_VIEWS_OPTIONS: { category: 'Alert Management', @@ -27,5 +32,11 @@ export const PAGE_CONFIG = { }, THREAT_MONITORING: { TITLE: 'THREAT_MONITORING', + STATUSES: { + TRIGGERED: s__('ThreatMonitoring|Unreviewed'), + ACKNOWLEDGED: s__('ThreatMonitoring|In review'), + RESOLVED: s__('ThreatMonitoring|Resolved'), + IGNORED: s__('ThreatMonitoring|Dismissed'), + }, }, }; diff --git a/app/assets/javascripts/vue_shared/alert_details/index.js b/app/assets/javascripts/vue_shared/alert_details/index.js index 8c2aceb0336..fda405c0fa5 100644 --- a/app/assets/javascripts/vue_shared/alert_details/index.js +++ b/app/assets/javascripts/vue_shared/alert_details/index.js @@ -55,6 +55,7 @@ export default (selector) => { page, projectIssuesPath, projectId, + statuses: PAGE_CONFIG[page].STATUSES, }; if (page === PAGE_CONFIG.OPERATIONS.TITLE) { diff --git a/app/assets/javascripts/vue_shared/components/alert_details_table.vue b/app/assets/javascripts/vue_shared/components/alert_details_table.vue index 3d49a1cb1c5..a74e9d97143 100644 --- a/app/assets/javascripts/vue_shared/components/alert_details_table.vue +++ b/app/assets/javascripts/vue_shared/components/alert_details_table.vue @@ -7,6 +7,7 @@ import { splitCamelCase, } from '~/lib/utils/text_utility'; import { s__ } from '~/locale'; +import { PAGE_CONFIG } from '~/vue_shared/alert_details/constants'; const thClass = 'gl-bg-transparent! gl-border-1! gl-border-b-solid! gl-border-gray-200!'; const tdClass = 'gl-border-gray-100! gl-p-5!'; @@ -42,6 +43,11 @@ export default { type: Boolean, required: true, }, + statuses: { + type: Object, + required: false, + default: () => PAGE_CONFIG.OPERATIONS.STATUSES, + }, }, fields: [ { @@ -71,6 +77,8 @@ export default { let value; if (fieldName === 'environment') { value = fieldValue?.name; + } else if (fieldName === 'status') { + value = this.statuses[fieldValue] || fieldValue; } else { value = fieldValue; } diff --git a/app/assets/javascripts/vue_shared/components/help_popover.vue b/app/assets/javascripts/vue_shared/components/help_popover.vue index ff85d9afe43..7222bd82df0 100644 --- a/app/assets/javascripts/vue_shared/components/help_popover.vue +++ b/app/assets/javascripts/vue_shared/components/help_popover.vue @@ -26,7 +26,7 @@ export default { <template> <span> <gl-button ref="popoverTrigger" variant="link" icon="question" tabindex="0" /> - <gl-popover triggers="hover focus" :target="() => $refs.popoverTrigger.$el" v-bind="options"> + <gl-popover :target="() => $refs.popoverTrigger.$el" v-bind="options"> <template v-if="options.title" #title> <span v-safe-html="options.title"></span> </template> diff --git a/app/assets/javascripts/vue_shared/components/user_popover/user_popover.vue b/app/assets/javascripts/vue_shared/components/user_popover/user_popover.vue index dbd8efec948..7182079860a 100644 --- a/app/assets/javascripts/vue_shared/components/user_popover/user_popover.vue +++ b/app/assets/javascripts/vue_shared/components/user_popover/user_popover.vue @@ -60,7 +60,7 @@ export default { <template> <!-- 200ms delay so not every mouseover triggers Popover --> - <gl-popover :target="target" :delay="200" boundary="viewport" triggers="hover" placement="top"> + <gl-popover :target="target" :delay="200" boundary="viewport" placement="top"> <div class="gl-p-3 gl-line-height-normal gl-display-flex" data-testid="user-popover"> <div class="gl-p-2 flex-shrink-1"> <user-avatar-image :img-src="user.avatarUrl" :size="60" css-classes="gl-mr-3!" /> |