diff --git a/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp b/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp index 90a9697..2eddc9a 100644 --- a/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp +++ b/WebContent/jsp/onl/admin/authserver/clientManDetail.jsp @@ -293,21 +293,30 @@ } var rows = $("#selectedApiGrid").jqGrid('getRowData'); - console.log(returnValue); - const apiId = returnValue.apiId; - var apiIdExists = rows.some(function (row) { - return row.apiId === apiId; - }); + var existingApiIds = new Set(rows.map(function(row) { + return String(row.apiId); + })); + + var newItems = Array.isArray(returnValue) ? returnValue : [returnValue]; - if (apiIdExists) { - return; - } var ids = $("#selectedApiGrid").jqGrid('getDataIDs'); - var lastId = ids.length > 0 ? Math.max.apply(Math, ids) : 0; - var newId = lastId + 1; - $("#selectedApiGrid").jqGrid('addRowData', newId, returnValue, "last"); - }); + var currentIdSeq = ids.length > 0 ? Math.max(...ids.map(Number)) : 0; + + $.each(newItems, function(index, item) { + var checkId = String(item.apiId); + + if (!existingApiIds.has(checkId)) { + currentIdSeq++; + $("#selectedApiGrid").jqGrid('addRowData', currentIdSeq, item, "last"); + + existingApiIds.add(checkId); + } else { + //console.log("중복 제외됨: " + item.apiId); + } + }); + alert("중복건 수를 제외한 API가 추가되었습니다."); + }); }); $("#btn_popup_api_group").click(function () {