Index: arms/html/reqAdd/content-container.html =================================================================== diff -u -rd7233942cf1afb418d731a1720f8f34512c1ef86 -r43ffcdacece9f66a6728be3e92b79590de4efe63 --- arms/html/reqAdd/content-container.html (.../content-container.html) (revision d7233942cf1afb418d731a1720f8f34512c1ef86) +++ arms/html/reqAdd/content-container.html (.../content-container.html) (revision 43ffcdacece9f66a6728be3e92b79590de4efe63) @@ -2367,28 +2367,28 @@ } .edit-red:hover{ - background-color: #DB2A34; + background-color: rgba(219,42,52,0.5); } .edit-red:hover .fa { color: #FFFFFF !important; } .edit-orange:hover{ - background-color: #E49400; + background-color: rgba(228,148,0,0.5); } .edit-orange:hover .fa { color: #FFFFFF !important; } .edit-green:hover{ - background-color: #2D8515; + background-color: rgba(45,133,21,0.5); } .edit-green:hover .fa { color: #FFFFFF !important; } .edit-blue:hover{ - background-color: #2477FF; + background-color: rgba(36,119,255,0.5); } .edit-blue:hover .fa { color: #FFFFFF !important; Index: arms/js/reqAdd.js =================================================================== diff -u -rd7233942cf1afb418d731a1720f8f34512c1ef86 -r43ffcdacece9f66a6728be3e92b79590de4efe63 --- arms/js/reqAdd.js (.../reqAdd.js) (revision d7233942cf1afb418d731a1720f8f34512c1ef86) +++ arms/js/reqAdd.js (.../reqAdd.js) (revision 43ffcdacece9f66a6728be3e92b79590de4efe63) @@ -8,6 +8,18 @@ var isChecked = []; // 지라 프로젝트 연결 목록 체크 var jiraCheckId = []; // 여러 개의 c_id를 저장할 배열 +const buttonBackgroundColor ={ + red : "rgba(219,42,52,0.5)", + orange : " rgba(228,148,0,0.5)", + green : "rgba(45,133,21,0.5)", + blue : "rgba(36,119,255,0.5)" +}; +const buttonColor = { + red : "#DB2A34", + orange : "#E49400", + green : "#2D8515", + blue : "#2477FF" +}; function execDocReady() { var pluginGroups = [ [ @@ -128,7 +140,7 @@ click_btn_for_req_update(); click_btn_for_req_delete(); - changeButtonSate(); + changeButtonState(); switch_action_for_mode(); tab_click_event(); @@ -597,6 +609,68 @@ .columns.adjust() .responsive.recalc(); } +function selectButtonColor(type,value){ + let colorPalette = {}; + let color; + let background; + if(type === "priority"){ + switch (value) { + case 3: + case 4: + color = buttonColor.blue; + background = buttonBackgroundColor.blue; + break; + case 5: + color = buttonColor.orange; + background = buttonBackgroundColor.orange; + break; + case 6: + case 7: // 높음 + color = buttonColor.red; + background = buttonBackgroundColor.red; + break; + } + }else if(type === "difficulty"){ + switch (value) { + case 3: + case 4: + color = buttonColor.red; + background = buttonBackgroundColor.red; + break; + case 5: + color = buttonColor.orange; + background = buttonBackgroundColor.orange; + break; + case 6: + case 7: + color = buttonColor.blue; + background = buttonBackgroundColor.blue; + break; + } + }else if(type === "state"){ + switch (value) { + case 10: + color = buttonColor.red; + background = buttonBackgroundColor.red; + break; + case 11: + color = buttonColor.orange; + background = buttonBackgroundColor.orange; + break; + case 12: + color = buttonColor.green; + background = buttonBackgroundColor.green; + break; + case 13: + color = buttonColor.blue; + background = buttonBackgroundColor.blue; + break; + } + } + colorPalette.color = color; + colorPalette.background = background; + return colorPalette; +} //////////////////////////////////////////////////////////////////////////////////////// //상세 보기 탭 & 편집 탭 @@ -658,81 +732,53 @@ let priorityRadioButtons = $("#editview_req_priority input[type='radio']"); priorityRadioButtons.each(function () { const value = parseInt($(this).val(), 10); // val() 값을 숫자로 변환 - let color; - switch (value) { - case 3: - case 4: color = "#2477FF"; - break; - case 5: color = "#E49400"; - break; - case 6: - case 7: color = "#DB2A34"; - break; - } + let colorPalette = selectButtonColor("priority",value); if (ajaxData.reqPriorityEntity && $(this).val() == ajaxData.reqPriorityEntity["c_id"]) { $(this).parent().addClass("active"); $(this).prop("checked", true); - $(this).parent().css("background-color", color); + $(this).parent().css("background-color", colorPalette.background); $(this).parent().find("i").css("color", "#FFFFFF"); } else { $(this).prop("checked", false); $(this).parent().css("background-color", ""); - $(this).parent().find("i").css("color", color); + $(this).parent().find("i").css("color", colorPalette.color); } }); //편집하기 - 난이도 버튼 let difficultRadioButtons = $("#editview_req_difficulty input[type='radio']"); difficultRadioButtons.each(function () { const value = parseInt($(this).val(), 10); // val() 값을 숫자로 변환 - let color; - switch (value) { - case 3: - case 4: color = "#DB2A34"; - break; - case 5: color = "#E49400"; - break; - case 6: - case 7: color = "#2477FF"; - break; - } + let colorPalette = selectButtonColor("difficulty",value); + if (ajaxData.reqDifficultyEntity && $(this).val() == ajaxData.reqDifficultyEntity["c_id"]) { $(this).parent().addClass("active"); $(this).prop("checked", true); - $(this).parent().css("background-color", color); + $(this).parent().css("background-color", colorPalette.background); $(this).parent().find("i").css("color", "#FFFFFF"); } else { $(this).prop("checked", false); $(this).parent().css("background-color", ""); - $(this).parent().find("i").css("color", color); + $(this).parent().find("i").css("color", colorPalette.color); } }); //편집하기 - 상태 버튼 let stateRadioButtons = $("#editview_req_state input[type='radio']"); stateRadioButtons.each(function () { const value = parseInt($(this).val(), 10); // val() 값을 숫자로 변환 - let color; - switch (value) { - case 10: color = "#DB2A34"; - break; - case 11: color = "#E49400"; - break; - case 12: color = "#2D8515"; - break; - case 13: color = "#2477FF"; - break; - } + let colorPalette = selectButtonColor("state",value); + if (ajaxData.reqStateEntity && $(this).val() == ajaxData.reqStateEntity["c_id"]) { $(this).parent().addClass("active"); $(this).prop("checked", true); - $(this).parent().css("background-color", color); + $(this).parent().css("background-color", colorPalette.background); $(this).parent().find("i").css("color", "#FFFFFF"); } else { $(this).prop("checked", false); $(this).parent().css("background-color", ""); - $(this).parent().find("i").css("color", color); + $(this).parent().find("i").css("color", colorPalette.color); } }); @@ -848,125 +894,38 @@ CKEDITOR.instances.edit_tabmodal_editor.setReadOnly(false); } // -------- 버튼 선택 --------- // -function changeButtonSate(){ - $("input[type='radio'][name='editview_req_priority_options']").change(function(){ - // 모든 라벨에서 'active' 클래스를 제거하고 배경색 및 아이콘 색상을 초기화 - $("#editview_req_priority label").removeClass("active").css("background-color", "").find("i").css("color", ""); - - $("#editview_req_priority label").removeClass("active").css("background-color", "").each(function(){ - if ($(this).hasClass("edit-orange")) { - $(this).find("i.fa-minus").css("color", "#E49400"); - } +function changeButtonState() { + function setupChangeHandler(groupSelector, labelSelector, iconClass) { + $(`input[type='radio'][name='${groupSelector}']`).change(function() { + $(labelSelector + " label").removeClass("active").css("background-color", "").find("i").css("color", ""); + $(labelSelector + " label").removeClass("active").css("background-color", "").each(function() { + if ($(this).hasClass("edit-orange")) { + $(this).find(`i.${iconClass}`).css("color", "#E49400"); + } + }); + $(this).parent().addClass("active"); + selectedColor($(this).parent()); }); + } - // 선택된 라디오 버튼의 부모 라벨에 'active' 클래스를 추가하고 배경색 및 아이콘 색상을 변경 - $(this).parent().addClass("active"); + setupChangeHandler('editview_req_priority_options', '#editview_req_priority', 'fa-minus'); + setupChangeHandler('editview_req_difficulty_options', '#editview_req_difficulty', 'fa-minus'); + setupChangeHandler('editview_req_state_options', '#editview_req_state', 'fa-fire'); + setupChangeHandler('popup_req_priority_options', '#popup_req_priority', 'fa-minus'); + setupChangeHandler('popup_req_difficulty_options', '#popup_req_difficulty', 'fa-minus'); + setupChangeHandler('popup_req_state_options', '#popup_req_state', 'fa-fire'); - // 활성화 상태에 따라 배경 및 아이콘 색상 설정 - if($(this).parent().hasClass("edit-red")) { - $(this).parent().css("background-color", "#DB2A34").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-orange")) { - $(this).parent().css("background-color", "#E49400").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-blue")) { - $(this).parent().css("background-color", "#2477FF").find("i").css("color", "#FFFFFF"); + function selectedColor(item) { + if (item.hasClass("edit-red")) { + item.css("background-color", buttonBackgroundColor.red).find("i").css("color", "#FFFFFF"); + } else if (item.hasClass("edit-orange")) { + item.css("background-color", buttonBackgroundColor.orange).find("i").css("color", "#FFFFFF"); + } else if (item.hasClass("edit-green")) { + item.css("background-color", buttonBackgroundColor.green).find("i").css("color", "#FFFFFF"); + } else if (item.hasClass("edit-blue")) { + item.css("background-color", buttonBackgroundColor.blue).find("i").css("color", "#FFFFFF"); } - }); - - $("input[type='radio'][name='editview_req_difficulty_options']").change(function(){ - $("#editview_req_difficulty label").removeClass("active").css("background-color", "").find("i").css("color", ""); - $("#editview_req_difficulty label").removeClass("active").css("background-color", "").each(function(){ - if ($(this).hasClass("edit-orange")) { - $(this).find("i.fa-minus").css("color", "#E49400"); - } - }); - - $(this).parent().addClass("active"); - - // 활성화 상태에 따라 배경 및 아이콘 색상 설정 - if($(this).parent().hasClass("edit-red")) { - $(this).parent().css("background-color", "#DB2A34").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-orange")) { - $(this).parent().css("background-color", "#E49400").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-blue")) { - $(this).parent().css("background-color", "#2477FF").find("i").css("color", "#FFFFFF"); - } - }); - - $("input[type='radio'][name='editview_req_state_options']").change(function(){ - $("#editview_req_state label").removeClass("active").css("background-color", "").find("i").css("color", ""); - $("#editview_req_state label").removeClass("active").css("background-color", "").each(function(){ - if ($(this).hasClass("edit-orange")) { - $(this).find("i.fa-fire").css("color", "#E49400"); - } - }); - $(this).parent().addClass("active"); - - // 활성화 상태에 따라 배경 및 아이콘 색상 설정 - if($(this).parent().hasClass("edit-red")) { - $(this).parent().css("background-color", "#DB2A34").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-orange")) { - $(this).parent().css("background-color", "#E49400").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-blue")) { - $(this).parent().css("background-color", "#2477FF").find("i").css("color", "#FFFFFF"); - } - }); - - $("input[type='radio'][name='popup_req_priority_options']").change(function(){ - $("#popup_req_priority label").removeClass("active").css("background-color", "").find("i").css("color", ""); - $("#popup_req_priority label").removeClass("active").css("background-color", "").each(function(){ - if ($(this).hasClass("edit-orange")) { - $(this).find("i.fa-minus").css("color", "#E49400"); - } - }); - $(this).parent().addClass("active"); - - // 활성화 상태에 따라 배경 및 아이콘 색상 설정 - if($(this).parent().hasClass("edit-red")) { - $(this).parent().css("background-color", "#DB2A34").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-orange")) { - $(this).parent().css("background-color", "#E49400").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-blue")) { - $(this).parent().css("background-color", "#2477FF").find("i").css("color", "#FFFFFF"); - } - }); - - $("input[type='radio'][name='popup_req_difficulty_options']").change(function(){ - $("#popup_req_difficulty label").removeClass("active").css("background-color", "").find("i").css("color", ""); - $("#popup_req_difficulty label").removeClass("active").css("background-color", "").each(function(){ - if ($(this).hasClass("edit-orange")) { - $(this).find("i.fa-minus").css("color", "#E49400"); - } - }); - $(this).parent().addClass("active"); - - // 활성화 상태에 따라 배경 및 아이콘 색상 설정 - if($(this).parent().hasClass("edit-red")) { - $(this).parent().css("background-color", "#DB2A34").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-orange")) { - $(this).parent().css("background-color", "#E49400").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-blue")) { - $(this).parent().css("background-color", "#2477FF").find("i").css("color", "#FFFFFF"); - } - }); - - $("input[type='radio'][name='popup_req_state_options']").change(function(){ - $("#popup_req_state label").removeClass("active").css("background-color", "").find("i").css("color", ""); - $("#popup_req_state label").removeClass("active").css("background-color", "").each(function(){ - if ($(this).hasClass("edit-orange")) { - $(this).find("i.fa-fire").css("color", "#E49400"); - } - }); - $(this).parent().addClass("active"); - - // 활성화 상태에 따라 배경 및 아이콘 색상 설정 - if($(this).parent().hasClass("edit-red")) { - $(this).parent().css("background-color", "#DB2A34").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-orange")) { - $(this).parent().css("background-color", "#E49400").find("i").css("color", "#FFFFFF"); - } else if ($(this).parent().hasClass("edit-blue")) { - $(this).parent().css("background-color", "#2477FF").find("i").css("color", "#FFFFFF"); - } - }); + } } // ------------------ 상세보기 ------------------ // @@ -1004,87 +963,57 @@ let priorityRadioButtons = $("#detailview_req_priority input[type='radio']"); priorityRadioButtons.each(function () { const value = parseInt($(this).val(), 10); // val() 값을 숫자로 변환 - let color; - switch (value) { - case 3: - case 4: color = "#2477FF"; - break; - case 5: color = "#E49400"; - break; - case 6: - case 7: color = "#DB2A34"; - break; - } + let colorPalette = selectButtonColor("priority",value); + if (ajaxData.reqPriorityEntity && $(this).val() == ajaxData.reqPriorityEntity["c_id"]) { $(this).parent().addClass("active"); $(this).prop("checked", true); - $(this).parent().css("background-color", color); + $(this).parent().css("background-color", colorPalette.background); $(this).parent().find("i").css("color", "#FFFFFF"); } else { $(this).prop("checked", false); $(this).parent().css("background-color", ""); - $(this).parent().find("i").css("color", color); + $(this).parent().find("i").css("color", colorPalette.color); } }); //상세보기 - 난이도 버튼 let difficultRadioButtons = $("#detailview_req_difficulty input[type='radio']"); difficultRadioButtons.each(function () { const value = parseInt($(this).val(), 10); // val() 값을 숫자로 변환 - let color; - switch (value) { - case 3: - case 4: color = "#DB2A34"; - break; - case 5: color = "#E49400"; - break; - case 6: - case 7: color = "#2477FF"; - break; - } + let colorPalette = selectButtonColor("difficulty",value); if (ajaxData.reqDifficultyEntity && $(this).val() == ajaxData.reqDifficultyEntity["c_id"]) { $(this).parent().addClass("active"); $(this).prop("checked", true); - $(this).parent().css("background-color", color); + $(this).parent().css("background-color", colorPalette.background); $(this).parent().find("i").css("color", "#FFFFFF"); } else { $(this).prop("checked", false); $(this).parent().css("background-color", ""); - $(this).parent().find("i").css("color", color); + $(this).parent().find("i").css("color", colorPalette.color); } }); //상세보기 - 상태 버튼 let stateRadioButtons = $("#detailview_req_state input[type='radio']"); stateRadioButtons.each(function () { - const value = parseInt($(this).val(), 10); // val() 값을 숫자로 변환 - let color; - switch (value) { - case 10: color = "#DB2A34"; - break; - case 11: color = "#E49400"; - break; - case 12: color = "#2D8515"; - break; - case 13: color = "#2477FF"; - break; - } + let colorPalette = selectButtonColor("state",value); if (ajaxData.reqStateEntity && $(this).val() == ajaxData.reqStateEntity["c_id"]) { $(this).parent().addClass("active"); $(this).prop("checked", true); - $(this).parent().css("background-color", color); + $(this).parent().css("background-color", colorPalette.background); $(this).parent().find("i").css("color", "#FFFFFF"); } else { $(this).prop("checked", false); $(this).parent().css("background-color", ""); - $(this).parent().find("i").css("color", color); + $(this).parent().find("i").css("color", colorPalette.color); } });