Re: [Freeipa-devel] [PATCH]admiyo-freeipa-0047-tab-objects.patch
On 09/29/2010 12:44 AM, Endi Sukma Dewata wrote: - Adam Youngayo...@redhat.com wrote: 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 ACK, but could you add the unit tests into the index.html and all_tests.html? I'll add unit tests too and rebase my patch on your patch. Thanks. diff --git a/install/static/test/all_tests.html b/install/static/test/all_tests.html index 687bea1..93c4de2 100644 --- a/install/static/test/all_tests.html +++ b/install/static/test/all_tests.html @@ -5,15 +5,19 @@ link rel=stylesheet href=qunit.css type=text/css media=screen script type=text/javascript src=qunit.js/script script type=text/javascript src=../jquery.js/script +script type=text/javascript src=../jquery.ba-bbq.js/script +script type=text/javascript src=../jquery-ui.js/script script type=text/javascript src=../ipa.js/script script type=text/javascript src=../details.js/script script type=text/javascript src=../search.js/script script type=text/javascript src=../add.js/script script type=text/javascript src=../entity.js/script script type=text/javascript src=../associate.js/script +script type=text/javascript src=../navigation.js/script script type=text/javascript src=ipa_tests.js/script script type=text/javascript src=entity_tests.js/script script type=text/javascript src=association_tests.js/script +script type=text/javascript src=navigation_tests.js/script /head body h1 id=qunit-headerComplete Test Suite/h1 diff --git a/install/static/test/index.html b/install/static/test/index.html index 14ca7f0..581be24 100644 --- a/install/static/test/index.html +++ b/install/static/test/index.html @@ -27,6 +27,7 @@ lia href=ipa_tests.htmlCore Test Suite/a lia href=entity_tests.htmlEntity Test Suite/a lia href=association_tests.htmlAssociation Test Suite/a +lia href=navigation_tests.htmlNavigation Test Suite/a /ul /div -- Endi S. Dewata Yeah. I'll do that before checkin ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel
Re: [Freeipa-devel] [PATCH]admiyo-freeipa-0047-tab-objects.patch
On 09/29/2010 12:44 AM, Endi Sukma Dewata wrote: - Adam Youngayo...@redhat.com wrote: 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 ACK, but could you add the unit tests into the index.html and all_tests.html? I'll add unit tests too and rebase my patch on your patch. Thanks. Done, and pushed to master. diff --git a/install/static/test/all_tests.html b/install/static/test/all_tests.html index 687bea1..93c4de2 100644 --- a/install/static/test/all_tests.html +++ b/install/static/test/all_tests.html @@ -5,15 +5,19 @@ link rel=stylesheet href=qunit.css type=text/css media=screen script type=text/javascript src=qunit.js/script script type=text/javascript src=../jquery.js/script +script type=text/javascript src=../jquery.ba-bbq.js/script +script type=text/javascript src=../jquery-ui.js/script script type=text/javascript src=../ipa.js/script script type=text/javascript src=../details.js/script script type=text/javascript src=../search.js/script script type=text/javascript src=../add.js/script script type=text/javascript src=../entity.js/script script type=text/javascript src=../associate.js/script +script type=text/javascript src=../navigation.js/script script type=text/javascript src=ipa_tests.js/script script type=text/javascript src=entity_tests.js/script script type=text/javascript src=association_tests.js/script +script type=text/javascript src=navigation_tests.js/script /head body h1 id=qunit-headerComplete Test Suite/h1 diff --git a/install/static/test/index.html b/install/static/test/index.html index 14ca7f0..581be24 100644 --- a/install/static/test/index.html +++ b/install/static/test/index.html @@ -27,6 +27,7 @@ lia href=ipa_tests.htmlCore Test Suite/a lia href=entity_tests.htmlEntity Test Suite/a lia href=association_tests.htmlAssociation Test Suite/a +lia href=navigation_tests.htmlNavigation Test Suite/a /ul /div -- Endi S. Dewata ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel
[Freeipa-devel] [PATCH]admiyo-freeipa-0047-tab-objects.patch
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 From c805c7b0045d55d8ddf8a29c0f43c901cf705a0f Mon Sep 17 00:00:00 2001 From: Adam Young ayo...@redhat.com Date: Tue, 28 Sep 2010 19:20:02 -0400 Subject: [PATCH] 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 --- install/static/navigation.js | 25 +++-- install/static/webui.js | 50 ++--- 2 files changed, 40 insertions(+), 35 deletions(-) diff --git a/install/static/navigation.js b/install/static/navigation.js index 683c872..169729b 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); } } } diff --git a/install/static/webui.js b/install/static/webui.js index aa17b41..331ec82 100644 --- a/install/static/webui.js +++ b/install/static/webui.js @@ -21,26 +21,30 @@ /* REQUIRES: everything, this file puts it all togheter */ /* tabs definition for IPA webUI */ -var admin_tabs_lists = [ -['identity', 'IDENTITY', [ -['user', 'Users', ipa_entity_setup], -['group', 'Groups', ipa_entity_setup], -['host', 'Hosts', ipa_entity_setup], -['hostgroup', 'Hostgroups', ipa_entity_setup], -['netgroup', 'Netgroups', ipa_entity_setup], -['service', 'Services', ipa_entity_setup], -]], -['policy', 'POLICY', unimplemented_tab], -['config', 'CONFIG', [ -['rolegroup', 'Rolegroups', ipa_entity_setup] -]] + + +var admin_tab_set = [ +{name:'identity', label:'IDENTITY', children:[ +{name:'user', label:'Users', setup: ipa_entity_setup}, +{name:'group', label:'Groups', setup: ipa_entity_setup}, +{name:'host', label:'Hosts', setup: ipa_entity_setup}, +{name:'hostgroup', label:'Hostgroups', setup: ipa_entity_setup}, +{name:'netgroup', label:'Netgroups', setup: ipa_entity_setup}, +{name:'service', label:'Services', setup: ipa_entity_setup}, +]}, +{name:'policy', label:'POLICY', setup: unimplemented_tab}, +{name:'config', label:'CONFIG', children: [ +{name:'rolegroup', label:'Rolegroups', setup: ipa_entity_setup} +]} ]; + + var self_serv_tabs_lists = [ -['identity', 'IDENTITY', [ -['user', 'Users', ipa_entity_setup; +{ name:'identity', label:'IDENTITY', children: [ +{name:'user', label:'Users', setup:ipa_entity_setup}]}]; var nav_tabs_lists; @@ -59,9 +63,9 @@ $(function() { {'user-facet':'details', 'user-pkey':whoami_pkey},2); if (whoami.hasOwnProperty('memberof_rolegroup') whoami.memberof_rolegroup.length 0){ -nav_tabs_lists = admin_tabs_lists; +nav_tabs_lists = admin_tab_set; }else{ -nav_tabs_lists = self_serv_tabs_lists; +nav_tabs_lists = self_serv_tab_set; var state = {'user-pkey':whoami_pkey , 'user-facet': jQuery.bbq.getState('user-facet') || @@ -106,12 +110,12 @@ function window_hashchange(evt) for (var i = 0; i nav_tabs_lists.length; ++i) { var t = nav_tabs_lists[i]; -if (typeof t[2] != 'function' t[2].length) { -
Re: [Freeipa-devel] [PATCH]admiyo-freeipa-0047-tab-objects.patch
On 09/28/2010 07:23 PM, Adam Young wrote: 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 ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel Added unit tests From 1e8a61d2a77362a0eec042a9859b31560d2b4263 Mon Sep 17 00:00:00 2001 From: Adam Young ayo...@redhat.com Date: Tue, 28 Sep 2010 19:20:02 -0400 Subject: [PATCH] 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 --- install/static/navigation.js | 25 +- install/static/test/navigation_tests.html | 21 install/static/test/navigation_tests.js | 75 + install/static/webui.js | 50 ++- 4 files changed, 136 insertions(+), 35 deletions(-) create mode 100644 install/static/test/navigation_tests.html create mode 100644 install/static/test/navigation_tests.js diff --git a/install/static/navigation.js b/install/static/navigation.js index 683c872..169729b 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); } } } diff --git a/install/static/test/navigation_tests.html b/install/static/test/navigation_tests.html new file mode 100644 index 000..dbb562f --- /dev/null +++ b/install/static/test/navigation_tests.html @@ -0,0 +1,21 @@ +!DOCTYPE html +html +head +titleNavigation Test Suite/title +link rel=stylesheet href=qunit.css type=text/css media=screen +script type=text/javascript src=qunit.js/script +script type=text/javascript src=../jquery.js/script +script type=text/javascript src=../jquery.ba-bbq.js/script +script type=text/javascript src=../jquery-ui.js/script +script type=text/javascript src=../navigation.js/script +script type=text/javascript src=navigation_tests.js/script +/head +body +h1 id=qunit-headerNavigation Test Suite/h1 +h2 id=qunit-banner/h2 +div id=qunit-testrunner-toolbar/div +h2 id=qunit-userAgent/h2 +ol id=qunit-tests/ol +div id=qunit-fixturetest markup/div +/body +/html diff --git a/install/static/test/navigation_tests.js b/install/static/test/navigation_tests.js new file mode 100644 index 000..16b3ae9 --- /dev/null +++ b/install/static/test/navigation_tests.js @@ -0,0 +1,75 @@ +/* Authors: + *Adam Young ayo...@redhat.com + * + * Copyright (C) 2010 Red Hat + * see file 'COPYING' for use and warranty information + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; version 2 only + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + + + +test(Testing nav_create().,
Re: [Freeipa-devel] [PATCH]admiyo-freeipa-0047-tab-objects.patch
- Adam Young ayo...@redhat.com wrote: 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 ACK, but could you add the unit tests into the index.html and all_tests.html? I'll add unit tests too and rebase my patch on your patch. Thanks. diff --git a/install/static/test/all_tests.html b/install/static/test/all_tests.html index 687bea1..93c4de2 100644 --- a/install/static/test/all_tests.html +++ b/install/static/test/all_tests.html @@ -5,15 +5,19 @@ link rel=stylesheet href=qunit.css type=text/css media=screen script type=text/javascript src=qunit.js/script script type=text/javascript src=../jquery.js/script +script type=text/javascript src=../jquery.ba-bbq.js/script +script type=text/javascript src=../jquery-ui.js/script script type=text/javascript src=../ipa.js/script script type=text/javascript src=../details.js/script script type=text/javascript src=../search.js/script script type=text/javascript src=../add.js/script script type=text/javascript src=../entity.js/script script type=text/javascript src=../associate.js/script +script type=text/javascript src=../navigation.js/script script type=text/javascript src=ipa_tests.js/script script type=text/javascript src=entity_tests.js/script script type=text/javascript src=association_tests.js/script +script type=text/javascript src=navigation_tests.js/script /head body h1 id=qunit-headerComplete Test Suite/h1 diff --git a/install/static/test/index.html b/install/static/test/index.html index 14ca7f0..581be24 100644 --- a/install/static/test/index.html +++ b/install/static/test/index.html @@ -27,6 +27,7 @@ lia href=ipa_tests.htmlCore Test Suite/a lia href=entity_tests.htmlEntity Test Suite/a lia href=association_tests.htmlAssociation Test Suite/a +lia href=navigation_tests.htmlNavigation Test Suite/a /ul /div -- Endi S. Dewata ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel