diff --git a/static/js/server_events.js b/static/js/server_events.js index 500d02b6a1..ee4d26acdf 100644 --- a/static/js/server_events.js +++ b/static/js/server_events.js @@ -297,6 +297,20 @@ function dispatch_normal_event(event) { if (event.setting_name === 'timezone') { page_params.timezone = event.setting; } + if (event.setting_name === 'emojiset') { + page_params.emojiset = event.setting; + var sprite = new Image(); + sprite.onload = function () { + $("#emoji-spritesheet").attr('href', "/static/generated/emoji/" + page_params.emojiset + "_sprite.css"); + if ($("#display-settings-status").length) { + loading.destroy_indicator($("#emojiset_spinner")); + $("#emojiset_select").val(page_params.emojiset); + ui_report.success(i18n.t("Emojiset changed successfully!!"), + $('#display-settings-status').expectOne()); + } + }; + sprite.src = "/static/generated/emoji/sheet_" + page_params.emojiset + "_32.png"; + } if ($("#settings.tab-pane.active").length) { settings_display.update_page(); } diff --git a/static/js/settings_display.js b/static/js/settings_display.js index e08244d975..ac1b498fd2 100644 --- a/static/js/settings_display.js +++ b/static/js/settings_display.js @@ -6,6 +6,7 @@ exports.set_up = function () { $("#display-settings-status").hide(); $("#user_timezone").val(page_params.timezone); + $("#emojiset_select").val(page_params.emojiset); $("#default_language_modal [data-dismiss]").click(function () { $("#default_language_modal").fadeOut(300); @@ -135,6 +136,24 @@ exports.set_up = function () { }, }); }); + + $("#emojiset_select").change(function () { + var emojiset = $(this).val(); + var data = {}; + data.emojiset = JSON.stringify(emojiset); + + channel.patch({ + url: '/json/settings/display', + data: data, + success: function () { + var spinner = $("#emojiset_spinner").expectOne(); + loading.make_indicator(spinner, {text: 'Changing emojiset.'}); + }, + error: function (xhr) { + ui_report.error(i18n.t("Error changing emojiset."), xhr, $('#display-settings-status').expectOne()); + }, + }); + }); }; function _update_page() { diff --git a/static/styles/settings.css b/static/styles/settings.css index dd819dbb84..570cccd9cc 100644 --- a/static/styles/settings.css +++ b/static/styles/settings.css @@ -1066,6 +1066,6 @@ input[type=text]#settings_search { width: 15%; } -#user_timezone { +#settings_page .display-settings-form select { width: 245px; } diff --git a/static/templates/settings/display-settings.handlebars b/static/templates/settings/display-settings.handlebars index ca1cefe6f1..b26ea1d379 100644 --- a/static/templates/settings/display-settings.handlebars +++ b/static/templates/settings/display-settings.handlebars @@ -108,5 +108,16 @@ + {{#if false}} +
+ + +
+
+ {{/if}}