- 전문보기 버튼 및 기능 생성

- 전문보기 버튼으로 레이아웃 생성시 알림 및 변환팝업 실행하지않도록 수정
- API 명 통일
This commit is contained in:
daekuk
2026-02-25 09:54:49 +09:00
parent 9a0968d445
commit 9696bb09af
2 changed files with 77 additions and 35 deletions
@@ -19,6 +19,7 @@
<script language="javascript">
var isPop = "${param.pop}";
var isLayoutView = "${param.isLayoutView}";
var isDetail = false;
var url = '<c:url value="/onl/admin/rule/layoutMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/layoutMan.view" />';
@@ -376,14 +377,19 @@
data:postData,
success:function(args){
if(isPop == "true"){
alert("<%=localeMessage.getString("common.saveMsg")%> \n저장 후 변환정보 수정이 필수입니다. 변환정보를 확인하세요");
if(isLayoutView == "true"){
alert("<%=localeMessage.getString("common.saveMsg")%>");
} else {
alert("<%=localeMessage.getString("common.saveMsg")%> \n저장 후 변환정보 수정이 필수입니다. 변환정보를 확인하세요");
}
const origin = window.location.origin;
const layoutName = $("input[name='loutName']").val();
parent.postMessage({
action: 'LAYOUT_SAVED_OPEN_TRANSFORM',
layoutPartName: '${param.layoutPartName}'
layoutPartName: '${param.layoutPartName}',
isLayoutView: isLayoutView
}, origin);
window.close();
@@ -1,4 +1,4 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
@@ -602,6 +602,7 @@
}
function openLayoutPopup(layoutPartName){
var isLayoutView = $('#toggleLayoutView').prop('checked');
const layoutName = $('#'+layoutPartName).val();
var args = {title:layoutName+' 수정', parent: true};
var url='<c:url value="/onl/admin/rule/layoutMan.view"/>';
@@ -609,6 +610,7 @@
url += '&loutName='+layoutName;
url += '&layoutPartName='+layoutPartName;
url += '&pop=true';
url += '&isLayoutView=' + isLayoutView;
const width = parent.document.body.clientWidth - 30;
const height = parent.document.body.clientHeight - 30;
showModal(url,args,width,height,null,{fullScreenPopup:true});
@@ -1116,14 +1118,42 @@
$('#collapseApiCache').collapse('hide');
}
})
$('#toggleTransformYn').change(function() {
if($(this).prop('checked')){
$('#collapseTransform').collapse('show');
}else{
$('#collapseTransform').collapse('hide');
}
})
$('#toggleTransformYn').change(function() {
if ($(this).prop('checked')) {
$('#toggleLayoutView').bootstrapToggle('off');
$('#toggleLayoutView').closest('.form-group').hide();
$('#collapseTransform').collapse('show');
$('#requestTransform').closest('.form-group').show();
$('#responseTransform').closest('.form-group').show();
} else {
$('#collapseTransform').collapse('hide');
$('#toggleLayoutView').closest('.form-group').show();
}
});
$('#toggleLayoutView').change(function() {
if ($('#toggleTransformYn').prop('checked')) {
return;
}
if ($(this).prop('checked')) {
$('#collapseTransform').collapse('show');
$('#requestTransform').closest('.form-group').hide();
$('#responseTransform').closest('.form-group').hide();
} else {
$('#collapseTransform').collapse('hide');
$('#requestTransform').closest('.form-group').show();
$('#responseTransform').closest('.form-group').show();
}
});
if ($('#toggleTransformYn').prop('checked')) {
$('#toggleLayoutView').closest('.form-group').hide();
} else {
$('#toggleLayoutView').closest('.form-group').show();
}
$('#toggleErrTransformYn').change(function() {
if($(this).prop('checked')){
@@ -1170,26 +1200,28 @@
return;
}
// 레이아웃 저장 후 변환 팝업 자동 실행 로직
if (popupMessage.action === 'LAYOUT_SAVED_OPEN_TRANSFORM') {
// 눈이 보이지않는 팝업창 popup창 닫기
if ($('.ui-dialog-content').length > 0) {
$('.ui-dialog-content').dialog('close');
}
const part = popupMessage.layoutPartName || "";
setTimeout(function() {
if (part.includes('Request')) {
modifyTransform('request');
} else if (part.includes('Response')) {
modifyTransform('response');
} else if (part.includes('ErrResponse')) {
modifyTransform('errResponse');
}
}, 300);
}
if(popupMessage.isLayoutView == "false") {
// 레이아웃 저장 후 변환 팝업 자동 실행 로직
if (popupMessage.action === 'LAYOUT_SAVED_OPEN_TRANSFORM') {
// 눈이 보이지않는 팝업창 popup창 닫기
if ($('.ui-dialog-content').length > 0) {
$('.ui-dialog-content').dialog('close');
}
const part = popupMessage.layoutPartName || "";
setTimeout(function() {
if (part.includes('Request')) {
modifyTransform('request');
} else if (part.includes('Response')) {
modifyTransform('response');
} else if (part.includes('ErrResponse')) {
modifyTransform('errResponse');
}
}, 300);
}
}
});
// modifyLayout('inboundRequestLayout', '인바운드 요청', 'CBSS')
@@ -1489,7 +1521,7 @@
<div class="form-group col-md-3">
<label for="eaiSvcName">
<span class="material-icons-outlined">badge</span> API ID
<span class="material-icons-outlined">badge</span> <%= localeMessage.getString("eaiMessage.eaiSvcName")%>
</label>
<div class="input-group">
<input type="text"
@@ -1514,7 +1546,7 @@
</div>
</div>
<div class="form-group col-md-5">
<div class="form-group col-md-4">
<label for="eaiSvcDesc"><span class="material-icons-outlined">chat</span> API 명</label>
<input type="text" class="form-control" id="eaiSvcDesc" name="eaiSvcDesc" required></input>
</div>
@@ -1522,6 +1554,10 @@
<label for="toggleTransformYn"><span class="material-icons">account_tree</span> 전문변환</label><br>
<input type="checkbox" name="toggleTransformYn" id="toggleTransformYn" data-toggle="toggle" data-onstyle="success" data-on="사용" data-off="미사용" data-width="100" data-offstyle="secondary" data-style="ios" />
</div>
<div class="form-group col-md-1">
<label for="toggleLayoutView"><span class="material-icons">visibility</span> 전문보기</label><br>
<input type="checkbox" id="toggleLayoutView" data-toggle="toggle" data-onstyle="info" data-on="보기" data-off="숨김" data-width="100" data-offstyle="secondary" data-style="ios" />
</div>
<div class="form-group col-md-1">
<label for="toggleSimYn"><span class="material-icons" >science</span> 가상응답</label><br>
<input type="checkbox" name="toggleSimYn" id="toggleSimYn" data-toggle="toggle" data-onstyle="success" data-on="사용" data-off="미사용" data-width="100" data-offstyle="secondary" data-style="ios"/>
@@ -2097,7 +2133,7 @@
</select>
</div>
<div class="form-group col-md-6">
<label for="newSvcName"><span class="material-icons-outlined">badge</span> API ID</label>
<label for="newSvcName"><span class="material-icons-outlined">badge</span> <%= localeMessage.getString("eaiMessage.eaiSvcName")%></label>
<div class="input-group">
<input type="text" class="form-control" id="newSvcName" name="newSvcName" required>
<span class="input-group-text" style="padding: 0; border: none;">