Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 12:10:19 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 12:10:19 +0300
commit389312d00908adf98b30daac746805ec8447f92b (patch)
tree22409e071143486cd7d72eeefd115ce634f43c84 /app/assets/javascripts/set_status_modal
parente173c316de15057b099a93053c9ef16180d6d1de (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/set_status_modal')
-rw-r--r--app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue50
1 files changed, 41 insertions, 9 deletions
diff --git a/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue b/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
index c754af5c7de..758a799b37f 100644
--- a/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
+++ b/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
@@ -18,6 +18,7 @@ import { BV_SHOW_MODAL, BV_HIDE_MODAL } from '~/lib/utils/constants';
import { __, s__, sprintf } from '~/locale';
import { updateUserStatus } from '~/rest_api';
import { timeRanges } from '~/vue_shared/constants';
+import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import EmojiMenuInModal from './emoji_menu_in_modal';
import { isUserBusy } from './utils';
@@ -44,10 +45,12 @@ export default {
GlFormCheckbox,
GlDropdown,
GlDropdownItem,
+ EmojiPicker: () => import('~/emoji/components/picker.vue'),
},
directives: {
GlTooltip: GlTooltipDirective,
},
+ mixins: [glFeatureFlagsMixin()],
props: {
defaultEmoji: {
type: String,
@@ -102,7 +105,9 @@ export default {
this.$root.$emit(BV_SHOW_MODAL, this.modalId);
},
beforeDestroy() {
- this.emojiMenu.destroy();
+ if (this.emojiMenu) {
+ this.emojiMenu.destroy();
+ }
},
methods: {
closeModal() {
@@ -121,13 +126,16 @@ export default {
this.noEmoji = this.emoji === '';
this.defaultEmojiTag = Emoji.glEmojiTag(this.defaultEmoji);
- this.emojiMenu = new EmojiMenuInModal(
- Emoji,
- toggleEmojiMenuButtonSelector,
- emojiMenuClass,
- this.setEmoji,
- this.$refs.userStatusForm,
- );
+ if (!this.glFeatures.improvedEmojiPicker) {
+ this.emojiMenu = new EmojiMenuInModal(
+ Emoji,
+ toggleEmojiMenuButtonSelector,
+ emojiMenuClass,
+ this.setEmoji,
+ this.$refs.userStatusForm,
+ );
+ }
+
this.setDefaultEmoji();
})
.catch(() => createFlash(__('Failed to load emoji list.')));
@@ -164,7 +172,12 @@ export default {
this.emoji = emoji;
this.noEmoji = false;
this.clearEmoji();
- this.emojiTag = emojiTag;
+
+ if (this.glFeatures.improvedEmojiPicker) {
+ this.emojiTag = Emoji.glEmojiTag(this.emoji);
+ } else {
+ this.emojiTag = emojiTag;
+ }
},
clearEmoji() {
if (this.emojiTag) {
@@ -241,7 +254,26 @@ export default {
<div ref="userStatusForm" class="form-group position-relative m-0">
<div class="input-group gl-mb-5">
<span class="input-group-prepend">
+ <emoji-picker
+ v-if="glFeatures.improvedEmojiPicker"
+ dropdown-class="gl-h-full"
+ toggle-class="btn emoji-menu-toggle-button gl-px-4! gl-rounded-top-right-none! gl-rounded-bottom-right-none!"
+ @click="setEmoji"
+ >
+ <template #button-content>
+ <span v-html="emojiTag"></span>
+ <span
+ v-show="noEmoji"
+ class="js-no-emoji-placeholder no-emoji-placeholder position-relative"
+ >
+ <gl-icon name="slight-smile" class="award-control-icon-neutral" />
+ <gl-icon name="smiley" class="award-control-icon-positive" />
+ <gl-icon name="smile" class="award-control-icon-super-positive" />
+ </span>
+ </template>
+ </emoji-picker>
<button
+ v-else
ref="toggleEmojiMenuButton"
v-gl-tooltip.bottom.hover
:title="s__('SetStatusModal|Add status emoji')"