mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.3 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-profile':
 | 
						|
        case 'organization-settings':
 | 
						|
        case 'organization-permissions':
 | 
						|
        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;
 | 
						|
        case 'invites-list-admin':
 | 
						|
            section = 'invites';
 | 
						|
            break;
 | 
						|
        case 'user-groups-admin':
 | 
						|
            section = 'user-groups';
 | 
						|
            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;
 | 
						|
        case 'invites':
 | 
						|
            settings_invites.set_up();
 | 
						|
            break;
 | 
						|
        case 'user-groups':
 | 
						|
            settings_user_groups.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();
 | 
						|
    settings_invites.reset();
 | 
						|
    settings_user_groups.reset();
 | 
						|
};
 | 
						|
 | 
						|
return exports;
 | 
						|
}());
 | 
						|
 | 
						|
if (typeof module !== 'undefined') {
 | 
						|
    module.exports = admin_sections;
 | 
						|
}
 |