From b7700ea815222b4de80741ad77b31707051300bd Mon Sep 17 00:00:00 2001 From: Martin Kosek Date: Wed, 16 Feb 2011 14:26:35 +0100 Subject: Remove WebUI identifiers from global namespace Many WebUI identifiers were defined in a global namespace. This is not a good programming practice and may result in name clashes, for example with other libraries. This patch moves these variables to IPA namespace or its sub-namespaces, when meaningful. https://fedorahosted.org/freeipa/ticket/212 --- install/ui/navigation.js | 233 +++++++++++++++++++++++------------------------ 1 file changed, 112 insertions(+), 121 deletions(-) (limited to 'install/ui/navigation.js') diff --git a/install/ui/navigation.js b/install/ui/navigation.js index 4a3fe6916..3612d1e69 100644 --- a/install/ui/navigation.js +++ b/install/ui/navigation.js @@ -20,138 +20,129 @@ * along with this program. If not, see . */ -var nav_tabs_lists; -var nav_container; +IPA.nav = { + tabs_lists : {}, + nav_container : {}, + push_state : function (params) { + if (!IPA.test_dirty()){ + return false; + } + $.bbq.pushState(params); + return true; + }, + + get_state : function (key) { + return $.bbq.getState(key, true); + }, + + remove_state : function (key) { + $.bbq.removeState(key); + }, + + create : function (nls, container, tabclass) { + if (!container) + container = $('#navigation'); + if (!tabclass) + tabclass = 'tabs'; + + IPA.nav.tabs_lists = nls; + IPA.nav.nav_container = container; + + IPA.nav.generate_tabs(nls, container, tabclass, 1); + + var tabs = $('.' + tabclass); + tabs.tabs({ + select: function(event, ui) { + var panel = $(ui.panel); + var parent = panel.parent(); + var id = parent.attr('id'); + var state = {}; + state[id] = ui.index; + return IPA.nav.push_state(state); + } + }); + + IPA.nav.update_tabs(); + }, + + generate_tabs : function (nls, container, tabclass, depth) { + container.addClass(tabclass); + container.addClass('tabs'+depth); + + var ul = $('