Commit 269d7d61 authored by liuzengxu's avatar liuzengxu

Update quickConfig.jsp

parent ab03eb2d
...@@ -9,16 +9,32 @@ ...@@ -9,16 +9,32 @@
<c:set var="ctx" value="${pageContext.request.contextPath}" /> <c:set var="ctx" value="${pageContext.request.contextPath}" />
<% <%
com.cesgroup.cesmonitor.service.LoginUser user=com.cesgroup.cesmonitor.common.Util.getLoginUser(); com.cesgroup.cesmonitor.service.LoginUser user = com.cesgroup.cesmonitor.common.Util.getLoginUser();
Integer myUserId = null; Integer myUserId = null;
if(null!=user){ if (null != user) {
myUserId = user.getUserid(); myUserId = user.getUserid();
} }
%> %>
<script>var myUserId = "<%= myUserId %>"</script> <script>var myUserId = "<%=myUserId%>"
</script>
<link rel="stylesheet" type="text/css" <link rel="stylesheet" type="text/css"
href="${ctx}/styles/jquery-ui.css" /> href="${ctx}/styles/jquery-ui.css" />
<link href="${ctx}/styles/jquery.searchableSelect.css" rel="stylesheet"
type="text/css">
<style>
/* .table-forms-td-right select {
vertical-align: middle;
}
select {
font-family: Arial, Tahoma, Verdana, sans-serif;
font-size: 1em;
height: 24px;
padding: 3px 3px 3px 0;
background-color: #fff;
} */
</style>
<div class="header-title-nobg table com-head"> <div class="header-title-nobg table com-head">
<div> <div>
<h1>快速访问配置</h1> <h1>快速访问配置</h1>
...@@ -129,7 +145,7 @@ if(null!=user){ ...@@ -129,7 +145,7 @@ if(null!=user){
<div class="form-input-margin"></div> <select id="selectHost" <div class="form-input-margin"></div> <select id="selectHost"
name="selectHost" autocomplete="off"> name="selectHost" autocomplete="off">
<option value="0" selected="selected">请选择主机</option> <option value="0" selected="selected">请选择主机</option>
</select> </select> <!-- 已有图形 添加时的显示框 -->
<div class="form-input-margin"></div> <select <div class="form-input-margin"></div> <select
id="selectPicture" name="selectPicture" autocomplete="off"> id="selectPicture" name="selectPicture" autocomplete="off">
<option value="0" selected="selected">请选择图形</option> <option value="0" selected="selected">请选择图形</option>
...@@ -236,12 +252,15 @@ if(null!=user){ ...@@ -236,12 +252,15 @@ if(null!=user){
id="selectHost2" name="new_condition[operator]" id="selectHost2" name="new_condition[operator]"
autocomplete="off"> autocomplete="off">
<option value="0" selected="selected">请选择主机</option> <option value="0" selected="selected">请选择主机</option>
</select> </select> <!--无图形时 创建-->
<div class="form-input-margin"></div> <select <div class="form-input-margin"></div> <select
id="selectPicture2" name="new_condition[operator]" id="selectPicture2" name="new_condition[operator]"
autocomplete="off"> autocomplete="off">
<option value="0" selected="selected">请选择图形</option> <option value="0" selected="selected">请选择图形</option>
</select> </select>
<div class="form-input-margin"></div> <input type="text" <div class="form-input-margin"></div> <input type="text"
id="new_condition_value2" name="new_condition[value]" id="new_condition_value2" name="new_condition[value]"
placeholder="请在此输入快速访问图形名称" maxlength="255" placeholder="请在此输入快速访问图形名称" maxlength="255"
...@@ -274,75 +293,92 @@ if(null!=user){ ...@@ -274,75 +293,92 @@ if(null!=user){
</div> </div>
</div> </div>
<script src="${ctx}/js/vendors/jquery-ui.js"></script> <script src="${ctx}/js/vendors/jquery-ui.js"></script>
<script src="${ctx}/js/jquery.searchableSelect.js"></script>
<script> <script>
var graphArray = new Array(); var graphArray = new Array();
var removeArray = new Array(); var removeArray = new Array();
var oldData = new Array(); var oldData = new Array();
MMenu.def_label = 'network'; MMenu.def_label = 'network';
var myGroupId,groupAll,tb,cbs,cbsLen,isChecked; var myGroupId, groupAll, tb, cbs, cbsLen, isChecked;
var thisUserId = myUserId; var thisUserId = myUserId;
jQuery( "#dialog-modal" ).dialog({ jQuery("#dialog-modal").dialog({
height: 140, height : 140,
modal: true modal : true
}); });
jQuery.ajax({ jQuery.ajax({
method: "get", method : "get",
url: "${ctx}/quickaccess/findFastGroupGraphByUserId.json", url : "${ctx}/quickaccess/findFastGroupGraphByUserId.json",
data : { data : {
userId : thisUserId, userId : thisUserId,
}, },
success:function(data) { success : function(data) {
var html=''; debugger;
if(data.length!=0){ var html = '';
for(var i=0;i<data.length;i++){ if (data.length != 0) {
var htmlInner=""; for (var i = 0; i < data.length; i++) {
for(var j=0;j<data[i].graphName.length;j++){ var htmlInner = "";
htmlInner += '<span>'+data[i].graphName[j]+'</span>&nbsp;&nbsp;&nbsp;'; for (var j = 0; j < data[i].graphName.length; j++) {
htmlInner += '<span>' + data[i].graphName[j]
+ '</span>&nbsp;&nbsp;&nbsp;';
}
html += '<tr><td><input type="checkbox" id="groups_'+i+'" name="groups['+i+']" value="'+data[i].groupId+'"></td>'
+ '<td><a id='
+ data[i].groupId
+ ' onClick="quickConfig(this.id,this.innerHTML);">'
+ data[i].groupName
+ '</a></td>'
+ '<td class="graphName">'
+ htmlInner
+ '</td></tr>';
} }
html += '<tr><td><input type="checkbox" id="groups_'+i+'" name="groups['+i+']" value="'+data[i].groupId+'"></td>'+ } else {
'<td><a id='+data[i].groupId+' onClick="quickConfig(this.id,this.innerHTML);">'+data[i].groupName+'</a></td>'+ html = '<tr class="nothing-to-show"><td colspan="4">未发现数据</td></tr>';
'<td class="graphName">'+htmlInner+'</td></tr>';
}
}else{
html='<tr class="nothing-to-show"><td colspan="4">未发现数据</td></tr>';
} }
jQuery('#main-group').html(html); jQuery('#main-group').html(html);
//多选删除 //多选删除
groupAll=jQuery("#all_groups"); groupAll = jQuery("#all_groups");
tb=jQuery("#main-group"); tb = jQuery("#main-group");
cbs=tb.find("input[type=checkbox]"); cbs = tb.find("input[type=checkbox]");
cbsLen=cbs.length; cbsLen = cbs.length;
jQuery("#totalNum").html(cbsLen); jQuery("#totalNum").html(cbsLen);
//点击全选全不选 //点击全选全不选
groupAll.click(function(){ groupAll.click(function() {
isChecked=jQuery(this).prop("checked"); isChecked = jQuery(this).prop("checked");
console.log(isChecked) console.log(isChecked)
if (isChecked) { if (isChecked) {
cbs.prop("checked", true); cbs.prop("checked", true);
jQuery("#deletedSure").removeAttr("disabled"); jQuery("#deletedSure").removeAttr(
"disabled");
} else { } else {
cbs.prop("checked", false); cbs.prop("checked", false);
jQuery("#deletedSure").attr("disabled","disabled"); jQuery("#deletedSure").attr("disabled",
"disabled");
} }
jQuery("#selected_count").html(cbsLen+' 选择'); jQuery("#selected_count").html(cbsLen + ' 选择');
}); });
//点击某一个 //点击某一个
cbs.on('click',function(){ cbs.on('click',
var $selCheckBox = tb.find(":checkbox:checked"); function() {
var $selCheckBox = tb
.find(":checkbox:checked");
if ($selCheckBox.length === cbsLen) { if ($selCheckBox.length === cbsLen) {
groupAll.prop("checked", true); groupAll.prop("checked", true);
} else { } else {
groupAll.prop("checked", false); groupAll.prop("checked", false);
} }
if($selCheckBox.length == 0){ if ($selCheckBox.length == 0) {
jQuery("#deletedSure").attr("disabled","disabled"); jQuery("#deletedSure").attr(
}else{ "disabled", "disabled");
jQuery("#deletedSure").removeAttr("disabled"); } else {
jQuery("#deletedSure").removeAttr(
"disabled");
} }
jQuery("#selected_count").html($selCheckBox.length+' 选择'); jQuery("#selected_count").html(
$selCheckBox.length + ' 选择');
}) })
}, },
error:function(err){ error : function(err) {
alert(err); alert(err);
} }
}); });
...@@ -350,409 +386,585 @@ if(null!=user){ ...@@ -350,409 +386,585 @@ if(null!=user){
function del() { function del() {
var msg = "确定删除"; var msg = "确定删除";
if (confirm(msg)==true){ if (confirm(msg) == true) {
var inputIds=[]; var inputIds = [];
if(isChecked){ if (isChecked) {
cbs.each(function(i,ele){ cbs.each(function(i, ele) {
inputIds.push(jQuery(cbs[i]).val()); inputIds.push(jQuery(cbs[i]).val());
}) })
}else{ } else {
var selCheckBox = tb.find(":checkbox:checked"); var selCheckBox = tb.find(":checkbox:checked");
selCheckBox.each(function(i,ele){ selCheckBox.each(function(i, ele) {
inputIds.push(jQuery(selCheckBox[i]).val()); inputIds.push(jQuery(selCheckBox[i]).val());
}) })
} }
var myinputIds = inputIds.toString(); var myinputIds = inputIds.toString();
jQuery.ajax({ jQuery
method: "get", .ajax({
url: "${ctx}/quickaccess/deleteByFastGroupId.json", method : "get",
data:{ url : "${ctx}/quickaccess/deleteByFastGroupId.json",
fastGroupGraphIds:myinputIds data : {
fastGroupGraphIds : myinputIds
}, },
success:function(data) { success : function(data) {
if(isChecked){ if (isChecked) {
jQuery('#main-group').html('<tr class="nothing-to-show"><td colspan="4">未发现数据</td></tr>'); jQuery('#main-group')
}else{ .html(
inputIds.each(function(item){ '<tr class="nothing-to-show"><td colspan="4">未发现数据</td></tr>');
jQuery("#"+item).parents('tr').remove(); } else {
inputIds.each(function(item) {
jQuery("#" + item).parents('tr').remove();
}) })
} }
} }
}); });
jQuery("#selected_count").html(0+' 选择'); jQuery("#selected_count").html(0 + ' 选择');
}else{ } else {
return; return;
} }
} }
var selectData=0; var selectData = 0;
//点击快速访问组的每一项 //点击快速访问组的每一项
function quickConfig(ele,name){ function quickConfig(ele, name) {
debugger;
myGroupId = ele; myGroupId = ele;
console.log(ele,name) console.log(ele, name)
jQuery('#main-content').css('display',"none"); jQuery('#main-content').css('display', "none");
jQuery('#main-config1').css('display',"block"); jQuery('#main-config1').css('display', "block");
jQuery('#main-config2').css('display',"none"); jQuery('#main-config2').css('display', "none");
jQuery('#chartOverviewSetting').css('display',"none"); jQuery('#chartOverviewSetting').css('display', "none");
jQuery('#fastgroup').val(name) jQuery('#fastgroup').val(name)
jQuery.ajax({ jQuery
method: "get", .ajax({
url: "${ctx}/quickaccess/getGraphsByFastGroupId.json", method : "get",
data:{ url : "${ctx}/quickaccess/getGraphsByFastGroupId.json",
FastGroupId:ele data : {
FastGroupId : ele
}, },
success:function(data) { success : function(data) {
var addHtml=''; var addHtml = '';
for(var k=0;k<data.length;k++){ for (var k = 0; k < data.length; k++) {
addHtml+='<tr id="'+data[k].id+'"><td><span>'+data[k].name+'</span></td>'+ addHtml += '<tr id="'+data[k].id+'"><td><span>'
'<td><span>'+data[k].groupname+'</span></td>'+ + data[k].name
'<td><span>'+data[k].hostname+'</span></td>'+ + '</span></td>'
'<td><span>'+data[k].graphname+'</span></td>'+ + '<td><span>'
'<td class="nowrap">'+ + data[k].groupname
'<button type="button" name="remove" class="btn-link remove" onclick="removeGraph(this)">移除</button></tr>' ; + '</span></td>'
+ '<td><span>'
+ data[k].hostname
+ '</span></td>'
+ '<td><span>'
+ data[k].graphname
+ '</span></td>'
+ '<td class="nowrap">'
+ '<button type="button" name="remove" class="btn-link remove" onclick="removeGraph(this)">移除</button></tr>';
} }
jQuery('#addHtml1').html(addHtml); jQuery('#addHtml1').html(addHtml);
//console.log(jQuery('#addHtml1')) //console.log(jQuery('#addHtml1'))
oldData = data; oldData = data;
}, },
error:function(err){ error : function(err) {
alert(err); alert(err);
} }
}); });
jQuery.ajax({
method: "get", //列表
url: "${ctx}/quickaccess/listHostGroupsWithHosts.json", jQuery
data:null, .ajax({
success:function(data) { method : "get",
var html='',html1=''; url : "${ctx}/quickaccess/listHostGroupsWithHosts.json",
html ='<option selected="selected">选择主机组</option>'; data : null,
for(var i=0;i<data.length;i++){ success : function(data) {
html += '<option data-value="'+data[i].groupid+'">'+data[i].name+'</option>'; var html = '', html1 = '';
} html = '<option selected="selected">选择主机组</option>';
html1 ='<option selected="selected">选择主机</option>'; for (var i = 0; i < data.length; i++) {
for(var j=0;j<data[0].hosts.length;j++){ html += '<option data-value="'+data[i].groupid+'">'
html1 += '<option data-value="'+data[0].hosts[j].hostid+'">'+data[0].hosts[j].name+'</option>'; + data[i].name + '</option>';
}
html1 = '<option selected="selected">选择主机</option>';
for (var j = 0; j < data[0].hosts.length; j++) {
html1 += '<option data-value="'+data[0].hosts[j].hostid+'">'
+ data[0].hosts[j].name + '</option>';
} }
jQuery('#selectHost').html(html1); jQuery('#selectHost').html(html1);
jQuery('#hostGroup').html(html); jQuery('#hostGroup').html(html);
selectData=data; selectData = data;
} }
}); });
}; };
//点击快速访问配置按钮 //点击快速访问配置按钮
function chartOverviewConfig(){ function chartOverviewConfig() {
jQuery('#main-content').css('display',"none"); jQuery('#main-content').css('display', "none");
jQuery('#main-config1').css('display',"none"); jQuery('#main-config1').css('display', "none");
jQuery('#chartOverviewSetting').css('display',"none"); jQuery('#chartOverviewSetting').css('display', "none");
jQuery('#main-config2').css('display',"block"); jQuery('#main-config2').css('display', "block");
//url: "${ctx}/cesmonitor/quickaccess/findGraphByHostId.json?hostId=10246", //url: "${ctx}/cesmonitor/quickaccess/findGraphByHostId.json?hostId=10246",
jQuery.ajax({ jQuery.ajax({
method: "get", method : "get",
url: "${ctx}/quickaccess/listHostGroupsWithHosts.json", url : "${ctx}/quickaccess/listHostGroupsWithHosts.json",
data:null, data : null,
success:function(data) { success : function(data) {
var html='',html1=''; var html = '', html1 = '';
html ='<option selected="selected">选择主机组</option>'; html = '<option selected="selected">选择主机组</option>';
for(var i=0;i<data.length;i++){ for (var i = 0; i < data.length; i++) {
html += '<option data-value="'+data[i].groupid+'">'+data[i].name+'</option>'; html += '<option data-value="'+data[i].groupid+'">'
+ data[i].name + '</option>';
}
html1 ='<option selected="selected">选择主机</option>'; }
html1 = '<option selected="selected">选择主机</option>';
/* for(var j=0;j<data[0].hosts.length;j++){ /* for(var j=0;j<data[0].hosts.length;j++){
html1 += '<option data-value="'+data[0].hosts[j].hostid+'">'+data[0].hosts[j].name+'</option>'; html1 += '<option data-value="'+data[0].hosts[j].hostid+'">'+data[0].hosts[j].name+'</option>';
} */ } */
jQuery('#selectHost2').html(html1); jQuery('#selectHost2').html(html1);
jQuery('#hostGroup2').html(html); jQuery('#hostGroup2').html(html);
selectData=data; selectData = data;
} }
}); });
}; };
jQuery("#hostGroup").change(function() { jQuery("#hostGroup").change(
function() {
var group = jQuery("#hostGroup").val(); //获取群组下拉菜单的值 var group = jQuery("#hostGroup").val(); //获取群组下拉菜单的值
for(var i=0;i<selectData.length;i++){ for (var i = 0; i < selectData.length; i++) {
if(group==selectData[i].name){ if (group == selectData[i].name) {
var html=''; var html = '';
html ='<option selected="selected">请选择主机</option>'; html = '<option selected="selected">请选择主机</option>';
for(var j=0;j<selectData[i].hosts.length;j++){ for (var j = 0; j < selectData[i].hosts.length; j++) {
html += '<option data-value="'+selectData[i].hosts[j].hostid+'">'+selectData[i].hosts[j].name+'</option>'; html += '<option data-value="'+selectData[i].hosts[j].hostid+'">'
+ selectData[i].hosts[j].name
+ '</option>';
} }
} }
} }
jQuery("#selectHost").html(html); jQuery("#selectHost").html(html);
var html2 ='<option>请选择图形</option>';
//对应图形清空
jQuery(".searchable-select-holder").html(html2);
jQuery(".searchable-select-dropdown").css("display","none")
}); });
jQuery("#hostGroup2").change(function() { jQuery("#hostGroup2").change(
function() {
var group = jQuery("#hostGroup2").val(); //获取群组下拉菜单的值 var group = jQuery("#hostGroup2").val(); //获取群组下拉菜单的值
for(var i=0;i<selectData.length;i++){ for (var i = 0; i < selectData.length; i++) {
if(group==selectData[i].name){ if (group == selectData[i].name) {
var html=''; var html = '';
html ='<option selected="selected">请选择主机</option>'; html = '<option selected="selected">请选择主机</option>';
for(var j=0;j<selectData[i].hosts.length;j++){ for (var j = 0; j < selectData[i].hosts.length; j++) {
html += '<option data-value="'+selectData[i].hosts[j].hostid+'">'+selectData[i].hosts[j].name+'</option>'; html += '<option data-value="'+selectData[i].hosts[j].hostid+'">'
+ selectData[i].hosts[j].name
+ '</option>';
} }
} }
} }
var html2 ='<option>请选择图形</option>';
jQuery("#selectHost2").html(html); jQuery("#selectHost2").html(html);
jQuery("#selectPicture2").html('<option>请选择图形</option>');
//对应图形清空
jQuery(".searchable-select-holder").html(html2);
jQuery(".searchable-select-dropdown").css("display","none")
}); });
jQuery("#selectHost").change(function(event) { function changeHostGroup2() {
var group = jQuery("#hostGroup2").val(); //获取群组下拉菜单的值
for (var i = 0; i < selectData.length; i++) {
if (group == selectData[i].name) {
var html = '';
html = '<option selected="selected">请选择主机</option>';
for (var j = 0; j < selectData[i].hosts.length; j++) {
html += '<option data-value="'+selectData[i].hosts[j].hostid+'">'
+ selectData[i].hosts[j].name
+ '</option>';
}
}
}
jQuery("#selectHost2").html(html);
jQuery("#selectPicture2").html('<option>请选择图形</option>');
}
jQuery("#selectHost").change(
function(event) {
var group = jQuery("#selectHost").val(); //获取主机组下拉菜单的值 var group = jQuery("#selectHost").val(); //获取主机组下拉菜单的值
var hostId = jQuery("#selectHost").find("option:selected").attr('data-value'); var hostId = jQuery("#selectHost").find(
"option:selected").attr('data-value');
//var hostId = '10647'; //var hostId = '10647';
jQuery.ajax({ jQuery
type:'post', .ajax({
url:"${ctx}/quickaccess/findGraphByHostId.json", //请求查询所有主机的url type : 'post',
url : "${ctx}/quickaccess/findGraphByHostId.json", //请求查询所有主机的url
data : { data : {
hostId : hostId, hostId : hostId,
}, },
success:function(data){ success : function(data) {
if(data.length!=0){ if (data.length != 0) {
var html=''; var html = '';
for(var i=0;i<data.length;i++){ for (var i = 0; i < data.length; i++) {
html += '<option data-value="'+data[i].graphid+'">'+data[i].name+'</option>'; //html += '<option data-value="'+data[i].graphid+'">'
// + data[i].name
//+ '</option>';
html += '<option value="'+data[i].graphid+'">'
+ data[i].name
+ '</option>';
} }
jQuery("#selectPicture").html(html); jQuery("#selectPicture").html(html);
}else{
html='<option>无数据</option>'; //query + select
jQuery("#selectPicture").html(html); jQuery(".searchable-select").remove();
searchSelect2();
} else {
html = '<option>无数据</option>';
//jQuery("#selectPicture").html(html);
jQuery(".searchable-select-holder").html(html);
//jQuery("#selectPicture2").html(html);
jQuery(".searchable-select-dropdown").css("display","none")
} }
} }
}); });
}); });
jQuery("#selectHost2").change(function() { jQuery("#selectHost2").change(
function() {
var group = jQuery("#selectHost2").val(); //获取主机组下拉菜单的值 var group = jQuery("#selectHost2").val(); //获取主机组下拉菜单的值
var hostId = jQuery("#selectHost2").find("option:selected").attr('data-value'); var hostId = jQuery("#selectHost2").find(
jQuery.ajax({ "option:selected").attr('data-value');
type:'post', jQuery
url:"${ctx}/quickaccess/findGraphByHostId.json", //请求查询所有主机的url .ajax({
type : 'post',
url : "${ctx}/quickaccess/findGraphByHostId.json", //请求查询所有主机的url
data : { data : {
hostId : hostId, hostId : hostId,
}, },
success:function(data){ success : function(data) {
if(data.length!=0){ if (data.length != 0) {
var html=''; var html = '';
for(var i=0;i<data.length;i++){ for (var i = 0; i < data.length; i++) {
html += '<option data-value="'+data[i].graphid+'">'+data[i].name+'</option>'; //update
/* html += '<option data-value="'+data[i].graphid+'">'
+ data[i].name
+ '</option>'; */
html += '<option value="'+data[i].graphid+'">'
+ data[i].name
+ '</option>';
} }
jQuery("#selectPicture2").html(html); jQuery("#selectPicture2").html(html);
}else{
html='<option>无数据</option>';
jQuery("#selectPicture2").html(html);
}
//调用
jQuery(".searchable-select").remove();
searchSelect();
} else {
html = '<option>无数据</option>';
jQuery(".searchable-select-holder").html(html);
//jQuery("#selectPicture2").html(html);
jQuery(".searchable-select-dropdown").css("display","none") }
//saveOption();
},
error : function(err) {
alert(err);
} }
}); });
}); });
jQuery('#addItem').click(function(){ jQuery('#addItem').click(
var item0=jQuery('#new_condition_value').val(); function() {
var item1=jQuery("#hostGroup").val(); var item0 = jQuery('#new_condition_value').val();
var item2=jQuery("#selectHost").val(); var item1 = jQuery("#hostGroup").val();
var item3=jQuery("#selectPicture").val(); var item2 = jQuery("#selectHost").val();
var addHtml='<tr id="conditions_0"><td><span>'+item0+'</span></td><td><span>'+item1+'</span></td><td><span>'+item2+'</span></td><td><span>'+item3+'</span></td><td class="nowrap"><button type="button" name="remove" class="btn-link remove">移除</button></tr>' var item3 = jQuery("#selectPicture").val();
var addHtml = '<tr id="conditions_0"><td><span>'
+ item0
+ '</span></td><td><span>'
+ item1
+ '</span></td><td><span>'
+ item2
+ '</span></td><td><span>'
+ item3
+ '</span></td><td class="nowrap"><button type="button" name="remove" class="btn-link remove">移除</button></tr>'
jQuery('#addHtml1').append(addHtml); jQuery('#addHtml1').append(addHtml);
}); });
jQuery("#addHtml1").on("click",".remove",function(){ jQuery("#addHtml1").on("click", ".remove", function() {
var ele = this.parentNode.parentNode; var ele = this.parentNode.parentNode;
ele.parentNode.removeChild(ele); ele.parentNode.removeChild(ele);
}) })
function saveGraph(){ /*有图形 新增 */
function saveGraph() {
debugger;
var uuid = getUuid(); var uuid = getUuid();
uuid = uuid.replace(/-/g,'') uuid = uuid.replace(/-/g, '')
var fastGroupName = jQuery("#fastgroup").val(); var fastGroupName = jQuery("#fastgroup").val();
if("选择主机组" == jQuery("#hostGroup").find("option:selected").val()){ if ("选择主机组" == jQuery("#hostGroup").find("option:selected").val()) {
alert("请选择主机组"); alert("请选择主机组");
return; return;
} }
if("请选择主机" == jQuery("#selectHost").find("option:selected").val()){ if ("请选择主机" == jQuery("#selectHost").find("option:selected").val()) {
alert("请选择主机"); alert("请选择主机");
return; return;
} }
if("0" == jQuery("#selectPicture").find("option:selected").val()){ /* if ("0" == jQuery("#selectPicture").find("option:selected").val()) {
alert("请选择图形");
return;
} */
if (null==jQuery(".searchable-select-holder").html()||""==jQuery(".searchable-select-holder").html()) {
alert("请选择图形"); alert("请选择图形");
return; return;
} }
var userId = thisUserId; var userId = thisUserId;
var graphName = jQuery("#new_condition_value").val(); var graphName = jQuery("#new_condition_value").val();
if(graphName == ""){ if (graphName == "") {
alert("请输入快速访问图形名称"); alert("请输入快速访问图形名称");
return; return;
} }
var groupId = jQuery("#hostGroup").find("option:selected").attr('data-value'); var groupId = jQuery("#hostGroup").find("option:selected").attr('data-value');
var myGroupName = jQuery("#hostGroup").find("option:selected").val(); var myGroupName = jQuery("#hostGroup").find("option:selected").val();
var hostId = jQuery("#selectHost").find("option:selected").attr('data-value'); var hostId = jQuery("#selectHost").find("option:selected").attr(
var graphId = jQuery("#selectPicture").find("option:selected").attr('data-value'); 'data-value');
var hostName = jQuery("#selectHost").find("option:selected").val(); var hostName = jQuery("#selectHost").find("option:selected").val();
var selectGraphName = jQuery("#selectPicture").find("option:selected").attr('data-value');
var myGraphname = jQuery("#selectPicture").find("option:selected").val() //var selectGraphName = jQuery("#selectPicture").find("option:selected").attr('data-value');
//var graphId = jQuery("#selectPicture").find("option:selected").attr('data-value');
//var myGraphname = jQuery("#selectPicture").find("option:selected").val()
//获得 对应的div中的值(已选择的图形)
if(null!=myGraphname&&!""==myGraphname){
var graphId= document.getElementsByClassName("searchable-select-item selected")[0].getAttribute("data-value");
var selectGraphName = document.getElementsByClassName("searchable-select-item selected")[0].getAttribute("data-value");
}
//var graphId= document.getElementsByClassName("searchable-select-item selected")[0].getAttribute("data-value");
var myGraphname = jQuery(".searchable-select-holder").html();
var flag = validateGraph(graphId); var flag = validateGraph(graphId);
if(flag == "1"){ if (flag == "1") {
alert("该图形已存在"); alert("该图形已存在");
return; return;
} }
for(var i=0;i<oldData.length;i++){ for (var i = 0; i < oldData.length; i++) {
if(oldData[0].graphname == myGraphname){ if (oldData[0].graphname == myGraphname) {
alert("该图形已存在"); alert("该图形已存在");
return; return;
} }
} }
graphArray.push({id: uuid, fastGroupName: fastGroupName, userId:userId, graphName:graphName, groupId:groupId, hostId:hostId, graphId:graphId}); graphArray.push({
id : uuid,
fastGroupName : fastGroupName,
userId : userId,
graphName : graphName,
groupId : groupId,
hostId : hostId,
graphId : graphId
});
var graphArrayStr = graphArray.toString(); var graphArrayStr = graphArray.toString();
var id = uuid; var id = uuid;
var name = graphName; var name = graphName;
var groupname = myGroupName; var groupname = myGroupName;
var hostname = hostName; var hostname = hostName;
var graphname = myGraphname; var graphname = myGraphname;
var addHtml = ""; var addHtml = "";
addHtml ='<tr id="'+id+'"><td><span>'+name+'</span></td>'+ addHtml = '<tr id="'+id+'"><td><span>'
'<td><span>'+groupname+'</span></td>'+ + name
'<td><span>'+hostname+'</span></td>'+ + '</span></td>'
'<td><span>'+graphname+'</span></td>'+ + '<td><span>'
'<td class="nowrap">'+ + groupname
'<button type="button" name="remove" class="btn-link remove" onclick="removeGraph(this)">移除</button></tr>' ; + '</span></td>'
+ '<td><span>'
+ hostname
+ '</span></td>'
+ '<td><span>'
+ graphname
+ '</span></td>'
+ '<td class="nowrap">'
+ '<button type="button" name="remove" class="btn-link remove" onclick="removeGraph(this)">移除</button></tr>';
jQuery('#addHtml1').append(addHtml); jQuery('#addHtml1').append(addHtml);
var fastGroupName = jQuery("#fastgroup").val(); var fastGroupName = jQuery("#fastgroup").val();
var userId = thisUserId; var userId = thisUserId;
var graphName = jQuery("#new_condition_value").val(); var graphName = jQuery("#new_condition_value").val();
var groupId = jQuery("#hostGroup").find("option:selected").attr('data-value'); var groupId = jQuery("#hostGroup").find("option:selected").attr(
var hostId = jQuery("#selectHost").find("option:selected").attr('data-value'); 'data-value');
var graphId = jQuery("#selectPicture").find("option:selected").attr('data-value'); var hostId = jQuery("#selectHost").find("option:selected").attr(
'data-value');
}
//var graphId = jQuery("#selectPicture").find("option:selected").attr('data-value');
var graphId= document.getElementsByClassName("searchable-select-item selected")[0].getAttribute("data-value");
}
//generate uuid
function getUuid() { function getUuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); function(c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r
: (r & 0x3 | 0x8);
return v.toString(16); return v.toString(16);
}); });
} }
function validateGraph(graphId){ function validateGraph(graphId) {
var flag = 0; var flag = 0;
for(var i = 0; i < graphArray.length; i++){ for (var i = 0; i < graphArray.length; i++) {
if(graphArray[i].graphId == graphId){ if (graphArray[i].graphId == graphId) {
flag = 1; flag = 1;
} }
} }
return flag; return flag;
} }
/* 无图形创建 */
function add2(){ function add2() {
debugger;
var uuid = getUuid(); var uuid = getUuid();
uuid = uuid.replace(/-/g,'') uuid = uuid.replace(/-/g, '')
var fastGroupName = jQuery("#fastgroup2").val(); var fastGroupName = jQuery("#fastgroup2").val();
if("选择主机组" == jQuery("#hostGroup2").find("option:selected").val()){ if ("选择主机组" == jQuery("#hostGroup2").find("option:selected").val()) {
alert("请选择主机组"); alert("请选择主机组");
return; return;
} }
if("请选择主机" == jQuery("#selectHost2").find("option:selected").val()){ if ("请选择主机" == jQuery("#selectHost2").find("option:selected").val()) {
alert("请选择主机"); alert("请选择主机");
return; return;
} }
if("0" == jQuery("#selectPicture2").find("option:selected").val()){ /* if ("0" == jQuery("#selectPicture2").find("option:selected").val()) {
alert("请选择图形");
return;
} */
if(null==jQuery(".searchable-select-holder").html()||""==jQuery(".searchable-select-holder").html()){
alert("请选择图形"); alert("请选择图形");
return; return;
} }
var userId = thisUserId; var userId = thisUserId;
var graphName = jQuery("#new_condition_value2").val(); var graphName = jQuery("#new_condition_value2").val();
if(graphName == ""){ if (graphName == "") {
alert("请输入快速访问图形名称"); alert("请输入快速访问图形名称");
return; return;
} }
var groupId = jQuery("#hostGroup2").find("option:selected").attr('data-value'); var groupId = jQuery("#hostGroup2").find("option:selected").attr('data-value');
var myGroupName = jQuery("#hostGroup2").find("option:selected").val(); var myGroupName = jQuery("#hostGroup2").find("option:selected").val();
var hostId = jQuery("#selectHost2").find("option:selected").attr('data-value'); var hostId = jQuery("#selectHost2").find("option:selected").attr('data-value');
var graphId = jQuery("#selectPicture2").find("option:selected").attr('data-value');
//var myGraphname = jQuery("#selectPicture2").find("option:selected").val()
//获取选中的div值>图形名称
var myGraphname = jQuery(".searchable-select-holder").html();
//console.log("myGraphname:" +myGraphname)
if(null!=myGraphname&&!""==myGraphname){
var graphId= document.getElementsByClassName("searchable-select-item selected")[0].getAttribute("data-value");
}
var hostName = jQuery("#selectHost2").find("option:selected").val(); var hostName = jQuery("#selectHost2").find("option:selected").val();
var selectGraphName = jQuery("#selectPicture2").find("option:selected").attr('data-value');
var myGraphname = jQuery("#selectPicture2").find("option:selected").val() //找到已选择图形对应 graphId
var selectGraphName = document.getElementsByClassName("searchable-select-item selected")[0].getAttribute("data-value");
var flag = validateGraph(graphId); var flag = validateGraph(graphId);
if(flag == "1"){ if (flag == "1") {
alert("该图形已存在"); alert("该图形已存在");
return; return;
} }
graphArray.push({id: uuid, userId:userId, graphName:graphName, groupId:groupId, hostId:hostId, graphId:graphId}); graphArray.push({
id : uuid,
userId : userId,
graphName : graphName,
groupId : groupId,
hostId : hostId,
graphId : graphId
});
var graphArrayStr = graphArray.toString(); var graphArrayStr = graphArray.toString();
var id = uuid; var id = uuid;
var name = graphName; var name = graphName;
var groupname = myGroupName; var groupname = myGroupName;
var hostname = hostName; var hostname = hostName;
var graphname = myGraphname; var graphname = myGraphname;
var addHtml = ""; var addHtml = "";
addHtml ='<tr id="'+id+'"><td><span>'+name+'</span></td>'+ addHtml = '<tr id="'+id+'"><td><span>'
'<td><span>'+groupname+'</span></td>'+ + name
'<td><span>'+hostname+'</span></td>'+ + '</span></td>'
'<td><span>'+graphname+'</span></td>'+ + '<td><span>'
'<td class="nowrap">'+ + groupname
'<button type="button" name="remove" class="btn-link remove" onclick="removeGraph2(this)">移除</button></tr>' ; + '</span></td>'
+ '<td><span>'
+ hostname
+ '</span></td>'
+ '<td><span>'
+ graphname
+ '</span></td>'
+ '<td class="nowrap">'
+ '<button type="button" name="remove" class="btn-link remove" onclick="removeGraph2(this)">移除</button></tr>';
jQuery('#addItem2').append(addHtml); jQuery('#addItem2').append(addHtml);
} }
jQuery("#addItem2").on("click",".remove",function(){ jQuery("#addItem2").on("click", ".remove", function() {
// debugger // debugger
var ele = this.parentNode.parentNode; var ele = this.parentNode.parentNode;
ele.parentNode.removeChild(ele); ele.parentNode.removeChild(ele);
}) })
function mySubmit(){ function mySubmit() {
debugger;
var fastGroupName = jQuery("#fastgroup2").val(); var fastGroupName = jQuery("#fastgroup2").val();
if(fastGroupName == ""){ if (fastGroupName == "") {
alert("请输入快速访问组名"); alert("请输入快速访问组名");
return; return;
} }
var userId = thisUserId; var userId = thisUserId;
var graphName = jQuery("#new_condition_value2").val(); var graphName = jQuery("#new_condition_value2").val();
if(graphName == ""){ if (graphName == "") {
alert("请输入快速访问图形名称"); alert("请输入快速访问图形名称");
return; return;
} }
var fastGroupName = jQuery("#fastgroup2").val(); var fastGroupName = jQuery("#fastgroup2").val();
if(fastGroupName == ""){ if (fastGroupName == "") {
alert("请输入快速访问组名"); alert("请输入快速访问组名");
return; return;
} }
graphArray.push({fastGroupName: fastGroupName}); graphArray.push({
fastGroupName : fastGroupName
});
var graphArrayStr = graphArray.toJSON(); var graphArrayStr = graphArray.toJSON();
graphArrayStr = graphArrayStr.toString(); graphArrayStr = graphArrayStr.toString();
jQuery.ajax({ jQuery.ajax({
method: "POST", method : "POST",
url: "${ctx}/quickaccess/saveQuickAccessList.json", url : "${ctx}/quickaccess/saveQuickAccessList.json",
data:{ data : {
graphArrays:graphArrayStr, graphArrays : graphArrayStr,
}, },
success:function(data){ success : function(data) {
} }
}); });
...@@ -760,46 +972,44 @@ if(null!=user){ ...@@ -760,46 +972,44 @@ if(null!=user){
return redirect('?cancel=1'); return redirect('?cancel=1');
} }
function removeGraph2(obj){ function removeGraph2(obj) {
var tempGraphArray = new Array(); var tempGraphArray = new Array();
var fastGroupGraphId = obj.parentElement.parentElement.id; var fastGroupGraphId = obj.parentElement.parentElement.id;
Array.prototype.push.apply(graphArray, tempGraphArray); Array.prototype.push.apply(graphArray, tempGraphArray);
var ArrayPos; var ArrayPos;
for(var i = 0; i < graphArray.length; i++){ for (var i = 0; i < graphArray.length; i++) {
if(graphArray[i].id == fastGroupGraphId){ if (graphArray[i].id == fastGroupGraphId) {
ArrayPos = i; ArrayPos = i;
} }
if(graphArray[i].id != fastGroupGraphId){ if (graphArray[i].id != fastGroupGraphId) {
tempGraphArray[i] = graphArray[i] tempGraphArray[i] = graphArray[i]
} }
} }
for(var i = 0;i < tempGraphArray.length;i++){ for (var i = 0; i < tempGraphArray.length; i++) {
if(i == ArrayPos){ if (i == ArrayPos) {
}else if(i > ArrayPos){ } else if (i > ArrayPos) {
tempGraphArray[i-1] = tempGraphArray[i]; tempGraphArray[i - 1] = tempGraphArray[i];
}else { } else {
tempGraphArray[i] = tempGraphArray[i]; tempGraphArray[i] = tempGraphArray[i];
} }
} }
var myLength = graphArray.length; var myLength = graphArray.length;
graphArray.clear(); graphArray.clear();
if(undefined != ArrayPos){ if (undefined != ArrayPos) {
if(ArrayPos != myLength-1){ if (ArrayPos != myLength - 1) {
for(var i = 0;i<tempGraphArray.length-1;i++){ for (var i = 0; i < tempGraphArray.length - 1; i++) {
graphArray[i] = tempGraphArray[i]; graphArray[i] = tempGraphArray[i];
} }
}else{ } else {
for(var i = 0;i<tempGraphArray.length;i++){ for (var i = 0; i < tempGraphArray.length; i++) {
graphArray[i] = tempGraphArray[i]; graphArray[i] = tempGraphArray[i];
} }
...@@ -808,42 +1018,42 @@ if(null!=user){ ...@@ -808,42 +1018,42 @@ if(null!=user){
} }
function removeGraph(obj){ function removeGraph(obj) {
var tempGraphArray = new Array(); var tempGraphArray = new Array();
var fastGroupGraphId = obj.parentElement.parentElement.id; var fastGroupGraphId = obj.parentElement.parentElement.id;
Array.prototype.push.apply(graphArray, tempGraphArray); Array.prototype.push.apply(graphArray, tempGraphArray);
var ArrayPos; var ArrayPos;
for(var i = 0; i < graphArray.length; i++){ for (var i = 0; i < graphArray.length; i++) {
if(graphArray[i].id == fastGroupGraphId){ if (graphArray[i].id == fastGroupGraphId) {
ArrayPos = i; ArrayPos = i;
} }
if(graphArray[i].id != fastGroupGraphId){ if (graphArray[i].id != fastGroupGraphId) {
tempGraphArray[i] = graphArray[i] tempGraphArray[i] = graphArray[i]
} }
} }
if(undefined != ArrayPos){ if (undefined != ArrayPos) {
for(var i = 0;i < tempGraphArray.length;i++){ for (var i = 0; i < tempGraphArray.length; i++) {
if(i == ArrayPos){ if (i == ArrayPos) {
}else if(i > ArrayPos){ } else if (i > ArrayPos) {
tempGraphArray[i-1] = tempGraphArray[i]; tempGraphArray[i - 1] = tempGraphArray[i];
}else { } else {
tempGraphArray[i] = tempGraphArray[i]; tempGraphArray[i] = tempGraphArray[i];
} }
} }
var myLength = graphArray.length; var myLength = graphArray.length;
graphArray.clear(); graphArray.clear();
if(undefined != ArrayPos){ if (undefined != ArrayPos) {
if(ArrayPos != myLength-1){ if (ArrayPos != myLength - 1) {
for(var i = 0;i<tempGraphArray.length-1;i++){ for (var i = 0; i < tempGraphArray.length - 1; i++) {
graphArray[i] = tempGraphArray[i]; graphArray[i] = tempGraphArray[i];
} }
}else{ } else {
for(var i = 0;i<tempGraphArray.length;i++){ for (var i = 0; i < tempGraphArray.length; i++) {
graphArray[i] = tempGraphArray[i]; graphArray[i] = tempGraphArray[i];
} }
...@@ -851,36 +1061,50 @@ if(null!=user){ ...@@ -851,36 +1061,50 @@ if(null!=user){
} }
} else { } else {
removeArray.push({id: fastGroupGraphId}); removeArray.push({
id : fastGroupGraphId
});
} }
jQuery("#addItem").on("click", ".remove", function() {
jQuery("#addItem").on("click",".remove",function(){
var ele = this.parentNode.parentNode; var ele = this.parentNode.parentNode;
ele.parentNode.removeChild(ele); ele.parentNode.removeChild(ele);
}) })
var fastGroupGraphId = obj.parentElement.parentElement.id var fastGroupGraphId = obj.parentElement.parentElement.id
} }
function refreshGraphs2(){ function refreshGraphs2() {
var myGraphId = jQuery("#hostGroup").find("option:selected").attr('data-value'); debugger;
jQuery.ajax({ //var myGraphId = jQuery("#hostGroup").find("option:selected").attr(
method: "POST", // 'data-value');
async: false, var myGroupId = jQuery("#hostGroup").find("option:selected").attr(
url: "${ctx}/quickaccess/getGraphsByFastGroupId.json", 'data-value');
data:{ jQuery
FastGroupId:myGroupId .ajax({
method : "POST",
async : false,
url : "${ctx}/quickaccess/getGraphsByFastGroupId.json",
data : {
FastGroupId : myGroupId
}, },
success:function(data) { success : function(data) {
var addHtml=''; var addHtml = '';
for(var k=0;k<data.length;k++){ for (var k = 0; k < data.length; k++) {
addHtml+='<tr id="'+data[k].id+'"><td><span>'+data[k].name+'</span></td>'+ addHtml += '<tr id="'+data[k].id+'"><td><span>'
'<td><span>'+data[k].groupname+'</span></td>'+ + data[k].name
'<td><span>'+data[k].hostname+'</span></td>'+ + '</span></td>'
'<td><span>'+data[k].graphname+'</span></td>'+ + '<td><span>'
'<td class="nowrap">'+ + data[k].groupname
'<button type="button" name="remove" class="btn-link remove" onclick="removeGraph2(this)">移除</button></tr>' ; + '</span></td>'
+ '<td><span>'
+ data[k].hostname
+ '</span></td>'
+ '<td><span>'
+ data[k].graphname
+ '</span></td>'
+ '<td class="nowrap">'
+ '<button type="button" name="remove" class="btn-link remove" onclick="removeGraph2(this)">移除</button></tr>';
} }
jQuery('#addItem2').html(addHtml); jQuery('#addItem2').html(addHtml);
...@@ -889,73 +1113,91 @@ if(null!=user){ ...@@ -889,73 +1113,91 @@ if(null!=user){
}); });
} }
function refreshGraphs(){ function refreshGraphs() {
var myGraphId = jQuery("#hostGroup").find("option:selected").attr('data-value'); debugger;
//var myGraphId = jQuery("#hostGroup").find("option:selected").attr(
// 'data-value');
var myGroupId = jQuery("#hostGroup").find("option:selected").attr(
'data-value');
jQuery.ajax({ jQuery.ajax({
method: "POST", method : "POST",
url: "${ctx}/quickaccess/getGraphsByFastGroupId.json", url : "${ctx}/quickaccess/getGraphsByFastGroupId.json",
data:{ data : {
FastGroupId:myGroupId FastGroupId : myGroupId
}, },
success:function(data) { success : function(data) {
var addHtml=''; var addHtml = '';
for(var k=0;k<data.length;k++){ for (var k = 0; k < data.length; k++) {
addHtml+='<tr id="'+data[k].id+'"><td><span>'+data[k].name+'</span></td>'+ addHtml += '<tr id="'+data[k].id+'"><td><span>'
'<td><span>'+data[k].groupname+'</span></td>'+ + data[k].name
'<td><span>'+data[k].hostname+'</span></td>'+ + '</span></td>'
'<td><span>'+data[k].graphname+'</span></td>'+ + '<td><span>'
'<td class="nowrap">'+ + data[k].groupname
'<button type="button" name="remove" class="btn-link remove" onclick="removeGraph(this)">移除</button></tr>' ; + '</span></td>'
+ '<td><span>'
+ data[k].hostname
+ '</span></td>'
+ '<td><span>'
+ data[k].graphname
+ '</span></td>'
+ '<td class="nowrap">'
+ '<button type="button" name="remove" class="btn-link remove" onclick="removeGraph(this)">移除</button></tr>';
} }
jQuery('#addHtml1').html(addHtml); jQuery('#addHtml1').html(addHtml);
oldData = data; oldData = data;
},
error : function(err) {
alert(err);
} }
}); });
} }
function deleteGroup(){ function deleteGroup() {
jQuery.ajax({ jQuery.ajax({
method: "POST", method : "POST",
url: "${ctx}/quickaccess/deleteQuickAccess.json", url : "${ctx}/quickaccess/deleteQuickAccess.json",
data:{ data : {
fastGroupId:myGroupId fastGroupId : myGroupId
}, },
}); });
return redirect('?cancel=1'); return redirect('?cancel=1');
} }
function updateGroup(){ function updateGroup() {
debugger;
var fastGroupName = jQuery("#fastgroup").val(); var fastGroupName = jQuery("#fastgroup").val();
if(fastGroupName == ""){ if (fastGroupName == "") {
alert("请输入快速访问组名"); alert("请输入快速访问组名");
return; return;
} }
var userId = thisUserId; var userId = thisUserId;
if(graphArray.length > 0 ){ if (graphArray.length > 0) {
var graphArrayStr = graphArray.toJSON(); var graphArrayStr = graphArray.toJSON();
graphArrayStr = graphArrayStr.toString(); graphArrayStr = graphArrayStr.toString();
jQuery.ajax({ jQuery.ajax({
method: "POST", method : "POST",
async: false, async : false,
url: "${ctx}/quickaccess/saveQuickAccessList.json", url : "${ctx}/quickaccess/saveQuickAccessList.json",
data:{ data : {
graphArrays:graphArrayStr, graphArrays : graphArrayStr,
}, },
success:function(data){ success : function(data) {
} }
}); });
} }
if(removeArray.length > 0){ if (removeArray.length > 0) {
var deleteQuickAccessGraphList = removeArray.toJSON(); var deleteQuickAccessGraphList = removeArray.toJSON();
jQuery.ajax({ jQuery.ajax({
method: "POST", method : "POST",
async: false, async : false,
url: "${ctx}/quickaccess/deleteQuickAccessGraphList.json", url : "${ctx}/quickaccess/deleteQuickAccessGraphList.json",
data:{ data : {
fastGroupGraphIds:deleteQuickAccessGraphList fastGroupGraphIds : deleteQuickAccessGraphList
} }
}); });
...@@ -963,4 +1205,22 @@ if(null!=user){ ...@@ -963,4 +1205,22 @@ if(null!=user){
return redirect('?cancel=1'); return redirect('?cancel=1');
} }
</script>
\ No newline at end of file //query + select
function searchSelect(){
jQuery("#selectPicture2").searchableSelect({
afterSelectItem: function (){
}
});
}
function searchSelect2(){
jQuery("#selectPicture").searchableSelect({
afterSelectItem: function (){
}
});
}
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment