9553ccc6b6
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@6484 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
225 lines
8.3 KiB
JavaScript
225 lines
8.3 KiB
JavaScript
|
|
|
|
jQuery.fn.customInput = function(){//from http://www.filamentgroup.com/examples/customInput/customInput.jquery.js
|
|
$(this).each(function(i){
|
|
if($(this).is('[type=checkbox],[type=radio]')){
|
|
var input = $(this);
|
|
|
|
// get the associated label using the input's id
|
|
var label = $('label[for='+input.attr('id')+']');
|
|
|
|
//get type, for classname suffix
|
|
var inputType = (input.is('[type=checkbox]')) ? 'checkbox' : 'radio';
|
|
|
|
// wrap the input + label in a div
|
|
$('<div class="custom-'+ inputType +'"></div>').insertBefore(input).append(input, label);
|
|
|
|
// find all inputs in this set using the shared name attribute
|
|
var allInputs = $('input[name='+input.attr('name')+']');
|
|
|
|
// necessary for browsers that don't support the :hover pseudo class on labels
|
|
label.hover(
|
|
function(){
|
|
$(this).addClass('hover');
|
|
if(inputType == 'checkbox' && input.is(':checked')){
|
|
$(this).addClass('checkedHover');
|
|
}
|
|
},
|
|
function(){$(this).removeClass('hover checkedHover');}
|
|
);
|
|
|
|
//bind custom event, trigger it, bind click,focus,blur events
|
|
input.bind('updateState', function(){
|
|
if (input.is(':checked')) {
|
|
if (input.is(':radio')) {
|
|
allInputs.each(function(){
|
|
$('label[for='+$(this).attr('id')+']').removeClass('checked');
|
|
});
|
|
};
|
|
label.addClass('checked');
|
|
}
|
|
else {label.removeClass('checked checkedHover checkedFocus');}
|
|
|
|
})
|
|
.trigger('updateState')
|
|
.click(function(){
|
|
$(this).trigger('updateState');
|
|
})
|
|
.focus(function(){
|
|
label.addClass('focus');
|
|
if(inputType == 'checkbox' && input.is(':checked')){
|
|
$(this).addClass('checkedFocus');
|
|
}
|
|
})
|
|
.blur(function(){label.removeClass('focus checkedFocus');});
|
|
}
|
|
});
|
|
};
|
|
|
|
function monPluginSetStat()
|
|
{
|
|
$('.fg-button:not(.ui-state-disabled)')
|
|
.hover(
|
|
function() {
|
|
$(this).addClass('ui-state-hover');
|
|
},
|
|
function() {
|
|
$(this).removeClass('ui-state-hover');
|
|
}
|
|
)
|
|
.click(
|
|
function() {
|
|
// if($(this).hasClass("ui-state-active")) {
|
|
var plugin=$('.pluginstat.ui-state-active').attr('id');
|
|
var todo = $(this).html();
|
|
//$("#settings").tabs('select',2);
|
|
//for the noderange, we have to check the <div> with id "nrtree-input", and also the 'custom-nr' textarea
|
|
var value = "";
|
|
//we check the textarea firstly,
|
|
value = $("#custom-nr").val();
|
|
//then, if the textarea is empty, we have to get the selection from nrtree
|
|
if(!value) {
|
|
var i=0;
|
|
var node_selected = nrtree.selected_arr;
|
|
for(; i< node_selected.length; i++) {
|
|
value += node_selected[i].attr('id');
|
|
}
|
|
//remove the "," at the front
|
|
value = value.substr(1);
|
|
}
|
|
//get the value for "node status monitoring"
|
|
|
|
//$("#feedback").html(value); //used for debug
|
|
if(value == "") {value="all";}
|
|
$.post("monitor/setup.php",{name:plugin,action:todo,nm:$("#stat1 form fieldset input:checked").attr('value'),nr:value},function(data) {
|
|
if(data=='successful') {
|
|
//update the status of the selected plugin
|
|
//reload the tabs for enable/disable
|
|
var tmp = $("#"+plugin).children();
|
|
$.get("monitor/options.php",{name:plugin,opt:"status"},function(stat){
|
|
if(stat == "Disabled") {
|
|
$(tmp[1]).html(plugin+"<br>"+stat);
|
|
$(tmp[0].firstChild).removeClass("ui-icon-circle-check").addClass("ui-icon-circle-close");
|
|
$("#settings").tabs('url',3,'monitor/options.php?name='+plugin+'&opt=enable').tabs("load",3);
|
|
}else {
|
|
$(tmp[1]).html(plugin+"<br>"+stat);
|
|
$(tmp[0].firstChild).removeClass("ui-icon-circle-close").addClass("ui-icon-circle-check");
|
|
$("#settings").tabs('url',3,'monitor/options.php?name='+plugin+'&opt=disable').tabs("load",3);
|
|
}
|
|
})
|
|
}
|
|
});
|
|
}
|
|
// }
|
|
);
|
|
}
|
|
|
|
/*setMonsettingTab is used to initialize the configuration of monsetting in the monlist */
|
|
function setMonsettingTab()
|
|
{
|
|
makeEditable('monsetting','.editme', '.Ximg', '.Xlink');
|
|
$("#reset").click(function() {
|
|
alert('You sure you want to discard changes?');
|
|
$("#settings").tabs("load",1); //reload the "config" tabs
|
|
$("#settings .ui-tabs-panel #accordion").accordion('activate',1);//activate the "monsetting" accordion
|
|
});
|
|
$("#monsettingaddrow").click(function() {
|
|
var line = $(".mContent #tabTable tbody tr").length + 1;
|
|
var newrow = formRow(line, 6, line%2);
|
|
$(".mContent #tabTable tbody").append($(newrow));
|
|
makeEditable('monsetting', '.editme2', '.Ximg2', '.Xlink2');
|
|
});
|
|
$("#saveit").click(function() {
|
|
var plugin=$('.pluginstat.ui-state-active').attr('id');
|
|
$.get("monitor/options.php",{name:plugin, opt:"savetab"},function(data){
|
|
$("#settings").tabs("load",1); //reload the "config" tabs
|
|
$("#settings .ui-tabs-panel #accordion").accordion('activate',1);//activate the "monsetting" accordion
|
|
});
|
|
});
|
|
}
|
|
|
|
function nodemonSetStat()
|
|
{
|
|
//enable/disable buttons for setting of the Node monitoring status
|
|
$("#nodemonset .fg-buttonset .fg-button").hover(function() {
|
|
$(this).addClass("ui-state-hover");
|
|
},function() {
|
|
$(this).removeClass("ui-state-hover");
|
|
}).click(function(){
|
|
//TODO
|
|
});
|
|
}
|
|
function appmonSetStat()
|
|
{
|
|
//TODO
|
|
}
|
|
|
|
//create the associations for the condition & response
|
|
//which is be used in the PHP function displayCondResp() in rmc_event_define.php
|
|
function mkCondResp()
|
|
{
|
|
//get the name of the selected condition
|
|
//then, get the selected noderange
|
|
//then, get the response in "checked" status
|
|
//then, run the command "mkcondresp"
|
|
var cond_val = $(':input[name=conditions][checked]').val();
|
|
var value="";//the noderange selected from the osi tree
|
|
var i=0;
|
|
var node_selected = nrtree.selected_arr;
|
|
for(; i< node_selected.length; i++) {
|
|
value += node_selected[i].attr('id');
|
|
}
|
|
//remove the "," at the front
|
|
value = value.substr(1);
|
|
var resps_obj = $(':input[name=responses][checked]');
|
|
if(cond_val && resps_obj && value) {
|
|
$.each(resps_obj,function(i,n) {
|
|
//i is the index
|
|
//n is the content
|
|
//TODO:add one new php file to handle "mkcondresp" command
|
|
$.get("monitor/makecondresp.php", {cond: cond_val, resp: n.value, nr: value}, function(data) {
|
|
//nothing to do right now.
|
|
});
|
|
});
|
|
$("#notify_me").html("<p>The associations are created!</p>");
|
|
$("#notify_me").addClass("ui-state-highlight");
|
|
$("#association table tbody").load("monitor/updateCondRespTable.php");
|
|
}
|
|
}
|
|
|
|
//clearEventDisplay()
|
|
//is used to clear the selection in the page for configuring the condtion&response association
|
|
function clearEventDisplay()
|
|
{
|
|
$(':input[name=conditions][checked]').attr('checked', false);
|
|
$(':input[name=responses][checked]').attr('checked', false);
|
|
}
|
|
|
|
//function control_RMCAssoc()
|
|
//is used to update the association table in rmc_event_define.php
|
|
function control_RMCAssoc(cond, node, resp, action)
|
|
{
|
|
//TODO:for define_rmc_event
|
|
//control the RMC Association: startcondresp & stopcondresp;
|
|
$.get("monitor/updateCondResp.php",
|
|
{c: cond, n: node, r: resp, a: action},
|
|
function(data) {
|
|
$("#association table tbody").load("monitor/updateCondRespTable.php");
|
|
}
|
|
);
|
|
}
|
|
|
|
/*when one RMC Resource is selected, this function is called to display its attributes*/
|
|
function showRMCAttrib()
|
|
{
|
|
var class_val = $('input[name=classGrp]:checked').val();
|
|
if(class_val) {
|
|
$.get("monitor/rmc_resource_attr.php", {name: class_val}, function(data) {
|
|
$("#rmcSrcAttr").html(data);
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
// for the progress bar
|
|
myBar.loaded('monitor.js'); |