diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-08-10 20:03:02 -0500 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2011-09-09 19:47:05 +0000 |
commit | 26ded75be94e60a34a19d06ce4a5fb3185875cd5 (patch) | |
tree | 498efdb8de69d26b37963b301090ca92877e93a2 /install/ui/details.js | |
parent | 806a40846b8848ffe2f23e216949d7a8babc5c79 (diff) | |
download | freeipa.git-26ded75be94e60a34a19d06ce4a5fb3185875cd5.tar.gz freeipa.git-26ded75be94e60a34a19d06ce4a5fb3185875cd5.tar.xz freeipa.git-26ded75be94e60a34a19d06ce4a5fb3185875cd5.zip |
Fixed layout problem in permission adder dialog.
In order to maintain consistent layout between details page and dialog
boxes the IPA.details_list_section has been replaced with
IPA.details_table_section which is based on table.
The IPA.target_section and other subclasses of IPA.details_list_section
have been converted to use IPA.details_table_section as well.
The unit tests have been updated accordingly.
Ticket #1648
Diffstat (limited to 'install/ui/details.js')
-rw-r--r-- | install/ui/details.js | 83 |
1 files changed, 39 insertions, 44 deletions
diff --git a/install/ui/details.js b/install/ui/details.js index dbdca5a1..23f217af 100644 --- a/install/ui/details.js +++ b/install/ui/details.js @@ -95,7 +95,8 @@ IPA.details_section = function(spec) { var field = fields[i]; var field_container = $('<div/>', { name: field.name, - 'class': 'details-field' + title: field.label, + 'class': 'field' }).appendTo(container); field.create(field_container); } @@ -167,36 +168,7 @@ IPA.details_section = function(spec) { return that; }; - -/** - * This class creates a details section formatted as a list of - * attributes names and values. The list is defined using a <dl> tag. - * The attribute name is defined inside a <dt> tag. The attribute - * value is specified within a <span> inside a <dd> tag. If the - * attribute has multiple values the <span> will contain be - * duplicated to display each value. - * - * Example: - * <dl class="entryattrs"> - * - * <dt title="givenname">First Name:</dt> - * <dd> - * <span name="givenname"> - * John Smith - * </span> - * </dd> - * - * <dt title="telephonenumber">Telephone Number:</dt> - * <dd> - * <span name="telephonenumber"> - * <div name="value">111-1111</div> - * <div name="value">222-2222</div> - * </span> - * </dd> - * - * </dl> - */ -IPA.details_list_section = function(spec) { +IPA.details_table_section = function(spec) { spec = spec || {}; @@ -207,33 +179,56 @@ IPA.details_list_section = function(spec) { // do not call section_create() here - var dl = $('<dl/>', { - 'id': that.name, - 'class': 'entryattrs' - }).appendTo(container); + var table = $('<table/>', { + 'class': 'section-table' + }).appendTo(that.container); var fields = that.fields.values; for (var i=0; i<fields.length; i++) { var field = fields[i]; + if (field.hidden) continue; - var label = field.label || ''; + var tr = $('<tr/>').appendTo(table); - $('<dt/>', { - html: label+':', - title: label - }).appendTo(dl); + var td = $('<td/>', { + 'class': 'section-cell-label' + }).appendTo(tr); - var dd = $('<dd/>').appendTo(dl); + $('<label/>', { + name: field.name, + title: field.label, + 'class': 'field-label', + text: field.label+':' + }).appendTo(td); + + td = $('<td/>', { + 'class': 'section-cell-field' + }).appendTo(tr); var field_container = $('<div/>', { name: field.name, - 'class': 'details-field' - }).appendTo(dd); + title: field.label, + 'class': 'field' + }).appendTo(td); + field.create(field_container); + + if (field.optional){ + field_container.css('display', 'none'); + var link = $('<a/>', { + text: IPA.messages.widget.optional, + href: '', + click: function() { + field_container.css('display', 'inline'); + link.css('display', 'none'); + return false; + } + }).appendTo(td); + } } }; - that.list_section_create = that.create; + that.table_section_create = that.create; return that; }; |