Skip to content
代码片段 群组 项目
未验证 提交 9cf6838d 编辑于 作者: Tomas Bulva's avatar Tomas Bulva 提交者: GitLab
浏览文件

Merge branch 'revert-fb408baa' into 'master'

Revert "Merge branch 'emoji-picker-button-migration' into 'master'"

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139638



Merged-by: default avatarTomas Bulva <tbulva@gitlab.com>
Approved-by: default avatarTomas Bulva <tbulva@gitlab.com>
Co-authored-by: default avatarPaulina Sedlak-Jakubowska <psedlak-jakubowska@gitlab.com>
No related branches found
No related tags found
无相关合并请求
...@@ -52,7 +52,7 @@ export default { ...@@ -52,7 +52,7 @@ export default {
:key="index" :key="index"
:emojis="emojiGroup" :emojis="emojiGroup"
:render-group="renderGroup" :render-group="renderGroup"
@emoji-click="onClick" :click-emoji="(emoji) => onClick(emoji)"
/> />
</template> </template>
<p v-else> <p v-else>
......
<script> <script>
import { GlButton } from '@gitlab/ui'; import { compatFunctionalMixin } from '~/lib/utils/vue3compat/compat_functional_mixin';
export default { export default {
components: { // Temporary mixin for migration from Vue.js 2 to @vue/compat
GlButton, mixins: [compatFunctionalMixin],
},
props: { props: {
emojis: { emojis: {
type: Array, type: Array,
...@@ -14,33 +14,28 @@ export default { ...@@ -14,33 +14,28 @@ export default {
type: Boolean, type: Boolean,
required: true, required: true,
}, },
}, clickEmoji: {
methods: { type: Function,
clickEmoji(emoji) { required: true,
this.$emit('emoji-click', emoji);
}, },
}, },
}; };
</script> </script>
<template> <!-- eslint-disable-next-line vue/no-deprecated-functional-template -->
<template functional>
<div class="gl-display-flex gl-flex-wrap gl-mb-2"> <div class="gl-display-flex gl-flex-wrap gl-mb-2">
<template v-if="renderGroup"> <template v-if="props.renderGroup">
<gl-button <button
v-for="emoji in emojis" v-for="emoji in props.emojis"
:key="emoji" :key="emoji"
type="button" type="button"
category="tertiary" class="gl-border-0 gl-bg-transparent gl-px-0 gl-py-2 gl-text-center emoji-picker-emoji"
class="emoji-picker-emoji"
:aria-label="emoji"
data-testid="emoji-button" data-testid="emoji-button"
button-text-classes="gl-display-none!" @click="props.clickEmoji(emoji)"
@click="clickEmoji(emoji)"
> >
<template #emoji> <gl-emoji :data-name="emoji" />
<gl-emoji :data-name="emoji" class="gl-mr-0!" /> </button>
</template>
</gl-button>
</template> </template>
</div> </div>
</template> </template>
...@@ -41,16 +41,6 @@ gl-emoji { ...@@ -41,16 +41,6 @@ gl-emoji {
&:focus { &:focus {
transform: scale(1.3); transform: scale(1.3);
} }
&:focus {
@include gl-z-index-2;
mix-blend-mode: normal !important;
}
gl-emoji {
width: px-to-rem($gl-padding);
top: -1px;
}
} }
.emoji-picker .gl-dropdown .dropdown-menu { .emoji-picker .gl-dropdown .dropdown-menu {
......
import { shallowMount } from '@vue/test-utils'; import { shallowMount } from '@vue/test-utils';
import Vue from 'vue'; import Vue from 'vue';
import { GlButton } from '@gitlab/ui';
import { extendedWrapper } from 'helpers/vue_test_utils_helper'; import { extendedWrapper } from 'helpers/vue_test_utils_helper';
import EmojiGroup from '~/emoji/components/emoji_group.vue'; import EmojiGroup from '~/emoji/components/emoji_group.vue';
...@@ -11,9 +10,6 @@ function factory(propsData = {}) { ...@@ -11,9 +10,6 @@ function factory(propsData = {}) {
wrapper = extendedWrapper( wrapper = extendedWrapper(
shallowMount(EmojiGroup, { shallowMount(EmojiGroup, {
propsData, propsData,
stubs: {
GlButton,
},
}), }),
); );
} }
...@@ -23,6 +19,7 @@ describe('Emoji group component', () => { ...@@ -23,6 +19,7 @@ describe('Emoji group component', () => {
factory({ factory({
emojis: [], emojis: [],
renderGroup: false, renderGroup: false,
clickEmoji: jest.fn(),
}); });
expect(wrapper.findByTestId('emoji-button').exists()).toBe(false); expect(wrapper.findByTestId('emoji-button').exists()).toBe(false);
...@@ -32,20 +29,24 @@ describe('Emoji group component', () => { ...@@ -32,20 +29,24 @@ describe('Emoji group component', () => {
factory({ factory({
emojis: ['thumbsup', 'thumbsdown'], emojis: ['thumbsup', 'thumbsdown'],
renderGroup: true, renderGroup: true,
clickEmoji: jest.fn(),
}); });
expect(wrapper.findAllByTestId('emoji-button').exists()).toBe(true); expect(wrapper.findAllByTestId('emoji-button').exists()).toBe(true);
expect(wrapper.findAllByTestId('emoji-button').length).toBe(2); expect(wrapper.findAllByTestId('emoji-button').length).toBe(2);
}); });
it('emits emoji-click', () => { it('calls clickEmoji', () => {
const clickEmoji = jest.fn();
factory({ factory({
emojis: ['thumbsup', 'thumbsdown'], emojis: ['thumbsup', 'thumbsdown'],
renderGroup: true, renderGroup: true,
clickEmoji,
}); });
wrapper.findComponent(GlButton).vm.$emit('click'); wrapper.findByTestId('emoji-button').trigger('click');
expect(wrapper.emitted('emoji-click')).toStrictEqual([['thumbsup']]); expect(clickEmoji).toHaveBeenCalledWith('thumbsup');
}); });
}); });
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册