/*##############################################################################
# Copyright (C) 2011 HPCC Systems.
#
# All rights reserved. This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
############################################################################## */
/*global YAHOO*/
(function() {
var loader = new YAHOO.util.YUILoader();
loader.insert({
require: ["reset-fonts-grids", "base", "datatable", "selector", "progressbar"],
base: '/esp/files/yui/build/',
loadOptional: true,
filter: "MIN",
allowRollup: true,
onSuccess: function() {
var invokeWiz = true;
YAHOO.util.Event.onContentReady("envctrls", function() {
function fnce() {
var oPushButton3 = new YAHOO.widget.Button("validatebutton", { onclick: { fn: validateEnvironment} });
var oPushButton2 = new YAHOO.widget.Button("savebutton", { onclick: { fn: saveEnvironment} });
var oPushButton4 = new YAHOO.widget.Button("openbutton", { onclick: { fn: displayOpenEnvDialog} });
var oPushButton5 = new YAHOO.widget.Button("wizardbutton", { onclick: { fn: invokeWizard} });
var form = document.forms['treeForm'];
updateEnvCtrls(form.isLocked.value === "true");
}
versionOperation(fnce, fnce);
});
top.document.startWait = function(doc) { top.document.body.style.cursor = "wait"; if (doc) doc.body.style.cursor = "wait"; }
top.document.stopWait = function(doc) { top.document.body.style.cursor = "auto"; if (doc) doc.body.style.cursor = "auto"; }
if (top.window.location.search.length > 0) {
var filename = top.window.location.search.split(/=/g);
document.forms['treeForm'].sourcefile.value = decodeURI(filename[1]);
invokeWiz = false;
}
document.getElementById('top1').style.display = 'none';
getWaitDlg().show();
var params = "queryType=customType::params=environment,laststarted,defenvfile,username,wizops";
if (!invokeWiz)
params += ",lastsaved";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetValue', {
success: function(o) {
getWaitDlg().hide();
document.getElementById('top1').style.display = 'none';
if (o.responseText.indexOf("/g);
var xml1 = xml[1].split(/<\/ReqValue>/g);
var form = document.forms['treeForm'];
if (xml1.length > 0) {
var arrayXml = xml1[0].split(",");
for (var j = 0; j < arrayXml.length; j++) {
var keyValue = arrayXml[j].split("=");
var key = keyValue[0];
var value = keyValue[1];
if (key === 'environment') {
if (value === 'true')
form.foundEnvironment.value = "true";
}
else if (key == "laststarted")
form.lastStarted.value = value;
else if (key == "lastSaved")
form.lastSaved.value = value;
else if (key == "defenvfile")
form.defenvfile.value = value;
else if (key == "username")
form.userid.value = value;
else if (key == "wizops")
form.wizops.value = value;
}
if (invokeWiz)
invokeWizard();
else
handleAdvance();
}
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
var loc = window.location.href.split(/\?/g);
var newwin = top.open(loc[0], "_self");
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Params=' + params);
}
});
})();
function getModeSelected() {
if(document.getElementById('advButton').checked)
return '2';
else if(document.getElementById('wizButton').checked)
return '1';
else
return '0';
}
function invokeWizard() {
var handleCancelForDisplayScreen = function() {
document.forms['treeForm'].mode.value = prevMode;
top.document.displayModeDialog1.hide();
if(!top.document.navDT && document.forms['treeForm'].sumparams.value !== '1'){
top.document.layout.render();
if (document.getElementById('ReadWrite') && !top.document.navDT)
{
document.getElementById('ReadWrite').disabled = true;
document.getElementById('savebutton').disabled = true;
document.getElementById('validatebutton').disabled = true;
}
document.getElementById('top1').style.display = 'block';
if( document.forms['treeForm'].wizops != '3')
getMessagePanel("Please select wizard to create an environment or select open environment to view environment summary.").show();
else
getMessagePanel("Please select wizard or open an environment to create/edit environment.").show();
}
}
var prevMode = document.forms['treeForm'].mode.value;
document.forms['treeForm'].mode.value = getModeSelected();
var handleNext = function() {
top.document.keepAliveInt = setInterval(keepAlive, 10000);
var radioButtons = document.getElementsByName("radiobutton");
for (var x = 0; x < radioButtons.length; x++) {
if (radioButtons[x].checked) {
if (document.forms['treeForm'].mode.value !== radioButtons[x].value)
document.forms['treeForm'].mode.value = radioButtons[x].value;
}
}
if (document.forms['treeForm'].mode.value === '1' || document.forms['treeForm'].mode.value === '0') {
loadAndCheckFileNames(document.forms['treeForm'].mode.value);
}
else if (document.forms['treeForm'].mode.value === '2') {
var pattern = /Select/;
var val = document.getElementById('fileDropDownMenu').value;
if (val.length == 0 || val.match(pattern) != null)
alert("Please select the file to be opened");
else {
document.forms['treeForm'].sourcefile.value = val;
var loc = window.location.href.split(/\?/g);
var newwin = top.open(loc[0] + "?sourcefile=" + val, "_self");
}
}
else if (document.forms['treeForm'].mode.value === '4') {
var pattern = /Select/;
var val = document.getElementById('sumDropDownMenu').value;
if (val.length == 0 || val.match(pattern) != null)
alert("Please select the file to be opened");
else {
document.forms['treeForm'].wizfile.value = val;
this.hide();
getSummaryPage();
}
}
};
if (!top.document.displayModeDialog1) {
top.document.displayModeDialog1 = new YAHOO.widget.Dialog('displayModeDialog',
{
width: '500px',
resizable: true,
fixedcenter: true,
visible: false,
constraintoviewport: true,
draggable: true,
modal: true,
close: false,
zindex: 9999,
buttons: [{ text: "Cancel", handler: handleCancelForDisplayScreen },
{ text: "Next", handler: handleNext, isDefault: true}]
});
document.getElementById('displayModeDialog').style.display = 'block';
top.document.displayModeDialog1.renderEvent.subscribe(function(){
loadAndCheckFileNames('4');
enableCurrentOption(4);
});
top.document.displayModeDialog1.render();
top.document.displayModeDialog1.center();
updateWizCtrls();
top.document.displayModeDialog1.show();
top.document.displayModeDialog1.cancelEvent.subscribe(function() {
document.getElementById('top1').style.display = 'block';
});
}
else {
updateWizCtrls();
top.document.displayModeDialog1.show();
}
}
function handleAdvance(createFile) {
if(document.forms['treeForm'].wizops.value !='3') {
getSummaryPage();
return;
}
if (top.document.displayModeDialog1)
top.document.displayModeDialog1.hide();
var xmlArgs = 'reloadEnv=true::lockEnv=false';
if (createFile)
xmlArgs += '::createFile=true';
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetNavTreeDefn', {
success: function(o) {
if (o.responseText.indexOf("/g);
if (lSaved.length > 1) {
var lSaved1 = lSaved[1].split(/<\/LastSaved>/g);
if (lSaved1[0].charAt(0) != '<')
form.lastSaved.value = lSaved1[0];
}
var lStarted = o.responseText.split(//g);
if (lStarted.length > 1) {
var lStarted1 = lStarted[1].split(/<\/LastStarted>/g);
if (lStarted1[0].charAt(0) != '<')
form.lastStarted.value = lStarted1[0];
}
var temp = o.responseText.split(//g);
var temp1 = temp[1].split(/<\/CompDefn>/g);
eval(temp1[0]);
var treeData = getNavTreeData();
createNavigationTree(treeData);
top.document.stopWait();
top.document.title = 'HPCC Systems Configuration Manager - ' + form.sourcefile.value;
if (top.document.navDT.keepAliveInt)
clearInterval(top.document.navDT.keepAliveInt);
top.document.navDT.keepAliveInt = setInterval(keepAlive, 10000);
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'XmlArgs=' + xmlArgs);
}
function getFileName(flag, wiz) {
var str;
if (wiz)
str = "ReqInfo.FileName=" + document.forms['treeForm'].wizfile.value;
else
str = "ReqInfo.FileName=" + document.forms['treeForm'].sourcefile.value;
str += '&ReqInfo.UserId=' + document.forms['treeForm'].userid.value;
if (flag)
str += "&";
return str;
}
function keepAlive() {
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/ClientAlive',
{
success: function(o) {
var RefreshClient = o.responseText.split(//g);
if (RefreshClient.length <= 1)
return;
var RefreshClient1 = RefreshClient[1].split(/<\/RefreshClient>/g);
var LastSaved = o.responseText.split(//g);
var LastSaved1 = LastSaved[1].split(/<\/LastSaved>/g);
var LastStarted = o.responseText.split(//g);
var LastStarted1 = LastStarted[1].split(/<\/LastStarted>/g);
var form = document.forms['treeForm'];
var msg = "";
if ((LastStarted1[0].charAt(0) != '<' && form.lastStarted.value.length && (form.lastStarted.value != LastStarted1[0]))) {
msg = "ConfigMgr has been restarted. Press Ok to reload the Environment.";
var prevmode = document.forms['treeForm'].mode.value;
if (prevmode !== '2')
displayWizardFirstScreen();
updateEnvCtrls(false);
resetHiddenVars();
document.forms['treeForm'].mode.value = prevmode;
}
else if (form.saveInProgress.value !== "true" && (RefreshClient1[0] === 'true' || (LastSaved1[0].charAt(0) != '<' && form.lastSaved.value.length && (form.lastSaved.value != LastSaved1[0])))) {
if (document.forms['treeForm'].mode.value === '2')
msg = "Environment has been updated by another user. Press Ok to reload the Environment.";
form.lastSaved.value = LastSaved1[0];
}
if (msg.length > 0)
refresh(msg);
},
failure: function(o) {
},
scope: this
},
getFileName(false));
}
function createNavigationTree(navTreeData) {
top.document.layout.render();
document.getElementById('top1').style.display = 'block';
document.getElementById('center1').style.display = 'block';
document.getElementById('left1').style.display = 'block';
var Dom = YAHOO.util.Dom,
Lang = YAHOO.lang;
var hasChildren = {};
navTreeData[0].DisplayName += ' - ' + document.forms['treeForm'].sourcefile.value;
var navDS = new YAHOO.util.DataSource(navTreeData);
navDS.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
navDS.responseSchema = { fields: ["Name", "DisplayName", "Build", "BuildSet", "parent", "id", "depth", "menu", "Params", "CompType"] };
var navDT = new YAHOO.widget.DataTable(
'pageBody',
[
{ key: "DisplayName", label: "Name", width: 275, maxAutoWidth: 275, formatter: function(el, oRecord, oColumn, oData) {
el.innerHTML = "
" + oData + "
";
Dom.addClass(el, 'yui-dt-liner depth' + oRecord.getData('depth'));
}, scrollable: true, resizeable: true
},
{ key: "BuildSet", width: 125, resizeable: true }
],
navDS,
{
formatRow: function(row, record) {
var prnt = record.getData('parent');
if (prnt !== -1) {
Dom.addClass(row, 'hidden');
}
else //reset if we are starting or refreshing just the table
hasChildren = {};
hasChildren[prnt] = true;
return true;
}, width: "100%", selectionMode:"single"
}
);
top.document.navDT = navDT;
navDT.ds = navDS;
navDT.navTreeData = navTreeData;
navDT.subscribe("rowMouseoverEvent", navDT.onEventHighlightRow);
navDT.subscribe("rowMouseoutEvent", navDT.onEventUnhighlightRow);
navDT.subscribe("rowClickEvent", navDT.onEventSelectRow);
navDT.selectionToXML = function(targetRec, selectedRows, parentRec, tagName) {
var xmlStr;
if (typeof (tagName) !== 'undefined')
xmlStr = "<" + tagName + ">";
else
xmlStr = "";
var parentName;
if (typeof (targetRec) !== 'undefined') {
xmlStr += " 3)
var parentName = 'Environment';
if (targetRec.getData('parent') >= 0)
parentName = navDT.navTreeData[targetRec.getData('parent')]['Name'];
if (parentName !== 'Software' && parentName !== 'Environment') {
//if (parentName !== 'Environment')
parentName = navDT.navTreeData[navDT.navTreeData[targetRec.getData('parent')]['parent']]['Name'];
//else
//parentName = navDT.navTreeData[targetRec.getData('parent')]['Name'];
}
xmlStr += "\" parent=\"" + parentName + "\"/>";
}
if (typeof (selectedRows) !== 'undefined') {
for (var i = 0; i < selectedRows.length; i++) {
xmlStr += " 2)
parentName = navDT.navTreeData[navDT.navTreeData[navDT.getRecord(selectedRows[i]).getData('parent')]['parent']]['Name'];
else
parentName = navDT.navTreeData[navDT.getRecord(selectedRows[i]).getData('parent')]['Name'];
xmlStr += "\" parent=\"" + parentName + "\"/>";
}
}
if (typeof (tagName) !== 'undefined')
xmlStr += "" + tagName + ">";
else
xmlStr += "";
return xmlStr;
};
navDT.subscribe('renderEvent', function() {
var recSet = this.getRecordSet();
var recSetLen = recSet.getLength();
for (var i = 0; i < recSetLen; i++) {
var r = recSet.getRecord(i);
if (hasChildren[r.getData('id')]) {
var tdEl = this.getFirstTdEl(r);
var divEl = Dom.getChildren(tdEl);
var children = Dom.getChildren(divEl[0]);
children[0].id = "depth" + (r.getData('depth') - 1);
var inner = children[0].innerHTML;
children[0].innerHTML = "" + inner;
Dom.addClass(this.getTrEl(r), 'collapsed');
}
}
var prevSelRec = top.document.lastSelectedRow;
var prevTab = top.document.activeTab;
expandRecord(this, "Name", "Environment");
expandRecord(this, "Name", "Software");
top.document.activeTab = prevTab;
if (typeof (prevSelRec) !== "undefined")
clickCurrentSelOrName(this, prevSelRec);
else {
var firstSWRec = getFirstNodeName(this, "Software",'');
if (typeof (firstSWRec) !== 'undefined')
clickCurrentSelOrName(this, firstSWRec.getData('Name'));
}
top.document.stopWait();
});
var clickFn = function(oArgs) {
setFocusToNavTable();
var target = oArgs.target;
var record = navDT.getRecord(target);
var compName = record.getData('Name');
if (oArgs.event.button === 2 && (compName === 'Environment' || compName === 'Software'))
return;
var curSel = navDT.getSelectedRows();
for (i = 0; i < curSel.length; i++) {
var rec = navDT.getRecord(curSel[i]);
if (YAHOO.util.Dom.hasClass(navDT.getTrEl(rec), 'outoffocus'))
YAHOO.util.Dom.removeClass(navDT.getTrEl(rec), 'outoffocus');
}
if (curSel.length > 0) {
if (record.getData('id') !== navDT.getRecord(curSel[0]).getData('id')) {
top.document.activeTab = 0;
top.document.navDT.lastSelIndex = 0;
}
else if (hasChildren[record.getData('id')] !== true)
return;
}
navDT.clearTextSelection();
if (oArgs.event.button === 2)
navDT.onEventSelectRow(oArgs);
var selectedRows;
if (oArgs.event.ctrlKey || oArgs.event.shiftKey) {
selectedRows = navDT.getSelectedRows();
if (record.getData('id') <= 2)
return false;
if (typeof (selectedRows) !== 'undefined') {
if (selectedRows.length > 0) {
if (navDT.getRecord(selectedRows[0]).getData('id') <= 2)
return false;
}
}
}
var eventTarget = YAHOO.util.Event.getTarget(oArgs.event);
if (eventTarget.id.indexOf("pushbutton") === -1) {
top.document.lastSelectedRow = record.getData('Name');
if(record.getData('Name') === ''){
top.document.keyEventOccur = "false";
if(hasChildren[record.getData('id')]){
if(record.getData('expanded'))
return;
}
}
else{
top.document.startWait();
if (compName === "Environment" && document.forms['treeForm'].wizops.value === '3')
getWaitDlg().show();
document.getElementById('center1frame').src = '/WsDeploy/DisplaySettings?Cmd=Select&' + getFileName(true) + 'XmlArgs=' + navDT.selectionToXML(record, selectedRows);
if (top.document.lastSelectedRow !== 'Hardware' && record.getData('BuildSet') === '')
top.document.stopWait();
return;
}
}
var parentId = record.getData('id');
var recSet = navDT.getRecordSet();
var recSetLen = recSet.getLength();
var self = navDT;
var visibility = function(parentId, visible) {
var count = 0;
for (var i = 0; i < recSetLen; i++) {
var r = recSet.getRecord(i);
if (r.getData('parent') === parentId) {
if (visible) {
Dom.removeClass(self.getTrEl(r), 'hidden');
} else {
Dom.addClass(self.getTrEl(r), 'hidden');
}
count += visibility(r.getData('id'), visible && r.getData('expanded'));
count++;
}
}
return count;
};
record.setData('expanded', !record.getData('expanded'));
if (visibility(parentId, record.getData('expanded'))) {
var tdEl = navDT.getFirstTdEl(record);
var divEl = Dom.getChildren(tdEl);
var children = Dom.getChildren(divEl[0]);
var innerChild = children[0].children[0];
if (record.getData('expanded')) {
Dom.addClass(navDT.getTrEl(record), 'expanded');
Dom.removeClass(navDT.getTrEl(record), 'collapsed');
Dom.addClass(innerChild, 'buttonexpanded');
Dom.removeClass(innerChild, 'buttoncollapsed');
} else {
Dom.addClass(navDT.getTrEl(record), 'collapsed');
Dom.removeClass(navDT.getTrEl(record), 'expanded');
Dom.addClass(innerChild, 'buttoncollapsed');
Dom.removeClass(innerChild, 'buttonexpanded');
}
}
top.document.RightTabView = null;
top.document.lastSelectedRow = record.getData('Name');
top.document.startWait();
document.getElementById('center1frame').src = '/WsDeploy/DisplaySettings?Cmd=Select&' + getFileName(true) + 'XmlArgs=' + navDT.selectionToXML(record, selectedRows);
};
var selFn = function(oArgs) {
var record = oArgs.record;
var compName = record.getData('Name');
var curSel = navDT.getSelectedRows();
if (curSel.length > 0) {
if (compName !== top.document.lastSelectedRow) {
top.document.activeTab = 0;
top.document.navDT.lastSelIndex = 0;
}
else if (hasChildren[record.getData('id')] !== true)
return;
}
if( (compName === '' || compName === 'Software' || compName === 'Environment') && top.document.keyEventOccur === "false"){
top.document.keyEventOccur = "true";
if(record.getData('expanded')){
if(hasChildren[record.getData('id')]){
expandRecord(this,'DisplayName',record.getData("DisplayName"));
}
var firstRec = getFirstNodeName(this,record.getData("DisplayName"),'DisplayName');
if (typeof (firstRec) !== 'undefined')
clickCurrentSelOrName(this, firstRec.getData('Name'));
}
}
else{
navDT.clearTextSelection();
var selectedRows;
top.document.lastSelectedRow = record.getData('Name');
top.document.RightTabView = null;
top.document.startWait();
document.getElementById('center1frame').src = '/WsDeploy/DisplaySettings?Cmd=Select&' + getFileName(true) + 'XmlArgs=' + navDT.selectionToXML(record, selectedRows);
if (top.document.lastSelectedRow !== 'Hardware' && record.getData('BuildSet') === '')
top.document.stopWait();
}
return;
};
navDT.subscribe("cellClickEvent", clickFn);
navDT.subscribe("rowSelectEvent", selFn);
navDT.subscribe("cellMousedownEvent", function(oArgs) {
//on left click, the cellClickEvent is fired, taking care of the behaviour
//on right click, we use cellMousedownEvent to select the row, as well as cause the page to display on the right
if (oArgs.event.button === 1 || oArgs.event.button === 0)
return;
else
clickFn(oArgs)
});
navDT.subscribe("tableFocusEvent", function(oArgs) {
var Dom = YAHOO.util.Dom;
var selRows = this.getSelectedRows();
for (var idx = 0; idx < selRows.length; idx++) {
Dom.removeClass(this.getTrEl(selRows[idx]), 'outoffocus');
}
});
navDT.subscribe("tableBlurEvent", function(oArgs) {
var Dom = YAHOO.util.Dom;
var selRows = this.getSelectedRows();
for (var idx = 0; idx < selRows.length; idx++) {
Dom.addClass(this.getTrEl(selRows[idx]), 'outoffocus');
}
});
Dom.removeClass(navDT.getTrEl(0), 'hidden');
Dom.removeClass(navDT.getTrEl(0), 'collapsed');
Dom.addClass(navDT.getTrEl(0), 'expanded');
//Add context menu's
function onMenuSWClick(p_sType, p_aArgs, p_oValue) {
var menuItemName = this.cfg.getProperty("text");
if (menuItemName === 'New Esp Services' || menuItemName === 'New Plugins')
return;
if (this.parent.id === "SWNewPlugins")
//menuItemName = "plugins_" + this.cfg.getProperty("text");
menuItemName = this.cfg.getProperty("text");
getWaitDlg().show();
if (menuItemName === "Delete Component/Service/Plugin") {
var targetRec; //for undefined
var xmlStr = navDT.selectionToXML(targetRec, navDT.getSelectedRows(), targetRec, "Components");
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleComponent', {
success: function(o) {
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var status1 = status[1].split(/<\/Status>/g);
getWaitDlg().hide();
if (status1[0] !== 'true') {
alert(status1[0]);
return;
}
else {
form.isChanged.value = "true";
var temp = o.responseText.split(//g);
var temp1 = temp[1].split(/<\/CompName>/g);
top.document.lastSelectedRow = temp1[0];
getWaitDlg().hide();
navDS.flushCache();
// var tid= YAHOO.util.Get.script('/esp/files/scripts/navtreedata.js',{
// onSuccess: function(obj) {
// var parsedResults = navDS.parseArrayData(o, navTreeData);
// navDS.handleResponse("", parsedResults.results, { success:navDT.onDataReturnInitializeTable,
// scope:navDT}, this, 999);
// clickCurrentSelOrName(navDT, temp1[0]);
// }});
refreshNavTree(navDS, navDT, temp1[0])
}
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
getWaitDlg().hide();
alert(temp1[0]);
}
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Operation=Delete&XmlArgs=' + xmlStr);
}
else {
var xmlStr = "";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleComponent', {
success: function(o) {
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/CompName>/g);
top.document.lastSelectedRow = temp1[0];
getWaitDlg().hide();
navDS.flushCache();
// var tid= YAHOO.util.Get.script('/esp/files/scripts/navtreedata.js',{
// onSuccess: function(obj) {
// var parsedResults = navDS.parseArrayData(o, navTreeData);
// navDS.handleResponse("", parsedResults.results, { success:navDT.onDataReturnInitializeTable,
// scope:navDT}, this, 999);
// }
// });
refreshNavTree(navDS, navDT)
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
getWaitDlg().hide();
alert(temp1[0]);
}
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Operation=Add&XmlArgs=' + xmlStr);
}
}
function onMenuItemClick(p_sType, p_aArgs, p_oValue) {
var menuItemName = this.cfg.getProperty("text");
getWaitDlg().show();
if (menuItemName === 'Lock Environment')
lockEnvironment();
else if (menuItemName === 'Unlock Environment')
saveAndUnlockEnv();
else if (menuItemName === 'Save Environment')
saveEnvironment();
else if (menuItemName === 'Save Environment As...') {
saveEnvironmentAs();
}
else if (menuItemName === 'Validate Environment')
validateEnvironment();
else if (menuItemName === 'Deploy...') {
if (!navDT.deployPanel) {
navDT.deployPanel = new YAHOO.widget.Dialog("deployPanel", { width: "700px",
height: "400px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
zindex: 9999,
modal: true,
visible: false,
constraintoviewport: true
}
);
document.getElementById('selectDeployFrame').src = '/WsDeploy/GetDeployableComps?Cmd=Deploy&XmlArgs=';
var handleStartDeploy = function() {
if (!navDT.progressPanel) {
navDT.progressPanel = new YAHOO.widget.Panel("progressBarPanel", {
width: "240px",
fixedcenter: true,
close: false,
draggable: false,
zindex: 4,
modal: true,
visible: false
});
navDT.progressBar = new YAHOO.widget.ProgressBar({ value: 1 }).render("progressBarDiv");
}
document.getElementById('progressBarPanel').style.display = 'block';
navDT.progressPanel.render(document.body);
navDT.progressPanel.show();
var val = 2;
var intervalId = window.setInterval(function() {
if (val < 0) {
val++;
}
else {
if (val == 0) {
navDT.progressPanel.show();
val = 1;
} else if (val == 100) {
val = -4;
navDT.progressPanel.hide();
} else {
val += 2 * Math.random();
val = Math.min(val, 100);
}
navDT.progressBar.set('value', val);
}
}, 500);
var selComps = top.document.forms['treeForm'].compsToBeDeployed.value;
var tmp1 = document.getElementById('compareRadio').checked ? "Cmp" : "Dep";
var options = "Options.Compare=" + document.getElementById('compareRadio').checked + "&" +
"Options.ConfigFiles=" + document.getElementById("configFiles" + tmp1).checked + "&" +
"Options.BuildFiles=" + document.getElementById("buildFiles" + tmp1).checked + "&" +
"Options.UpgradeBuildFiles=" + document.getElementById("buildFilesIfChanged").checked + "&" +
"Options.Start=" + document.getElementById("startComponents").checked + "&" +
"Options.Stop=" + document.getElementById("stopComponents").checked + "&" +
"Options.BackupRename=" + document.getElementById("renameBkupRadio").checked + "&" +
"Options.BackupCopy=" + document.getElementById("copyBkupRadio").checked + "&" +
"Options.ArchiveEnv=" + document.getElementById("archiveEnv").checked + "&" +
"Options.Log=" + document.getElementById("genLogFile").checked + "&" +
"Options.ArchivePath=" + document.getElementById("archivePath").value;
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/StartDeployment', {
success: function(o) {
navDT.progressPanel.hide();
window.clearInterval(intervalId);
if (o.status === 200) {
alert(o.responseText);
if (o.responseText.indexOf("/g);
if (temp[0] !== o.responseText)
alert('Deployment succesful');
else
alert('Deployment failed');
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
}
} else {
alert(r.replyText);
}
},
failure: function(o) {
navDT.progressPanel.hide();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'SelComps=' + selComps + '&' + options);
}
var handleBackForSubmitDeploy = function() {
this.hide();
navDT.optionsPanel.show();
}
var handleSubmitForOptions = function() {
this.hide();
if (!navDT.submitPanel) {
navDT.submitPanel = new YAHOO.widget.Dialog("submitDeployPanel",
{ width: "700px",
height: "400px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
zindex: 9999,
modal: true,
visible: false,
constraintoviewport: true
}
);
}
var mySubmitButtons = [{ text: "Back", handler: handleBackForSubmitDeploy },
{ text: "Start", handler: handleStartDeploy, isDefault: true },
{ text: "Finish", handler: handleCancel}];
navDT.submitPanel.setHeader("Deploy");
document.getElementById('submitDeployPanel').style.display = 'block';
navDT.submitPanel.cfg.queueProperty("buttons", mySubmitButtons);
navDT.submitPanel.render();
navDT.submitPanel.show();
}
var handleCancel = function() {
this.cancel();
}
var handleBackForOptions = function() {
this.hide();
navDT.deployPanel.show();
}
var handleSubmit = function() {
this.hide();
if (!navDT.optionsPanel) {
navDT.optionsPanel = new YAHOO.widget.Dialog("optionsPanel",
{ width: "700px",
height: "420px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
zindex: 9999,
modal: true,
visible: false,
constraintoviewport: true
}
);
}
var myoptionsButtons = [{ text: "Back", handler: handleBackForOptions },
{ text: "Next", handler: handleSubmitForOptions, isDefault: true },
{ text: "Cancel", handler: handleCancel}];
navDT.optionsPanel.setHeader("Deploy Options");
document.getElementById('optionsPanel').style.display = 'block';
navDT.optionsPanel.cfg.queueProperty("buttons", myoptionsButtons);
navDT.optionsPanel.render();
navDT.optionsPanel.show();
}
var myButtons = [{ text: "Next", handler: handleSubmit, isDefault: true },
{ text: "Cancel", handler: handleCancel}];
navDT.deployPanel.cfg.queueProperty("buttons", myButtons);
navDT.deployPanel.setHeader("Deploy");
var resize = new YAHOO.util.Resize("deployPanel", {
autoRatio: false,
minWidth: 300,
minHeight: 100,
status: false
});
resize.on("startResize", function(args) {
if (this.cfg.getProperty("constraintoviewport")) {
var D = YAHOO.util.Dom;
var clientRegion = D.getClientRegion();
var elRegion = D.getRegion(this.element);
resize.set("maxWidth", clientRegion.right - elRegion.left - YAHOO.widget.Overlay.VIEWPORT_OFFSET);
resize.set("maxHeight", clientRegion.bottom - elRegion.top - YAHOO.widget.Overlay.VIEWPORT_OFFSET);
}
else {
resize.set("maxWidth", null);
resize.set("maxHeight", null);
}
}, navDT.deployPanel, true);
resize.on("resize", function(args) {
if (args.height > 0) {
var panelHeight = args.height;
this.cfg.setProperty("height", panelHeight + "px");
}
}, navDT.deployPanel, true);
}
document.getElementById('deployPanel').style.display = 'block';
getWaitDlg().hide();
navDT.deployPanel.render(document.body);
navDT.deployPanel.show();
}
else if (menuItemName === 'Import Build...') {
getWaitDlg().hide();
if (!navDT.importBuildPanel) {
var handleSubmit = function() {
var selRow = left2.buildServerDirsTable.getSelectedRows();
var bldName = left2.buildServerDirsTable.getRecord(selRow[0]).getData('name');
var selComps = "";
this.hide();
var recSet = left2.selComponentsTable.getRecordSet();
var recSetLen = recSet.getLength();
var self = left2.selComponentsTable;
for (var i = 0; i < recSetLen; i++) {
var r = recSet.getRecord(i);
var elem = self.getTrEl(r);
var child = elem.children[0];
if (child.children[0].children[0].checked)
selComps += "";
}
selComps += "";
var url = '/WsDeploy/ImportBuild?BuildSets=' + selComps;
url.replace("\\", "\\\\");
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/ImportBuild', {
success: function(o) {
alert(o.responseText);
clickCurrentSelOrName(navDT, "Name");
},
failure: function(o) {
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'BuildSets=' + selComps);
}
var handleCancel = function() {
this.hide();
}
navDT.importBuildPanel = new YAHOO.widget.Dialog("importBuildPanel",
{ width: "700px",
height: "400px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
//zindex:9999,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
}
);
var myButtons = [{ text: "Ok", handler: handleSubmit, isDefault: true },
{ text: "Cancel", handler: handleCancel}];
navDT.importBuildPanel.cfg.queueProperty("buttons", myButtons);
navDT.importBuildPanel.setHeader("Import Build");
navDT.importBuildPanel.renderEvent.subscribe(function() {
navDT.importBuildPanel.layout = new YAHOO.widget.Layout('buildLayout', {
height: (navDT.importBuildPanel.body.offsetHeight - 20),
units: [{ position: 'top', height: 50, body: 'top2' },
{ position: 'left', /*header: 'Directories',*/width: 450, resize: true, body: 'left2', gutter: '2px', /*collapse: true, collapseSize: 20,*/scroll: true },
{ position: 'center', /*header: 'Components',*/body: 'center2', gutter: '2px', resize: true, scroll: true }
]
});
navDT.importBuildPanel.layout.render();
document.getElementById('refreshButton').click();
});
}
document.getElementById('importBuildPanel').style.display = 'block';
navDT.importBuildPanel.render(document.body);
navDT.importBuildPanel.show();
}
}
var compMenu = new Array();
for (i = 0; i < navDT.navTreeData[0]["menuComps"].length; i++)
compMenu[i] = { text: navDT.navTreeData[0]["menuComps"][i], onclick: { fn: onMenuSWClick} };
var espServiceMenu = new Array();
for (i = 0; i < navDT.navTreeData[0]["menuEspServices"].length; i++)
espServiceMenu[i] = { text: navDT.navTreeData[0]["menuEspServices"][i], onclick: { fn: onMenuSWClick} };
var pluginsMenu = new Array();
for (i = 0; i < navDT.navTreeData[0]["menuPlugins"].length; i++)
pluginsMenu[i] = { text: navDT.navTreeData[0]["menuPlugins"][i], onclick: { fn: onMenuSWClick} };
var oContextMenuItems = {
"Environment": [{text: "Save Environment", onclick: { fn: onMenuItemClick } },
{ text: "Save Environment As...", onclick: { fn: onMenuItemClick } },
{text: "Validate Environment", onclick: { fn: onMenuItemClick } }
],
"Hardware": [
"New",
"New Range..."
],
"Programs": [
{
text: "New",
submenu: {
id: "ProgramsNew",
lazyload: true,
itemdata: [
"New Build",
"New BuildSet"
]
}
},
{ text: "Import Build...", onclick: { fn: onMenuItemClick} },
"Reimport Build...",
"Purge Build..."
],
"Software": [
{ text: "New Components",
submenu: {
id: "SWNewComps",
lazyload: true,
itemdata: compMenu
}
},
{ text: "New Esp Services",
submenu: {
id: "SWNewEspServices",
lazyload: true,
itemdata: espServiceMenu
},
onclick: { fn: onMenuSWClick }
},
{ text: "New Plugins",
submenu: {
id: "SWNewPlugins",
lazyload: true,
itemdata: pluginsMenu
},
onclick: { fn: onMenuSWClick }
},
{ text: "Delete Component/Service/Plugin", onclick: { fn: onMenuSWClick} }
],
"Columns": [
{
text: "View/Hide Columns",
submenu: {
id: "ColumnsShowHide",
lazyload: true,
itemdata: [
{ text: "Name", disabled: true, checked: true },
{ text: "Build", checked: true, onclick: { fn: onShowHideCol, obj: "Build"} },
{ text: "BuildSet", checked: ((!navDT.getColumn("BuildSet").hidden)), onclick: { fn: function() {
if (navDT.getColumn("BuildSet").hidden)
navDT.showColumn("BuildSet");
else
navDT.hideColumn("BuildSet");
} }
}
]
}
}
]
};
var oSelectedTR;
function onShowHideCol(p_sType, p_aArgs, key) {
var itemIndex = (key === 'Build') ? 1 : 2;
if (navDT.getColumn(key).hidden)
navDT.showColumn(key);
else
navDT.hideColumn(key);
}
function onContextMenuBeforeShow(p_sType, p_aArgs) {
var oTarget = this.contextEventTarget,
aMenuItems,
aClasses;
if (this.getRoot() === this) {
oSelectedTR = oTarget.nodeName.toUpperCase() === "TR" ?
oTarget : Dom.getAncestorByTagName(oTarget, "TR");
var recSet = navDT.getRecordSet();
var record = recSet.getRecord(oSelectedTR.id);
var parentName;
if (record.getData('id') === 0)
parentName = "Environment";
else {
if (record.getData('Name') === 'Software')
parentName = "Software";
else if (record.getData('parent') > 2)
parentName = navDT.navTreeData[navDT.navTreeData[record.getData('parent')]['parent']]['Name'];
else
//parentName = record.getData('Name');
parentName = navDT.navTreeData[record.getData('parent')]['Name'];
}
aMenuItems = oContextMenuItems[parentName];
this.clearContent();
if (typeof (aMenuItems) === 'undefined' || aMenuItems.length === 0)
return false;
this.addItems(aMenuItems);
if (record.getData('Name') === 'Software' || record.getData('Name') === 'Directories'){
this.getItem(3).cfg.setProperty("disabled", true);
}
if (record.getData('id') === 0) {
this.getItem(1).cfg.setProperty("disabled", false);
var form = document.forms['treeForm'];
if (form.isLocked.value === 'true') {
this.getItem(0).cfg.setProperty("disabled", false);
this.getItem(2).cfg.setProperty("disabled", false);
}
else {
this.getItem(0).cfg.setProperty("disabled", true);
this.getItem(2).cfg.setProperty("disabled", true);
}
}
else if (top.document.forms['treeForm'].isLocked.value === 'false') {
var groups = this.getItemGroups();
for (iGroup = 0; iGroup < groups.length; iGroup++) {
if (typeof (groups[iGroup]) !== 'undefined')
for (i = 0; i < groups[iGroup].length; i++)
groups[iGroup][i].cfg.setProperty("disabled", true);
}
}
//Do not delete
/*this.addItems(oContextMenuItems["Columns"], 2);
var menuItems = this.getItems();
var subMenuItems = menuItems[menuItems.length-1].cfg.getProperty("submenu").itemData;
subMenuItems[1].checked = (!navDT.getColumn("Build").hidden);
subMenuItems[2].checked = (!navDT.getColumn("BuildSet").hidden);*/
// Render the ContextMenu instance with the new content
this.render();
}
}
var oContextMenu = new YAHOO.widget.ContextMenu("contextmenu", { trigger: "pageBody", lazyload: true });
oContextMenu.subscribe("beforeShow", onContextMenuBeforeShow);
navDT.displayRoxieClusterAddFarm = displayAddFarmDlg;
navDT.displayRoxieClusterReplaceServer = displayReplaceServerDlg;
navDT.doPageRefresh = refresh;
navDT.clickCurrentSelOrName = clickCurrentSelOrName;
navDT.displayAddInstance = displayAddInstanceDlg;
navDT.promptVerifyPwd = promptVerifyPwd;
navDT.promptNewRange = promptNewRange;
navDT.updateRecordName = updateRecordName;
navDT.promptSlaveConfig = promptSlaveConfig;
navDT.selectRecordAndClick = selectRecordAndClick;
navDT.promptThorTopology = promptThorTopology;
navDT.createDDRows = createDDRows;
navDT.getWaitDlg = getWaitDlg;
navDT.getFileName = getFileName;
navDT.tt = new YAHOO.widget.Tooltip("navTabletooltip");
navDT.subscribe("cellMouseoverEvent", function(oArgs) {
var rec = navDT.getRecord(oArgs.target);
var xy = [parseInt(oArgs.event.clientX, 10) + 10, parseInt(oArgs.event.clientY, 10) + 10];
var params = "queryType=multiple::category=Software::compName=" + rec.getData('Name') + "::subType=Instance::attrName=netAddress";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetValue', {
success: function(o) {
if (o.responseText.indexOf("/g);
var tmp1, instances;
if (tmp.length > 1) {
tmp1 = tmp[1].split(/<\/ReqValue>/g);
if (tmp1.length > 1)
instances = tmp1[0];
else
instances = '';
if (navDT.showTimer) {
window.clearTimeout(navDT.showTimer);
navDT.showTimer = 0;
}
if (instances.length) {
navDT.showTimer = window.setTimeout(function() {
navDT.tt.setBody("Instance(s): " + instances);
navDT.tt.cfg.setProperty('xy', xy);
navDT.tt.show();
navDT.hideTimer = window.setTimeout(function() {
navDT.tt.hide();
}, 5000);
}, 500);
}
}
}
},
failure: function(o) {
},
scope: this
},
getFileName(true) + 'Params=' + params);
});
navDT.subscribe("cellMouseoutEvent", function(oArgs) {
if (navDT.showTimer) {
window.clearTimeout(navDT.showTimer);
navDT.showTimer = 0;
}
if (navDT.hideTimer) {
window.clearTimeout(navDT.hideTimer);
navDT.hideTimer = 0;
}
navDT.tt.hide();
});
navDT.subscribe("tableKeyEvent", function(oArgs) {
if (oArgs.event.keyCode === 9) {
var tabView = top.document.RightTabView;
if (tabView) {
var actTab = tabView.get("activeTab");
actTab.dt.focus();
this.fireEvent("tableBlurEvent");
}
}
else if (oArgs.event.keyCode === 39 || oArgs.event.keyCode === 37) {
var rec = navDT.getRecord(navDT.getSelectedRows()[0]);
if (rec)
expandRecord(navDT, "DisplayName", rec.getData("DisplayName"));
}
else
handleComplexTableKeyDown(oArgs, navDT);
});
var handleWindowMouseDown = function(e) {
var tabView = top.document.RightTabView;
if (tabView) {
var actTab = tabView.get("activeTab");
saveOpenEditors(actTab.dt);
}
}
document.onmousedown = handleWindowMouseDown;
var handleKeyDown = function(event) {
if (!event)
event = window.event;
if (event.keyCode === 192 && event.ctrlKey === true)
setFocusToNavTable();
}
document.onkeydown = handleKeyDown;
}
function enableOptions(isCompare) {
document.getElementById("configFilesCmp").disabled = !isCompare;
document.getElementById("buildFilesCmp").disabled = !isCompare;
document.getElementById("buildFilesDep").disabled = isCompare;
document.getElementById("configFilesDep").disabled = isCompare;
document.getElementById("stopComponents").disabled = isCompare;
document.getElementById("buildFilesIfChanged").disabled = isCompare;
document.getElementById("startComponents").disabled = isCompare;
document.getElementById("archiveEnv").disabled = isCompare;
document.getElementById("genLogFile").disabled = isCompare;
document.getElementById("backupDirs").disabled = isCompare;
if (isCompare) {
document.getElementById("renameBkupRadio").disabled = isCompare;
document.getElementById("copyBkupRadio").disabled = isCompare;
}
else {
document.getElementById("renameBkupRadio").disabled = !document.getElementById("backupDirs").checked;
document.getElementById("copyBkupRadio").disabled = !document.getElementById("backupDirs").checked;
}
}
function getDirectories() {
var dir = document.getElementById("buildServer").value;
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetBuildServerDirs',
{
success: function(o) {
if (!left2.buildServerDirsDataSource) {
var myBSColumnDefs = [{ key: "name", label: "Build" },
{ key: "modified", label: "Modified"}];
var xmlStr = '';
var myBSDataSource = new YAHOO.util.DataSource(xmlStr);
myBSDataSource.responseType = YAHOO.util.DataSource.TYPE_XML;
myBSDataSource.responseSchema = { resultNode: "Directory", fields: ["name", "modified"] };
var myBSDataTable = new YAHOO.widget.DataTable("left2", myBSColumnDefs,
myBSDataSource,
{ width: "100%", initialLoad: false, resize: true });
myBSDataTable.subscribe("rowClickEvent", myBSDataTable.onEventSelectRow);
myBSDataTable.subscribe("cellDblclickEvent", function(oArgs) {
myBSDataTable.clearTextSelection();
var target = oArgs.target;
var record = this.getRecord(target);
var dir = document.getElementById("buildServer").value;
dir += '\\' + record.getData('name');
document.getElementById("buildServer").value = dir;
document.getElementById('refreshButton').click();
});
myBSDataTable.subscribe("cellClickEvent", function(oArgs) {
myBSDataTable.clearTextSelection();
var target = oArgs.target;
var record = this.getRecord(target);
var selectedRows;
var recSet = this.getRecordSet();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetBuildServerDirs', {
success: function(o) {
var myCompsColumnDefs = [{ key: "name", label: "Components", formatter: function(el, oRecord, oColumn, oData) {
el.innerHTML = "" + oData;
} }];
var xmlStr = '';
var myCompsDataSource = new YAHOO.util.DataSource(xmlStr);
myCompsDataSource.responseType = YAHOO.util.DataSource.TYPE_XML;
myCompsDataSource.responseSchema = { resultNode: "Comp", fields: ["name", "path"] };
var myCompsDataTable = new YAHOO.widget.DataTable("center2", myCompsColumnDefs,
myCompsDataSource,
{ width: "100%", initialLoad: false, resize: true, scrollable: true });
myCompsDataSource.handleResponse("", o, { success: myCompsDataTable.onDataReturnInitializeTable,
scope: myCompsDataTable
}, this, 999);
left2.selComponentsTable = myCompsDataTable;
},
failure: function(o) {
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=Release&XmlArgs=' + dir + '\\' + record.getData('name'));
});
left2.buildServerDirsTable = myBSDataTable;
left2.buildServerDirsDataSource = myBSDataSource;
}
left2.buildServerDirsDataSource.handleResponse("", o, { success: left2.buildServerDirsTable.onDataReturnInitializeTable,
scope: left2.buildServerDirsTable
}, this, 999);
},
failure: function(o) {
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=SubDirs&XmlArgs=' + dir);
}
function askUserToSave(navtable, dounlock) {
var handleNo = function() {
if (dounlock)
unlockEnvironment(navtable, false);
this.hide();
}
var handleCancel = function() {
updateEnvCtrls(true);
this.hide();
}
var handleSave = function() {
if (dounlock)
unlockEnvironment(navtable, true);
else
saveEnvironment();
this.hide();
}
var msg = dounlock ? "The environment has been changed. Do you want to save the changes?" : "Do you want to save the changes?";
//var r=confirm(msg);
//if (r==true)
// handleSave();
//else
// handleCancel();
if (!navtable.promptSavePanel) {
// var handleCancel = function() {
// unlockEnvironment(navDT, false);
// clickCurrentSelOrName(navDT);
// this.hide();
// }
//
// var handleSave = function() {
// unlockEnvironment(navDT, true);
// clickCurrentSelOrName(navDT);
// this.hide();
// }
navtable.promptSavePanel = new YAHOO.widget.Dialog("promptSavePanel",
{ width: "300px",
height: "125px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
//zindex:9999,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
}
);
var myButtons = [{ text: "Yes", handler: handleSave, isDefault: true },
{ text: "No", handler: handleNo },
{ text: "Cancel", handler: handleCancel}];
navtable.promptSavePanel.cfg.queueProperty("buttons", myButtons);
navtable.promptSavePanel.setHeader("ConfigMgr");
}
navtable.promptSavePanel.setBody(msg);
document.getElementById('promptSavePanel').style.display = 'block';
navtable.promptSavePanel.render(document.body);
navtable.promptSavePanel.show();
}
function lockEnvironment() {
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/NavMenuEvent', {
success: function(o) {
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var isErr = false;
if (temp.length > 0) {
var temp1 = temp[1].split(/<\/XmlArgs>/g);
if (temp1.length > 0 && temp1[0].length > 0 && temp1[0].charAt(0) != '<') {
isErr = true;
updateEnvCtrls(false);
alert(temp1[0]);
}
}
if (!isErr) {
YAHOO.util.Dom.addClass(top.document.navDT.getTrEl(0), 'envlocked');
var form = document.forms['treeForm'];
form.isLocked.value = "true";
updateEnvCtrls(true);
var LastSaved = o.responseText.split(//g);
var LastSaved1 = LastSaved[1].split(/<\/LastSaved>/g);
if (LastSaved1[0].charAt(0) != '<' && form.lastSaved.value !== LastSaved1[0]) {
form.lastSaved.value = LastSaved1[0];
refresh();
}
}
getWaitDlg().hide();
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
getWaitDlg().hide();
alert(temp1[0]);
}
}
else {
updateEnvCtrls(false);
getWaitDlg().hide();
alert(r.replyText);
}
},
failure: function(o) {
updateEnvCtrls(false);
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=LockEnvironment');
}
function unlockEnvironment(navtable, saveEnv) {
var Dom = YAHOO.util.Dom;
var xmlArgs = '';
if (saveEnv)
xmlArgs = "";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/NavMenuEvent', {
success: function(o) {
getWaitDlg().hide();
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var isErr = false;
if (temp.length > 0) {
var temp1 = temp[1].split(/<\/XmlArgs>/g);
if (temp1.length > 0 && temp1[0].length > 0 && temp1[0].charAt(0) != '<') {
isErr = true;
updateEnvCtrls(true);
alert(temp1[0]);
}
}
if (!isErr) {
var form = document.forms['treeForm'];
var LastSaved = o.responseText.split(//g);
var LastSaved1 = LastSaved[1].split(/<\/LastSaved>/g);
if (LastSaved1[0].charAt(0) != '<' && form.lastSaved.value !== LastSaved1[0])
form.lastSaved.value = LastSaved1[0];
Dom.removeClass(navtable.getTrEl(0), 'envlocked');
form.isLocked.value = "false";
var changed = form.isChanged.value;
form.isChanged.value = "false";
updateEnvCtrls(false);
if (saveEnv || changed === "true")
refresh();
}
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
}
} else {
updateEnvCtrls(true);
alert(r.replyText);
}
},
failure: function(o) {
updateEnvCtrls(true);
getWaitDlg().hide();
alert(o.statusText);
},
scope: navtable
},
getFileName(true) + 'Cmd=UnlockEnvironment&XmlArgs=' + xmlArgs);
}
function roxieSelectionToXML(table, type, parentName, selectedRows, compName) {
var xmlStr = "";
if (typeof (selectedRows) !== 'undefined') {
for (var i = 0; i < selectedRows.length; i++) {
xmlStr += "";
}
}
xmlStr += "";
return xmlStr;
}
function displayAddFarmDlg(self, farmName) {
var tmpdt = self;
var handleSubmit = function() {
this.hide();
top.document.startWait();
var selRows = selectComputersDTDiv.selectComputersTable.getUserSelectedRows();
var compName = tmpdt.getRecord(tmpdt.getSelectedRows()[0]).getData('Name');
var xmlStr = roxieSelectionToXML(selectComputersDTDiv.selectComputersTable, "RoxieFarm", tmpdt.selectComputersPanel.currentFarmName, selRows, compName);
clearSelectComputersTable();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleRoxieOperation', {
success: function(o) {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.stopWait();
clickCurrentSelOrName(tmpdt);
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=AddRoxieFarm&XmlArgs=' + xmlStr);
}
initSelectComputersPanel(tmpdt, handleSubmit);
tmpdt.selectComputersPanel.currentFarmName = farmName;
document.getElementById('selectComputersPanel').style.display = 'block';
tmpdt.selectComputersPanel.render(document.body);
tmpdt.selectComputersPanel.center();
tmpdt.selectComputersPanel.show();
}
function displayReplaceServerDlg() {
initReplaceRoxieNodesPanel();
document.getElementById('roxieReplaceNodePanel').style.display = 'block';
top.document.navDT.roxieNodesReplacePanel.render(document.body);
top.document.navDT.roxieNodesReplacePanel.center();
top.document.navDT.roxieNodesReplacePanel.show();
}
function setSingleSelectionModeForInstances() {
if (selectComputersDTDiv.selectComputersTable)
selectComputersDTDiv.selectComputersTable.set("selectionMode", "single");
else
setTimeout("setSingleSelectionModeForInstances()", 250);
}
function promptSaveChanges() {
var form = document.forms['treeForm'];
if (form.isChanged.value === "true")
return "You will lose your changes if you press OK.\nTo save your changes, press Cancel and select 'Save Environment' command.";
else
return "";
// else if (form.isLocked.value === "true")
// {
// alert("No changes have been made. Unlocking the environment...");
// unlockEnvironment(top.window.document.body.dt, false);
// }
}
function saveEnvironment(saveas) {
getWaitDlg().show();
var form = document.forms['treeForm'];
form.saveInProgress.value = "true";
var args = 'Cmd=SaveEnvironment';
if (typeof(saveas) === 'string') {
args = 'Cmd=SaveEnvironmentAs&XmlArgs=';
}
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/NavMenuEvent', {
success: function(o) {
getWaitDlg().hide();
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/Command>/g);
if (temp1[0] === 'SaveEnvironment') {
YAHOO.util.Dom.addClass(top.document.navDT.getTrEl(0), 'envlocked');
form.isLocked.value = "true";
form.isChanged.value = "false";
}
else if (temp1[0] === 'SaveEnvironmentAs') {
form.isChanged.value = "false";
var loc = window.location.href.split(/\?/g);
var newwin = top.open(loc[0] + "?sourcefile=" + document.getElementById('saveAsFileName').value, "_self");
}
var LastSaved = o.responseText.split(//g);
var LastSaved1 = LastSaved[1].split(/<\/LastSaved>/g);
if (LastSaved1[0].charAt(0) != '<')
form.lastSaved.value = LastSaved1[0];
refresh();
form.saveInProgress.value = "false";
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
}
}
else {
getWaitDlg().hide();
alert(r.replyText);
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true) + args);
}
function saveEnvironmentAs() {
var handleCancel = function() {
getWaitDlg().hide();
top.document.envSaveAsDialog.hide();
}
var handleOk = function() {
loadAndCheckFileNames('3');
};
var clickSave = function() {
top.document.envSaveAsDialog.cfg.queueProperty("keylisteners", null);
var btns = top.document.envSaveAsDialog.cfg.getProperty("buttons");
for (var bIdx = 0; bIdx < btns.length; bIdx++) {
if (btns[bIdx].text === 'Ok') {
YAHOO.util.UserAction.click(btns[bIdx].htmlButton);
return false;
}
}
}
if (!top.document.envSaveAsDialog) {
top.document.envSaveAsDialog = new YAHOO.widget.Dialog('envSaveAsDialog',
{
resizable: true,
fixedcenter: true,
visible: false,
constraintoviewport: true,
draggable: true,
modal: true,
close: false,
zindex: 9999,
buttons: [{ text: "Cancel", handler: handleCancel },
{ text: "Ok", handler: handleOk, isDefault: true}]
});
var kl = new YAHOO.util.KeyListener(document, { keys: 13 }, { fn: clickSave,
scope: top.document.envSaveAsDialog,
correctScope: true});
top.document.envSaveAsDialog.cfg.queueProperty("keylisteners", kl);
document.getElementById('envSaveAsDialog').style.display = 'block';
top.document.envSaveAsDialog.render();
top.document.envSaveAsDialog.center();
top.document.envSaveAsDialog.show();
}
else
top.document.envSaveAsDialog.show();
}
function validateEnvironment() {
getWaitDlg().show();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/NavMenuEvent', {
success: function(o) {
getWaitDlg().hide();
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
}
}
else {
getWaitDlg().hide();
alert(r.replyText);
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=ValidateEnvironment');
}
function initOpenEnvPanel(fnSubmit) {
var tmpdt = top.document;
if (!tmpdt.openEnvPanel) {
tmpdt.openEnvPanel = new YAHOO.widget.Dialog("openEnvPanel",
{ width: "300px",
height: "400px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
//zindex:9999,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
}
);
tmpdt.openEnvPanel.renderEvent.subscribe(function() {
if (!tmpdt.openEnvPanel.layout) {
tmpdt.openEnvPanel.layout = new YAHOO.widget.Layout('openEnvLayout', {
height: (tmpdt.openEnvPanel.body.offsetHeight - 20),
units: [
{ position: 'center', header: 'Available environments', width: 300, resize: true, body: 'openEnvTableDiv', gutter: '2px', /*collapse: true, collapseSize: 20,*/scroll: true}//,
]
});
tmpdt.openEnvPanel.layout.render();
}
populateOpenEnvTable();
});
tmpdt.openEnvPanel.setHeader("Select environment and click ok");
}
var fnCancel = function() {
this.hide();
}
var myButtons = [{ text: "Open in new window", handler: fnSubmit, obj: true },
{ text: "Ok", handler: fnSubmit, obj: false, isDefault: true },
{ text: "Cancel", handler: fnCancel}];
tmpdt.openEnvPanel.cfg.queueProperty("buttons", myButtons);
}
function populateOpenEnvTable() {
top.document.startWait();
var params = "queryType=sourceEnvironments";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetValue', {
success: function(o) {
if (o.responseText.indexOf("/g);
var tmp1;
if (tmp.length > 1) {
tmp1 = tmp[1].split(/<\/ReqValue>/g);
if (tmp1.length > 1)
result = tmp1[0];
else
result = '';
var files = result.split(/;/g);
var objs = new Array();
for (var i = 0; i < files.length; i++) {
objs[i] = {};
objs[i].name = files[i];
}
if (!openEnvTableDiv.openEnvDS) {
var openEnvColumnDefs = [{ key: "name", label: "Name", width: 280}];
var openEnvDataSource = new YAHOO.util.DataSource(objs);
openEnvDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
var openEnvDataTable = new YAHOO.widget.DataTable("openEnvTableDiv", openEnvColumnDefs,
openEnvDataSource,
{ initialLoad: false, resize: true, selectionMode: "single" });
openEnvDataTable.subscribe("rowClickEvent", openEnvDataTable.onEventSelectRow);
openEnvDataTable.subscribe("cellClickEvent", function() { openEnvDataTable.clearTextSelection() });
openEnvDataTable.subscribe("cellDblclickEvent", function(oArgs) {
var tmpdt = top.document;
var btns = tmpdt.openEnvPanel.cfg.getProperty("buttons");
for (var bIdx = 0; bIdx < btns.length; bIdx++) {
if (btns[bIdx].text === 'Ok') {
YAHOO.util.UserAction.click(btns[bIdx].htmlButton);
return false;
}
}
});
openEnvTableDiv.openEnvTable = openEnvDataTable;
openEnvTableDiv.openEnvDS = openEnvDataSource;
}
openEnvTableDiv.openEnvDS.handleResponse("", objs, { success: openEnvTableDiv.openEnvTable.onDataReturnInitializeTable,
scope: openEnvTableDiv.openEnvTable
}, this, 999);
top.document.stopWait();
}
}
},
failure: function(o) {
top.document.stopWait();
},
scope: this
},
getFileName(true) + 'Params=' + params);
}
function displayOpenEnvDialog() {
var tmpdt = top.document;
var handleSubmit = function(evt) {
var selRows = openEnvTableDiv.openEnvTable.getSelectedRows();
if (selRows.length === 0) {
alert("Please select the file to be opened");
return;
}
this.hide();
var fileName = openEnvTableDiv.openEnvTable.getRecord(selRows[0]).getData('name');
openEnvTableDiv.openEnvTable.unselectAllRows();
var envfileopened = window.location.href.split(/\?/g);
if (envfileopened.length > 1 && fileName === document.forms['treeForm'].sourcefile.value)
return;
var txt = "";
if (evt.srcElement) {
if (evt.srcElement.textContent)
txt = evt.srcElement.textContent;
else
txt = evt.srcElement.innerText;
}
else if (evt.target)
txt = evt.target.textContent;
var loc = window.location.href.split(/\?/g);
var newwin = top.open(loc[0] + "?sourcefile=" + fileName, txt === "Ok" ? "_self" : "_blank");
}
initOpenEnvPanel(handleSubmit);
document.getElementById('openEnvPanel').style.display = 'block';
tmpdt.openEnvPanel.render(document.body);
tmpdt.openEnvPanel.center();
tmpdt.openEnvPanel.show();
}
function refresh(msg) {
if (typeof (msg) !== 'undefined')
alert(msg);
if(top.document.navDT)
refreshNavTree(top.document.navDT.ds, top.document.navDT, top.document.lastSelectedRow);
}
function expandRecord(dataTable, fldType, fldValue) {
var Dom = YAHOO.util.Dom;
var recSet = dataTable.getRecordSet();
var recSetLen = recSet.getLength();
for (var i = 0; i < recSetLen; i++) {
var r = recSet.getRecord(i);
if (r.getData(fldType) === fldValue) {
var tdEl = dataTable.getFirstTdEl(r);
var children = Dom.getChildren(tdEl);
if (Dom.hasClass(children[0].children[0].children[0], 'yui-button')) {
children[0].children[0].children[0].click();
break;
}
}
}
}
function getWaitDlg() {
if (!top.document.wait) {
top.document.wait = new YAHOO.widget.Dialog("wait",
{ width: "240px",
fixedcenter: true,
close: false,
draggable: false,
zindex: 4,
modal: true,
visible: false
}
);
top.document.wait.setHeader("Processing, please wait...");
top.document.wait.setBody("");
top.document.wait.render(document.body);
}
return top.document.wait;
}
function instanceSelectionToXML(table, selectedRows, navTable) {
var rec = getCurrentSelRec(navTable);
var xmlStr = "";
if (typeof (selectedRows) !== 'undefined')
for (var i = 0; i < selectedRows.length; i++)
xmlStr += "";
xmlStr += "";
return xmlStr;
}
function displayAddInstanceDlg() {
var tmpdt = top.document.navDT;
var handleSubmit = function() {
this.hide();
top.document.startWait();
var selRows = selectComputersDTDiv.selectComputersTable.getUserSelectedRows();
var compName = tmpdt.getRecord(tmpdt.getSelectedRows()[0]).getData('Name');
var xmlStr = instanceSelectionToXML(selectComputersDTDiv.selectComputersTable, selRows, tmpdt);
clearSelectComputersTable();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleInstance', {
success: function(o) {
var dup = o.responseText.split(//g);
if (dup.length > 1) {
var dup1 = dup[1].split(/<\/Duplicates>/g);
if (dup1.length > 1 && dup1[0].length > 0) {
alert("Cannot add instances for the following computers as there can be only one instance of a component per computer.\n" + dup1[0]);
}
}
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.stopWait();
clickCurrentSelOrName(tmpdt);
var temp = o.responseText.split(//g);
if (temp.length > 1) {
var temp1 = temp[1].split(/<\/NewName>/g);
if (temp1.length > 1) {
top.document.selectRecord = temp1[0];
top.document.selectRecordField = "computer";
top.document.selectRecordClick = true;
}
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Operation=Add&XmlArgs=' + xmlStr);
}
initSelectComputersPanel(tmpdt, handleSubmit);
document.getElementById('selectComputersPanel').style.display = 'block';
tmpdt.selectComputersPanel.render(document.body);
tmpdt.selectComputersPanel.center();
tmpdt.selectComputersPanel.show();
}
function expandRecordWithId(dataTable, id) {
var Dom = YAHOO.util.Dom;
var recSet = dataTable.getRecordSet();
var recSetLen = recSet.getLength();
for (var i = 0; i < recSetLen; i++) {
var r = recSet.getRecord(i);
if (r.getData('id') === id) {
var tdEl = dataTable.getFirstTdEl(r);
var children = Dom.getChildren(tdEl);
if (Dom.hasClass(children[0].children[0].children[0], 'buttoncollapsed'))
if (Dom.hasClass(children[0].children[0].children[0], 'yui-button')) {
children[0].children[0].children[0].click();
break;
}
break;
}
}
}
function refreshNavTree(paramds, paramdt, selRec) {
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetNavTreeDefn', {
success: function(o) {
if (o.responseText.indexOf("/g);
if (lSaved.length > 1) {
var lSaved1 = lSaved[1].split(/<\/LastSaved>/g);
if (lSaved1[0].charAt(0) != '<')
form.lastSaved.value = lSaved1[0];
}
var lStarted = o.responseText.split(//g);
if (lStarted.length > 1) {
var lStarted1 = lStarted[1].split(/<\/LastStarted>/g);
if (lStarted1[0].charAt(0) != '<')
form.lastStarted.value = lStarted1[0];
}
var temp = o.responseText.split(//g);
var temp1 = temp[1].split(/<\/CompDefn>/g);
eval(temp1[0]);
var treeData = getNavTreeData();
paramdt.navTreeData = treeData;
treeData[0].DisplayName += ' - ' + document.forms['treeForm'].sourcefile.value;
paramds.handleResponse("", treeData, { success: paramdt.onDataReturnInitializeTable,
scope: paramdt
}, this, 999);
clickCurrentSelOrName(paramdt, selRec);
if (top.document.navDT.keepAliveInt) {
clearInterval(top.document.navDT.keepAliveInt);
top.document.navDT.keepAliveInt = setInterval(keepAlive, 10000);
}
updateEnvCtrls(form.isLocked.value === "true");
top.document.stopWait();
top.document.title = 'HPCC Systems Configuration Manager - ' + form.sourcefile.value;
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(false));
}
function promptVerifyPwd(category, params, attrName, oldValue, newValue, recordIndex, callback) {
var caller = this;
var handleCancel = function() {
this.hide();
caller.promptPwdPanel.cfg.queueProperty("keylisteners", null);
}
var clickSave = function() {
caller.promptPwdPanel.cfg.queueProperty("keylisteners", null);
var btns = caller.promptPwdPanel.cfg.getProperty("buttons");
for (var bIdx = 0; bIdx < btns.length; bIdx++) {
if (btns[bIdx].text === 'ok') {
YAHOO.util.UserAction.click(btns[bIdx].htmlButton);
return false;
}
}
}
var handleSave = function() {
this.hide();
caller.promptPwdPanel.cfg.queueProperty("keylisteners", null);
var pwd = document.getElementById('pwd').value;
if (pwd !== newValue) {
alert("Passwords don't match");
return false;
}
else {
var xmlArgs = "";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/SaveSetting', {
success: function(o) {
if (o.status === 200) {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.needsRefresh = true;
var encPwd = o.responseText.split(//g);
var encPwd1 = encPwd[1].split(/<\/UpdateValue>/g);
callback(true, encPwd1[0]);
} else {
alert(r.replyText);
callback();
}
},
failure: function(o) {
alert(o.statusText);
callback();
},
scope: this
},
getFileName(true) + 'XmlArgs=' + xmlArgs);
}
}
if (!caller.promptPwdPanel) {
caller.promptPwdPanel = new YAHOO.widget.Dialog("PwdPanel",
{ width: "200px",
height: "125px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
zindex: 9998,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
}
);
var kl = new YAHOO.util.KeyListener(document, { keys: 13 }, { fn: clickSave,
scope: caller.promptPwdPanel,
correctScope: true
});
caller.promptPwdPanel.cfg.queueProperty("keylisteners", kl);
}
var myButtons = [{ text: "ok", handler: handleSave, isDefault: true },
{ text: "Cancel", handler: handleCancel}];
caller.promptPwdPanel.cfg.queueProperty("buttons", myButtons);
document.getElementById('PwdPanel').style.display = 'block';
caller.promptPwdPanel.setBody("");
document.getElementById('pwd').value = '';
caller.promptPwdPanel.render(document.body);
caller.promptPwdPanel.firstFormElement = caller.promptPwdPanel.body.children[0];
caller.promptPwdPanel.focusFirst();
caller.promptPwdPanel.show();
}
function promptNewRange(domains, computerTypes, type) {
if (!top.document.navDT.panelCfgAddComputers) {
function onAddComputersButtonClick(p_oEvent) {
switch (this.get("id")) {
case "cfgAddComputersCancel":
top.document.navDT.panelCfgAddComputers.hide();
break;
case "cfgAddComputersOk":
{
var domainsDropDown = document.getElementById('cfgAddComputersDomain');
var cTypesDropDown = document.getElementById('cfgAddComputersType');
var prefix = document.getElementById('cfgAddComputersNamePrefix');
var startIP = document.getElementById('cfgAddComputersStartIP');
var endIP = document.getElementById('cfgAddComputersStopIP');
var isRange = document.getElementById('isRange');
document.forms['treeForm'].computerRangeEnd.value = endIP.value;
if (prefix.value === "") {
alert("Prefix cannot be empty.");
prefix.focus();
return;
}
var errMsg = "";
errMsg = isValidIPAddress(startIP.value, "Start IP Address", false, false);
if (errMsg.length > 0) {
alert(errMsg);
startIP.select();
startIP.focus();
return;
}
if (isRange.checked) {
errMsg = "";
errMsg = isValidIPAddress(endIP.value, "Stop IP Address", false, false);
if (errMsg.length > 0) {
alert(errMsg);
endIP.select();
endIP.focus();
return;
}
}
else
endIP.value = startIP.value;
var xmlArgs = '';
top.document.navDT.panelCfgAddComputers.hide();
getWaitDlg().show();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleComputer', {
success: function(o) {
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
top.document.stopWait();
alert(temp1[0]);
}
else {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.stopWait();
if (top.document.navDT.panelCfgAddComputers.populateType === 1)
populateSelectComputersPanel(top.document.navDT);
else if (top.document.navDT.panelCfgAddComputers.populateType === 2)
populateReplaceRoxieServers();
else {
top.document.navDT.clickCurrentSelOrName(top.document.navDT);
var temp = o.responseText.split(//g);
if (temp.length > 1) {
var temp1 = temp[1].split(/<\/CompName>/g);
if (temp1.length > 1) {
top.document.selectRecord = temp1[0];
top.document.selectRecordClick = true;
}
}
}
}
getWaitDlg().hide();
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
getWaitDlg().hide();
},
scope: this
},
getFileName(true) + 'Operation=NewRange&XmlArgs=' + xmlArgs);
break;
}
}
}
top.document.navDT.panelCfgAddComputers = new YAHOO.widget.Panel("cfgAddComputers", { fixedcenter: true, visible: false, modal: true, constraintoviewport: true });
var btncfgAddComputersOk = new YAHOO.widget.Button("cfgAddComputersOk");
btncfgAddComputersOk.on("click", onAddComputersButtonClick);
var btncfgAddComputersCancel = new YAHOO.widget.Button("cfgAddComputersCancel");
btncfgAddComputersCancel.on("click", onAddComputersButtonClick);
isRangeClicked(true);
}
var isRange = document.getElementById('isRange');
if (type === 0 || type === 1) {
isRange.checked = true;
isRange.disabled=false;
isRangeClicked(true);
}
else if (type === 3)
{
isRange.checked = false;
isRange.disabled=true;
isRangeClicked(false);
}
top.document.navDT.panelCfgAddComputers.populateType = type;
var domainsDropDown = document.getElementById('cfgAddComputersDomain');
var children = domainsDropDown.getElementsByTagName("option");
for (i = 0; i < children.length; )
domainsDropDown.removeChild(children.item(i));
var inner = '';
for (i = 0; i < domains.length; i++)
domainsDropDown.options[domainsDropDown.options.length] = new Option(domains[i], domains[i]);
inner = '';
var cTypesDropDown = document.getElementById('cfgAddComputersType');
children = cTypesDropDown.getElementsByTagName("option");
for (i = 0; i < children.length; )
cTypesDropDown.removeChild(children.item(i));
for (i = 0; i < computerTypes.length; i++)
cTypesDropDown.options[cTypesDropDown.options.length] = new Option(computerTypes[i], computerTypes[i]);
document.getElementById('cfgAddComputers').style.display = 'block';
top.document.navDT.panelCfgAddComputers.render(document.body);
top.document.navDT.panelCfgAddComputers.focusFirst();
top.document.navDT.panelCfgAddComputers.show();
}
function promptSlaveConfig(self) {
var tmpdt = self;
var handleSubmit = function() {
var selRows = selectComputersDTDiv.selectComputersTable.getUserSelectedRows();
if (selRows.length === 0) {
alert("please make a selection or press cancel");
return;
}
this.hide();
top.document.startWait();
var compName = tmpdt.getRecord(tmpdt.getSelectedRows()[0]).getData('Name');
var xmlStr = instanceSelectionToXML(selectComputersDTDiv.selectComputersTable, selRows, tmpdt);
displaySlaveConfigDlg(tmpdt, selRows.length);
}
initSelectComputersPanel(tmpdt, handleSubmit);
document.getElementById('selectComputersPanel').style.display = 'block';
tmpdt.selectComputersPanel.render(document.body);
tmpdt.selectComputersPanel.center();
tmpdt.selectComputersPanel.show();
}
function slaveConfigToXml(table, type, val1, val2) {
var compName = top.document.navDT.getRecord(top.document.navDT.getSelectedRows()[0]).getData('Name');
var xmlStr = "";
var selectedRows = table.getUserSelectedRows();
if (typeof (selectedRows) !== 'undefined') {
for (var i = 0; i < selectedRows.length; i++) {
xmlStr += "";
}
}
xmlStr += "";
return xmlStr;
}
function displaySlaveConfigDlg(paramdt, width) {
if (width === 0)
return;
if (!paramdt.cfgRoxieSlave) {
paramdt.cfgRoxieSlave = new YAHOO.widget.Dialog("cfgRoxieSlave",
{ resizable: true,
fixedcenter: true,
close: true,
draggable: true,
//zindex:9999,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
}
);
}
var fnCancel = function() {
this.hide();
}
var fnSave = function() {
var conf, val1, val2, dirs;
if (document.getElementById('cfgRoxieSlaveRedundancyFull').checked) {
conf = "Full";
val1 = document.getElementById('cfgRoxieSlaveFullChannel').value;
}
else if (document.getElementById('cfgRoxieSlaveRedundancyCir').checked) {
conf = "Circular";
val1 = document.getElementById('cfgRoxieSlaveCircularChannel').value;
val2 = document.getElementById('cfgRoxieSlaveCircularOffset').value;
}
else if (document.getElementById('cfgRoxieSlaveRedundancyNone').checked)
conf = "None";
else if (document.getElementById('cfgRoxieSlaveRedundancyOver').checked) {
val1 = document.getElementById('cfgRoxieSlaveChannelsPerHost').value;
conf = "Overloaded";
}
if (conf !== "None" && val1 <= 0 || val1 > 3) {
alert("Channel redundancy for " + conf + " redundancy cannot be <= 0 and > 3");
return;
}
this.hide();
var xmlStr = slaveConfigToXml(selectComputersDTDiv.selectComputersTable, conf, val1, val2);
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleRoxieOperation', {
success: function(o) {
clearSelectComputersTable();
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
top.document.stopWait();
alert(temp1[0]);
}
else {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.stopWait();
clickCurrentSelOrName(paramdt);
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=RoxieSlaveConfig&XmlArgs=' + xmlStr);
}
var myButtons = [{ text: "Ok", handler: fnSave, isDefault: true },
{ text: "Cancel", handler: fnCancel}];
paramdt.cfgRoxieSlave.cfg.queueProperty("buttons", myButtons);
document.getElementById('cfgRoxieSlave').style.display = 'block';
document.getElementById('cfgRoxieSlaveCircularChannel').value = 2;
document.getElementById('cfgRoxieSlaveCircularOffset').value = 1;
document.getElementById('cfgRoxieSlaveFullChannel').value = 2;
document.getElementById('cfgRoxieSlaveChannelsPerHost').value = 1;
paramdt.cfgRoxieSlave.render(document.body);
if (width === 1) {
document.getElementById("cfgRoxieSlaveRedundancyFull").disabled = true;
document.getElementById("cfgRoxieSlaveRedundancyCir").disabled = true;
document.getElementById("cfgRoxieSlaveRedundancyNone").checked = true;
enableRoxieConfigOptions('None');
}
else {
document.getElementById("cfgRoxieSlaveRedundancyFull").disabled = false;
document.getElementById("cfgRoxieSlaveRedundancyCir").disabled = false;
document.getElementById("cfgRoxieSlaveRedundancyFull").checked = true;
enableRoxieConfigOptions('Full');
}
paramdt.cfgRoxieSlave.center();
paramdt.cfgRoxieSlave.show();
top.document.stopWait();
}
function populateSelectComputersPanel(paramdt)
{
top.document.startWait();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetComputersForRoxie', {
success: function(o) {
if (!selectComputersDTDiv.selectComputersDataSource) {
var roxieComputersColumnDefs = [{ key: "check", label: " Select All", formatter: "checkbox" },
{ key: "name", label: "Computer", width: 120 },
{ key: "netAddress", label: "Net Address", width: 100 },
{ key: "usage", label: "Usage", width: 180}];
var xmlStr = '';
var selectComputersDataSource = new YAHOO.util.DataSource(xmlStr);
selectComputersDataSource.responseType = YAHOO.util.DataSource.TYPE_XML;
selectComputersDataSource.responseSchema = { resultNode: "Machine", fields: ["name", "netAddress", "usage"] };
var selectComputersDataTable = new YAHOO.widget.DataTable("selectComputersDTDiv", roxieComputersColumnDefs,
selectComputersDataSource,
{ width: "490", initialLoad: false, resize: true });
selectComputersDataTable.subscribe("checkboxClickEvent", function(oArgs) {
var elem = oArgs.target;
var oRecord = this.getRecord(elem);
oRecord.setData("check", elem.checked);
if (elem.checked !== true)
top.document.getElementById('SelectAllComputers').checked = false;
});
selectComputersDataTable.getUserSelectedRows = function() {
var selectedRows = new Array();
var recSet = this.getRecordSet();
var recSetLen = recSet.getLength();
for (var i = 0; i < recSetLen; i++) {
var r = recSet.getRecord(i);
if (r.getData('check') === true)
selectedRows[selectedRows.length] = r.getId();
}
return selectedRows;
}
selectComputersDataTable.on('theadCellClickEvent', function(oArgs) {
var target = oArgs.target,
column = this.getColumn(target),
actualTarget = YAHOO.util.Event.getTarget(oArgs.event),
check = actualTarget.checked;
if (column.key == 'check') {
var recordSet = this.getRecordSet();
var len = recordSet.getLength();
for (var i = 0; i < len; i++) {
var rec = recordSet.getRecord(i);
rec.setData('check', check);
}
this.render();
}
this.unselectAllRows();
});
selectComputersDataTable.subscribe("rowClickEvent", selectComputersDataTable.onEventSelectRow);
selectComputersDataTable.subscribe("cellClickEvent", function() { selectComputersDataTable.clearTextSelection() });
selectComputersDataTable.subscribe("cellDblclickEvent", function(oArgs) {
var oRecord = this.getRecord(oArgs.target);
oRecord.setData("check", true);
var btns = paramdt.selectComputersPanel.cfg.getProperty("buttons");
for (var bIdx = 0; bIdx < btns.length; bIdx++) {
if (btns[bIdx].text === 'Ok') {
YAHOO.util.UserAction.click(btns[bIdx].htmlButton);
return false;
}
}
});
var oContextMenu = new YAHOO.widget.ContextMenu("selectcomputersmenu", { trigger: "selectComputersDTDiv", lazyload: true, container: "selectComputersDTDiv" });
oContextMenu.subscribe("beforeShow", onSelectComputersContextMenuBeforeShow);
oContextMenu.dt = selectComputersDataTable;
selectComputersDTDiv.selectComputersTable = selectComputersDataTable;
selectComputersDTDiv.selectComputersDataSource = selectComputersDataSource;
}
selectComputersDTDiv.selectComputersDataSource.handleResponse("", o, { success: selectComputersDTDiv.selectComputersTable.onDataReturnInitializeTable,
scope: selectComputersDTDiv.selectComputersTable
}, this, 999);
top.document.getElementById('SelectAllComputers').checked = false;
top.document.stopWait();
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=Farms');
}
function initSelectComputersPanel(paramdt, fnSave, enableNumNodes) {
if (!paramdt.selectComputersPanel) {
paramdt.selectComputersPanel = new YAHOO.widget.Dialog("selectComputersPanel",
{ width: "520px",
height: "500px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
}
);
paramdt.selectComputersPanel.renderEvent.subscribe(function() {
if (!paramdt.selectComputersPanel.layout) {
paramdt.selectComputersPanel.layout = new YAHOO.widget.Layout('selectComputersLayout', {
height: (paramdt.selectComputersPanel.body.offsetHeight - 40),
units: [
{ position: 'center', header: 'Computers', width: 490, resize: true, body: 'selectComputersDTDiv', gutter: '2px', scroll: true }
]
});
paramdt.selectComputersPanel.layout.render();
}
populateSelectComputersPanel(paramdt);
});
paramdt.selectComputersPanel.setHeader("Select computers");
}
var fnCancel = function() {
this.hide();
}
var fnAddComputers = function(){
var params = "queryType=DomainsAndComputerTypes";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetValue', {
success: function(o) {
if (o.responseText.indexOf("/g);
var tmp1;
if (tmp.length > 1) {
tmp1 = tmp[1].split(/<\/ReqValue>/g);
if (tmp1.length > 1)
result = tmp1[0];
else
result = '';
var domains = result.split(//g);
var domainArr = new Array();
if (domains.length > 0) {
domains1 = domains[domains.length-1].split(/<\/Domains>/g);
if (domains1.length > 0)
domainArr = domains1[0].split(/,/g);
}
var cTypes = result.split(//g);
var cTypeArr = new Array();
if (cTypes.length > 0) {
cTypes1 = cTypes[1].split(/<\/ComputerTypes>/g);
if (cTypes1.length > 0)
cTypeArr = cTypes1[0].split(/,/g);
}
promptNewRange(domainArr, cTypeArr, 1);
}
}
},
failure: function(o) {
},
scope: this
},
getFileName(true) + 'Params=' + params);
}
var myButtons = [{ text: "Add Hardware", handler: fnAddComputers },
{ text: "Ok", handler: fnSave, isDefault: true },
{ text: "Cancel", handler: fnCancel}];
paramdt.selectComputersPanel.cfg.queueProperty("buttons", myButtons);
if (enableNumNodes) {
if (!document.getElementById('slavesPerNodeDiv')) {
var newdiv = document.createElement("div");
newdiv.id = "slavesPerNodeDiv";
var newtext = document.createElement("LABEL");
newtext.innerHTML = "Number of thor slaves per node(default 1): ";
var aTextBox = document.createElement('input');
aTextBox.type = 'text';
aTextBox.value = '1';
aTextBox.id = 'slavesPerNode';
aTextBox.style.width = "50";
newdiv.appendChild(newtext);
newdiv.appendChild(aTextBox);
var nodes = document.getElementById("selectComputersPanel").childNodes;
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].className == "bd") {
nodes[i].appendChild(newdiv);
break;
}
}
}
document.getElementById('slavesPerNodeDiv').style.display = 'block';
document.getElementById('slavesPerNodeDiv').style.styleFloat = "left";
document.getElementById('slavesPerNodeDiv').style.cssFloat = "left";
document.getElementById('slavesPerNodeDiv').style.paddingTop = "5";
}
else {
if (document.getElementById('slavesPerNodeDiv'))
document.getElementById('slavesPerNodeDiv').style.display = 'none';
}
}
function initReplaceRoxieNodesPanel() {
var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;
var DDM = YAHOO.util.DragDropMgr;
if (!top.document.navDT.roxieNodesReplacePanel) {
top.document.navDT.roxieNodesReplacePanel = new YAHOO.widget.Dialog("roxieReplaceNodePanel",
{ width: "450px",
height: "400px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
//zindex:9999,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
});
top.document.navDT.roxieNodesReplacePanel.renderEvent.subscribe(function() {
if (!top.document.navDT.roxieNodesReplacePanel.layout) {
top.document.navDT.roxieNodesReplacePanel.layout = new YAHOO.widget.Layout('roxieReplaceNodeLayout', {
height: (top.document.navDT.roxieNodesReplacePanel.body.offsetHeight - 20),
units: [{ position: 'center', header: 'Computers', width: 400, resize: true, body: 'left4', gutter: '2px', scroll: true }]
});
top.document.navDT.roxieNodesReplacePanel.layout.render();
}
top.document.startWait();
populateReplaceRoxieServers();
});
top.document.navDT.roxieNodesReplacePanel.setHeader("Drag and Drop Computers onto Roxie Servers");
}
var fnClose = function() {
this.hide();
}
var fnAddComputers = function() {
var params = "queryType=DomainsAndComputerTypes";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetValue', {
success: function(o) {
if (o.responseText.indexOf("/g);
var tmp1;
if (tmp.length > 1) {
tmp1 = tmp[1].split(/<\/ReqValue>/g);
if (tmp1.length > 1)
result = tmp1[0];
else
result = '';
var domains = result.split(//g);
var domainArr = new Array();
if (domains.length > 0) {
domains1 = domains[domains.length - 1].split(/<\/Domains>/g);
if (domains1.length > 0)
domainArr = domains1[0].split(/,/g);
}
var cTypes = result.split(//g);
var cTypeArr = new Array();
if (cTypes.length > 0) {
cTypes1 = cTypes[1].split(/<\/ComputerTypes>/g);
if (cTypes1.length > 0)
cTypeArr = cTypes1[0].split(/,/g);
}
promptNewRange(domainArr, cTypeArr, 2);
}
}
},
failure: function(o) {
},
scope: this
},
getFileName(true) + 'Params=' + params);
}
var myButtons = [{ text: "Add Hardware", handler: fnAddComputers },
{ text: "Close", handler: fnClose, isDefault: true }];
top.document.navDT.roxieNodesReplacePanel.cfg.queueProperty("buttons", myButtons);
}
function populateReplaceRoxieServers() {
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetComputersForRoxie', {
success: function(o) {
if (!left4.roxieComputersDataSource) {
var roxieComputersColumnDefs = [{ key: "name", label: "Computer", width: 120 },
{ key: "netAddress", label: "Net Address", width: 100 },
{ key: "usage", label: "Usage", width: 180}];
var xmlStr = '';
var roxieComputersDataSource = new YAHOO.util.DataSource(xmlStr);
roxieComputersDataSource.responseType = YAHOO.util.DataSource.TYPE_XML;
roxieComputersDataSource.responseSchema = { resultNode: "Machine", fields: ["name", "netAddress", "usage"] };
var roxieComputersDataTable = new YAHOO.widget.DataTable("left4", roxieComputersColumnDefs,
roxieComputersDataSource,
{ width: "400", initialLoad: false, resize: true });
roxieComputersDataTable.subscribe("rowClickEvent", roxieComputersDataTable.onEventSelectRow);
roxieComputersDataTable.subscribe("cellClickEvent", function() { roxieComputersDataTable.clearTextSelection() });
roxieComputersDataTable.subscribe("cellDblclickEvent", function(oArgs) {
var btns = top.document.navDT.roxieNodesReplacePanel.cfg.getProperty("buttons");
for (var bIdx = 0; bIdx < btns.length; bIdx++) {
if (btns[bIdx].text === 'Ok') {
YAHOO.util.UserAction.click(btns[bIdx].htmlButton);
return false;
}
}
});
left4.roxieComputersTable = roxieComputersDataTable;
left4.roxieComputersDataSource = roxieComputersDataSource;
myDTDrags = {};
roxieComputersDataTable.subscribe("initEvent", function() {
var i, id,
allRows = this.getTbodyEl().rows;
for (i = 0; i < allRows.length; i++) {
id = allRows[i].id;
if (myDTDrags[id]) {
myDTDrags[id].unreg();
delete myDTDrags[id];
}
myDTDrags[id] = new CONFIGMGR.DDRows(id, "default", { isTarget: false }, roxieComputersDataTable);
}
});
}
var i, id, allRows = left4.roxieComputersTable.getTbodyEl().rows;
for (i = 0; i < allRows.length; i++) {
id = allRows[i].id;
if (myDTDrags[id]) {
myDTDrags[id].unreg();
delete myDTDrags[id];
}
}
left4.roxieComputersDataSource.handleResponse("", o, { success: left4.roxieComputersTable.onDataReturnInitializeTable,
scope: left4.roxieComputersTable
}, this, 999);
top.document.stopWait();
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=Farms');
}
function updateRecordName(oldValue, newValue) {
var sel = top.document.navDT.getSelectedRows()[0];
var rec = top.document.navDT.getRecord(sel);
var dispName = rec.getData('DisplayName');
var newName = dispName.split(oldValue); //, newValue);
rec.setData('DisplayName', newName[0] + newValue);
rec.setData('Name', newValue);
top.document.lastSelectedRow = newValue;
top.document.navDT.selectRow(sel);
clickCurrentSelOrName(top.document.navDT, newValue, true);
expandRecord(this, "Name", "Environment");
expandRecord(this, "Name", "Software");
top.document.lastSelectedRow = newValue;
top.document.navDT.render();
//clickCurrentSelOrName(top.document.navDT, newValue, true);
}
function enableRoxieConfigOptions(type) {
if (type === 'Cir') {
document.getElementById('cfgRoxieSlaveChannelsPerHost').disabled = true;
document.getElementById('cfgRoxieSlaveFullChannel').disabled = true;
document.getElementById('cfgRoxieSlaveCircularChannel').disabled = false;
document.getElementById('cfgRoxieSlaveCircularOffset').disabled = false;
}
else if (type === 'Full') {
document.getElementById('cfgRoxieSlaveChannelsPerHost').disabled = true;
document.getElementById('cfgRoxieSlaveFullChannel').disabled = false;
document.getElementById('cfgRoxieSlaveCircularChannel').disabled = true;
document.getElementById('cfgRoxieSlaveCircularOffset').disabled = true;
}
else if (type === 'None') {
document.getElementById('cfgRoxieSlaveChannelsPerHost').disabled = true;
document.getElementById('cfgRoxieSlaveFullChannel').disabled = true;
document.getElementById('cfgRoxieSlaveCircularChannel').disabled = true;
document.getElementById('cfgRoxieSlaveCircularOffset').disabled = true;
}
else if (type === 'Over') {
document.getElementById('cfgRoxieSlaveChannelsPerHost').disabled = false;
document.getElementById('cfgRoxieSlaveFullChannel').disabled = true;
document.getElementById('cfgRoxieSlaveCircularChannel').disabled = true;
document.getElementById('cfgRoxieSlaveCircularOffset').disabled = true;
}
}
function clearSelectComputersTable() {
if (selectComputersDTDiv.selectComputersDataSource) {
selectComputersDTDiv.selectComputersTable.unselectAllRows();
top.document.getElementById('SelectAllComputers').checked = false;
}
}
function thorInstSelToXML(self, selectedRows, paramdt, type, validateComputers, skip, slavesPerNode) {
var compName = top.document.navDT.getRecord(top.document.navDT.getSelectedRows()[0]).getData('Name');
var xmlStr = "";
//var selectedRows = table.getSelectedRows();
if (typeof (selectedRows) !== 'undefined') {
for (var i = 0; i < selectedRows.length; i++) {
xmlStr += "";
}
}
xmlStr += "";
return xmlStr;
}
function promptThorTopology(self, type) {
var tmpdt = self;
var handleSubmit = function() {
var selRows = selectComputersDTDiv.selectComputersTable.getUserSelectedRows();
if (selRows.length === 0) {
alert("please make a selection or press cancel");
return;
}
var numslaves = parseInt(document.getElementById("slavesPerNode").value, 10);
if (!(isInteger(document.getElementById('slavesPerNode').value)) || numslaves < 1) {
alert("Number of thor slaves per node must be a number greater than 0");
return;
}
this.hide();
top.document.startWait();
var compName = tmpdt.getRecord(tmpdt.getSelectedRows()[0]).getData('Name');
var xmlStr = thorInstSelToXML(selectComputersDTDiv.selectComputersTable, selRows, tmpdt, type, true, false, document.getElementById("slavesPerNode").value);
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleThorTopology', {
success: function(o) {
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
top.document.stopWait();
alert(temp1[0]);
}
else {
var form = document.forms['treeForm'];
var status = o.responseText.split(//g);
var status1 = status[1].split(/<\/Status>/g);
if (status1[0] !== 'true') {
var fnYes = function() {
this.hide();
xmlStr = thorInstSelToXML(selectComputersDTDiv.selectComputersTable, selRows, tmpdt, type, false, false, document.getElementById("slavesPerNode").value);
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleThorTopology', {
success: function(o) {
clearSelectComputersTable();
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
top.document.stopWait();
alert(temp1[0]);
}
else {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.stopWait();
clickCurrentSelOrName(tmpdt);
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Operation=Add&Type=' + type + '&XmlArgs=' + xmlStr);
}
var fnNo = function() {
this.hide();
xmlStr = thorInstSelToXML(selectComputersDTDiv.selectComputersTable, selRows, tmpdt, type, false, true, document.getElementById("slavesPerNode").value);
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleThorTopology', {
success: function(o) {
clearSelectComputersTable();
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
top.document.stopWait();
alert(temp1[0]);
}
else {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
setCurEnv(form, o.responseText)
top.document.stopWait();
clickCurrentSelOrName(tmpdt);
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Operation=Add&Type=' + type + '&XmlArgs=' + xmlStr);
}
var fnCancel = function() { this.hide(); }
promptYesNoCancel(status1[0], fnYes, fnNo, fnCancel);
}
else {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.stopWait();
clickCurrentSelOrName(tmpdt);
}
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Operation=Add&Type=' + type + '&XmlArgs=' + xmlStr);
}
initSelectComputersPanel(tmpdt, handleSubmit, type==="Slave" ? true : false);
document.getElementById('selectComputersPanel').style.display = 'block';
tmpdt.selectComputersPanel.render(document.body);
tmpdt.selectComputersPanel.center();
tmpdt.selectComputersPanel.show();
}
function promptYesNoCancel(msg, fnYes, fnNo, fnCancel) {
var tmpdt = top.document.navDT;
if (!tmpdt.YNCancelPanel) {
tmpdt.YNCancelPanel = new YAHOO.widget.Dialog("YesNoCancelPanel",
{ width: "450px",
resizable: true,
fixedcenter: true,
close: true,
draggable: true,
//zindex:9999,
modal: true,
visible: false,
underlay: 'none',
constraintoviewport: true
}
);
}
var myButtons = [{ text: "Yes", handler: fnYes, isDefault: true },
{ text: "No", handler: fnNo },
{ text: "Cancel", handler: fnCancel}];
tmpdt.YNCancelPanel.cfg.queueProperty("buttons", myButtons);
document.getElementById('YesNoCancelPanel').style.display = 'block';
tmpdt.YNCancelPanel.setBody(msg);
tmpdt.YNCancelPanel.render(document.body);
tmpdt.YNCancelPanel.show();
}
function unlockUser() {
//onbeforeunload handles unsaved changes. At this point, user
//doesn't care about unsaved changes
if (top.document.navDT && top.document.navDT.keepAliveInt) {
clearInterval(top.document.navDT.keepAliveInt);
top.document.navDT.keepAliveInt = 0;
}
var form = document.forms['treeForm'];
if (form.isLocked.value === "true")
unlockEnvironment(top.document.navDT, false);
if (form.isWizLocked.value === "true")
unlockEnvForWizard();
resetHiddenVars();
}
function setReadWrite(flag) {
if (!checkForEE()) {
updateEnvCtrls(false);
return;
}
getWaitDlg().show();
if (flag)
lockEnvironment();
else
saveAndUnlockEnv();
}
function saveAndUnlockEnv() {
var form = document.forms['treeForm'];
if (form.isChanged.value === "true")
askUserToSave(top.document.navDT, true, true);
else
unlockEnvironment(top.document.navDT, false);
getWaitDlg().hide();
}
function updateEnvCtrls(flag) {
var Dom = YAHOO.util.Dom;
var sbtn = Dom.get("savebutton");
var vbtn = Dom.get("validatebutton");
var fileopened = window.location.href.split(/\?/g);
if (document.forms['treeForm'].wizops.value != '3' || fileopened.length <= 1)
document.getElementById('ReadWrite').disabled = true;
if (flag) {
Dom.removeClass(sbtn, "yui-button-disabled");
Dom.removeClass(vbtn, "yui-button-disabled");
document.getElementById('savebutton-button').disabled = false;
document.getElementById('validatebutton-button').disabled = false;
document.getElementById('savebutton').disabled = false;
document.getElementById('validatebutton').disabled = false;
document.getElementById('ReadWrite').checked = true;
}
else {
Dom.addClass(sbtn, "yui-button-disabled");
Dom.addClass(vbtn, "yui-button-disabled");
document.getElementById('savebutton-button').disabled = true;
document.getElementById('validatebutton-button').disabled = true;
document.getElementById('savebutton').disabled = true;
document.getElementById('validatebutton').disabled = true;
document.getElementById('ReadWrite').checked = false;
}
}
function updateWizCtrls() {
var form = document.forms['treeForm'];
var Dom = YAHOO.util.Dom;
var bbtn = Dom.get("blankEnv");
var abtn = Dom.get("advButton");
if (form.wizops.value === "3") {
Dom.removeClass(bbtn, "yui-button-disabled");
Dom.removeClass(abtn, "yui-button-disabled");
document.getElementById('blankEnv').disabled = false;
document.getElementById('advButton').disabled = false;
}
else {
Dom.addClass(bbtn, "yui-button-disabled");
Dom.addClass(abtn, "yui-button-disabled");
document.getElementById('blankEnv').disabled = true;
document.getElementById('advButton').disabled = true;
}
}
function resetHiddenVars()
{
//Firefox does not reset hidden form values
var form = document.forms['treeForm'];
form.isLocked.value = "false";
form.isWizLocked.value = "false";
form.isChanged.value = "false";
form.lastSaved.value = "";
form.lastStarted.value = "";
form.compsToBeDeployed.value = "";
form.configFiles.value = "0";
form.saveInProgress.value = "false";
form.displayMode.value = "0";
form.mode.value = "0";
form.foundEnvironment.value = "false";
form.ipMode.value = "1";
form.ip.value = "";
form.textClear.value = "false";
form.userName.value = "";
form.computerRangeEnd.value = "";
form.wizfile.value = "";
//do not reset form.sourcefile.value
//do not reset form.userid.value
//do not reset form.wizops.value
}
if (typeof CONFIGMGR == "undefined" || !CONFIGMGR)
CONFIGMGR = {};
CONFIGMGR.DDRows = function(id, sGroup, config, srcDt, rightViewDom) {
CONFIGMGR.DDRows.superclass.constructor.call(this, id, sGroup, config);
YAHOO.util.Dom.addClass(this.getDragEl(), "custom-class");
this.goingUp = false;
this.lastY = 0;
this.dt = srcDt;
this.rightViewDom = rightViewDom;
};
YAHOO.extend(CONFIGMGR.DDRows, YAHOO.util.DDProxy, {
proxyEl: null,
srcEl: null,
srcData: null,
dt: null,
rightViewDom: null,
startDrag: function(x, y) {
var proxyEl = this.proxyEl = this.getDragEl(),
srcEl = this.srcEl = this.getEl();
this.srcData = this.dt.getRecord(this.srcEl).getData();
YAHOO.util.Dom.setStyle(srcEl, "visibility", "hidden");
proxyEl.innerHTML = "
" + srcEl.innerHTML + "
";
},
endDrag: function(x, y) {
var position, srcEl = this.srcEl;
YAHOO.util.Dom.setStyle(this.proxyEl, "visibility", "hidden");
YAHOO.util.Dom.setStyle(srcEl, "visibility", "");
},
onDragEnter: function(e, id) {
var Dom = this.rightViewDom ? this.rightViewDom : YAHOO.util.Dom;
var destEl = Dom.get(id);
if (destEl && destEl.nodeName.toLowerCase() === "tr") {
roxieDT = top.document.RightTabView.get("activeTab").dt;
var tr = roxieDT.getTrEl(destEl.id);
Dom.setStyle(tr, "outline-style", "solid");
top.document.body.style.cursor = "blink";
}
},
onDragOut: function(e, id) {
var Dom = this.rightViewDom ? this.rightViewDom : YAHOO.util.Dom;
var destEl = Dom.get(id);
if (destEl && destEl.nodeName.toLowerCase() === "tr") {
roxieDT = top.document.RightTabView.get("activeTab").dt;
var tr = roxieDT.getTrEl(destEl.id);
Dom.setStyle(tr, "outline-style", "none");
top.document.body.style.cursor = "auto";
}
},
getEl: function() {
if (!this._domRef) {
if (this.rightViewDom)
this._domRef = this.rightViewDom.get(this.id);
else
this._domRef = YAHOO.util.Dom.get(this.id);
}
return this._domRef;
},
onDragDrop: function(e, id) {
var destEl = YAHOO.util.Dom.get(id);
if (!destEl || !destEl.id)
return;
top.document.startWait();
roxieDT = top.document.RightTabView.get("activeTab").dt;
var compName = top.document.navDT.getRecord(top.document.navDT.getSelectedRows()[0]).getData('Name');
var xmlStr = "";
var rec = roxieDT.getRecord(destEl.id);
var parent = getRecord(roxieDT, rec.getData('parent'));
xmlStr += "";
xmlStr += "";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/HandleRoxieOperation', {
success: function(o) {
var form = top.window.document.forms['treeForm'];
form.isChanged.value = "true";
top.document.stopWait();
clickCurrentSelOrName(top.document.navDT);
populateReplaceRoxieServers();
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'Cmd=ReplaceRoxieServer&XmlArgs=' + xmlStr);
YAHOO.util.DDM.refreshCache();
}
});
function createDDRows(id, sGroup, config, srcDT, rightViewDom) {
return new CONFIGMGR.DDRows(id, sGroup, config, srcDT, rightViewDom);
}
function wizardPanel(){
if(top.document.displayModeDialog1)
top.document.displayModeDialog1.hide();
if(!top.document.wizardpanel)
{
top.document.wizardpanel = new YAHOO.widget.Panel('wizardPanel', {
modal:true,
draggable: true,
close: false,
autofillheight: "body",
constraintoviewport:true,
underlay: 'none',
width: '500',
height: '500px'
});
top.document.wizardpanel.renderEvent.subscribe(function() {
if(!top.document.wizardpanel.layout){
top.document.wizardpanel.layout = new YAHOO.widget.Layout('wizardLayout', {
height : 480,
width: 475,
units: [
{ position: 'top', height: 55, resize: false, body: 'wizardTop'},
{ position: 'center', body: 'wizardCenter'}
]
});
}
top.document.wizardpanel.layout.on('render',handleWizardScreen);
top.document.wizardpanel.layout.render();
});
}
document.getElementById('wizardPanel').style.display='block';
top.document.wizardpanel.render(document.body);
top.document.wizardpanel.show();
top.document.wizardpanel.center();
}
function handleWizardScreen() {
var handleWizardDialog1Next = function() {
top.document.displayModeDialog1.hide();
validateWizardDialog1(document.getElementById('ipListText').value);
};//WizardDialog1Next
var handleWizardDialog1Back = function() {
var gotoWizBack = function() {
top.document.wizardDialog1.hide();
top.document.wizardpanel.hide();
top.document.displayModeDialog1.show();
if (document.getElementById('ip').value === ''){
document.getElementById('ipListText').value="Sample : X.X.X.X; X.X.X.X-XXX;";
document.getElementById('ipListText').style.color="Gray";
document.forms['treeForm'].textClear.value = "false";
}
}
unlockEnvForWizard(gotoWizBack, false);
};
var handleWizardDialog1Cancel = function() {
var gotoWizCancel = function() {
top.document.wizardDialog1.hide();
top.document.wizardpanel.hide();
if(!top.document.navDT && document.forms['treeForm'].sumparams.value !== '1')
top.document.displayModeDialog1.show();
else
top.document.displayModeDialog1.hide();
}
unlockEnvForWizard(gotoWizCancel, false);
}
if(!top.document.wizardDialog1)
{
var centers=top.document.wizardpanel.layout.getSizes();
top.document.wizardDialog1 = new YAHOO.widget.Dialog('wizardIPAddressScreen',
{
width:((top.document.wizardpanel.layout.getUnitByPosition('center').get('width')) - 2),
visible : true,
draggable : false,
modal : false,
close : false,
zindex : 9999,
container: 'wizardCenter',
xy:(YAHOO.util.Dom.getXY(top.document.wizardpanel.layout.getUnitByPosition('center'))),
buttons : [ { text:"Cancel", handler:handleWizardDialog1Cancel},
{ text:"Back", handler:handleWizardDialog1Back},
{ text:"Next", handler:handleWizardDialog1Next, isDefault:true }]
});
}
if(document.forms['treeForm'].wizops.value != '3')
document.getElementById('autoIP').disabled=true;
document.getElementById('wizardIPAddressScreen').style.display='block';
top.document.wizardDialog1.render();
top.document.wizardDialog1.show();
}
function validateWizardDialog1(ipList){
//Before forming finalIPList remove the duplicate.
var errorString = "";
var finalIPList = '';
ipList=removeNL(ipList);
ipList =getUniqueIP(ipList);
ipList=removeSpaces(ipList);
if (document.forms['treeForm'].ipMode.value !== '2'){
var theName ="IPAddress";
document.getElementById('ipListText').value=ipList;
var errorString = isValidIPAddress(ipList, theName, true, true)
if( errorString === '') {
saveIPList();
finalIPList = ipList ;
}
else {
indentIP();
alert(errorString);
top.document.wizardDialog1.show();
}
}
else {
finalIPList = document.getElementById('ipListText').value;
}
if(finalIPList !== '' && errorString === '')
{
handleNumNodesScreen();
}
}
function lockEnvForWizard(){
getWaitDlg().show();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/NavMenuEvent', {
success: function(o) {
getWaitDlg().hide();
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var isErr = false;
if (temp.length > 0) {
var temp1 = temp[1].split(/<\/XmlArgs>/g);
if (temp1.length > 0 && temp1[0].length > 0 && temp1[0].charAt(0) != '<') {
isErr = true;
//alert(temp1[0]);
if( temp1[0].match(/Write/) != null ){
form.isWizLocked.value = "false";
alert(temp1[0]);
top.document.displayModeDialog1.show();
}
else if( temp1[0].match(/Cannot/) != null || temp1[0].match(/Another/) != null ){
alert(temp1[0]);
top.document.displayModeDialog1.show();
}
}
}
if (!isErr) {
var form = document.forms['treeForm'];
form.isWizLocked.value = "true";
getWaitDlg().hide();
wizardPanel();
}
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
getWaitDlg().hide();
alert(temp1[0]);
}
}
else {
getWaitDlg().hide();
alert(r.replyText);
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true, true) + 'Cmd=LockEnvironment&XmlArgs=' + '');
}
function unlockEnvForWizard(fnCallback, saveEnv){
getWaitDlg().show();
var xmlArgs='';
if (saveEnv)
xmlArgs = "";
if(document.forms['treeForm'].isWizLocked.value === "true"){
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/NavMenuEvent', {
success: function(o) {
getWaitDlg().hide();
var isErr = false;
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
getWaitDlg().hide();
alert(temp1[0]);
isErr = true;
}
if (fnCallback && !isErr)
fnCallback();
} else {
getWaitDlg().hide();
alert(r.replyText);
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true, true) + 'Cmd=UnlockEnvironment&XmlArgs=' + xmlArgs);
}
else{
getWaitDlg().hide();
fnCallback();
}
}
function formXMLStringFromIPList(ipList)
{
var xmlStr='';
var finalStr='';
ipList=removeNL(ipList);
ipList = ipList.replace(/;$/, "");
var pattern=/-/;
var ipArr= new Array();
ipArr=ipList.split(";");
var hasrange = "false";
for (k = 0; k < ipArr.length; k++) {
var IPvalue = ipArr[k];
if (IPvalue.match(pattern) != null) {
if(hasrange === "false") {
tempStr= xmlStr;
xmlStr = "" + tempStr;
hasrange = "true";
}
xmlStr = xmlStr + ""
}
else {
xmlStr = xmlStr + "" ;
}
}
if(hasrange === "true")
finalxmlStr = xmlStr + "";
else
finalxmlStr = "" + xmlStr + "";
return finalxmlStr;
}
function enableTextArea(flag)
{
document.getElementById("ipListText").disabled=!flag;
}
function clearTextArea()
{
document.getElementById('ipListText').style.color='Black';
if(document.forms['treeForm'].ipMode.value !== '2' && document.forms['treeForm'].textClear.value !== "true")
{
var pattern=/Sample/;
if( (document.getElementById('ipListText').value).match(pattern) != null)
document.getElementById("ipListText").value ='';
else if(document.forms['treeForm'].ip.value !== ''){
document.getElementById("ipListText").value = document.forms['treeForm'].ip.value;
}
else
document.getElementById("ipListText").value='';
}
else if(document.forms['treeForm'].ipMode.value !== '2' && document.forms['treeForm'].ip.value !== ''){
document.getElementById("ipListText").value = document.forms['treeForm'].ip.value;
indentIP();
}
document.forms['treeForm'].textClear.value = "true";
}
function saveIPList()
{
if(document.forms['treeForm'].ipMode.value !== '2')
document.forms['treeForm'].ip.value = document.getElementById("ipListText").value;
}
function addNewLine(event)
{
var evtobj= window.event? event : event.which; //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode = evtobj.charCode? evtobj.charCode : evtobj.keyCode
if(unicode == 186 || unicode == 188)
document.getElementById('ipListText').value += "\n";
}
function indentIP() {
var arrIPs = document.getElementById('ipListText').value;
arrIPs=removeNL(arrIPs);
arrIPs = arrIPs.replace(/;/g,';\n');
document.getElementById('ipListText').value = arrIPs;
}
function removeNL(s) {
/*
** Remove NewLine, CarriageReturn and Tab characters from a String
** s string to be processed
** returns new string also before removing \n check for the delimited (;) if not add it.
*/
var ipArr = new Array();
ipArr = s.split('\n');
var ipList ='';
for( i = 0; i < ipArr.length; i++) {
var ips = ipArr[i];
var pattern=/-/;
if( ips.match(pattern) != null){
ips=ips.replace(" -","-");
ips=ips.replace("- ","-");
}
if ( ips !== "" && typeof(ips) !== 'undefined')
{
var ipsOnSingleLine = ips.split(" ");
r = "";
for (y=0; y < ipsOnSingleLine.length; y++) {
var ip=ipsOnSingleLine[y];
for (k=0; k < ip.length; k++) {
if (ip.charAt(k) != '\n' &&
ip.charAt(k) != '\r' &&
ip.charAt(k) != '\t' &&
ip.charAt(k) != ',' &&
ip.charAt(k) != '\s'
) {
r += ip.charAt(k);
}
}
if(r.charAt((r.length)-1) !== ';' && r !== "")
r+=';';
ipList += r;
}
}
}
return ipList;
}
function getIPAddrThrAutoGenScript() {
getWaitDlg().show();
document.forms['treeForm'].textClear.value = "false";
var value=document.getElementById("ipListText").value;
var pattern=/Sample/;
if(value.match(pattern) != null)
{
document.getElementById("ipListText").value='';
}
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetSubnetIPAddr', {
success: function(o) {
if (o.responseText.indexOf("/g);
var isErr = false;
if (temp.length > 0) {
var temp1 = temp[1].split(/<\/Message>/g);
if (temp1.length > 0 && temp1[0].length > 0 && temp1[0].charAt(0) != '<') {
isErr = true;
var errorString = temp1[0] + "Please use the manual entry for entering IP List";
document.getElementById("manualIP").checked = true;
document.getElementById("ipListText").disabled = false;
alert(errorString);
}
if(!isErr)
{
document.getElementById("ipListText").disable=true;
var ipList = o.responseText.split(//g);
var ipList1 = ipList[1].split(/<\/IPList>/g);
var form=document.forms['treeForm'];
if (ipList1[0].charAt(0) != '<') {
document.getElementById('ipListText').value=ipList1[0];
}
indentIP();
}
}
getWaitDlg().hide();
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
getWaitDlg().hide();
alert(temp1[0]);
}
},
failure: function(o) {
getWaitDlg().hide();
alert(o.statusText);
},
scope: this
},
getFileName(true, true) + 'Cmd=GetSubnetIPAddr');
}
function getUniqueIP(ipList) {
var arrIPs = ipList.split(";");
var arrNewIPs = [];
var seenIPs = {};
for(var i=0;i 10) {
if (!confirm("As the number of Thor slave nodes requested is equal to the number \
of ip addresses given, there will be an overlap of Thor master node and a Thor \
slave node. This is not recommended in an environment with more than \
10 nodes.\n\nDo you want to continue?"))
return;
}
submitInformation();
}
else{
alert("Number of nodes should be less then number of IPs provided");
}
}
}
function ipCount(){
var ipList=document.getElementById('ipListText').value;
ipList = removeNL(ipList);
ipList = ipList.replace(/;$/,"");
var ipArr= new Array();
ipArr = ipList.split(";");
var cnt = 0;
var ipPattern =/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
for(var k=0; k < ipArr.length ;k++ )
{
if (ipArr[k].match("-") != null )
{
var ip=new Array();
ip = ipArr[k].split("-");
if ( ip.length > 1)
{
var ipArray = ip[0].match(ipPattern);
var startAddr = parseInt(ipArray[4]);
var endAddr = parseInt(ip[1]);
if(startAddr > endAddr)
{
var tempAddr = startAddr;
startAddr= endAddr;
endAddr=tempAddr;
}
while(startAddr != endAddr)
{
cnt++;
startAddr++;
}
}
}
cnt++;
}
return cnt;
}
function submitInformation() {
//Before submitting collect all the information in XML format
var roxieSrvNode = document.getElementById('node4RoxieServ').value ;
var thorNode = document.getElementById('node4Thor').value ;
var iplist = document.getElementById('ipListText').value;
var slavesPerNode = document.getElementById('slavesPerNode').value;
var xmlStr = "";
var button = top.document.numNodesDialog.getButtons();
button[0].set("disabled",true);
button[1].set("disabled",true);
getStaticProgressBar().show();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/BuildEnvironment', {
success: function(o) {
if (o.status === 200) {
if (o.responseText.indexOf("/g);
var isErr = false;
if (temp.length > 0) {
var temp1 = temp[1].split(/<\/Message>/g);
if (temp1.length > 0 && temp1[0].length > 0 && temp1[0].charAt(0) != '<') {
isErr = true;
getStaticProgressBar().hide();
alert(temp1[0]);
button[0].set("disabled", false);
button[1].set("disabled", false);
}
else {
var stat = o.responseText.split(//g);
var stat1 = stat[1].split(/<\/Status>/g);
if (stat1[0] === "false") {
getStaticProgressBar().hide();
isErr = true;
alert("Unknown error in generating Environment");
}
button[0].set("disabled", false);
button[1].set("disabled", false);
}
}
if (!isErr) {
summaryPageForWizard();
getStaticProgressBar().hide();
}
}
else if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
getStaticProgressBar().hide();
button[0].set("disabled", false);
button[1].set("disabled", false);
alert(temp1[0]);
}
}
else {
getStaticProgressBar().hide();
button[0].set("disabled", false);
button[1].set("disabled", false);
alert(r.replyText);
}
},
failure: function(o) {
getStaticProgressBar().hide();
button[0].set("disabled", false);
button[1].set("disabled", false);
alert(o.statusText);
},
scope: this
},
getFileName(true, true) + 'XmlArgs=' + xmlStr);
}//submitInformation
function getStaticProgressBar(){
var xx=400, yy=400 ;
if(top.document.wizardpanel) {
xx=((YAHOO.util.Dom.getX(top.document.wizardpanel.layout.getUnitByPosition('center'))) + 60);
yy=((YAHOO.util.Dom.getY(top.document.wizardpanel.layout.getUnitByPosition('center'))) + 200);
}
if( !top.document.staticProgress1 )
{
top.document.staticProgress1 = new YAHOO.widget.Panel("staticProgress",
{ width:"250px",
x:xx,
y:yy,
close:false,
draggable:false,
zindex:9999,
modal:false,
visible:true,
underlay: 'none',
container:'wizardcenter'
}
);
}
document.getElementById('staticProgress').style.display='block';
top.document.staticProgress1.render();
top.document.staticProgress1.bringToTop();
top.document.staticProgress1.center();
return top.document.staticProgress1;
}
function summaryPageForWizard()
{
top.document.numNodesDialog.hide();
top.document.wizardDialog1.hide();
top.document.wizardpanel.hide();
var myButtons;
var headerText = "Environment summary for " + document.forms['treeForm'].wizfile.value;
getStaticProgressBar().show();
var handleSummaryBack = function(o){
top.document.sumPanel.hide();
top.document.wizardpanel.show();
top.document.wizardpanel.center();
top.document.numNodesDialog.show();
};
var handleSummaryFinish = function(o) {
var gotoFin = function() {
callHtmlSummaryPage();
}
unlockEnvForWizard(gotoFin, true);
};
var handleSummaryGotoAdvance = function(o) {
var gotoAdv = function() {
top.document.sumPanel.hide();
top.document.wizardpanel.hide();
var loc = window.location.href.split(/\?/g);
var newwin = top.open(loc[0] + "?sourcefile=" + document.forms['treeForm'].wizfile.value, "_self");
}
unlockEnvForWizard(gotoAdv, true);
};
var handleSummaryPageCancel = function(o) {
var gotoWizCancel = function() {
top.document.sumPanel.hide();
top.document.wizardDialog1.hide();
top.document.numNodesDialog.hide();
top.document.wizardpanel.hide();
if(!top.document.navDT && document.forms['treeForm'].sumparams.value !== '1')
top.document.displayModeDialog1.show();
}
unlockEnvForWizard(gotoWizCancel, false);
};
if(!top.document.sumPanel){
top.document.sumPanel = new YAHOO.widget.Dialog('summaryPage',
{
width:500,
height :550,
visible : false,
draggable : true,
modal : true,
close : false,
constraintoviewport: true,
underlay: 'none',
buttons :[ { text:"Cancel", handler:handleSummaryPageCancel},
{ text:"Back", handler:handleSummaryBack },
{ text:"Finish", handler:handleSummaryFinish, isDefault:true},
{ text:"Advanced View", handler:handleSummaryGotoAdvance }]
});
top.document.sumPanel.renderEvent.subscribe(function(){
if (!top.document.sumPanel.layout) {
top.document.sumPanel.layout = new YAHOO.widget.Layout('summaryPageLayout', {
height: (top.document.sumPanel.body.offsetHeight - 25),
units: [
{ position: 'top', height: 55, resize: false, body: 'summaryPageHeader'},
{ position: 'center' , header:headerText, body: 'summaryPageTable', scroll:true} ]
});
top.document.sumPanel.layout.render();
}
populateSummaryDetails(false, 'summaryPageTable');
if(document.forms['treeForm'].wizops.value != '3'){
var btn = top.document.sumPanel.cfg.getProperty("buttons");
(top.document.sumPanel.getButtons())[3].set("disabled", true);
btn[3].htmlButton.title = "This operation is only supported in Enterprise and above editions. Please contact HPCC Systems at http://www.hpccsystems.com/contactus";
}
});
}
resize = new YAHOO.util.Resize('summaryPage', {
handles: ['br'],
autoRatio: true,
status: false,
minWidth: 480,
minHeight: 450
});
resize.on('resize', function(args) {
var panelHeight = args.height,
padding = 20;
//Hack to trick IE into behaving
YAHOO.util.Dom.setStyle('summaryPageLayout', 'display', 'none');
this.cfg.setProperty("height", panelHeight + 'px');
top.document.sumPanel.layout.set('height', this.body.offsetHeight - padding);
top.document.sumPanel.layout.set('width', this.body.offsetWidth - padding);
YAHOO.util.Dom.setStyle('summaryPageLayout', 'display', 'block');
top.document.sumPanel.layout.resize();
}, top.document.sumPanel, true);
document.getElementById('summaryPage').style.display = 'block';
top.document.sumPanel.render();
top.document.sumPanel.show();
top.document.sumPanel.center();
}
function summaryPageForAdvance() {
if (top.document.messageDialogBox)
top.document.messageDialogBox.hide();
var myButtons;
var headerText = "Environment summary for " + document.forms['treeForm'].wizfile.value;
getStaticProgressBar().show();
var handleSummaryCancel = function(o) {
this.hide();
document.forms['treeForm'].sumparams.value = '0';
document.forms['treeForm'].wizfile.value = '';
var fileopened = window.location.href.split(/\?/g);
if (fileopened.length <= 1)
invokeWizard();
};
var handleSummaryGotoAdvance = function(o) {
if (checkForEE()) {
top.document.advSumPanel.hide();
var loc = window.location.href.split(/\?/g);
var newwin = top.open(loc[0] + "?sourcefile=" + document.forms['treeForm'].wizfile.value, "_self");
}
};
if(!top.document.advSumPanel){
top.document.advSumPanel = new YAHOO.widget.Dialog('sumPage',
{
width:500,
height :550,
visible : false,
draggable : true,
modal : false,
close : false,
constraintoviewport: true,
underlay: 'none',
buttons :[ { text:"ok", handler:handleSummaryCancel, isDefault:true},
{ text:"Advanced View", handler:handleSummaryGotoAdvance }]
});
top.document.advSumPanel.renderEvent.subscribe(function(){
if (!top.document.advSumPanel.layout) {
top.document.advSumPanel.layout = new YAHOO.widget.Layout('sumPageLayout', {
height: (top.document.advSumPanel.body.offsetHeight - 25),
units: [ { position: 'center' , header:headerText , body: 'sumPageTable', scroll:true} ]
});
}
top.document.advSumPanel.layout.render();
populateSummaryDetails(true, 'sumPageTable');
if(document.forms['treeForm'].wizops.value != '3'){
var btn = top.document.advSumPanel.cfg.getProperty("buttons");
(top.document.advSumPanel.getButtons())[1].set("disabled", true);
btn[1].htmlButton.title = "This operation is only supported in Enterprise and above editions. Please contact HPCC Systems at http://www.hpccsystems.com/contactus";
}
});
}
resize = new YAHOO.util.Resize('sumPage', {
handles: ['br'],
autoRatio: true,
status: false,
minWidth: 480,
minHeight: 450
});
resize.on('resize', function(args) {
var panelHeight = args.height,
padding = 20;
//Hack to trick IE into behaving
YAHOO.util.Dom.setStyle('sumPageLayout', 'display', 'none');
this.cfg.setProperty("height", panelHeight + 'px');
top.document.advSumPanel.layout.set('height', this.body.offsetHeight - padding);
top.document.advSumPanel.layout.set('width', this.body.offsetWidth - padding);
YAHOO.util.Dom.setStyle('sumPageLayout', 'display', 'block');
top.document.advSumPanel.layout.resize();
}, top.document.advSumPanel, true);
document.getElementById('sumPage').style.display = 'block';
top.document.advSumPanel.render();
top.document.advSumPanel.show();
top.document.advSumPanel.center();
}
function populateSummaryDetails(linkFlag, sumDataTable)
{
getStaticProgressBar().show();
var button;
if(top.document.numNodesDialog)
button = top.document.numNodesDialog.getButtons();
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetSummary', {
success: function(o) {
if(top.document.numNodesDialog)
top.document.numNodesDialog.hide();
getStaticProgressBar().hide();
var dt;
if(!linkFlag)
dt = top.document.summaryDataSourceWiz;
else
dt = top.document.summaryDataSource;
if (!dt) {
var summaryColumnDefs = [ { key: "name", width: 175, label: "Component/Esp Services", formatter: function(el, oRecord, oColumn, oData){
if(oRecord.getData('espservice') === 'true'){
el.innerHTML = oData + " (ESP Service)";
}
else
el.innerHTML = oData;
},sortable: true, resizeable:true},
{ key: "buildset", width: 100, label: "BuildSet" ,sortable: true, resizeable:true},
{ key: "netaddresses", width: 196, className:"classForSum", label: "Net Addresses/Port", sortable: true, resizeable:true }];
var xmlStr = '';
var summaryDataSource = new YAHOO.util.DataSource(xmlStr);
summaryDataSource.responseType = YAHOO.util.DataSource.TYPE_XML;
summaryDataSource.responseSchema = { resultNode: "Component", fields: ["name", "buildset", "netaddresses", "espservice"] };
var summaryDataTable = new YAHOO.widget.DataTable(sumDataTable, summaryColumnDefs,
summaryDataSource,{width: "100%", resize: true, initialLoad : false});
if(linkFlag) {
top.document.summaryDataTable = summaryDataTable;
top.document.summaryDataSource = summaryDataSource;
}
else {
top.document.summaryDataTableWiz = summaryDataTable;
top.document.summaryDataSourceWiz = summaryDataSource;
}
}
if(linkFlag){
top.document.summaryDataSource.handleResponse("", o, { success: top.document.summaryDataTable.onDataReturnInitializeTable,
scope: top.document.summaryDataTable
}, this, 999);
}
else {
top.document.summaryDataSourceWiz.handleResponse("", o, { success: top.document.summaryDataTableWiz.onDataReturnInitializeTable,
scope: top.document.summaryDataTableWiz
}, this, 999);
}
},
failure: function(o) {
getStaticProgressBar().hide();
alert(o.statusText);
button[0].set("disabled",false);
button[1].set("disabled",false);
},
scope: this
},
getFileName(true, true) + 'PrepareLinkFlag=' + true);
}
function isRangeClicked(flag) {
var form = document.forms['treeForm'];
if (!flag) {
form.computerRangeEnd.value = cfgAddComputersStopIP.value;
cfgAddComputersStopIP.value = "";
cfgAddComputersStopIP.disabled = true;
cfgAddComputersStopIPLabel.disabled = true;
}
else {
cfgAddComputersStopIP.value = form.computerRangeEnd.value;
cfgAddComputersStopIP.disabled = false;
cfgAddComputersStopIPLabel.disabled = false;
}
}
function displayWizardFirstScreen() {
if(window.self.navigate)
window.self.navigate(window.location);
window.location.reload();
}
function passwordChanged(param) {
document.forms['treeForm'].encryptionNeeded.value = parseInt(param) + parseInt(document.forms['treeForm'].encryptionNeeded.value);
}
function loadAndCheckFileNames(value)
{
getWaitDlg().show();
var params = "queryType=sourceEnvironments";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetValue', {
success: function(o) {
getWaitDlg().hide();
if (o.responseText.indexOf("/g);
var tmp1;
if (tmp.length > 1) {
tmp1 = tmp[1].split(/<\/ReqValue>/g);
if (tmp1.length > 1)
result = tmp1[0];
else
result = '';
var files = result.split(/;/g);
if (value === '2' || value === '4') {
//first remove the items
var element;
if (value === '2')
element = document.getElementById('fileDropDownMenu');
else
element = document.getElementById('sumDropDownMenu');
var children = element.getElementsByTagName("option");
for (i = 0; i < children.length; )
element.removeChild(children.item(i));
var optn = document.createElement("OPTION");
optn.text = "";
optn.value = "";
element.options.add(optn);
for (var i = 0; i < files.length; i++) {
if (files[i] !== '') {
var optn = document.createElement("OPTION");
optn.text = files[i];
optn.value = files[i];
element.options.add(optn);
}
}
}
else {
var filename = '';
var regEx = new RegExp('[,/\:*?""<>|]', 'g');
if (value === '1')
filename = document.getElementById('NewEnvTextBox');
else if (value === '3')
filename = document.getElementById('saveAsFileName');
else
filename = document.getElementById('blankEnvtextbox');
filename.value = trimStr(filename.value);
if (filename.value === '.xml') {
alert("File name cannot be '.xml'. Please enter file name.");
filename.focus();
}
else if (filename.value === '') {
alert("File name cannot be all spaces or empty. Please enter file name.");
filename.focus();
}
else if ((filename.value).search(regEx) != -1) {
alert("Invalid characters ',/\:*?\"<>|' found in filename. Please enter a valid file name.");
filename.focus();
}
else {
var form = document.forms['treeForm'];
addFileExtToSourceFile(value);
var foundFile = false;
for (var i = 0; i < files.length; i++) {
if (filename.value === files[i]) {
foundFile = true;
var errorString = filename.value + " already exists. Do you want to overwrite the file?";
var r = confirm(errorString);
if (r == true)
foundFile = false;
else (r == false)
filename.focus();
break;
}
}
if (!foundFile && value === '1') {
form.wizfile.value = document.getElementById('NewEnvTextBox').value;
lockEnvForWizard();
}
else if (!foundFile && value === '0')
handleBlankEnvironment();
else if (!foundFile && value === '3') {
top.document.envSaveAsDialog.hide();
saveEnvironment(filename.value);
}
}
getWaitDlg().hide();
}
}
}
},
failure: function(o) {
getWaitDlg().hide();
},
scope: this
},
getFileName(true, true) + 'Params=' + params);
}
function enableCurrentOption(value)
{
if(value === 0)
{
document.getElementById('fileDropDownMenu').disabled=true;
document.getElementById('blankEnvtextbox').disabled=false;
document.getElementById('NewEnvTextBox').disabled=true;
document.getElementById('sumDropDownMenu').disabled=true;
}
else if (value === 1)
{
document.getElementById('fileDropDownMenu').disabled=true;
document.getElementById('blankEnvtextbox').disabled=true;
document.getElementById('NewEnvTextBox').disabled=false;
document.getElementById('sumDropDownMenu').disabled=true;
}
else if(value === 2)
{
document.getElementById('fileDropDownMenu').disabled=false;
document.getElementById('blankEnvtextbox').disabled=true;
document.getElementById('NewEnvTextBox').disabled=true;
document.getElementById('sumDropDownMenu').disabled=true;
}
else if(value === 4)
{
document.getElementById('fileDropDownMenu').disabled=true;
document.getElementById('blankEnvtextbox').disabled=true;
document.getElementById('NewEnvTextBox').disabled=true;
document.getElementById('sumDropDownMenu').disabled=false;
}
}
function handleBlankEnvironment() {
document.forms['treeForm'].sourcefile.value = document.getElementById('blankEnvtextbox').value;
var xmlArgs = 'reloadEnv=true::lockEnv=false::createFile=true';
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetNavTreeDefn', {
success: function(o) {
if (o.responseText.indexOf("/g);
var temp1 = temp[1].split(/<\/td>/g);
alert(temp1[0]);
}
},
failure: function(o) {
top.document.stopWait();
alert(o.statusText);
},
scope: this
},
getFileName(true) + 'XmlArgs=' + xmlArgs);
}
function clearTextBox(textBoxName)
{
var pattern=/' + document.forms['treeForm'].wizfile.value + '';
top.document.layout.render();
if (document.getElementById('ReadWrite') && !top.document.navDT)
{
document.getElementById('ReadWrite').disabled = true;
document.getElementById('savebutton').disabled = true;
document.getElementById('validatebutton').disabled = true;
}
document.getElementById('top1').style.display = 'block';
getMessagePanel(msgToDisplay).show();
}
function getMessagePanel(msgToDisplay)
{
var handleClose = function() {
this.hide();
};
if(!top.document.messageDialogBox)
{
top.document.messageDialogBox = new YAHOO.widget.Dialog("messagePanel",
{ width: "300px",
height: "100px",
resizable: false,
fixedcenter: true,
close: false,
draggable: false,
zindex:4,
visible: true,
modal: true
});
}
top.document.messageDialogBox.renderEvent.subscribe(function() {
if(top.document.navDT){
this.cfg.setProperty("modal", true);
}
else if( document.forms['treeForm'].sumparams.value === '1' ) {
this.cfg.setProperty("modal", true);
if(top.document.layout.getUnitByPosition('left'))
top.document.layout.getUnitByPosition('left').close(true);
}
else{
if(top.document.layout.getUnitByPosition('left'))
top.document.layout.getUnitByPosition('left').close(true);
this.cfg.setProperty("modal", false);
}
});
if(top.document.navDT || document.forms['treeForm'].sumparams.value === '1'){
top.document.messageDialogBox.cfg.queueProperty("buttons", [{text: "Close", handler: handleClose, isDefault: true}]);
}
top.document.messageDialogBox.setBody(msgToDisplay);
document.getElementById('messagePanel').style.display = 'block' ;
top.document.messageDialogBox.render(document.body);
top.document.messageDialogBox.center();
return top.document.messageDialogBox;
}
function checkForEE() {
if (document.forms['treeForm'].wizops.value != '3') {
alert("This operation is only supported in Enterprise and above editions. Please contact HPCC Systems at http://www.hpccsystems.com/contactus");
return false;
}
return true;
}
function versionOperation(callbackCE, callbackEE) {
var params = "queryType=customType::params=wizops";
YAHOO.util.Connect.asyncRequest('POST', '/WsDeploy/GetValue', {
success: function(o) {
getWaitDlg().hide();
if (o.responseText.indexOf("/g);
var xml1 = xml[1].split(/<\/ReqValue>/g);
var form = document.forms['treeForm'];
if (xml1.length > 0) {
var arrayXml = xml1[0].split(",");
for (var j = 0; j < arrayXml.length; j++) {
var keyValue = arrayXml[j].split("=");
var key = keyValue[0];
var value = keyValue[1];
if (key == "wizops") {
form.wizops.value = value;
if (value === "3") {
if (callbackEE)
callbackEE();
}
else if (callbackCE)
callbackCE();
}
}
}
}
},
failure: function(o) {
getWaitDlg().hide();
},
scope: this
},
getFileName(true) + 'Params=' + params);
}
function showTooltipForButtons(event) {
if (document.forms['treeForm'].wizops.value !== '3') {
if (!top.document.EEOnlyTooltip) {
top.document.EEOnlyTooltip = new YAHOO.widget.Tooltip("EEOnlyTooltip", {
width: "300px",
showDelay: 25,
text: "This operation is only supported in Enterprise Editions (or higher )."
});
}
var xy = [parseInt(event.clientX, 10) + 10, parseInt(event.clientY, 10) + 10];
top.document.EEOnlyTooltip.cfg.setProperty('xy', xy);
top.document.EEOnlyTooltip.show();
top.document.EEOnlyTooltip.bringToTop();
top.document.hideTimer = window.setTimeout(function() {
top.document.EEOnlyTooltip.hide();
}, 1000);
}
}
function focusIPList() {
var t=document.getElementById('ipListText');
len=t.value.length;
if(t.setSelectionRange){
t.setSelectionRange(len,len)
t.focus()
}else if(t.createTextRange){
var rn=t.createTextRange();
rn.moveStart('character',len)
rn.select()
}
}
function getSummaryPage()
{
summaryPageForAdvance();
var fileopened = window.location.href.split(/\?/g);
if (fileopened.length <= 1) {
top.document.layout.render();
document.getElementById('top1').style.display = 'block';
top.document.layout.getUnitByPosition('left').close(true);
}
document.forms['treeForm'].sumparams.value = '1';
updateWizCtrls();
return;
}
function onSelectComputersContextMenuBeforeShow(p_sType, p_aArgs) {
if (!this.configContextMenuItems) {
this.configContextMenuItems = {
"Select": [{ text: "Select/Unselect", onclick: { fn: onMenuItemSelectUnselect} }]
};
}
if (this.getRoot() === this) {
this.clearContent();
this.addItems(this.configContextMenuItems['Select']);
if (top.document.forms['treeForm'].isLocked.value === 'false') {
var groups = this.getItemGroups();
for (iGroup = 0; iGroup < groups.length; iGroup++) {
if (typeof (groups[iGroup]) !== 'undefined')
for (i = 0; i < groups[iGroup].length; i++)
groups[iGroup][i].cfg.setProperty("disabled", true);
}
}
this.render();
}
}
function onMenuItemSelectUnselect() {
if (top.document.forms['treeForm'].isLocked.value === 'false')
return;
var oTarget = this.parent.contextEventTarget;
var Dom = YAHOO.util.Dom;
var oSelectedTR = oTarget.nodeName.toUpperCase() === "TR" ?
oTarget : Dom.getAncestorByTagName(oTarget, "TR");
var dt = this.parent.dt;
var recSet = dt.getRecordSet();
var record = recSet.getRecord(oSelectedTR.id);
var selRows = dt.getSelectedRows();
if (selRows.length > 0) {
var flag = dt.getRecord(selRows[0]).getData('check');
for (var idx = 0; idx < selRows.length; idx++) {
var rec = dt.getRecord(selRows[idx]);
rec.setData('check', !flag);
}
}
else {
var flag = record.getData('check');
record.setData('check', !flag);
}
top.document.getElementById('SelectAllComputers').checked = false;
dt.render();
}
function trimStr(str)
{
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}