diff options
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; }; |