1.修改app payload特征,拆分L3_header为L3_header_IP,L3_header_ICMP,支持偏移量表达式;
2.域名统计界面的域名查询条件,去除id=0(Other)的域名查询; 3.通联关系日志的下拉列表查询条件,增select为空的条件,否则reset时,全部定位在了Other。
This commit is contained in:
@@ -9,9 +9,9 @@ $(function(){
|
||||
$("#serviceId").val($(this).attr("serviceId"));
|
||||
});
|
||||
$(".district").on("change", function() {
|
||||
if($(this).val()=='L3_header'){
|
||||
if($(this).val()=='L3_header_IP'||$(this).val()=='L3_header_ICMP'){
|
||||
$(this).parents(".boxSolid").find(".keywords").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").find("input[name$='headerType']").val($(this).val());
|
||||
$(this).parents(".boxSolid").find(".matchMethod").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".exprType").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find("input:radio[name$='isHex'][value=1]").prop("checked",true);
|
||||
@@ -21,7 +21,7 @@ $(function(){
|
||||
$(this).parents(".boxSolid").find(".headerType").change();
|
||||
}else{
|
||||
$(this).parents(".boxSolid").find(".keywords").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").find("input[name$='headerType']").val("");
|
||||
$(this).parents(".boxSolid").find(".matchMethod").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".exprType").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".IP_header").addClass("hidden");
|
||||
@@ -32,7 +32,7 @@ $(function(){
|
||||
});
|
||||
|
||||
$(".headerType").on("change", function() {
|
||||
if($(this).val()=='IP_header'){
|
||||
if($(this).val()=='L3_header_IP'){
|
||||
$(this).parents(".boxSolid").find(".ICMP_header").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".IP_header").removeClass("hidden");
|
||||
}else{
|
||||
@@ -40,10 +40,24 @@ $(function(){
|
||||
$(this).parents(".boxSolid").find(".ICMP_header").removeClass("hidden");
|
||||
}
|
||||
});
|
||||
$("input:radio[name$='exprType']").on("change",function(){
|
||||
var exprType = $(this).val();
|
||||
changeKeywordFormate(exprType,$(this));
|
||||
});
|
||||
|
||||
$(".boxSolid:visible").find(".district").each(function(){
|
||||
$(this).change();
|
||||
});
|
||||
$("#serviceId").val($(".action:checked").attr("serviceId"));
|
||||
|
||||
if($("#serviceId").val()==1025 && $("#cfgId").val()!=null){
|
||||
$("input:radio[name$='exprType']").each(function(){
|
||||
if($(this).attr("checked") && $(this).val()==3){
|
||||
changeKeywordFormate($(this).val(),$(this));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("#cfgFrom").validate({
|
||||
errorPlacement: function(error,element){
|
||||
if($(element).parents().hasClass("tagsinput")){
|
||||
@@ -60,10 +74,9 @@ $(function(){
|
||||
return;
|
||||
}
|
||||
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){
|
||||
|
||||
if($(this).val()==''){
|
||||
var length = 0;
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop").each(function(){
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop:visible").each(function(){
|
||||
if($(this).val()!=''){
|
||||
length += 1;
|
||||
}
|
||||
@@ -82,7 +95,7 @@ $(function(){
|
||||
|
||||
}else{
|
||||
var length = 0;
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop").each(function(){
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop:visible").each(function(){
|
||||
if($(this).val()!=''){
|
||||
length += 1;
|
||||
}
|
||||
@@ -139,7 +152,13 @@ $(function(){
|
||||
$(".disabled").each(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
$("input[name$='exprType']").attr("disabled",false);
|
||||
|
||||
if($("input[name$='exprType']").attr("disabled")){
|
||||
$("input[name$='exprType']").attr("disabled",false);
|
||||
}
|
||||
/* $(".boxSolid:visible").each(function(){
|
||||
alert($(this).find("select[name$='matchMethod'] option[selected]").val());
|
||||
}) */
|
||||
$("#appCode").val($("#specServiceIdId").val());
|
||||
loading('onloading...');
|
||||
form.submit();
|
||||
@@ -172,6 +191,36 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
}); */
|
||||
$("." + addBtnClassName).removeClass("hidden");
|
||||
}
|
||||
function changeKeywordFormate(exprType,obj){
|
||||
if(exprType==3){
|
||||
var keywordObj = $(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']");
|
||||
if($(keywordObj).val().indexOf("***and***")>0){
|
||||
$(keywordObj).val($(keywordObj).val().split('***and***').join(''));
|
||||
}
|
||||
if($(keywordObj).val().indexOf(":")>0){
|
||||
$(keywordObj).val($(keywordObj).val().substr($(keywordObj).val().indexOf(":")+1));
|
||||
}
|
||||
|
||||
//$(this).parents(".boxSolid").find(".keywords").addClass("hidden");
|
||||
//$(this).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").attr("id").replace("tags","multipKeywords");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").css("display","block");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").addClass("hexCheck");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").next("div").addClass("hidden");
|
||||
$(obj).parents(".boxSolid").find(".offsetFeature").removeClass("hidden");
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isHex'][value=1]").prop("checked",true);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isCaseSenstive'][value=0]").prop("checked",true);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isHex']").attr("disabled",true);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isCaseSenstive']").attr("disabled",true);
|
||||
}else{
|
||||
//$(this).parents(".boxSolid").find(".keywords").removeClass("hidden");
|
||||
//$(this).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").attr("id").replace("multipKeywords","tags");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").css("display","none");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").next("div").removeClass("hidden");
|
||||
$(obj).parents(".boxSolid").find(".offsetFeature").addClass("hidden");
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isHex']").attr("disabled",false);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isCaseSenstive']").attr("disabled",false);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -208,7 +257,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<!-- BEGIN FORM-->
|
||||
<form id="cfgFrom" action="${ctx}/app/feature/saveAppMultiFeatureCfg"
|
||||
method="post" class="form-horizontal">
|
||||
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
||||
<input type="hidden" name="cfgId" id="cfgId" value="${_cfg.cfgId}">
|
||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||
<input type="hidden" name="functionId" value="${_cfg.functionId}">
|
||||
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
|
||||
@@ -355,7 +404,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="isBreak" value="true"></c:set>
|
||||
<c:set var="complexCfgIndex"
|
||||
@@ -368,7 +417,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="complexCfgIndex" value="${complexCfgIndex+1 }"></c:set>
|
||||
</c:if>
|
||||
@@ -380,7 +429,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="complexCfgIndex" value="${complexCfgIndex+1 }"></c:set>
|
||||
</c:otherwise>
|
||||
@@ -407,7 +456,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
|
||||
<div
|
||||
class="row boxSolid ${tabName}${status.index}">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
@@ -421,7 +470,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<c:if test="${!isBreak}">
|
||||
<div
|
||||
class="row boxSolid ${tabName}${status.index} hidden disabled">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="strCfgIndex"
|
||||
value="${strCfgIndex+1 }"></c:set>
|
||||
@@ -434,7 +483,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>
|
||||
</c:otherwise>
|
||||
|
||||
@@ -257,9 +257,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${cfg.serviceId eq 1025 }">
|
||||
<c:if test="${cfg.headerType eq 'IP_header' }">
|
||||
<c:if test="${cfg.district eq 'L3_header_IP' }">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<%-- <div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='VER' />: ${cfg.ver}</label>
|
||||
</div>
|
||||
@@ -268,7 +268,7 @@
|
||||
<div class="form-group">
|
||||
<label><spring:message code='IHL' />: ${cfg.ihl}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='TOS' />: ${cfg.tos}</label>
|
||||
@@ -283,24 +283,24 @@
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='Flags' />: ${cfg.flags}</label>
|
||||
<label><spring:message code='Protocol' />: ${cfg.protocol}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='fragment offset' />: ${cfg.fragmentOffset}</label>
|
||||
<label><spring:message code='client_ip' />: ${cfg.fragmentOffset}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='Protocol' />: ${cfg.protocol}</label>
|
||||
<label><spring:message code='server_ip' />: ${cfg.flags}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${cfg.headerType eq 'ICMP_header' }">
|
||||
<c:if test="${cfg.district eq 'L3_header_ICMP' }">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
@@ -319,11 +319,20 @@
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${empty cfg.headerType}">
|
||||
<c:if test="${cfg.district ne 'L3_header_ICMP' and cfg.district ne 'L3_header_IP'}">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />: ${fn:replace(cfg.cfgKeywords, "***and***", " ")}</label>
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />:
|
||||
<c:choose>
|
||||
<c:when test="${cfg.exprType eq 3 }">
|
||||
${fn:substringAfter(cfg.cfgKeywords,":") }
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
${fn:replace(cfg.cfgKeywords, "***and***", " ")}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -333,26 +342,38 @@
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />: ${fn:replace(cfg.cfgKeywords, "***and***", " ")}</label>
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />:
|
||||
${fn:replace(cfg.cfgKeywords, "***and***", " ")}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='expression_type' />:</label>
|
||||
<label>
|
||||
<c:choose>
|
||||
<c:when test="${cfg.exprType eq 1}"><spring:message code='and_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 0}"><spring:message code='null_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 3}"><spring:message code='offset_expression'/></c:when>
|
||||
</c:choose>
|
||||
</label>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='expression_type' />:</label>
|
||||
<label>
|
||||
<c:choose>
|
||||
<c:when test="${cfg.exprType eq 1}"><spring:message code='and_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 0}"><spring:message code='null_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 3}"><spring:message code='offset_expression'/></c:when>
|
||||
</c:choose>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${cfg.exprType eq 3 and cfg.district eq 'Payload' }">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='offset' />:</label>
|
||||
${cfg.payloadOffset }
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
|
||||
@@ -72,7 +72,9 @@
|
||||
<select id="domain" name="domain" class="selectpicker form-control" data-max-options="10" data-selected-text-format="count > 2" multiple max-width="100px" data-live-search="true" data-live-search-placeholder="search">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${domainList}" var="dict" >
|
||||
<option value="${dict.id}"><spring:message code="${dict.domain}"></spring:message></option>
|
||||
<c:if test="${dict.id ne 0 }">
|
||||
<option value="${dict.id}"><spring:message code="${dict.domain}"></spring:message></option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -266,6 +266,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='APP'/>:</label>
|
||||
<select id="appSelect" name="appId" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${appList}" var="app" >
|
||||
<option value="${app.code}"><spring:message code="${app.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
@@ -277,6 +278,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='application_layer_protocol'/>:</label>
|
||||
<select id="protoSelect" name="protoId" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${protocolList}" var="proto" >
|
||||
<option value="${proto.code}"><spring:message code="${proto.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
@@ -288,6 +290,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code="domain_name"/>:</label>
|
||||
<select id="webSelect" name="webId" title="<spring:message code="select"/>" class="selectpicker form-control" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${webList}" var="web" >
|
||||
<option value="${web.code}"><spring:message code="${web.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
|
||||
@@ -193,13 +193,8 @@
|
||||
|
||||
// 如果在框架或在对话框中,则弹出提示并跳转到首页
|
||||
if(self.frameElement && self.frameElement.tagName == "IFRAME" || $('#left').length > 0 || $('.jbox').length > 0){
|
||||
top.$.jBox.confirm("<spring:message code='login_timeout'/>","<spring:message code='info'/>",function(v,h,f){
|
||||
|
||||
if(v=="ok"){
|
||||
top.location = "${pageContext.request.contextPath }";
|
||||
}else{
|
||||
top.location = "${pageContext.request.contextPath }";
|
||||
}
|
||||
top.$.jBox.alert("<spring:message code='login_timeout'/>","<spring:message code='info'/>",function(v,h,f){
|
||||
top.location = "${pageContext.request.contextPath }";
|
||||
},{buttonsFocus:1});
|
||||
top.$('.jbox-body .jbox-icon').css('top','55px');
|
||||
}
|
||||
|
||||
@@ -399,7 +399,9 @@ $(function(){
|
||||
options = $("select[name='"+objNamePrefix+"matchMethod']").find("option[value!=0]");
|
||||
}
|
||||
//表单中如果有关键字内容可能输入多个关键字的情况,根据输入关键字个数确定表达式选中情况,不允许手动选中
|
||||
$("input:radio[name='"+objNamePrefix+"exprType']").attr("disabled",true);
|
||||
if($("select[name='"+objNamePrefix+"district']").val()!="Payload"){//如果是app 的payload特征,可选择表达式
|
||||
$("input:radio[name='"+objNamePrefix+"exprType']").attr("disabled",true);
|
||||
}
|
||||
tagsInputSettings = tagsInputSettings+",#"+tagsId;
|
||||
}
|
||||
|
||||
@@ -412,9 +414,9 @@ $(function(){
|
||||
onAddTag:function(tag,size){
|
||||
var reg = new RegExp(/\t|\r|\n/);
|
||||
if (tag.match(reg)) {
|
||||
$(this).parents(".col-md-6").next("div").html("<label class='error'>"+$.validator.messages.hasInvisibleChar.replace("{0}","'"+tag+"'")+"</label>");
|
||||
$(this).parent(".col-md-6").next("div").html("<label class='error'>"+$.validator.messages.hasInvisibleChar.replace("{0}","'"+tag+"'")+"</label>");
|
||||
}else{
|
||||
$(this).parents(".col-md-6").next("div").html("");
|
||||
$(this).parent(".col-md-6").next("div").html("");
|
||||
}
|
||||
//var keywordValue = "";
|
||||
var objNamePrefix = $(this).attr("name").split("cfgKeywords")[0];
|
||||
@@ -425,7 +427,7 @@ $(function(){
|
||||
exprTypeChecked(objNamePrefix,size,options);
|
||||
},
|
||||
onRemoveTag:function(tag,size){
|
||||
$(this).parents(".col-md-6").next("div").html("");
|
||||
$(this).parent(".col-md-6").next("div").html("");
|
||||
//var keywordValue = "";
|
||||
var objNamePrefix = $(this).attr("name").split("cfgKeywords")[0];
|
||||
/*$("span[class='tag']").each(function(){
|
||||
|
||||
Reference in New Issue
Block a user