mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 23:13:25 +00:00
We have some settings which are inter-dependent. If one setting is checked or unchecked, it's dependent-sub-setting get disabled or enabled. i.e. If user unchecked setting allow-message-editing then message-editing-time-limit setting should get disabled in UI. Add generic function to change disable attribute of sub settings on checked or unchecked event of main setting in `settings_ui.js`.
28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
var settings_ui = (function () {
|
|
|
|
var exports = {};
|
|
|
|
// This function is used to disable sub-setting when main setting is checked or unchecked
|
|
// or two settings are inter-dependent on their values values.
|
|
// * is_checked is boolean, shows if the main setting is checked or not.
|
|
// * sub_setting_id is sub setting or setting which depend on main setting,
|
|
// string id of setting.
|
|
// * disable_on_uncheck is boolean, true if sub setting should be disabled
|
|
// when main setting unchecked.
|
|
exports.disable_sub_setting_onchange = function (is_checked, sub_setting_id, disable_on_uncheck) {
|
|
if ((is_checked && disable_on_uncheck) || (!is_checked && !disable_on_uncheck)) {
|
|
$("#" + sub_setting_id).attr("disabled", false);
|
|
$("#" + sub_setting_id + "_label").parent().removeClass("control-label-disabled");
|
|
} else if ((is_checked && !disable_on_uncheck) || (!is_checked && disable_on_uncheck)) {
|
|
$("#" + sub_setting_id).attr("disabled", "disabled");
|
|
$("#" + sub_setting_id + "_label").parent().addClass("control-label-disabled");
|
|
}
|
|
};
|
|
|
|
return exports;
|
|
}());
|
|
|
|
if (typeof module !== 'undefined') {
|
|
module.exports = settings_ui;
|
|
}
|