mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	With webpack, variables declared in each file are already file-local (Global variables need to be explicitly exported), so these IIFEs are no longer needed. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var Dict = require('./dict').Dict;
 | 
						|
 | 
						|
var load_func_dict = new Dict(); // group -> function
 | 
						|
var is_loaded = new Dict(); // group -> bool
 | 
						|
 | 
						|
exports.get_group = function (section) {
 | 
						|
    // Sometimes several sections all share the same code.
 | 
						|
 | 
						|
    switch (section) {
 | 
						|
    case 'organization-profile':
 | 
						|
    case 'organization-settings':
 | 
						|
    case 'organization-permissions':
 | 
						|
    case 'auth-methods':
 | 
						|
        return 'org_misc';
 | 
						|
 | 
						|
    case 'bot-list-admin':
 | 
						|
    case 'user-list-admin':
 | 
						|
    case 'deactivated-users-admin':
 | 
						|
        return 'org_users';
 | 
						|
 | 
						|
    default:
 | 
						|
        return section;
 | 
						|
    }
 | 
						|
};
 | 
						|
 | 
						|
exports.initialize = function () {
 | 
						|
    // personal
 | 
						|
    load_func_dict.set('your-account', settings_account.set_up);
 | 
						|
    load_func_dict.set('display-settings', settings_display.set_up);
 | 
						|
    load_func_dict.set('notifications', settings_notifications.set_up);
 | 
						|
    load_func_dict.set('your-bots', settings_bots.set_up);
 | 
						|
    load_func_dict.set('alert-words', alert_words_ui.set_up_alert_words);
 | 
						|
    load_func_dict.set('uploaded-files', attachments_ui.set_up_attachments);
 | 
						|
    load_func_dict.set('muted-topics', settings_muting.set_up);
 | 
						|
 | 
						|
    // org
 | 
						|
    load_func_dict.set('org_misc', settings_org.set_up);
 | 
						|
    load_func_dict.set('org_users', settings_users.set_up);
 | 
						|
    load_func_dict.set('emoji-settings', settings_emoji.set_up);
 | 
						|
    load_func_dict.set('default-streams-list', settings_streams.set_up);
 | 
						|
    load_func_dict.set('filter-settings', settings_linkifiers.set_up);
 | 
						|
    load_func_dict.set('invites-list-admin', settings_invites.set_up);
 | 
						|
    load_func_dict.set('user-groups-admin', settings_user_groups.set_up);
 | 
						|
    load_func_dict.set('profile-field-settings', settings_profile_fields.set_up);
 | 
						|
    load_func_dict.set('data-exports-admin', settings_exports.set_up);
 | 
						|
};
 | 
						|
 | 
						|
exports.load_settings_section = function (section) {
 | 
						|
    var group = exports.get_group(section);
 | 
						|
 | 
						|
    if (!load_func_dict.has(group)) {
 | 
						|
        blueslip.error('Unknown section ' + section);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
 | 
						|
    if (is_loaded.get(group)) {
 | 
						|
        // We only load groups once (unless somebody calls
 | 
						|
        // reset_sections).
 | 
						|
        return;
 | 
						|
    }
 | 
						|
 | 
						|
    var load_func = load_func_dict.get(group);
 | 
						|
 | 
						|
    // Do the real work here!
 | 
						|
    load_func();
 | 
						|
    is_loaded.set(group, true);
 | 
						|
};
 | 
						|
 | 
						|
exports.reset_sections = function () {
 | 
						|
    is_loaded.clear();
 | 
						|
    settings_emoji.reset();
 | 
						|
    settings_exports.reset();
 | 
						|
    settings_linkifiers.reset();
 | 
						|
    settings_invites.reset();
 | 
						|
    settings_org.reset();
 | 
						|
    settings_profile_fields.reset();
 | 
						|
    settings_streams.reset();
 | 
						|
    settings_user_groups.reset();
 | 
						|
    settings_users.reset();
 | 
						|
};
 | 
						|
 | 
						|
window.settings_sections = exports;
 |