Re: [Freeipa-devel] [PATCH]admiyo-freeipa-0047-tab-objects.patch

2010-09-29 Thread Adam Young

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

2010-09-29 Thread Adam Young

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

2010-09-28 Thread Adam Young

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

2010-09-28 Thread Adam Young

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

2010-09-28 Thread Endi Sukma Dewata
- 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