Commit 2fe75aa6 authored by Tim Zallmann's avatar Tim Zallmann

Simplify emoji import

Fixed Prettier Problem of the awards_handler
parent c18c86ca
......@@ -9,6 +9,7 @@ import { updateTooltipTitle } from './lib/utils/common_utils';
import { isInVueNoteablePage } from './lib/utils/dom_utils';
import flash from './flash';
import axios from './lib/utils/axios_utils';
import * as Emoji from '~/emoji';
const animationEndEventString = 'animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd';
const transitionEndEventString = 'transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd';
......@@ -619,19 +620,10 @@ export class AwardsHandler {
let awardsHandlerPromise = null;
export default function loadAwardsHandler(reload = false) {
if (!awardsHandlerPromise || reload) {
awardsHandlerPromise = new Promise((resolve, reject) => {
let emojiModule;
import(/* webpackChunkName: 'emoji' */ '~/emoji')
.then(Emoji => {
emojiModule = Emoji;
return Emoji.initEmojiMap();
})
.then(() => {
const awardsHandler = new AwardsHandler(emojiModule);
awardsHandler.bindEvents();
resolve(awardsHandler);
})
.catch(() => reject);
awardsHandlerPromise = Emoji.initEmojiMap().then(() => {
const awardsHandler = new AwardsHandler(Emoji);
awardsHandler.bindEvents();
return awardsHandler;
});
}
return awardsHandlerPromise;
......
......@@ -7,6 +7,7 @@ import DropdownUtils from '~/filtered_search/dropdown_utils';
import Flash from '~/flash';
import UsersCache from '~/lib/utils/users_cache';
import { __ } from '~/locale';
import * as Emoji from '~/emoji';
export default class VisualTokenValue {
constructor(tokenValue, tokenType, tokenOperator) {
......@@ -136,24 +137,14 @@ export default class VisualTokenValue {
const container = tokenValueContainer;
const element = tokenValueElement;
const value = this.tokenValue;
let emojiModule;
return (
import(/* webpackChunkName: 'emoji' */ '~/emoji')
.then(Emoji => {
emojiModule = Emoji;
return Emoji.initEmojiMap();
})
.then(() => {
if (!emojiModule.isEmojiNameValid(value)) {
return;
}
return Emoji.initEmojiMap().then(() => {
if (!Emoji.isEmojiNameValid(value)) {
return;
}
container.dataset.originalValue = value;
element.innerHTML = emojiModule.glEmojiTag(value);
})
// ignore error and leave emoji name in the search bar
.catch(() => {})
);
container.dataset.originalValue = value;
element.innerHTML = Emoji.glEmojiTag(value);
});
}
}
......@@ -5,6 +5,7 @@ import SidebarMediator from '~/sidebar/sidebar_mediator';
import glRegexp from './lib/utils/regexp';
import AjaxCache from './lib/utils/ajax_cache';
import { spriteIcon } from './lib/utils/common_utils';
import * as Emoji from '~/emoji';
function sanitize(str) {
return str.replace(/<(?:.|\n)*?>/gm, '');
......@@ -586,19 +587,12 @@ class GfmAutoComplete {
if (this.cachedData[at]) {
this.loadData($input, at, this.cachedData[at]);
} else if (GfmAutoComplete.atTypeMap[at] === 'emojis') {
let emojiModule;
import(/* webpackChunkName: 'emoji' */ '~/emoji')
.then(Emoji => {
emojiModule = Emoji;
return Emoji.initEmojiMap();
})
Emoji.initEmojiMap()
.then(() => {
this.loadData($input, at, emojiModule.getValidEmojiNames());
GfmAutoComplete.glEmojiTag = emojiModule.glEmojiTag;
this.loadData($input, at, Emoji.getValidEmojiNames());
GfmAutoComplete.glEmojiTag = Emoji.glEmojiTag;
})
.catch(() => {
this.isLoadingData[at] = false;
});
.catch(() => {});
} else if (dataSource) {
AjaxCache.retrieve(dataSource, true)
.then(data => {
......
......@@ -4,6 +4,7 @@ import emojiRegex from 'emoji-regex';
import createFlash from '~/flash';
import EmojiMenu from './emoji_menu';
import { __ } from '~/locale';
import * as Emoji from '~/emoji';
const defaultStatusEmoji = 'speech_balloon';
......@@ -55,22 +56,17 @@ document.addEventListener('DOMContentLoaded', () => {
}
});
let emojiModule;
import(/* webpackChunkName: 'emoji' */ '~/emoji')
.then(Emoji => {
emojiModule = Emoji;
return Emoji.initEmojiMap();
})
Emoji.initEmojiMap()
.then(() => {
const emojiMenu = new EmojiMenu(
emojiModule,
Emoji,
toggleEmojiMenuButtonSelector,
'js-status-emoji-menu',
selectEmojiCallback,
);
emojiMenu.bindEvents();
const defaultEmojiTag = emojiModule.glEmojiTag(defaultStatusEmoji);
const defaultEmojiTag = Emoji.glEmojiTag(defaultStatusEmoji);
statusMessageField.addEventListener('input', () => {
const hasStatusMessage = statusMessageField.value.trim() !== '';
const statusEmoji = findStatusEmoji();
......
......@@ -8,6 +8,7 @@ import { __, s__ } from '~/locale';
import Api from '~/api';
import eventHub from './event_hub';
import EmojiMenuInModal from './emoji_menu_in_modal';
import * as Emoji from '~/emoji';
const emojiMenuClass = 'js-modal-status-emoji-menu';
......@@ -64,21 +65,16 @@ export default {
const emojiAutocomplete = new GfmAutoComplete();
emojiAutocomplete.setup($(this.$refs.statusMessageField), { emojis: true });
let emojiModule;
import(/* webpackChunkName: 'emoji' */ '~/emoji')
.then(Emoji => {
emojiModule = Emoji;
return Emoji.initEmojiMap();
})
Emoji.initEmojiMap()
.then(() => {
if (this.emoji) {
this.emojiTag = emojiModule.glEmojiTag(this.emoji);
this.emojiTag = Emoji.glEmojiTag(this.emoji);
}
this.noEmoji = this.emoji === '';
this.defaultEmojiTag = emojiModule.glEmojiTag('speech_balloon');
this.defaultEmojiTag = Emoji.glEmojiTag('speech_balloon');
this.emojiMenu = new EmojiMenuInModal(
emojiModule,
Emoji,
toggleEmojiMenuButtonSelector,
emojiMenuClass,
this.setEmoji,
......
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