/////////////////// Render related functions /////////////////////////////
var globalPasswordsArray = [];
function generateDivForService (option, type, service, property, unit, displayAttributes) {
var unitString = (unit != null) ? unit : '';
var readOnlyFlag= false;
if (displayAttributes != null && displayAttributes.editable != null
&& !displayAttributes.editable) {
readOnlyFlag = true;
}
var retString = '
' +
'' +
//((unitString != '') ? '
' : '') +
' ' + unitString +
'
' + option['description'] + '
' +
//((unitString != '') ? '
' : '') +
'' +
'
';
if (type == "password") {
retString += '
' +
'' +
'' +
'
' + option['description'] + '
' +
'' +
'
';
/// Put it in the global passwd array
globalPasswordsArray[globalPasswordsArray.length] = {
"passwordDivId" : property,
"verificationDivId" : property + 'SecretService'
};
globalYui.log("Global Passwords Array: " + globalYui.Lang.dump(globalPasswordsArray));
}
return retString;
}
function constructDOM(optionsInfo) {
/* Reset globalPasswordsArray at the beginning of each render cycle to
* avoid using stale data from the last run - this isn't a problem on the
* Configure Services page, but it bites us on the Manage Services page
* there is re-use of this module of code within the same JS memory.
*/
globalPasswordsArray = [];
var optionsSummary = "";
for (servicesKey in optionsInfo['services']) {
if (optionsInfo['services'][servicesKey]["isEnabled"] == true) {
var serviceNeedsRender = false;
var propertiesRendering = "";
for (property in optionsInfo['services'][servicesKey]["properties"]) {
// service has configs, so needs render
var type = convertDisplayType(optionsInfo['services'][servicesKey]['properties'][property]['type']);
// globalYui.log("TYPE: " + type + "Property: " + property);
if (type == "NODISPLAY") {
continue;
}
serviceNeedsRender = true;
var unit = optionsInfo['services'][servicesKey]['properties'][property]['unit'];
var displayAttributes = null;
if (optionsInfo['services'][servicesKey]['properties'][property]['displayAttributes']) {
displayAttributes = optionsInfo['services'][servicesKey]['properties'][property]['displayAttributes'];
}
propertiesRendering += generateDivForService(optionsInfo['services'][servicesKey]["properties"][property], type, servicesKey, property, unit, displayAttributes);
}
if (serviceNeedsRender) {
optionsSummary += "