Index: arms/js/jiraConnection.js =================================================================== diff -u -r1d17475fe7f04f07c0c3ed7076f30c7291b66641 -r2716d1e949d7c54e646b8c49ea44945ba4a8b3cf --- arms/js/jiraConnection.js (.../jiraConnection.js) (revision 1d17475fe7f04f07c0c3ed7076f30c7291b66641) +++ arms/js/jiraConnection.js (.../jiraConnection.js) (revision 2716d1e949d7c54e646b8c49ea44945ba4a8b3cf) @@ -15,8 +15,6 @@ var dataTableRef; // 데이터테이블 참조 변수 -var monitor_card; - //////////////// //Document Ready //////////////// @@ -134,7 +132,6 @@ /////////////////// insert Card /////////////////////// var obj = data.response; draw_card_deck(obj); - monitor_card = obj; } }, beforeSend: function () { @@ -171,8 +168,8 @@ data += `
- - ${draw_ribbon_result_of_issueType_check2(cardList[i].c_id,cardList[i].c_jira_server_type)} + +
${drawRibbon(cardList[i].c_id,cardList[i].c_jira_server_type, i)}
@@ -187,9 +184,7 @@
-

-

- +

@@ -207,76 +202,12 @@ $("#jira_server_card_deck").html(data); } -//////////////////////////////////////////////////////////////////////////////////////// -// --- 데이터 테이블 설정 --- // (사용 X) -//////////////////////////////////////////////////////////////////////////////////////// -function dataTableLoad() { - // 데이터 테이블 컬럼 및 열그룹 구성 - var columnList = [ - { name: "c_id", title: "지라(서버) 아이디", data: "c_id", visible: false }, - { - name: "c_jira_name", - title: "프로젝트 이름", - data: "jiraProjectEntities", - render: function (data, type, row, meta) { - if (type === "display") { - return '"; - } - return data+1; - }, - className: "dt-body-left", - - visible: true - }, - { name: "c_jira_server_type", title: "서버 타입", data: "c_jira_server_type", visible: true, - render: function (data, type, row, meta) { - if (type ==="display") { - console.log("data =" + data); - if ( data == "cloud") { - return '"+''+""; - //return '"; - } else { - return '"+''+""; - } - } - }, - className: "dt-body-center", - width: "100px" - }, - ]; - var rowsGroupList = []; - var columnDefList = []; - var selectList = {}; - var orderList = [[1, "asc"]]; - var buttonList = []; - - var jquerySelector = "#jira_connection_table"; // - var ajaxUrl = "/auth-user/api/arms/jiraServer/getJiraServerMonitor.do"; // 사용 예정 - var jsonRoot = "response"; - var isServerSide = false; - - dataTableRef = dataTable_build( - jquerySelector, - ajaxUrl, - jsonRoot, - columnList, - rowsGroupList, - columnDefList, - selectList, - orderList, - buttonList, - isServerSide - ); -} - - // 데이터 테이블 구성 이후 꼭 구현해야 할 메소드 : 열 클릭시 이벤트 // 데이터 테이블을 사용하지 않으므로, 쓰지 않아도 된다. function dataTableClick(tempDataTable, selectedData) { // => 카드 목록 클릭시 해당 카드의 c_id를 활용해서 가져오도록 만들어야 함 console.log(selectedData); selectId = selectedData.c_id; - // c_id로 getNode 실행 //jiraServerCardClick(selectId); if(selectedData.c_jira_name !== undefined) { @@ -337,7 +268,7 @@ $("#detailview_jira_server_name").val(json.c_title); $("#editview_jira_server_name").val(json.c_title); - if(json.c_jira_server_type === "클라우드") { + if(selectServerType === "클라우드") { $("#detailview_jira_server_type_option1").parent().click(); $("#editview_jira_server_type_option1").parent().click(); } else { @@ -1288,15 +1219,12 @@ var selectList = {}; var orderList = [[1, "asc"]]; var buttonList = []; - - console.log("issue_type selectProjectId => " + selectProjectId); - + //console.log("issue_type selectProjectId => " + selectProjectId); var jquerySelector = targetSelector; // var ajaxUrl = "/auth-user/api/arms/jiraServer/" + targetAjaxUrl; var jsonRoot = "response"; var isServerSide = false; - dataTableRef = dataTable_build( jquerySelector, ajaxUrl, @@ -1523,47 +1451,6 @@ } } - - -// arms-requirement 존재 확인해서 리본 그리기 -function draw_ribbon_result_of_issueType_check2(jiraServerId, serverType){ - var resultList = []; // 초기화 - var chk_result = ""; - resultList = getIssueTypeList(jiraServerId, serverType); - if (serverType === "클라우드") { - var arr = []; - arr = resultList; - var issueTypeList = []; - var 이슈타입_없는_프로젝트명 =""; - for(var i = 0; i < arr.length ; i++) { - issueTypeList = arr[i].jiraIssueTypeEntities; // 이슈타입들의 목록 - chk_result = chk_issue_type_whether_have_arms_requirement(issueTypeList); - if (chk_result === "true") { console.log(arr[i].c_jira_name + "은 arms-requirement 있음"); } - else { - 이슈타입_없는_프로젝트명 += arr[i].c_jira_name+ " "; - } - } - if (이슈타입_없는_프로젝트명 !== "") { // 이슈타입으로 arms-requirement가 없는 프로젝트 존재 - return `
` - } else { - return `
Ready
`; - } - } - if (serverType =="온프레미스") { - var arr = []; - arr = resultList; - chk_result = chk_issue_type_whether_have_arms_requirement(arr); - if (chk_result === "true") { - return `
Ready
`; - } else if (chk_result == "false") { // 이슈타입은 있지만, arms-requirement가 없음 - var htmlData = `
` - return htmlData; - } else { // undefined - 이슈 타입 자체가 없음 - return `
` - } - } -} - //이슈유형(타입)에 arms-requirement 가 있는지 확인 function chk_issue_type_whether_have_arms_requirement(list) { var arr = list; var chk_result = "false"; @@ -1580,8 +1467,11 @@ } } -function getIssueTypeList(jiraServerId, jiraServerType) { +// 서버가 가진 이슈유형 "arms-requirement" 확인해서 리본 그리기 +function drawRibbon(jiraServerId, jiraServerType, index) { var resultList = []; + var chk_result = ""; + var cardIndex = ""; if (jiraServerType === "온프레미스") { $.ajax({ url: "/auth-user/api/arms/jiraServer/getJiraIssueType.do", @@ -1590,12 +1480,30 @@ contentType: "application/json;charset=UTF-8", dataType: "json", progress: true, - async: false, statusCode: { 200: function (data) { console.log("온프레미스 지라이슈타입 목록"); if (data) { resultList = data.response; + cardIndex = index; + chk_result = chk_issue_type_whether_have_arms_requirement(resultList); + + var ribbonSelector = ".ribbon-"+cardIndex; + var ribbonHtmlData = ``; + + if (chk_result === "true") { + ribbonHtmlData += `
Ready
`; + $(ribbonSelector).append(ribbonHtmlData); + } else if (chk_result == "false") { // 이슈타입은 있지만, arms-requirement가 없음 + ribbonHtmlData += `
+ +
`; + $(ribbonSelector).append(ribbonHtmlData); + } else { // undefined - 이슈 타입 자체가 없음 + ribbonHtmlData += `
`; + $(ribbonSelector).append(ribbonHtmlData); + + } } else { jError("데이터가 유효하지 않습니다."); } @@ -1618,18 +1526,32 @@ contentType: "application/json;charset=UTF-8", dataType: "json", // 서버에서 보내줄 데이터의 타입 progress: true, - async: false, statusCode: { 200: function (data) { - resultList = data.response; + cardIndex = index; + resultList = data.response; // 프로젝트 엔티티 목록(+이슈유형, 이슈상태 있음) + var arr = []; + arr = resultList; + var issueTypeList = []; + var 이슈타입_없는_프로젝트명 =""; + var ribbonSelector = ".ribbon-"+cardIndex; + var ribbonHtmlData = ``; + + for(var i = 0; i < arr.length ; i++) { + issueTypeList = arr[i].jiraIssueTypeEntities; // 이슈타입들의 목록 + chk_result = chk_issue_type_whether_have_arms_requirement(issueTypeList); + if (chk_result === "true") { /*console.log(arr[i].c_jira_name + "은 arms-requirement 있음");*/ } + else { 이슈타입_없는_프로젝트명 += arr[i].c_jira_name+ " "; } + } + if (이슈타입_없는_프로젝트명 !== "") { // 이슈타입으로 arms-requirement가 없는 프로젝트 존재 + ribbonHtmlData += `
`; + $(ribbonSelector).append(ribbonHtmlData); + } else { + ribbonHtmlData += `
Ready
`; + $(ribbonSelector).append(ribbonHtmlData); + } } }, - beforeSend: function () { - //$("#regist_pdservice").hide(); 버튼 감추기 - }, - complete: function () { - //$("#regist_pdservice").show(); 버튼 보이기 - }, error: function (e) { if(jiraServerId === undefined || jiraServerId === "") { jError("클라우드 지라 프로젝트 조회 중 에러가 발생했습니다. (지라(서버) 아이디 없음)");