summaryrefslogtreecommitdiffstats
path: root/install/static/navigation.js
diff options
context:
space:
mode:
authorAdam Young <ayoung@redhat.com>2010-09-28 19:20:02 -0400
committerAdam Young <ayoung@redhat.com>2010-09-29 09:30:09 -0400
commit09555fae17dcd142c4b39643e3f7d376ed8d4841 (patch)
treed6c38eb9740a05e473fcec0f5069d7467cf53347 /install/static/navigation.js
parentd201a4350d8ce0adb97e8f161ab916bb6bc066a5 (diff)
downloadfreeipa.git-09555fae17dcd142c4b39643e3f7d376ed8d4841.tar.gz
freeipa.git-09555fae17dcd142c4b39643e3f7d376ed8d4841.tar.xz
freeipa.git-09555fae17dcd142c4b39643e3f7d376ed8d4841.zip
tab objects
Convert the tab lists to arrays of objects with four potential fields: tab[0] -> tab.name tab[1] -> tab.label tab[2] -> tab.setup or tab.children Added unit tests for nav_setup and nav_select_tab
Diffstat (limited to 'install/static/navigation.js')
-rw-r--r--install/static/navigation.js25
1 files changed, 13 insertions, 12 deletions
diff --git a/install/static/navigation.js b/install/static/navigation.js
index 683c8726..169729ba 100644
--- a/install/static/navigation.js
+++ b/install/static/navigation.js
@@ -18,6 +18,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+
function nav_create(nls, container, tabclass)
{
if (!container)
@@ -50,21 +51,21 @@ function nav_generate_tabs(nls, container, tabclass, depth)
for (var i = 0; i < nls.length; ++i) {
var n = nls[i];
- var name = n[1];
- if ((ipa_objs[n[0]]) && (ipa_objs[n[0]].label)){
- name = ipa_objs[n[0]].label;
+ var name = n.name;
+ if ((ipa_objs[n.name]) && (ipa_objs[n.name].label)){
+ name = ipa_objs[n.name].label;
}
- var li = nav_create_tab_li(n[0], name);
+ var li = nav_create_tab_li(n.name, name);
ul.append(li);
- var div = nav_create_tab_div(n[0]);
+ var div = nav_create_tab_div(n.name);
container.append(div);
- if (typeof n[2] == 'function') {
- n[2](div);
- } else if (n[2].length) {
- nav_generate_tabs(n[2], div, tabclass, depth +1 );
+ if (n.setup) {
+ n.setup(div);
+ } else if (n.children) {
+ nav_generate_tabs(n.children, div, tabclass, depth +1 );
}
}
}
@@ -95,10 +96,10 @@ function nav_select_tabs(nls, container)
for (var i = 0; i < nls.length; ++i) {
var n = nls[i];
- var div = $('#'+n[0]);
+ var div = $('#'+n.name);
- if (typeof n[2] != 'function' && n[2].length) {
- nav_select_tabs(n[2], div);
+ if ( (!n.setup) && n.children) {
+ nav_select_tabs(n.children, div);
}
}
}