diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-11-11 22:33:05 -0600 |
---|---|---|
committer | Adam Young <ayoung@redhat.com> | 2011-11-14 16:47:08 -0500 |
commit | d6d24be28953f2ec3cf1f2400619fd61459cf45f (patch) | |
tree | 3a0db972a38a37b417a0aaba3c1b38ecf60e4cb9 /install/ui/details.js | |
parent | 0f34e0bf82d5e0bf905ac8af7257d2f33d72d9a0 (diff) | |
download | freeipa-d6d24be28953f2ec3cf1f2400619fd61459cf45f.tar.gz freeipa-d6d24be28953f2ec3cf1f2400619fd61459cf45f.tar.xz freeipa-d6d24be28953f2ec3cf1f2400619fd61459cf45f.zip |
Refactored permission target section.
The permission target section has been modified to use widgets
to create the target selection and handle multiple fields.
Ticket #2098
Diffstat (limited to 'install/ui/details.js')
-rw-r--r-- | install/ui/details.js | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/install/ui/details.js b/install/ui/details.js index d17e06f47..fd3570e1c 100644 --- a/install/ui/details.js +++ b/install/ui/details.js @@ -118,13 +118,19 @@ IPA.details_section = function(spec) { var fields = that.fields.values; for (var i=0; i<fields.length; i++) { var field = fields[i]; - if (field.hidden) continue; var field_container = $('<div/>', { name: field.name, title: field.label, 'class': 'field' - }).appendTo(container); + }); + + if (field.hidden) { + field_container.css('display', 'none'); + } + + field_container.appendTo(container); + field.create(field_container); } }; @@ -237,6 +243,8 @@ IPA.details_table_section = function(spec) { var that = IPA.details_section(spec); + that.rows = $.ordered_map(); + that.create = function(container) { that.container = container; @@ -249,9 +257,15 @@ IPA.details_table_section = function(spec) { var fields = that.fields.values; for (var i=0; i<fields.length; i++) { var field = fields[i]; - if (field.hidden) continue; - var tr = $('<tr/>').appendTo(table); + var tr = $('<tr/>'); + that.add_row(field.name, tr); + + if (field.hidden) { + tr.css('display', 'none'); + } + + tr.appendTo(table); var td = $('<td/>', { 'class': 'section-cell-label', @@ -280,6 +294,19 @@ IPA.details_table_section = function(spec) { } }; + that.add_row = function(name, row) { + that.rows.put(name, row); + }; + + that.get_row = function(name) { + return that.rows.get(name); + }; + + that.set_row_visible = function(name, visible) { + var row = that.get_row(name); + row.css('display', visible ? '' : 'none'); + }; + that.table_section_create = that.create; return that; |