').addClass('range-edit').appendTo($value)
);
$input.wrap($('
').addClass('range-item'));
} else {
$input = $(' ').attr({
name: key,
type: field.password || field.isPassword ? 'password' : 'text'
}).appendTo($value);
if (field.defaultValue) {
$input.val(field.defaultValue);
}
}
$input.addClass("disallowSpecialCharacters");
}
$input.data('validation-rules', field.validation);
$('').addClass('error').appendTo($value).html('*' + _l('label.required'));
});
$form.find('select').trigger('change');
var getFormValues = function() {
var formValues = {};
$.each(args.form.fields, function(key) {});
};
// Setup form validation
$formContainer.find('form').validate();
$formContainer.find('input, select').each(function() {
if ($(this).data('validation-rules')) {
$(this).rules('add', $(this).data('validation-rules'));
}
});
var complete = function($formContainer) {
var $form = $formContainer.find('form');
var data = cloudStack.serializeForm($form);
if (!$formContainer.find('form').valid()) {
// Ignore hidden field validation
if ($formContainer.find('input.error:visible, select.error:visible').size()) {
return false;
}
}
args.after({
data: data,
ref: args.ref, // For backwards compatibility; use context
context: args.context,
$form: $form
});
return true;
};
if (args.noDialog) {
return {
$formContainer: $formContainer,
completeAction: complete
};
}
return $formContainer.dialog({
dialogClass: 'create-form',
closeOnEscape: false,
width: 400,
title: _l(args.form.title),
open: function() {
if (args.form.preFilter) {
args.form.preFilter({ $form: $form, context: args.context });
}
},
buttons: [
{
text: createLabel ? createLabel : _l('label.ok'),
'class': 'ok',
click: function() {
if (!complete($formContainer)) { return false; }
$('div.overlay').remove();
$formContainer.remove();
$(this).dialog('destroy');
return true;
}
},
{
text: _l('label.cancel'),
'class': 'cancel',
click: function() {
$('div.overlay').remove();
$formContainer.remove();
$(this).dialog('destroy');
}
}
]
}).closest('.ui-dialog').overlay();
},
/**
* Confirmation dialog
*/
confirm: function(args) {
return $(
$('').addClass('message').html(
_l(args.message)
)
).dialog({
title: _l('label.confirmation'),
dialogClass: 'confirm',
closeOnEscape: false,
zIndex: 5000,
buttons: [
{
text: _l('label.no'),
'class': 'cancel',
click: function() {
$(this).dialog('destroy');
$('div.overlay').remove();
if (args.cancelAction) { args.cancelAction(); }
}
},
{
text: _l('label.yes'),
'class': 'ok',
click: function() {
args.action();
$(this).dialog('destroy');
$('div.overlay').remove();
}
}
]
}).closest('.ui-dialog').overlay();
},
/**
* Notice dialog
*/
notice: function(args) {
return $(
$('').addClass('message').html(
_l(args.message)
)
).dialog({
title: _l('label.status'),
dialogClass: 'notice',
closeOnEscape: false,
zIndex: 5000,
buttons: [
{
text: _l('Close'),
'class': 'close',
click: function() {
$(this).dialog('destroy');
if (args.clickAction) args.clickAction();
}
}
]
});
}
};
})(window.jQuery, window.cloudStack);