Index: arms/js/analysisCost.js =================================================================== diff -u -r29c54fb2316f75b1b1ae7910ba68cf5de0fb6c2c -r073838b635fd28b191aaf1bf13fdc21fa6529508 --- arms/js/analysisCost.js (.../analysisCost.js) (revision 29c54fb2316f75b1b1ae7910ba68cf5de0fb6c2c) +++ arms/js/analysisCost.js (.../analysisCost.js) (revision 073838b635fd28b191aaf1bf13fdc21fa6529508) @@ -280,7 +280,7 @@ //////////////////////////////////////////////////////////////////////////////////////// // 연봉 정보 업데이트(PUT), 조회(GET) 완료 후 데이터 가공하여 데이터테이블 reload -////////////////////////////////////////////////////////////////////////////////////////function handleData(apiResponse) { +//////////////////////////////////////////////////////////////////////////////////////// function handleData(apiResponse) { 버전_요구사항_담당자 = apiResponse.response.버전_요구사항_담당자; 전체담당자목록 = apiResponse.response.전체담당자목록; @@ -305,15 +305,40 @@ } //////////////////////////////////////////////////////////////////////////////////////// +// 연봉 정보 업데이트(PUT), 조회(GET) 완료 후 데이터 가공하여 데이터테이블 reload 포커스 이동 +//////////////////////////////////////////////////////////////////////////////////////// +function focusOnRow() { + let key = $('#editview_assignee_key').val(); + let table = $('#manpower-annual-income').DataTable(); + let rowIndex = -1; + table.rows().every(function(index) { + let row = $(this.node()); + if (row.find('.assignee-key').text() === key) { + rowIndex = index; + return false; + } + }); + + if (rowIndex !== -1) { + let page = Math.floor(rowIndex / table.page.info().length); + table.page(page).draw('page'); + + let row = $(table.row(rowIndex).node()); + row.focus(); + } +} + +//////////////////////////////////////////////////////////////////////////////////////// // 연봉 정보 업데이트 버튼 클릭 이벤트 처리 -////////////////////////////////////////////////////////////////////////////////////////function handleData(apiResponse) { +//////////////////////////////////////////////////////////////////////////////////////// function click_btn_for_assignee_update() { $("#edit_assignee_update, #footer_edit_assignee_update").click(function () { updateSalary() .done(data => { console.log(data); fetchUpdatedData() .done(handleData) + .then(focusOnRow) .fail(() => jError("연봉 정보 변경에 실패했습니다.")); }); }); @@ -575,7 +600,7 @@ if (isEmpty(data) || data === "unknown") { return "
N/A
"; } else { - return "
" + data + "
"; + return "
" + data + "
"; } return data; }, Index: arms/js/common.js =================================================================== diff -u -r58cc06216adfa03edbcad0ae5298dae3c8ca8e2c -r073838b635fd28b191aaf1bf13fdc21fa6529508 --- arms/js/common.js (.../common.js) (revision 58cc06216adfa03edbcad0ae5298dae3c8ca8e2c) +++ arms/js/common.js (.../common.js) (revision 073838b635fd28b191aaf1bf13fdc21fa6529508) @@ -1029,6 +1029,7 @@ buttons: buttonList, scrollX: true, scrollY: scrollY, + // lengthMenu: [[3, 5, 7, 10], [3, 5, 7, 10]], language: { processing: "", loadingRecords: