Index: reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss =================================================================== diff -u -rc135d33efc76ec264de92161e2731cffff48da8c -r62766d768d11ec839b7339692fc7f178602dd132 --- reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss (.../layout.scss) (revision c135d33efc76ec264de92161e2731cffff48da8c) +++ reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss (.../layout.scss) (revision 62766d768d11ec839b7339692fc7f178602dd132) @@ -1,11 +1,40 @@ +//////////////////////////////////////////////////////////////////////////////////////// +//Document Ready +//////////////////////////////////////////////////////////////////////////////////////// + +$(function () { + // Page load & 상단 페이지 로드 프로그래스바 -topbarConfig(); -topbar.show(); -setTimeout(function () { - $(".container").fadeIn("slow"); - topbar.hide(); -}, 2000); + topbarConfig(); + topbar.show(); + setTimeout(function () { + $(".container").fadeIn("slow"); + topbar.hide(); + }, 2000); + /* 로그인 인증 여부 체크 함수 */ + authUserCheck(); + + /* include 레이아웃 html 파일을 로드하는 함수 */ + includeLayout(); + + /* 맨위로 아이콘 */ + rightBottomTopForwardIcon(); + +}); + +//////////////////////////////////////////////////////////////////////////////////////// +//Common Variable +//////////////////////////////////////////////////////////////////////////////////////// +var userName; +var userApplicationRoles; +var userAttributes; +var userEnabled; +var userGroups; +var userID; +var userRealmRoles; +var permissions; + // 상단 페이지 로드 프로그래스바 설정 function topbarConfig() { topbar.config({ @@ -24,20 +53,7 @@ } -// jQuery Document ready -$(function () { - /* 로그인 인증 여부 체크 함수 */ - authUserCheck(); - - /* include 레이아웃 html 파일을 로드하는 함수 */ - includeLayout(); - - /* 맨위로 아이콘 */ - rightBottomTopForwardIcon(); - -}); - // 맨위로 아이콘 function rightBottomTopForwardIcon(){ $("#topicon").click(function () { @@ -54,8 +70,13 @@ timeout: 7313, global: false, statusCode: { - 200: function (n) { - console.log("authUserCheck :: " + n); + 200: function (json) { + console.log("authUserCheck :: userName = " + json.name); + console.log("authUserCheck :: permissions = " + json.permissions); + userName = json.name; + permissions = json.permissions; + + getUserInfo(); }, 401: function (n) { location.href = "/sso/login"; @@ -64,6 +85,62 @@ }); } +function getUserInfo() { + $.ajax({ + url: "/auth-check/getUsers/"+userName, + data: { + sendData: "" + }, + type: "GET", + progress: true, + statusCode: { + 200: function (json) { + console.log("authUserCheck length = :: " + json.length); + if( json.length > 1 ){ + jError("중복된 사용자가 있습니다."); + }else if( json.length == 0 ){ + jError("사용자 정보가 조회되지 않습니다."); + }else { + userApplicationRoles = json[0].applicationRoles; + userAttributes = json[0].attributes; + userEnabled = json[0].enabled; + userGroups = json[0].groups; + userID = json[0].id; + userRealmRoles = json[0].realmRoles; + console.log("authUserCheck :: userApplicationRoles = " + userApplicationRoles); + console.log("authUserCheck :: userAttributes = " + userAttributes); + console.log("authUserCheck :: userEnabled = " + userEnabled); + console.log("authUserCheck :: userGroups = " + userGroups); + console.log("authUserCheck :: userID = " + userID); + console.log("authUserCheck :: userRealmRoles = " + userRealmRoles); + + if ($.isFunction(execArmsDocReady)) { + execArmsDocReady(); + } + + } + }, + 401: function (n) { + location.href = "/sso/login"; + }, + }, + }).done(function(data) { + + // for(var key in data){ + // var value = data[key]; + // console.log(key + "=" + value); + // } + // + // var loopCount = 3; + // for (var i = 0; i < loopCount ; i++) { + // console.log( "loop check i = " + i ); + // } + + }).fail(function(e) { + }).always(function() { + }); +} + // include 레이아웃 html 파일을 로드하는 함수 function includeLayout() { var includeArea = $("[data-include]"); Index: arms/js/reqReview.js =================================================================== diff -u -r4a0ddfa15f5ab30e8f44c868a43cbce44183dca0 -r62766d768d11ec839b7339692fc7f178602dd132 --- arms/js/reqReview.js (.../reqReview.js) (revision 4a0ddfa15f5ab30e8f44c868a43cbce44183dca0) +++ arms/js/reqReview.js (.../reqReview.js) (revision 62766d768d11ec839b7339692fc7f178602dd132) @@ -1,10 +1,10 @@ //////////////////////////////////////////////////////////////////////////////////////// -//Document Ready +//Document Ready ( execArmsDocReady ) //////////////////////////////////////////////////////////////////////////////////////// var selectedPdServiceId; // 제품(서비스) 아이디 var reqStatusDataTable; -$(function () { +function execArmsDocReady() { //좌측 메뉴 setSideMenu( @@ -17,7 +17,7 @@ var externalData = ""; var jquerySelectorID = "#reqReviewTable"; - var ajaxUrl = "/auth-user/api/arms/reqReview/getMonitor_Without_Root.do?reviewer=admin&filter=All"; + var ajaxUrl = "/auth-user/api/arms/reqReview/getMonitor_Without_Root.do?reviewer=" + userName + "&filter=All"; var columnList = [ { name: "c_id", title: "ID", @@ -29,18 +29,6 @@ data: "c_review_pdservice_name", visible: true }, - - { name: "c_review_sender", - title: "리뷰 요청인", - data: "c_review_sender", - visible: false - }, - { name: "c_review_responder", - title: "리뷰 응답인", - data: "c_review_responder", - visible: true - }, - { name: "c_review_req_link", title: "요구사항 아이디", data: "c_review_req_link", @@ -51,13 +39,23 @@ data: "c_review_req_name", visible: true }, + { name: "c_review_sender", + title: "리뷰 요청인", + data: "c_review_sender", + visible: true + }, + { name: "c_review_responder", + title: "리뷰 응답인", + data: "c_review_responder", + visible: true + }, { name: "c_review_result_state", title: "리뷰 상태", data: "c_review_result_state", visible: true }, { name: "c_review_creat_date", - title: "리뷰 일자", + title: "리뷰 생성일", data: "c_review_creat_date", visible: true }, @@ -67,9 +65,9 @@ var columnDefList = []; var selectList = {}; var buttonList = []; - common_dataTableLoad(externalData, jquerySelectorID, ajaxUrl, columnList, rowsGroupList, columnDefList, selectList, buttonList); + reqStatusDataTable = common_dataTableLoad(externalData, jquerySelectorID, ajaxUrl, columnList, rowsGroupList, columnDefList, selectList, buttonList); -}); +} // make review classify menu var makeClassifyMenus = function (data) { @@ -172,170 +170,97 @@ //datatable 좌상단 datarow combobox style $("body").find("[aria-controls='" + jQueryElementStr + "']").css("width", "100px"); $("select[name=" + jQueryElementStr + "]").css("width", "50px"); - $("select[name=" + jQueryElementStr + "_length] option").css("background", "red"); + $("select[name=" + jQueryElementStr + "_length] option").css("background", "#41434A"); + $("select[name=" + jQueryElementStr + "_length]").css("border", "1px solid blue"); + + $.fn.dataTable.ext.errMode = function ( settings, helpPage, message ) { + console.log(message); + jError("Notification : Ajax Error, Complete !"); + }; + return tempDataTable; } -$.fn.dataTable.ext.errMode = function ( settings, helpPage, message ) { - console.log(message); - jError("Notification : Ajax Error, Complete !"); -}; // -------------------- 데이터 테이블을 만드는 템플릿으로 쓰기에 적당하게 리팩토링 함. ------------------ // // 데이터 테이블 구성 이후 꼭 구현해야 할 메소드 : 열 클릭시 이벤트 function dataTableClick(selectedData) { - console.log(selectedData); + console.log("selectedData.c_review_pdservice_link = " + selectedData.c_review_pdservice_link); + console.log("selectedData.c_review_req_link = " + selectedData.c_review_req_link); + console.log("selectedData.c_id = " + selectedData.c_id); + location.href = "reqReviewDetail.html?c_id=" + selectedData.c_id + "&c_review_pdservice_link=" + selectedData.c_review_pdservice_link + "&c_review_req_link=" + selectedData.c_review_req_link; } // 데이터 테이블 데이터 렌더링 이후 콜백 함수. function dataTableCallBack(){ } -// -// // make review list -// var makeReviewList = function (data) { -// var reviewList = document.getElementById("review-list"); -// var list = ""+ -// ""+ -// "ID"+ -// "제품(서비스)"+ -// "리뷰 요청자"+ -// "리뷰어"+ -// "리뷰 제목"+ -// "리뷰 상태"+ -// "리뷰 일자"+ -// ""+ -// ""; -// data.forEach( -// (item) => -// (list += ` -// -// -// ${item.c_review_pdservice_name} -// ${item.c_review_sender} -// ${item.c_review_responder} -// ${item.c_review_req_name} -// ${item.c_review_result_state} -// ${dateFormat(item.c_review_creat_date)} -// -// `) -// ); -// -// dataSet = data; -// reviewList.innerHTML = list; -// }; -// -// var makeEmptyList = function () { -// var reviewList = document.getElementById("review-list"); -// var list = ""+ -// ""+ -// "ID"+ -// "제품(서비스)"+ -// "리뷰 요청자"+ -// "리뷰어"+ -// "리뷰 제목"+ -// "리뷰 상태"+ -// "리뷰 일자"+ -// ""+ -// ""+ -// ""+ -// ""+ -// ""+ -// "데이터가 없습니다."+ -// ""+ -// ""; -// reviewList.innerHTML = list; -// }; -// -// // --- 사이드 메뉴 -- // -// $(function () { -// setSideMenu( -// "sidebar_menu_requirement", -// "sidebar_menu_requirement_review", -// "requirement-elements-collapse" -// ); -// -// getJsonForPrototype("./js/reviewClassify.json", makeClassifyMenus); -// -// -// $.ajax({ -// url: "/auth-user/api/arms/reqReview/getMonitor_Without_Root.do", -// data: { -// reviewer: "admin", -// filter: "All", -// }, -// type: "GET", -// progress: true -// }).done(function(data) { -// -// // for(var key in data){ -// // // var value = data[key]; -// // // console.log(key + "=" + value); -// // // } -// // // -// // // var loopCount = 3; -// // // for (var i = 0; i < loopCount ; i++) { -// // // console.log( "loop check i = " + i ); -// // // } -// makeReviewList(data.result); -// -// }).fail(function(e) { -// }).always(function() { -// }); -// -// -// -// -// //getJsonForPrototype("/auth-user/api/arms/reqReview/getMonitor_Without_Root.do?searchReviewer=admin", makeReviewList); -// }); -// -// // reviwe click -// $("#review-list").click(function (ev) { -// var row = ev.target.parentNode.dataset; -// location.href = `reqReviewDetail.html?id=${row.id}`; -// }); -// -// // side menu click -// $("#review-classify").click(async function (ev) { -// var li = ev.target.parentNode; -// for (var item of ev.currentTarget.children) { -// item.classList.remove("active"); -// } -// -// li.classList.add("active"); -// -// // 서버에서 필터 될 때 사용 -// // getJsonForPrototype("./js/reviewList.json", makeReviewList); -// -// $.ajax({ -// url: "/auth-user/api/arms/reqReview/getMonitor_Without_Root.do", -// data: { -// reviewer: "admin", -// filter: li.dataset.c_review_result_state, -// }, -// type: "GET", -// progress: true -// }).done(function(data) { -// -// // for(var key in data){ -// // // var value = data[key]; -// // // console.log(key + "=" + value); -// // // } -// // // -// // // var loopCount = 3; -// // // for (var i = 0; i < loopCount ; i++) { -// // // console.log( "loop check i = " + i ); -// // // } -// if(data.message == undefined){ -// makeReviewList(data.result); -// }else{ -// makeEmptyList(); -// } -// -// }).fail(function(e) { -// }).always(function() { -// }); -// }); -// + + +// side menu click +$("#review-classify").click(async function (ev) { + var li = ev.target.parentNode; + for (var item of ev.currentTarget.children) { + item.classList.remove("active"); + } + + li.classList.add("active"); + + + $('#reqReviewTable').dataTable().empty(); + var externalData = ""; + var jquerySelectorID = "#reqReviewTable"; + var ajaxUrl = "/auth-user/api/arms/reqReview/getMonitor_Without_Root.do?reviewer=" + userName + "&filter=" + li.dataset.c_review_result_state; + var columnList = [ + { name: "c_id", + title: "ID", + data: "c_id", + visible: true + }, + { name: "c_review_pdservice_name", + title: "제품(서비스)", + data: "c_review_pdservice_name", + visible: true + }, + { name: "c_review_req_link", + title: "요구사항 아이디", + data: "c_review_req_link", + visible: false + }, + { name: "c_review_req_name", + title: "요구사항", + data: "c_review_req_name", + visible: true + }, + { name: "c_review_sender", + title: "리뷰 요청인", + data: "c_review_sender", + visible: true + }, + { name: "c_review_responder", + title: "리뷰 응답인", + data: "c_review_responder", + visible: true + }, + { name: "c_review_result_state", + title: "리뷰 상태", + data: "c_review_result_state", + visible: true + }, + { name: "c_review_creat_date", + title: "리뷰 생성일", + data: "c_review_creat_date", + visible: true + }, + + ]; + var rowsGroupList = []; + var columnDefList = []; + var selectList = {}; + var buttonList = []; + reqStatusDataTable = common_dataTableLoad(externalData, jquerySelectorID, ajaxUrl, columnList, rowsGroupList, columnDefList, selectList, buttonList); + + +}); \ No newline at end of file Index: arms/js/reqReviewDetail.js =================================================================== diff -u -rd4cc210eef3c63f46a7de2e7f2d96b3099520225 -r62766d768d11ec839b7339692fc7f178602dd132 --- arms/js/reqReviewDetail.js (.../reqReviewDetail.js) (revision d4cc210eef3c63f46a7de2e7f2d96b3099520225) +++ arms/js/reqReviewDetail.js (.../reqReviewDetail.js) (revision 62766d768d11ec839b7339692fc7f178602dd132) @@ -1,3 +1,20 @@ +//////////////////////////////////////////////////////////////////////////////////////// +//Document Ready ( execArmsDocReady ) +//////////////////////////////////////////////////////////////////////////////////////// +// --- 사이드 메뉴 -- // +function execArmsDocReady() { + setSideMenu( + "sidebar_menu_requirement", + "sidebar_menu_requirement_review", + "requirement-elements-collapse" + ); + + getJsonForPrototype("./js/reviewDetailHistory.json", makeHistory); + + includeDiff(); +}; + + const makeHistory = function (data) { const historys = document.querySelector(".review-history"); @@ -122,16 +139,3 @@ diff2htmlUi.highlightCode(); diff2htmlUi.fileListToggle(false); }; - -// --- 사이드 메뉴 -- // -$(function () { - setSideMenu( - "sidebar_menu_requirement", - "sidebar_menu_requirement_review", - "requirement-elements-collapse" - ); - - getJsonForPrototype("./js/reviewDetailHistory.json", makeHistory); - - includeDiff(); -});