mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
emoji refactor: Let emoji.js own the data.
We now only use page_params.realm_emoji at intialization time, and then settings_emoji gets the data from emoji.js.
This commit is contained in:
committed by
Anders Kaseorg
parent
d11c6686a1
commit
5280b87f19
@@ -37,6 +37,7 @@ function set_up_spain_realm_emoji_for_test() {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
emoji.update_emojis(realm_emojis);
|
emoji.update_emojis(realm_emojis);
|
||||||
|
assert.equal(emoji.get_server_realm_emoji_data(), realm_emojis);
|
||||||
}
|
}
|
||||||
|
|
||||||
run_test("get_emoji_* API", () => {
|
run_test("get_emoji_* API", () => {
|
||||||
|
|||||||
@@ -11,6 +11,16 @@ exports.all_realm_emojis = new Map();
|
|||||||
exports.active_realm_emojis = new Map();
|
exports.active_realm_emojis = new Map();
|
||||||
exports.default_emoji_aliases = new Map();
|
exports.default_emoji_aliases = new Map();
|
||||||
|
|
||||||
|
// For legacy reasons we track server_realm_emoji_data,
|
||||||
|
// since our settings code builds off that format. We
|
||||||
|
// should move it to use all_realm_emojis, which requires
|
||||||
|
// adding author_id here and then changing the settings code
|
||||||
|
// in a slightly non-trivial way.
|
||||||
|
exports.server_realm_emoji_data = {};
|
||||||
|
|
||||||
|
// We really want to deprecate this, too.
|
||||||
|
exports.get_server_realm_emoji_data = () => exports.server_realm_emoji_data;
|
||||||
|
|
||||||
const emoticon_translations = (() => {
|
const emoticon_translations = (() => {
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@@ -91,6 +101,10 @@ exports.get_realm_emoji_url = (emoji_name) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
exports.update_emojis = function (realm_emojis) {
|
exports.update_emojis = function (realm_emojis) {
|
||||||
|
// The settings code still works with the
|
||||||
|
// server format of the data.
|
||||||
|
exports.server_realm_emoji_data = realm_emojis;
|
||||||
|
|
||||||
// exports.all_realm_emojis is emptied before adding the realm-specific emoji
|
// exports.all_realm_emojis is emptied before adding the realm-specific emoji
|
||||||
// to it. This makes sure that in case of deletion, the deleted realm_emojis
|
// to it. This makes sure that in case of deletion, the deleted realm_emojis
|
||||||
// don't persist in exports.active_realm_emojis.
|
// don't persist in exports.active_realm_emojis.
|
||||||
|
|||||||
@@ -216,7 +216,6 @@ exports.dispatch_normal_event = function dispatch_normal_event(event) {
|
|||||||
case "realm_emoji":
|
case "realm_emoji":
|
||||||
// Update `page_params.realm_emoji` so that settings page
|
// Update `page_params.realm_emoji` so that settings page
|
||||||
// can display it properly when reopened without refresh.
|
// can display it properly when reopened without refresh.
|
||||||
page_params.realm_emoji = event.realm_emoji;
|
|
||||||
emoji.update_emojis(event.realm_emoji);
|
emoji.update_emojis(event.realm_emoji);
|
||||||
settings_emoji.populate_emoji();
|
settings_emoji.populate_emoji();
|
||||||
emoji_picker.generate_emoji_picker_data(emoji.active_realm_emojis);
|
emoji_picker.generate_emoji_picker_data(emoji.active_realm_emojis);
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ exports.populate_emoji = function () {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const emoji_data = page_params.realm_emoji;
|
const emoji_data = emoji.get_server_realm_emoji_data();
|
||||||
|
|
||||||
for (const emoji of Object.values(emoji_data)) {
|
for (const emoji of Object.values(emoji_data)) {
|
||||||
// Add people.js data for the user here.
|
// Add people.js data for the user here.
|
||||||
|
|||||||
Reference in New Issue
Block a user