diff options
author | Adam Young <ayoung@redhat.com> | 2010-09-28 19:20:02 -0400 |
---|---|---|
committer | Adam Young <ayoung@redhat.com> | 2010-09-29 09:30:09 -0400 |
commit | 09555fae17dcd142c4b39643e3f7d376ed8d4841 (patch) | |
tree | d6c38eb9740a05e473fcec0f5069d7467cf53347 /install/static/navigation.js | |
parent | d201a4350d8ce0adb97e8f161ab916bb6bc066a5 (diff) | |
download | freeipa.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.js | 25 |
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); } } } |