cloudstack UI - dialog widget - (1) extend field's isHidden property to have function type other than boolean type. (2) do not call field's select function if field's isHidden property is false.

This commit is contained in:
Jessica Wang 2012-10-04 11:57:18 -07:00
parent 15f6fbbee4
commit f7667e8a88
2 changed files with 56 additions and 14 deletions

View File

@ -81,7 +81,43 @@
}
});
}
},
},
domainid: {
label: 'Domain',
select: function(args) {
$.ajax({
url: createURL('listDomains'),
data: { listAll: true },
success: function(json) {
args.response.success({
data: $.map(json.listdomainsresponse.domain, function(domain) {
return {
id: domain.id,
description: domain.path
};
})
});
}
});
},
isHidden: function(args) {
if(isAdmin() || isDomainAdmin())
return false;
else
return true;
}
},
account: {
label: 'Account',
isHidden: function(args) {
if(isAdmin() || isDomainAdmin())
return false;
else
return true;
}
},
tagKey: { label: 'Tag Key' },
tagValue: { label: 'Tag Value' }
},

View File

@ -65,9 +65,14 @@
var $formItem = $('<div>')
.addClass('form-item')
.attr({ rel: key });
if (field.hidden || field.isHidden) $formItem.hide();
if(field.isHidden != null) {
if (typeof(field.isHidden) == 'boolean' && field.isHidden == true)
$formItem.hide();
else if (typeof(field.isHidden) == 'function' && field.isHidden() == true)
$formItem.hide();
}
$formItem.appendTo($form);
//Handling Escape KeyPress events
@ -91,10 +96,7 @@
closeOnEscape: false
}); */
// Label field
//if( field.label == 'label.network.offering' || field.label == 'label.guest.gateway')
// debugger;
var $name = $('<div>').addClass('name')
.appendTo($formItem)
.append(
@ -198,9 +200,9 @@
selectFn = field.select;
$input = $('<select>')
.attr({ name: key })
.data('dialog-select-fn', function(args) {
selectFn(args ?
$.extend(true, {}, selectArgs, args) : selectArgs);
.data('dialog-select-fn', function(args) {
if((field.isHidden == null) || (typeof(field.isHidden) == 'boolean' && field.isHidden == false) || (typeof(field.isHidden) == 'function' && field.isHidden() == false))
selectFn(args ? $.extend(true, {}, selectArgs, args) : selectArgs);
})
.appendTo($value);
@ -224,16 +226,20 @@
if (!$target.children().size()) return true;
dependsOnArgs[dependsOn] = $target.val();
selectFn($.extend(selectArgs, dependsOnArgs));
if((field.isHidden == null) || (typeof(field.isHidden) == 'boolean' && field.isHidden == false) || (typeof(field.isHidden) == 'function' && field.isHidden() == false))
selectFn($.extend(selectArgs, dependsOnArgs));
return true;
});
if (!$dependsOn.is('select')) {
selectFn(selectArgs);
if((field.isHidden == null) || (typeof(field.isHidden) == 'boolean' && field.isHidden == false) || (typeof(field.isHidden) == 'function' && field.isHidden() == false))
selectFn(selectArgs);
}
} else {
selectFn(selectArgs);
if((field.isHidden == null) || (typeof(field.isHidden) == 'boolean' && field.isHidden == false) || (typeof(field.isHidden) == 'function' && field.isHidden() == false))
selectFn(selectArgs);
}
} else if (field.isBoolean) {
if (field.multiArray) {