summaryrefslogtreecommitdiffstats
path: root/install/ui/dialog.js
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-04-07 16:14:58 -0500
committerEndi Sukma Dewata <edewata@people01.fedoraproject.org>2011-04-11 16:03:37 +0000
commit689fd30b522c1bb77bb6e087bdfca940553fe495 (patch)
tree7a95153df1983c3384e4f0a3957723da5d73fad8 /install/ui/dialog.js
parentf0f83a862eee908c308c25561a18f8b1e218c081 (diff)
downloadfreeipa-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.js19
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;
};