마약류제품조회 팝업 우측그리드 무한스크롤페이징 처리 추가

dev
이범준 4 months ago
parent 498102498a
commit 60e9be5bc3

@ -195,8 +195,7 @@
// $P.control 설정 // $P.control 설정
$P.control.defaultFetchSize = FETCH_XXS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 $P.control.defaultFetchSize = FETCH_XXS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.control.untilPageNum = 0; // 현재 페이지 번호 $P.control.untilPageNum = 0; // 현재 페이지 번호
$P.control.beforeCurrent = null;
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
$P.detailControl = new DatasetControl({ $P.detailControl = new DatasetControl({
urls : { urls : {
@ -230,10 +229,9 @@
}); });
// $P.control 설정 // $P.control 설정
$P.detailControl.defaultFetchSize = FETCH_XXS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 $P.detailControl.defaultFetchSize = FETCH_MD; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.detailControl.untilPageNum = 0; // 현재 페이지 번호 $P.detailControl.untilPageNum = 0; // 현재 페이지 번호
$P.detailControl.beforeCurrent = null;
$P.detailControl.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
@ -252,7 +250,7 @@
, func: "pageObject['${pageName}'].control.load({index})" , func: "pageObject['${pageName}'].control.load({index})"
}); });
$P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
}; };
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
@ -279,9 +277,8 @@
$("#tbody--${pageName}Detail").setCurrentRow(key); $("#tbody--${pageName}Detail").setCurrentRow(key);
}; };
// FIXME: 페이징
$P.detailControl.onDatasetChange = (obj, option) => { $P.detailControl.onDatasetChange = (obj, option) => {
$P.renderDetailList(obj.${infoPrefix}Total, option); $P.renderDetailList(obj.totalCount, option);
$("#${infoPrefix}DetailPaging--${pageName}").setPagingInfo({ $("#${infoPrefix}DetailPaging--${pageName}").setPagingInfo({
list: $P.detailControl.dataset list: $P.detailControl.dataset
@ -289,7 +286,7 @@
, totalSize: obj.totalCount , totalSize: obj.totalCount
}); });
$P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
}; };
// 저장 callback // 저장 callback
@ -321,17 +318,9 @@
let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML]
: ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer); : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer);
let noMore = (${infoPrefix}List.length >= totalSize);
let initScroll = ($P.control.query.pageNum < 2) && ($P.control.untilPageNum == 0);
$("#tbody--${pageName}").html(trs.join()); $("#tbody--${pageName}").html(trs.join());
if ($P.control.untilPageNum != 0) {
$P.control.query.fetchSize = $P.control.defaultFetchSize;
$P.control.query.pageNum = $P.control.untilPageNum;
$P.control.untilPageNum = 0;
}
} }
$P.renderDetailList = (totalSize, option) => { $P.renderDetailList = (totalSize, option) => {
@ -346,8 +335,17 @@
.replace(/{onclick}/gi, "pageObject['${pageName}'].detailControl.setCurrent('" + dataItem.getValue("keyCnt") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].detailControl.setCurrent('" + dataItem.getValue("keyCnt") + "');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnSave()") .replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnSave()")
); );
$("#tbody--${pageName}Detail").html(trs.join()); let noMore = (${infoPrefix}DetailList.length >= totalSize);
let initScroll = ($P.detailControl.query.pageNum < 2) && ($P.detailControl.untilPageNum == 0);
$("#table-responsive-1--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if ($P.detailControl.untilPageNum != 0) {
$P.detailControl.query.fetchSize = $P.detailControl.defaultFetchSize;
$P.detailControl.query.pageNum = $P.detailControl.untilPageNum;
$P.detailControl.untilPageNum = 0;
}
} }
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
@ -356,7 +354,7 @@
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
//그리드(좌)조회(새로 조회)
$P.fnSearchList = (dbSkipYn) => { $P.fnSearchList = (dbSkipYn) => {
$P.control.query = { $P.control.query = {
... $P.formFields.get(), ... $P.formFields.get(),
@ -370,8 +368,7 @@
$P.control.load(1); $P.control.load(1);
} }
//그리드(우)조회(새로 조회)
// FIXME: 페이징처리
$P.fnDetailSearchList = () => { $P.fnDetailSearchList = () => {
$P.detailControl.query = { $P.detailControl.query = {
fg: $('#schOpt--productMain').val(), // 1-제조번호, 2-시리얼번호 fg: $('#schOpt--productMain').val(), // 1-제조번호, 2-시리얼번호
@ -394,12 +391,18 @@
}; };
}*/ }*/
$P.detailControl.query.fetchSize = 100; // 한번에 조회되는 자료 건수 $P.detailControl.query.fetchSize = FETCH_MD; // 한번에 조회되는 자료 건수
$P.detailControl.query.delYn = "N"; // 삭제 여부 $P.detailControl.query.delYn = "N"; // 삭제 여부
$P.detailControl.load(1); $P.detailControl.load(1);
} }
//그리드(우)조회(스크롤)
$P.scrollDetailDataList = () => {
$P.detailControl.query.pg = $P.detailControl.query.pageNum + 1;
$P.detailControl.load($P.detailControl.query.pageNum + 1);
}
// 저장 // 저장
$P.fnSave = () => { $P.fnSave = () => {
@ -442,7 +445,9 @@
$("#btnSearch2--${pageName}").on("click", () => $P.fnSearchList("Y")); $("#btnSearch2--${pageName}").on("click", () => $P.fnSearchList("Y"));
$("#btnSearch3--${pageName}").on("click", () => $P.fnDetailSearchList()); $("#btnSearch3--${pageName}").on("click", () => $P.fnDetailSearchList());
} }
fnMakeScrollableTable($("#table-responsive-1--${pageName}")[0], $P.scrollDetailDataList);
// DataTables width 변경 조정 (업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고) // DataTables width 변경 조정 (업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고)
// fnMakeResizableTable($("#table-responsive-0--${pageName}")[0]); // fnMakeResizableTable($("#table-responsive-0--${pageName}")[0]);
// fnMakeResizableTable($("#table-responsive-1--${pageName}")[0]); // fnMakeResizableTable($("#table-responsive-1--${pageName}")[0]);

Loading…
Cancel
Save