<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
	response.setHeader("Pragma", "No-cache");
	response.setHeader("Cache-Control", "no-cache");
	response.setHeader("Expires", "0");
%>

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>

<script language="javascript" >
var url      ='<c:url value="/onl/admin/circuitbreaker/circuitBreakerInterfaceMan.json" />';
var url_view ='<c:url value="/onl/admin/circuitbreaker/circuitBreakerInterfaceMan.view" />';
var isDetail = false;
function init(url,key,callback){
	$.ajax({  
		type : "POST",
		url:url,
		dataType:"json",
		data:{cmd: 'LIST_INIT_COMBO'},
		success:function(json){
			new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
			
			if(typeof callback === 'function') {
				callback(url,key);
			}
		},
		error:function(e){
			alert(e.responseText);
		}
	});
}
function detail(url,key){
	if (!isDetail)return;
	$.ajax({  
		type : "POST",
		url:url,
		dataType:"json",
		data:{cmd: 'DETAIL', name : key},
		success:function(json){
			var data = json;
			$("input[name=cbreakerId]").attr('readonly',true);
			$("input[name=cbreakerName]").attr('readonly',true);
			$("input[name=cbreakerDesc]").attr('readonly',true);
			
			$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
				var name = $(this).attr("name");
				var tag  = $(this).prop("tagName").toLowerCase();
				$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
			});
			
			var cbreakerId = json.CBREAKERID || json.cbreakerId;
			if (cbreakerId) {
				$('#idRow').show();
			} else {
				$('#btn_delete').hide();
			}

		},
		error:function(e){
			alert(e.responseText);
		}
	});
}
$(document).ready(function() {	
	var returnUrl = getReturnUrlForReturn();
	var key ="${param.name}";
	if (key != "" && key !="null"){
		isDetail = true;
	}	
	init(url,key,detail);
	
	
	$("#btn_modify").click(function(){
		var postData = $('#ajaxForm').serializeArray();
		if (isDetail){
			postData.push({ name: "cmd" , value:"UPDATE"});
		}else{
			postData.push({ name: "cmd" , value:"INSERT"});
		}
		$.ajax({
			type : "POST",
			url:url,
			data:postData,
			success:function(args){
				alert("<%= localeMessage.getString("common.saveMsg") %>");
				goNav(returnUrl);//LIST로 이동
			},
			error:function(e){
				alert(e.responseText);
			}
		});
	});
	$("#btn_delete").click(function(){
		
		if ( confirm( '<%=localeMessage.getString("common.confirmMsg")%>' ) != true ) return;
		
		var postData = $('#ajaxForm').serializeArray();
		postData.push({ name: "cmd" , value:"DELETE"});
		$.ajax({
			type : "POST",
			url:url,
			data:postData,
			success:function(args){
				alert("<%= localeMessage.getString("common.deleteMsg") %>");
				goNav(returnUrl);//LIST로 이동

			},
			error:function(e){
				alert(e.responseText);
			}
		});
	});	
	$("#btn_previous").click(function(){
		goNav(returnUrl);//LIST로 이동
	});

	buttonControl(isDetail);
	titleControl(isDetail);
});
 
</script>
</head>
	<body>
		<div class="right_box">
			<div class="content_top">
				<ul class="path">
					<li><a href="#">${rmsMenuPath}</a></li>					
				</ul>					
			</div><!-- end content_top -->
			<div class="content_middle">
				<div class="search_wrap">
					<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
					<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
					<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
<%-- 					<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/> --%>
<%-- 					<img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" />				 --%>
<%-- 					<img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/> --%>
				</div>
				<div class="title">API 별 서킷브레이커 수정<span class="tooltip" >API 별 서킷브레이커 수정</span></div>				
				
				<table id="grid" ></table>
				<div id="pager"></div>
				
				<!-- detail -->
				<form id="ajaxForm">
				<table class="table_row" cellspacing="0">
					<tr id="idRow" style="display:none;">
						<th style="width:20%;">ID</th>
						<td><input type="text" name="cbreakerId" /></td>
					</tr>
					<tr>
						<th style="width:20%;">API 명</th>
						<td><input type="text" name="cbreakerName" /></td>
					</tr>
					<tr>
						<th style="width:20%;">설명</th>
						<td><input type="text" name="cbreakerDesc" /></td>
					</tr>
					<tr>
						<th style="width:20%;">실패 비율 임계값(%)</th>
						<td><input type="text"  name="failureRateThreshold" /></td>
					</tr>
					<tr>
						<th style="width:20%;">슬라이딩 창의 크기</th>
						<td><input type="text"  name="slidingWindowSize" /></td>
					</tr>
					<tr>
						<th style="width:20%;">최소 호출 수</th>
						<td><input type="text"  name="minimumNumberOfCalls" /></td>
					</tr>
					<tr>
						<th style="width:20%;">OPEN 상태 대기 시간(초)</th>
						<td><input type="text"  name="waitDurationInOpenState" /></td>
					</tr>
					<tr>
						<th style="width:20%;">HALF_OPEN 상태 허용 호출 수</th>
						<td><input type="text"  name="permittedNumberOfCallsInHalfOpenState" /></td>
					</tr>
					<tr>
						<th style="width:20%;">느린 호출 비율 임계값(%)</th>
						<td><input type="text"  name="slowCallRateThreshold" /></td>
					</tr>
					<tr>
						<th style="width:20%;">느린 호출 지속 시간 임계값(ms)</th>
						<td><input type="text"  name="slowCallDurationThreshold" /></td>
					</tr>
					<tr>
						<th style="width:20%;">사용여부</th>
						<td>
						<div class="select-style">
									<select name="useYn" />
								</div>
						</td>
					</tr>
				</table>
				</form>
				
			</div><!-- end content_middle -->
		</div><!-- end right_box -->	
	</body>
</html>

