diff --git a/evennia/web/webclient/static/webclient/js/plugins/options2.js b/evennia/web/webclient/static/webclient/js/plugins/options2.js index 565ef26333..96c7d05c8d 100644 --- a/evennia/web/webclient/static/webclient/js/plugins/options2.js +++ b/evennia/web/webclient/static/webclient/js/plugins/options2.js @@ -6,18 +6,44 @@ let options2 = (function () { var options_container = null ; - var onGagPrompt = function () { console.log('gagprompt') } - var onNotifyPopup = function () { console.log('notifypopup') } - var onNotifySound = function () { console.log('notifysound') } + // + // When the user changes a setting from the interface + var onOptionCheckboxChanged = function (evnt) { + var name = $(evnt.target).data("setting"); + var value = $(evnt.target).is(":checked"); + options[name] = value; + Evennia.msg("webclient_options", [], options); + } + // + // Callback to display our basic OptionsUI var onOptionsUI = function (parentdiv) { - var gagprompt = $(''); - var notifypopup = $(''); - var notifysound = $(''); + var checked; - gagprompt.on("change", onGagPrompt); - notifypopup.on("change", onNotifyPopup); - notifysound.on("change", onNotifySound); + checked = options["gagprompt"] ? "checked='checked'" : ""; + var gagprompt = $( [ "" + ].join("") ); + + checked = options["notification_popup"] ? "checked='checked'" : ""; + var notifypopup = $( [ "" + ].join("") ); + + checked = options["notification_sound"] ? "checked='checked'" : ""; + var notifysound = $( [ "" + ].join("") ); + + gagprompt.on("change", onOptionCheckboxChanged); + notifypopup.on("change", onOptionCheckboxChanged); + notifysound.on("change", onOptionCheckboxChanged); parentdiv.append(gagprompt); parentdiv.append(notifypopup); @@ -38,7 +64,7 @@ let options2 = (function () { var div = $("