From 162d34f68d18328b9ac0481a8c447f5ac90b0686 Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Fri, 11 Sep 2020 12:50:53 +0200 Subject: [PATCH 01/14] Replace button GlButton --- .../components/approvals/approvals_footer.vue | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 93f0eefc945263..1c110caf660f5b 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -1,5 +1,5 @@ <script> -import { GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import { __ } from '~/locale'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; import ApprovalsList from './approvals_list.vue'; @@ -7,7 +7,7 @@ import ApprovalsList from './approvals_list.vue'; export default { components: { GlIcon, - GlDeprecatedButton, + GlButton, GlLoadingIcon, UserAvatarList, ApprovalsList, @@ -67,15 +67,14 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> - <button - class="btn btn-blank square s32 gl-mr-3" - type="button" + <gl-button + class="square s32 gl-mr-3" :aria-label="ariaLabel" @click="toggle" > <gl-loading-icon v-if="!isCollapsed && isLoadingRules" /> <gl-icon v-else :name="angleIcon" :size="16" /> - </button> + </gl-button> <template v-if="isCollapsed"> <user-avatar-list :items="suggestedApproversTrimmed" :breakpoint="0" empty-text="" /> <gl-deprecated-button variant="link" @click="toggle">{{ -- GitLab From d42c1c914cfa12dd0e11e2de32b26e448d200f7d Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Mon, 14 Sep 2020 17:58:48 +0200 Subject: [PATCH 02/14] Fix icon display --- .../components/approvals/approvals_footer.vue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 1c110caf660f5b..b1a47ee1e59231 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -1,5 +1,5 @@ <script> -import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import { __ } from '~/locale'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; import ApprovalsList from './approvals_list.vue'; @@ -8,6 +8,7 @@ export default { components: { GlIcon, GlButton, + GlDeprecatedButton, GlLoadingIcon, UserAvatarList, ApprovalsList, @@ -68,12 +69,13 @@ export default { <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> <gl-button - class="square s32 gl-mr-3" + class="gl-mr-3" + category="tertiary" :aria-label="ariaLabel" @click="toggle" > - <gl-loading-icon v-if="!isCollapsed && isLoadingRules" /> - <gl-icon v-else :name="angleIcon" :size="16" /> + <gl-loading-icon v-if="!isCollapsed && isLoadingRules" class="gl-mr-0!" /> + <gl-icon v-else :name="angleIcon" :size="16" class="gl-mr-0!" /> </gl-button> <template v-if="isCollapsed"> <user-avatar-list :items="suggestedApproversTrimmed" :breakpoint="0" empty-text="" /> -- GitLab From 81403b29855b3cf796f3bb46af1c16d8f6a26ca3 Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Tue, 15 Sep 2020 17:21:39 +0200 Subject: [PATCH 03/14] Update button in spec --- .../components/approvals/approvals_footer_spec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js index 3ed688f93cc0e4..e439c24ab08fb6 100644 --- a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js +++ b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js @@ -1,5 +1,5 @@ import { shallowMount } from '@vue/test-utils'; -import { GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import ApprovalsList from 'ee/vue_merge_request_widget/components/approvals/approvals_list.vue'; import ApprovalsFooter from 'ee/vue_merge_request_widget/components/approvals/approvals_footer.vue'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; @@ -23,8 +23,8 @@ describe('EE MRWidget approvals footer', () => { const findToggle = () => wrapper.find('button'); const findToggleIcon = () => findToggle().find(GlIcon); const findToggleLoadingIcon = () => findToggle().find(GlLoadingIcon); - const findExpandButton = () => wrapper.find(GlDeprecatedButton); - const findCollapseButton = () => wrapper.find(GlDeprecatedButton); + const findExpandButton = () => wrapper.find(GlButton); + const findCollapseButton = () => wrapper.find(GlButton); const findList = () => wrapper.find(ApprovalsList); const findAvatars = () => wrapper.find(UserAvatarList); -- GitLab From 718eb7ea14e208576df7a7b8f22dbd23fd11515e Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Wed, 16 Sep 2020 15:28:35 +0200 Subject: [PATCH 04/14] Update button prettier --- .../components/approvals/approvals_footer.vue | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index b1a47ee1e59231..f0bce5a6965c28 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -68,12 +68,7 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> - <gl-button - class="gl-mr-3" - category="tertiary" - :aria-label="ariaLabel" - @click="toggle" - > + <gl-button class="gl-mr-3" category="tertiary" :aria-label="ariaLabel" @click="toggle"> <gl-loading-icon v-if="!isCollapsed && isLoadingRules" class="gl-mr-0!" /> <gl-icon v-else :name="angleIcon" :size="16" class="gl-mr-0!" /> </gl-button> -- GitLab From 53d2eac250d033fb8a9aa33a252f39e32d1227dc Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Fri, 11 Sep 2020 12:50:53 +0200 Subject: [PATCH 05/14] Replace button GlButton --- .../components/approvals/approvals_footer.vue | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 93f0eefc945263..1c110caf660f5b 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -1,5 +1,5 @@ <script> -import { GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import { __ } from '~/locale'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; import ApprovalsList from './approvals_list.vue'; @@ -7,7 +7,7 @@ import ApprovalsList from './approvals_list.vue'; export default { components: { GlIcon, - GlDeprecatedButton, + GlButton, GlLoadingIcon, UserAvatarList, ApprovalsList, @@ -67,15 +67,14 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> - <button - class="btn btn-blank square s32 gl-mr-3" - type="button" + <gl-button + class="square s32 gl-mr-3" :aria-label="ariaLabel" @click="toggle" > <gl-loading-icon v-if="!isCollapsed && isLoadingRules" /> <gl-icon v-else :name="angleIcon" :size="16" /> - </button> + </gl-button> <template v-if="isCollapsed"> <user-avatar-list :items="suggestedApproversTrimmed" :breakpoint="0" empty-text="" /> <gl-deprecated-button variant="link" @click="toggle">{{ -- GitLab From 7c0446c874303f371779d0503cc2e35a514ee0ed Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Mon, 14 Sep 2020 17:58:48 +0200 Subject: [PATCH 06/14] Fix icon display --- .../components/approvals/approvals_footer.vue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 1c110caf660f5b..b1a47ee1e59231 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -1,5 +1,5 @@ <script> -import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import { __ } from '~/locale'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; import ApprovalsList from './approvals_list.vue'; @@ -8,6 +8,7 @@ export default { components: { GlIcon, GlButton, + GlDeprecatedButton, GlLoadingIcon, UserAvatarList, ApprovalsList, @@ -68,12 +69,13 @@ export default { <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> <gl-button - class="square s32 gl-mr-3" + class="gl-mr-3" + category="tertiary" :aria-label="ariaLabel" @click="toggle" > - <gl-loading-icon v-if="!isCollapsed && isLoadingRules" /> - <gl-icon v-else :name="angleIcon" :size="16" /> + <gl-loading-icon v-if="!isCollapsed && isLoadingRules" class="gl-mr-0!" /> + <gl-icon v-else :name="angleIcon" :size="16" class="gl-mr-0!" /> </gl-button> <template v-if="isCollapsed"> <user-avatar-list :items="suggestedApproversTrimmed" :breakpoint="0" empty-text="" /> -- GitLab From 5daa110a86b2535c570e0c21125fdf5e853c89d4 Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Tue, 15 Sep 2020 17:21:39 +0200 Subject: [PATCH 07/14] Update button in spec --- .../components/approvals/approvals_footer_spec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js index 3ed688f93cc0e4..e439c24ab08fb6 100644 --- a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js +++ b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js @@ -1,5 +1,5 @@ import { shallowMount } from '@vue/test-utils'; -import { GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import ApprovalsList from 'ee/vue_merge_request_widget/components/approvals/approvals_list.vue'; import ApprovalsFooter from 'ee/vue_merge_request_widget/components/approvals/approvals_footer.vue'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; @@ -23,8 +23,8 @@ describe('EE MRWidget approvals footer', () => { const findToggle = () => wrapper.find('button'); const findToggleIcon = () => findToggle().find(GlIcon); const findToggleLoadingIcon = () => findToggle().find(GlLoadingIcon); - const findExpandButton = () => wrapper.find(GlDeprecatedButton); - const findCollapseButton = () => wrapper.find(GlDeprecatedButton); + const findExpandButton = () => wrapper.find(GlButton); + const findCollapseButton = () => wrapper.find(GlButton); const findList = () => wrapper.find(ApprovalsList); const findAvatars = () => wrapper.find(UserAvatarList); -- GitLab From c6954fb0a0b3a51269085ef37d1c07e349e0f8e8 Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Wed, 16 Sep 2020 15:28:35 +0200 Subject: [PATCH 08/14] Update button prettier --- .../components/approvals/approvals_footer.vue | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index b1a47ee1e59231..f0bce5a6965c28 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -68,12 +68,7 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> - <gl-button - class="gl-mr-3" - category="tertiary" - :aria-label="ariaLabel" - @click="toggle" - > + <gl-button class="gl-mr-3" category="tertiary" :aria-label="ariaLabel" @click="toggle"> <gl-loading-icon v-if="!isCollapsed && isLoadingRules" class="gl-mr-0!" /> <gl-icon v-else :name="angleIcon" :size="16" class="gl-mr-0!" /> </gl-button> -- GitLab From 8fe205cadb397a9993561d6e1db11b6c4864b303 Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Fri, 11 Sep 2020 12:50:53 +0200 Subject: [PATCH 09/14] Replace button GlButton --- .../components/approvals/approvals_footer.vue | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 93f0eefc945263..1c110caf660f5b 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -1,5 +1,5 @@ <script> -import { GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import { __ } from '~/locale'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; import ApprovalsList from './approvals_list.vue'; @@ -7,7 +7,7 @@ import ApprovalsList from './approvals_list.vue'; export default { components: { GlIcon, - GlDeprecatedButton, + GlButton, GlLoadingIcon, UserAvatarList, ApprovalsList, @@ -67,15 +67,14 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> - <button - class="btn btn-blank square s32 gl-mr-3" - type="button" + <gl-button + class="square s32 gl-mr-3" :aria-label="ariaLabel" @click="toggle" > <gl-loading-icon v-if="!isCollapsed && isLoadingRules" /> <gl-icon v-else :name="angleIcon" :size="16" /> - </button> + </gl-button> <template v-if="isCollapsed"> <user-avatar-list :items="suggestedApproversTrimmed" :breakpoint="0" empty-text="" /> <gl-deprecated-button variant="link" @click="toggle">{{ -- GitLab From e42ceabdffd3c81c33da951fb343850dc8acfb6d Mon Sep 17 00:00:00 2001 From: Enrique Alcantara <ealcantara@gitlab.com> Date: Thu, 17 Sep 2020 09:39:35 -0400 Subject: [PATCH 10/14] Fix test specs --- .../components/approvals/approvals_footer.vue | 3 ++- .../components/approvals/approvals_footer_spec.js | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 1c110caf660f5b..ca58b7e7bf5e73 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -1,5 +1,5 @@ <script> -import { GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import { __ } from '~/locale'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; import ApprovalsList from './approvals_list.vue'; @@ -8,6 +8,7 @@ export default { components: { GlIcon, GlButton, + GlDeprecatedButton, GlLoadingIcon, UserAvatarList, ApprovalsList, diff --git a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js index 3ed688f93cc0e4..c1a5c6791d1443 100644 --- a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js +++ b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js @@ -1,5 +1,5 @@ import { shallowMount } from '@vue/test-utils'; -import { GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlDeprecatedButton, GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; import ApprovalsList from 'ee/vue_merge_request_widget/components/approvals/approvals_list.vue'; import ApprovalsFooter from 'ee/vue_merge_request_widget/components/approvals/approvals_footer.vue'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; @@ -20,7 +20,7 @@ describe('EE MRWidget approvals footer', () => { }); }; - const findToggle = () => wrapper.find('button'); + const findToggle = () => wrapper.find(GlButton); const findToggleIcon = () => findToggle().find(GlIcon); const findToggleLoadingIcon = () => findToggle().find(GlLoadingIcon); const findExpandButton = () => wrapper.find(GlDeprecatedButton); @@ -138,7 +138,7 @@ describe('EE MRWidget approvals footer', () => { it('expands when clicked', () => { const button = findToggle(); - button.trigger('click'); + button.vm.$emit('click'); return wrapper.vm.$nextTick().then(() => { expect(wrapper.emitted().input).toEqual([[true]]); -- GitLab From b7b07e90d86f0c07ef0735a021708e3a70884e9d Mon Sep 17 00:00:00 2001 From: Kyle Mann <kmann@gitlab.com> Date: Thu, 8 Oct 2020 17:01:23 +0200 Subject: [PATCH 11/14] Apply suggestion --- .../components/approvals/approvals_footer.vue | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index ca58b7e7bf5e73..2d5e8e654d90a2 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -68,14 +68,14 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> - <gl-button - class="square s32 gl-mr-3" + <gl-button + class="gl-mr-3" :aria-label="ariaLabel" + :loading="!isCollapsed && isLoadingRules" + :icon="angleIcon" + category="tertiary" @click="toggle" - > - <gl-loading-icon v-if="!isCollapsed && isLoadingRules" /> - <gl-icon v-else :name="angleIcon" :size="16" /> - </gl-button> + /> <template v-if="isCollapsed"> <user-avatar-list :items="suggestedApproversTrimmed" :breakpoint="0" empty-text="" /> <gl-deprecated-button variant="link" @click="toggle">{{ -- GitLab From 6795aa24fbdd97a00724d7d0664cd20b82618d7a Mon Sep 17 00:00:00 2001 From: Taurie Davis <taurie@gitlab.com> Date: Fri, 23 Oct 2020 09:03:31 -0700 Subject: [PATCH 12/14] Correct styling of loading button on mr widget extension --- app/assets/stylesheets/pages/merge_requests.scss | 16 ++++++++++++++++ .../components/approvals/approvals_footer.vue | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 8aaeb92eb7a98a..4433abeddaf1fc 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -67,6 +67,22 @@ $mr-widget-min-height: 69px; background-color: $gray-100; cursor: pointer; } + + .mr-widget-extension-button { + // Styles loading button without border + // Can be removed after https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1029 is complete + &[disabled] { + box-shadow: none !important; + + .gl-button-loading-indicator { + margin-right: 0 !important; + } + + svg { + display: none; + } + } + } } .mr-widget-workflow { diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 2d5e8e654d90a2..1084772f97200d 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -68,8 +68,8 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> - <gl-button - class="gl-mr-3" + <gl-button + class="gl-mr-3 mr-widget-extension-button" :aria-label="ariaLabel" :loading="!isCollapsed && isLoadingRules" :icon="angleIcon" -- GitLab From 6fb7783e67cf99d097dc9e374d1850192a3c14cc Mon Sep 17 00:00:00 2001 From: Mark Florian <mflorian@gitlab.com> Date: Mon, 26 Oct 2020 17:06:34 +0000 Subject: [PATCH 13/14] Fix specs and prefer util classes over new CSS --- app/assets/stylesheets/pages/merge_requests.scss | 16 ---------------- .../components/approvals/approvals_footer.vue | 13 ++++++++----- .../approvals/approvals_footer_spec.js | 13 +++++++++---- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index ad65a5c2c93a2e..796228f66ce79b 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -67,22 +67,6 @@ $mr-widget-min-height: 69px; background-color: $gray-100; cursor: pointer; } - - .mr-widget-extension-button { - // Styles loading button without border - // Can be removed after https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1029 is complete - &[disabled] { - box-shadow: none !important; - - .gl-button-loading-indicator { - margin-right: 0 !important; - } - - svg { - display: none; - } - } - } } .mr-widget-workflow { diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue index 1084772f97200d..69a0ccefacc4d2 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_footer.vue @@ -1,15 +1,13 @@ <script> -import { GlButton, GlDeprecatedButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlButton, GlDeprecatedButton } from '@gitlab/ui'; import { __ } from '~/locale'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; import ApprovalsList from './approvals_list.vue'; export default { components: { - GlIcon, GlButton, GlDeprecatedButton, - GlLoadingIcon, UserAvatarList, ApprovalsList, }, @@ -56,6 +54,9 @@ export default { suggestedApproversTrimmed() { return this.suggestedApprovers.slice(0, Math.min(5, this.suggestedApprovers.length)); }, + shouldShowLoadingSpinner() { + return !this.isCollapsed && this.isLoadingRules; + }, }, methods: { toggle() { @@ -68,10 +69,12 @@ export default { <template> <div> <div class="mr-widget-extension d-flex align-items-center pl-3"> + <!-- TODO: simplify button classes once https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1029 is completed --> <gl-button - class="gl-mr-3 mr-widget-extension-button" + class="gl-mr-3" + :class="{ 'gl-shadow-none!': shouldShowLoadingSpinner }" :aria-label="ariaLabel" - :loading="!isCollapsed && isLoadingRules" + :loading="shouldShowLoadingSpinner" :icon="angleIcon" category="tertiary" @click="toggle" diff --git a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js index 3c14143c1805dd..45e76912ce6b6d 100644 --- a/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js +++ b/ee/spec/frontend/vue_mr_widget/components/approvals/approvals_footer_spec.js @@ -1,5 +1,6 @@ -import { shallowMount } from '@vue/test-utils'; +import { mount } from '@vue/test-utils'; import { GlDeprecatedButton, GlButton, GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import stubChildren from 'helpers/stub_children'; import ApprovalsList from 'ee/vue_merge_request_widget/components/approvals/approvals_list.vue'; import ApprovalsFooter from 'ee/vue_merge_request_widget/components/approvals/approvals_footer.vue'; import UserAvatarList from '~/vue_shared/components/user_avatar/user_avatar_list.vue'; @@ -11,20 +12,24 @@ describe('EE MRWidget approvals footer', () => { let wrapper; const createComponent = (props = {}) => { - wrapper = shallowMount(ApprovalsFooter, { + wrapper = mount(ApprovalsFooter, { propsData: { suggestedApprovers: testSuggestedApprovers(), approvalRules: testApprovalRules(), ...props, }, + stubs: { + ...stubChildren(ApprovalsFooter), + GlButton: false, + }, }); }; const findToggle = () => wrapper.find(GlButton); const findToggleIcon = () => findToggle().find(GlIcon); const findToggleLoadingIcon = () => findToggle().find(GlLoadingIcon); - const findExpandButton = () => wrapper.find(GlButton); - const findCollapseButton = () => wrapper.find(GlButton); + const findExpandButton = () => wrapper.find(GlDeprecatedButton); + const findCollapseButton = () => wrapper.find(GlDeprecatedButton); const findList = () => wrapper.find(ApprovalsList); const findAvatars = () => wrapper.find(UserAvatarList); -- GitLab From e0188ad756326a831bd8f6f5ed8198826ffc06f0 Mon Sep 17 00:00:00 2001 From: Mark Florian <mflorian@gitlab.com> Date: Tue, 27 Oct 2020 10:54:33 +0000 Subject: [PATCH 14/14] Add changelog --- ...otstrap-button-to-gitlab-ui-glbutton-in-ee-app-assets.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 ee/changelogs/unreleased/229316-migrate-bootstrap-button-to-gitlab-ui-glbutton-in-ee-app-assets.yml diff --git a/ee/changelogs/unreleased/229316-migrate-bootstrap-button-to-gitlab-ui-glbutton-in-ee-app-assets.yml b/ee/changelogs/unreleased/229316-migrate-bootstrap-button-to-gitlab-ui-glbutton-in-ee-app-assets.yml new file mode 100644 index 00000000000000..35fa62ee6136e0 --- /dev/null +++ b/ee/changelogs/unreleased/229316-migrate-bootstrap-button-to-gitlab-ui-glbutton-in-ee-app-assets.yml @@ -0,0 +1,5 @@ +--- +title: Update approvals toggle button style +merge_request: 42075 +author: +type: other -- GitLab