Commit 170046fe authored by Kushal Pandya's avatar Kushal Pandya

Merge branch 'ph/widgetExtensionCollapseButton' into 'master'

Updated design of collapse button in widget extensions

See merge request gitlab-org/gitlab!71084
parents 97455b6f 99ee6fd7
<script> <script>
import { GlButton, GlLoadingIcon, GlLink, GlBadge, GlSafeHtmlDirective } from '@gitlab/ui'; import {
GlButton,
GlLoadingIcon,
GlLink,
GlBadge,
GlSafeHtmlDirective,
GlTooltipDirective,
} from '@gitlab/ui';
import { sprintf, s__ } from '~/locale';
import SmartVirtualList from '~/vue_shared/components/smart_virtual_list.vue'; import SmartVirtualList from '~/vue_shared/components/smart_virtual_list.vue';
import { EXTENSION_ICON_CLASS } from '../../constants'; import { EXTENSION_ICON_CLASS } from '../../constants';
import StatusIcon from './status_icon.vue'; import StatusIcon from './status_icon.vue';
...@@ -21,6 +29,7 @@ export default { ...@@ -21,6 +29,7 @@ export default {
}, },
directives: { directives: {
SafeHtml: GlSafeHtmlDirective, SafeHtml: GlSafeHtmlDirective,
GlTooltip: GlTooltipDirective,
}, },
data() { data() {
return { return {
...@@ -44,6 +53,14 @@ export default { ...@@ -44,6 +53,14 @@ export default {
return true; return true;
}, },
collapseButtonLabel() {
return sprintf(
this.isCollapsed
? s__('mrWidget|Show %{widget} details')
: s__('mrWidget|Hide %{widget} details'),
{ widget: this.$options.name },
);
},
statusIconName() { statusIconName() {
if (this.isLoadingSummary) return null; if (this.isLoadingSummary) return null;
...@@ -102,22 +119,28 @@ export default { ...@@ -102,22 +119,28 @@ export default {
:is-loading="isLoadingSummary" :is-loading="isLoadingSummary"
:icon-name="statusIconName" :icon-name="statusIconName"
/> />
<div class="media-body d-flex flex-align-self-center align-items-center"> <div class="media-body gl-display-flex gl-align-self-center gl-align-items-center">
<div class="code-text"> <div class="code-text">
<template v-if="isLoadingSummary"> <template v-if="isLoadingSummary">
{{ __('Loading...') }} {{ __('Loading...') }}
</template> </template>
<div v-else v-safe-html="summary(collapsedData)"></div> <div v-else v-safe-html="summary(collapsedData)"></div>
</div> </div>
<gl-button <div
v-if="isCollapsible" class="gl-float-right gl-align-self-center gl-border-l-1 gl-border-l-solid gl-border-gray-100 gl-ml-3 gl-pl-3"
size="small"
class="float-right align-self-center"
data-testid="toggle-button"
@click="toggleCollapsed"
> >
{{ isCollapsed ? __('Expand') : __('Collapse') }} <gl-button
</gl-button> v-if="isCollapsible"
v-gl-tooltip
:title="collapseButtonLabel"
:aria-expanded="`${!isCollapsed}`"
:aria-label="collapseButtonLabel"
:icon="isCollapsed ? 'chevron-lg-down' : 'chevron-lg-up'"
category="tertiary"
data-testid="toggle-button"
@click="toggleCollapsed"
/>
</div>
</div> </div>
</div> </div>
<div <div
...@@ -137,11 +160,9 @@ export default { ...@@ -137,11 +160,9 @@ export default {
wclass="report-block-list" wclass="report-block-list"
class="report-block-container" class="report-block-container"
> >
<li v-for="data in fullData" :key="data.id" class="d-flex align-items-center"> <li v-for="data in fullData" :key="data.id" class="gl-display-flex gl-align-items-center">
<status-icon v-if="data.icon" :icon-name="data.icon.name" :size="12" /> <status-icon v-if="data.icon" :icon-name="data.icon.name" :size="12" />
<div <div class="gl-mt-2 gl-mb-2 gl-flex-wrap gl-align-self-center gl-display-flex">
class="gl-mt-2 gl-mb-2 align-content-around align-items-start flex-wrap align-self-center d-flex"
>
<div v-safe-html="data.text" class="gl-mr-4"></div> <div v-safe-html="data.text" class="gl-mr-4"></div>
<div v-if="data.link"> <div v-if="data.link">
<gl-link :href="data.link.href">{{ data.link.text }}</gl-link> <gl-link :href="data.link.href">{{ data.link.text }}</gl-link>
......
...@@ -40525,6 +40525,9 @@ msgstr "" ...@@ -40525,6 +40525,9 @@ msgstr ""
msgid "mrWidget|Failed to load deployment statistics" msgid "mrWidget|Failed to load deployment statistics"
msgstr "" msgstr ""
msgid "mrWidget|Hide %{widget} details"
msgstr ""
msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line"
msgstr "" msgstr ""
...@@ -40647,6 +40650,9 @@ msgstr "" ...@@ -40647,6 +40650,9 @@ msgstr ""
msgid "mrWidget|Set by %{merge_author} to start a merge train when the pipeline succeeds" msgid "mrWidget|Set by %{merge_author} to start a merge train when the pipeline succeeds"
msgstr "" msgstr ""
msgid "mrWidget|Show %{widget} details"
msgstr ""
msgid "mrWidget|The changes were merged into" msgid "mrWidget|The changes were merged into"
msgstr "" msgstr ""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment