diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-02 18:09:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-02 18:09:42 +0300 |
commit | f5f72042cbd7cf07f6a621de495f053d576fa752 (patch) | |
tree | 267aaf3ee2225ab4468b30ca4ac5d5e8648fc635 /app/assets/javascripts/vue_shared | |
parent | e9570ea27e2dc549962b9b318af369e9363fd1c4 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/vue_shared')
3 files changed, 66 insertions, 13 deletions
diff --git a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue index 7b5ded9348f..9023807eba3 100644 --- a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue +++ b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue @@ -1,5 +1,5 @@ <script> -import { GlTooltipDirective, GlLink } from '@gitlab/ui'; +import { GlBadge, GlTooltipDirective } from '@gitlab/ui'; import CiIcon from './ci_icon.vue'; /** * Renders CI Badge link with CI icon and status text based on @@ -26,8 +26,8 @@ import CiIcon from './ci_icon.vue'; export default { components: { - GlLink, CiIcon, + GlBadge, }, directives: { GlTooltip: GlTooltipDirective, @@ -42,6 +42,11 @@ export default { required: false, default: true, }, + badgeSize: { + type: String, + required: false, + default: 'md', + }, }, computed: { title() { @@ -51,27 +56,76 @@ export default { // For now, this can either come from graphQL with camelCase or REST API in snake_case return this.status.detailsPath || this.status.details_path; }, - cssClass() { - const className = this.status.group; - return className ? `ci-status ci-${className}` : 'ci-status'; + badgeStyles() { + switch (this.status.icon) { + case 'status_success': + return { + textColor: 'gl-text-green-700', + variant: 'success', + }; + case 'status_warning': + return { + textColor: 'gl-text-orange-700', + variant: 'warning', + }; + case 'status_failed': + return { + textColor: 'gl-text-red-700', + variant: 'danger', + }; + case 'status_running': + return { + textColor: 'gl-text-blue-700', + variant: 'info', + }; + case 'status_pending': + return { + textColor: 'gl-text-orange-700', + variant: 'warning', + }; + case 'status_canceled': + return { + textColor: 'gl-text-gray-700', + variant: 'neutral', + }; + case 'status_manual': + return { + textColor: 'gl-text-gray-700', + variant: 'neutral', + }; + // default covers the styles for the remainder of CI + // statuses that are not explicitly stated here + default: + return { + textColor: 'gl-text-gray-600', + variant: 'muted', + }; + } }, }, }; </script> <template> - <gl-link + <gl-badge v-gl-tooltip - class="gl-display-inline-flex gl-align-items-center gl-line-height-0 gl-px-3 gl-py-2 gl-rounded-base" - :class="cssClass" :title="title" - data-qa-selector="status_badge_link" :href="detailsPath" + :size="badgeSize" + :variant="badgeStyles.variant" + :data-testid="`ci-badge-${status.text}`" + data-qa-selector="status_badge_link" @click="$emit('ciStatusBadgeClick')" > <ci-icon :status="status" /> <template v-if="showText"> - <span class="gl-ml-2 gl-white-space-nowrap">{{ status.text }}</span> + <span + class="gl-ml-2 gl-white-space-nowrap" + :class="badgeStyles.textColor" + data-testid="ci-badge-text" + > + {{ status.text }} + </span> </template> - </gl-link> + </gl-badge> </template> diff --git a/app/assets/javascripts/vue_shared/components/dropdown/dropdown_widget/dropdown_widget.vue b/app/assets/javascripts/vue_shared/components/dropdown/dropdown_widget/dropdown_widget.vue index faa50a50c69..3bb168e9051 100644 --- a/app/assets/javascripts/vue_shared/components/dropdown/dropdown_widget/dropdown_widget.vue +++ b/app/assets/javascripts/vue_shared/components/dropdown/dropdown_widget/dropdown_widget.vue @@ -131,7 +131,6 @@ export default { ref="search" :value="searchTerm" :placeholder="searchText" - class="js-dropdown-input-field" @input="setSearchTerm" /> </slot> diff --git a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue index ac4d1517d52..4879baced0d 100644 --- a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue +++ b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue @@ -308,7 +308,7 @@ export default { <gl-search-box-by-type ref="search" :value="search" - class="js-dropdown-input-field" + data-testid="user-search-input" @input="debouncedSearchKeyUpdate" /> </template> |