diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-04-07 16:14:58 -0500 |
---|---|---|
committer | Endi Sukma Dewata <edewata@people01.fedoraproject.org> | 2011-04-11 16:03:37 +0000 |
commit | 689fd30b522c1bb77bb6e087bdfca940553fe495 (patch) | |
tree | 7a95153df1983c3384e4f0a3957723da5d73fad8 /install/ui/dialog.js | |
parent | f0f83a862eee908c308c25561a18f8b1e218c081 (diff) | |
download | freeipa-689fd30b522c1bb77bb6e087bdfca940553fe495.tar.gz freeipa-689fd30b522c1bb77bb6e087bdfca940553fe495.tar.xz freeipa-689fd30b522c1bb77bb6e087bdfca940553fe495.zip |
Refactored builder interface.
The IPA.entity_builder has been modified to take a 'factory' parameter
in custom facet's and custom dialog's spec. The IPA.dialog has been
modified to take an array of fields in the spec. The IPA.search_facet
has been modified to take an array of columns in the spec.
Diffstat (limited to 'install/ui/dialog.js')
-rw-r--r-- | install/ui/dialog.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/install/ui/dialog.js b/install/ui/dialog.js index 17e78af6d..964d5f5fc 100644 --- a/install/ui/dialog.js +++ b/install/ui/dialog.js @@ -265,6 +265,25 @@ IPA.dialog = function(spec) { that.dialog_setup = that.setup; that.dialog_open = that.open; + var fields = spec.fields || []; + for (var i=0; i<fields.length; i++) { + var field_spec = fields[i]; + var field; + + if (field_spec instanceof Object) { + if (field_spec.factory) { + field = field_spec.factory(field_spec); + } else { + field = IPA.text_widget(field_spec); + } + } else { + var field_name = field_spec; + field = IPA.text_widget({ name: field_name, undo: false }); + } + + that.add_field(field); + } + return that; }; |