mirror of https://github.com/zulip/zulip.git
80 lines
1.8 KiB
JavaScript
80 lines
1.8 KiB
JavaScript
|
var admin_sections = (function () {
|
||
|
|
||
|
var exports = {};
|
||
|
|
||
|
var is_loaded = new Dict(); // section -> bool
|
||
|
|
||
|
exports.load_admin_section = function (name) {
|
||
|
var section;
|
||
|
|
||
|
switch (name) {
|
||
|
case 'organization-settings':
|
||
|
case 'auth-methods':
|
||
|
section = 'org';
|
||
|
break;
|
||
|
case 'emoji-settings':
|
||
|
section = 'emoji';
|
||
|
break;
|
||
|
case 'bot-list-admin':
|
||
|
case 'user-list-admin':
|
||
|
case 'deactivated-users-admin':
|
||
|
section = 'users';
|
||
|
break;
|
||
|
case 'streams-list-admin':
|
||
|
case 'default-streams-list':
|
||
|
section = 'streams';
|
||
|
break;
|
||
|
case 'filter-settings':
|
||
|
section = 'filters';
|
||
|
break;
|
||
|
default:
|
||
|
blueslip.error('Unknown admin id ' + name);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (is_loaded.get(section)) {
|
||
|
// We only load sections once (unless somebody calls
|
||
|
// reset_sections).
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
switch (section) {
|
||
|
case 'org':
|
||
|
settings_org.set_up();
|
||
|
break;
|
||
|
case 'emoji':
|
||
|
settings_emoji.set_up();
|
||
|
break;
|
||
|
case 'users':
|
||
|
settings_users.set_up();
|
||
|
break;
|
||
|
case 'streams':
|
||
|
settings_streams.set_up();
|
||
|
break;
|
||
|
case 'filters':
|
||
|
settings_filters.set_up();
|
||
|
break;
|
||
|
default:
|
||
|
blueslip.error('programming error for section ' + section);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
is_loaded.set(section, true);
|
||
|
};
|
||
|
|
||
|
exports.reset_sections = function () {
|
||
|
is_loaded.clear();
|
||
|
settings_org.reset();
|
||
|
settings_emoji.reset();
|
||
|
settings_users.reset();
|
||
|
settings_streams.reset();
|
||
|
settings_filters.reset();
|
||
|
};
|
||
|
|
||
|
return exports;
|
||
|
}());
|
||
|
|
||
|
if (typeof module !== 'undefined') {
|
||
|
module.exports = admin_sections;
|
||
|
}
|