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('compose_state');
|
||||||
zrequire('ui_util');
|
zrequire('ui_util');
|
||||||
zrequire('pm_conversations');
|
zrequire('pm_conversations');
|
||||||
zrequire('emoji_picker');
|
zrequire('emoji');
|
||||||
zrequire('util');
|
zrequire('util');
|
||||||
zrequire('Handlebars', 'handlebars');
|
zrequire('Handlebars', 'handlebars');
|
||||||
zrequire('templates');
|
zrequire('templates');
|
||||||
@@ -116,10 +116,9 @@ set_global('compose', {
|
|||||||
finish: noop,
|
finish: noop,
|
||||||
});
|
});
|
||||||
|
|
||||||
set_global('emoji', {
|
emoji.active_realm_emojis = {};
|
||||||
active_realm_emojis: {},
|
emoji.emojis = emoji_list;
|
||||||
emojis: emoji_list,
|
|
||||||
});
|
|
||||||
set_global('pygments_data', {langs:
|
set_global('pygments_data', {langs:
|
||||||
{python: 0, javscript: 1, html: 2, css: 3},
|
{python: 0, javscript: 1, html: 2, css: 3},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ zrequire('Handlebars', 'handlebars');
|
|||||||
zrequire('recent_senders');
|
zrequire('recent_senders');
|
||||||
zrequire('pm_conversations');
|
zrequire('pm_conversations');
|
||||||
zrequire('people');
|
zrequire('people');
|
||||||
zrequire('emoji_picker');
|
zrequire('emoji');
|
||||||
zrequire('util');
|
zrequire('util');
|
||||||
zrequire('stream_data');
|
zrequire('stream_data');
|
||||||
zrequire('narrow');
|
zrequire('narrow');
|
||||||
@@ -498,15 +498,13 @@ run_test('render_stream', () => {
|
|||||||
run_test('render_emoji', () => {
|
run_test('render_emoji', () => {
|
||||||
// Test render_emoji with normal emoji.
|
// Test render_emoji with normal emoji.
|
||||||
var rendered = false;
|
var rendered = false;
|
||||||
var emoji = {
|
var test_emoji = {
|
||||||
emoji_name: 'thumbs_up',
|
emoji_name: 'thumbs_up',
|
||||||
codepoint: '1f44d',
|
codepoint: '1f44d',
|
||||||
};
|
};
|
||||||
set_global('emoji', {
|
emoji.active_realm_emojis = {
|
||||||
active_realm_emojis: {
|
realm_emoji: 'TBD',
|
||||||
realm_emoji: 'TBD',
|
};
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
global.templates.render = function (template_name, args) {
|
global.templates.render = function (template_name, args) {
|
||||||
assert.equal(template_name, 'typeahead_list_item');
|
assert.equal(template_name, 'typeahead_list_item');
|
||||||
@@ -520,12 +518,12 @@ run_test('render_emoji', () => {
|
|||||||
rendered = true;
|
rendered = true;
|
||||||
return 'typeahead-item-stub';
|
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);
|
assert(rendered);
|
||||||
|
|
||||||
// Test render_emoji with normal emoji.
|
// Test render_emoji with normal emoji.
|
||||||
rendered = false;
|
rendered = false;
|
||||||
emoji = {
|
test_emoji = {
|
||||||
emoji_name: 'realm_emoji',
|
emoji_name: 'realm_emoji',
|
||||||
emoji_url: 'TBD',
|
emoji_url: 'TBD',
|
||||||
};
|
};
|
||||||
@@ -542,7 +540,7 @@ run_test('render_emoji', () => {
|
|||||||
rendered = true;
|
rendered = true;
|
||||||
return 'typeahead-item-stub';
|
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);
|
assert(rendered);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,19 @@ exports.all_realm_emojis = {};
|
|||||||
exports.active_realm_emojis = {};
|
exports.active_realm_emojis = {};
|
||||||
exports.default_emoji_aliases = {};
|
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 default_emojis = [];
|
||||||
|
|
||||||
var zulip_emoji = {
|
var zulip_emoji = {
|
||||||
|
|||||||
@@ -12,18 +12,6 @@ var APPROX_WIDTH = 255;
|
|||||||
// implemented as the emoji_popover.
|
// implemented as the emoji_popover.
|
||||||
exports.complete_emoji_catalog = [];
|
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 current_message_emoji_popover_elem;
|
||||||
var emoji_catalog_last_coordinates = {
|
var emoji_catalog_last_coordinates = {
|
||||||
section: 0,
|
section: 0,
|
||||||
@@ -129,7 +117,7 @@ exports.generate_emoji_picker_data = function (realm_emojis) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
exports.complete_emoji_catalog.Popular = [];
|
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)) {
|
if (emoji_codes.codepoint_to_name.hasOwnProperty(codepoint)) {
|
||||||
var emoji_name = emoji_codes.codepoint_to_name[codepoint];
|
var emoji_name = emoji_codes.codepoint_to_name[codepoint];
|
||||||
if (emoji.emojis_by_name.hasOwnProperty(emoji_name)) {
|
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 popular_emoji_matches = [];
|
||||||
var other_emoji_matches = [];
|
var other_emoji_matches = [];
|
||||||
prefix_sort.matches.forEach(function (obj) {
|
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);
|
popular_emoji_matches.push(obj);
|
||||||
} else {
|
} else {
|
||||||
other_emoji_matches.push(obj);
|
other_emoji_matches.push(obj);
|
||||||
|
|||||||
Reference in New Issue
Block a user