mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 14:03:30 +00:00 
			
		
		
		
	refactor: Move list of frequent emojis to emoji.js.
All of our data related to emojis is in emoji.js. Now typeahead_helper no longer depends on emoji_picker. Generally we want typeahead_helper to only depend on data modules to avoid complicated circular dependencies (or at least mitigate them).
This commit is contained in:
		@@ -3,7 +3,7 @@ zrequire('dict');
 | 
			
		||||
zrequire('compose_state');
 | 
			
		||||
zrequire('ui_util');
 | 
			
		||||
zrequire('pm_conversations');
 | 
			
		||||
zrequire('emoji_picker');
 | 
			
		||||
zrequire('emoji');
 | 
			
		||||
zrequire('util');
 | 
			
		||||
zrequire('Handlebars', 'handlebars');
 | 
			
		||||
zrequire('templates');
 | 
			
		||||
@@ -116,10 +116,9 @@ set_global('compose', {
 | 
			
		||||
    finish: noop,
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
set_global('emoji', {
 | 
			
		||||
    active_realm_emojis: {},
 | 
			
		||||
    emojis: emoji_list,
 | 
			
		||||
});
 | 
			
		||||
emoji.active_realm_emojis = {};
 | 
			
		||||
emoji.emojis = emoji_list;
 | 
			
		||||
 | 
			
		||||
set_global('pygments_data', {langs:
 | 
			
		||||
    {python: 0, javscript: 1, html: 2, css: 3},
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ zrequire('Handlebars', 'handlebars');
 | 
			
		||||
zrequire('recent_senders');
 | 
			
		||||
zrequire('pm_conversations');
 | 
			
		||||
zrequire('people');
 | 
			
		||||
zrequire('emoji_picker');
 | 
			
		||||
zrequire('emoji');
 | 
			
		||||
zrequire('util');
 | 
			
		||||
zrequire('stream_data');
 | 
			
		||||
zrequire('narrow');
 | 
			
		||||
@@ -498,15 +498,13 @@ run_test('render_stream', () => {
 | 
			
		||||
run_test('render_emoji', () => {
 | 
			
		||||
    // Test render_emoji with normal emoji.
 | 
			
		||||
    var rendered = false;
 | 
			
		||||
    var emoji = {
 | 
			
		||||
    var test_emoji = {
 | 
			
		||||
        emoji_name: 'thumbs_up',
 | 
			
		||||
        codepoint: '1f44d',
 | 
			
		||||
    };
 | 
			
		||||
    set_global('emoji', {
 | 
			
		||||
        active_realm_emojis: {
 | 
			
		||||
            realm_emoji: 'TBD',
 | 
			
		||||
        },
 | 
			
		||||
    });
 | 
			
		||||
    emoji.active_realm_emojis = {
 | 
			
		||||
        realm_emoji: 'TBD',
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    global.templates.render = function (template_name, args) {
 | 
			
		||||
        assert.equal(template_name, 'typeahead_list_item');
 | 
			
		||||
@@ -520,12 +518,12 @@ run_test('render_emoji', () => {
 | 
			
		||||
        rendered = true;
 | 
			
		||||
        return 'typeahead-item-stub';
 | 
			
		||||
    };
 | 
			
		||||
    assert.equal(th.render_emoji(emoji), 'typeahead-item-stub');
 | 
			
		||||
    assert.equal(th.render_emoji(test_emoji), 'typeahead-item-stub');
 | 
			
		||||
    assert(rendered);
 | 
			
		||||
 | 
			
		||||
    // Test render_emoji with normal emoji.
 | 
			
		||||
    rendered = false;
 | 
			
		||||
    emoji = {
 | 
			
		||||
    test_emoji = {
 | 
			
		||||
        emoji_name: 'realm_emoji',
 | 
			
		||||
        emoji_url: 'TBD',
 | 
			
		||||
    };
 | 
			
		||||
@@ -542,7 +540,7 @@ run_test('render_emoji', () => {
 | 
			
		||||
        rendered = true;
 | 
			
		||||
        return 'typeahead-item-stub';
 | 
			
		||||
    };
 | 
			
		||||
    assert.equal(th.render_emoji(emoji), 'typeahead-item-stub');
 | 
			
		||||
    assert.equal(th.render_emoji(test_emoji), 'typeahead-item-stub');
 | 
			
		||||
    assert(rendered);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,19 @@ exports.all_realm_emojis = {};
 | 
			
		||||
exports.active_realm_emojis = {};
 | 
			
		||||
exports.default_emoji_aliases = {};
 | 
			
		||||
 | 
			
		||||
// Unfortunately, this list does not currently match on
 | 
			
		||||
// alias names like party_popper, simple_smile, and
 | 
			
		||||
// hammer_and_wrench. But thumbs_up sorts to the top
 | 
			
		||||
// for some other reason.
 | 
			
		||||
exports.frequently_used_emojis_list = [
 | 
			
		||||
    '1f44d',    // +1
 | 
			
		||||
    '1f389',    // tada
 | 
			
		||||
    '1f642',    // slight_smile
 | 
			
		||||
    '2764',     // heart
 | 
			
		||||
    '1f6e0',    // working_on_it
 | 
			
		||||
    '1f419',    // octopus
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
var default_emojis = [];
 | 
			
		||||
 | 
			
		||||
var zulip_emoji = {
 | 
			
		||||
 
 | 
			
		||||
@@ -12,18 +12,6 @@ var APPROX_WIDTH = 255;
 | 
			
		||||
// implemented as the emoji_popover.
 | 
			
		||||
exports.complete_emoji_catalog = [];
 | 
			
		||||
 | 
			
		||||
// Unfortunately, this list does not currently match on
 | 
			
		||||
// alias names like party_popper, simple_smile, and
 | 
			
		||||
// hammer_and_wrench. But thumbs_up sorts to the top
 | 
			
		||||
// for some other reason.
 | 
			
		||||
exports.frequently_used_emojis_list = [
 | 
			
		||||
    '1f44d',    // +1
 | 
			
		||||
    '1f389',    // tada
 | 
			
		||||
    '1f642',    // slight_smile
 | 
			
		||||
    '2764',     // heart
 | 
			
		||||
    '1f6e0',    // working_on_it
 | 
			
		||||
    '1f419',    // octopus
 | 
			
		||||
];
 | 
			
		||||
var current_message_emoji_popover_elem;
 | 
			
		||||
var emoji_catalog_last_coordinates = {
 | 
			
		||||
    section: 0,
 | 
			
		||||
@@ -129,7 +117,7 @@ exports.generate_emoji_picker_data = function (realm_emojis) {
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    exports.complete_emoji_catalog.Popular = [];
 | 
			
		||||
    _.each(exports.frequently_used_emojis_list, function (codepoint) {
 | 
			
		||||
    _.each(emoji.frequently_used_emojis_list, function (codepoint) {
 | 
			
		||||
        if (emoji_codes.codepoint_to_name.hasOwnProperty(codepoint)) {
 | 
			
		||||
            var emoji_name = emoji_codes.codepoint_to_name[codepoint];
 | 
			
		||||
            if (emoji.emojis_by_name.hasOwnProperty(emoji_name)) {
 | 
			
		||||
 
 | 
			
		||||
@@ -168,7 +168,7 @@ function emoji_prefix_sort(query, objs, get_item) {
 | 
			
		||||
    var popular_emoji_matches = [];
 | 
			
		||||
    var other_emoji_matches = [];
 | 
			
		||||
    prefix_sort.matches.forEach(function (obj) {
 | 
			
		||||
        if (emoji_picker.frequently_used_emojis_list.indexOf(obj.codepoint) !== -1) {
 | 
			
		||||
        if (emoji.frequently_used_emojis_list.indexOf(obj.codepoint) !== -1) {
 | 
			
		||||
            popular_emoji_matches.push(obj);
 | 
			
		||||
        } else {
 | 
			
		||||
            other_emoji_matches.push(obj);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user