|
|
|
|
@ -98,7 +98,7 @@
|
|
|
|
|
processData: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
initialRequest: true, // 초기 데이터 요청 여부
|
|
|
|
|
initialRequest: false, // 초기 데이터 요청 여부
|
|
|
|
|
serializer: function(params) {
|
|
|
|
|
// 기본 파라미터 (페이지 정보 등)
|
|
|
|
|
var defaultParams = $.param(params);
|
|
|
|
|
@ -134,6 +134,7 @@
|
|
|
|
|
|
|
|
|
|
// 데이터 로딩 완료 이벤트
|
|
|
|
|
this.instance.on('successResponse', function(ev) {
|
|
|
|
|
|
|
|
|
|
// 중요로직: 그리드 데이터 건수에 따른 "위치정보 추가" 버튼 활성화/비활성화 처리
|
|
|
|
|
var responseObj = JSON.parse(ev.xhr.response);
|
|
|
|
|
var totalCount = 0;
|
|
|
|
|
@ -141,46 +142,63 @@
|
|
|
|
|
totalCount = responseObj.data.contents.length;
|
|
|
|
|
}
|
|
|
|
|
var $pstnInfoRegistBtn = $('#pstnInfoRegistBtn');
|
|
|
|
|
|
|
|
|
|
if (totalCount >= 1) {
|
|
|
|
|
// 데이터가 1건 이상 있을 경우 버튼 비활성화
|
|
|
|
|
$pstnInfoRegistBtn.prop('disabled', true);
|
|
|
|
|
$pstnInfoRegistBtn.addClass('disabled');
|
|
|
|
|
|
|
|
|
|
window.CrdnDetailView.pstnInfoId = responseObj.data.contents[0].pstnInfoId;
|
|
|
|
|
// 중요로직: 데이터가 있을 때 첫 번째 row를 선택(하이라이트) 처리, 참고, 삭제 불가
|
|
|
|
|
//setInterval(function() {
|
|
|
|
|
// var firstRowKey = self.instance.getRowAt(0);
|
|
|
|
|
// if (firstRowKey !== null && firstRowKey !== undefined) {
|
|
|
|
|
// self.instance.focus(firstRowKey.rowKey, null, true);
|
|
|
|
|
// }
|
|
|
|
|
//}, 100);
|
|
|
|
|
CrdnDetailView.pstnInfoId = responseObj.data.contents[0].pstnInfoId;
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
// 데이터가 0건일 경우 버튼 활성화
|
|
|
|
|
$pstnInfoRegistBtn.prop('disabled', false);
|
|
|
|
|
$pstnInfoRegistBtn.removeClass('disabled');
|
|
|
|
|
|
|
|
|
|
window.CrdnDetailView.pstnInfoId = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 중요로직: 위치정보 데이터 유무에 따른 소유자 선택/제거 버튼 상태 제어
|
|
|
|
|
if (window.CrdnDetailView && window.CrdnDetailView.updateOwnrButtonsState) {
|
|
|
|
|
var hasLocationData = totalCount > 0;
|
|
|
|
|
window.CrdnDetailView.updateOwnrButtonsState(hasLocationData);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 중요로직: 위치정보 로딩 완료 후 나머지 그리드들 순차적 로딩 실행
|
|
|
|
|
if (window.CrdnDetailView && window.CrdnDetailView.refreshOtherGridsAfterLocation) {
|
|
|
|
|
window.CrdnDetailView.refreshOtherGridsAfterLocation();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 그리드 렌더링 및 데이터 업데이트 완료 이벤트
|
|
|
|
|
this.instance.on('onGridUpdated', function() {
|
|
|
|
|
// hidden 이 아닌 첫번째 컬럼을 가져옴.
|
|
|
|
|
const firstVisibleColumn = self.instance.getColumns().find(column => !column.hidden);
|
|
|
|
|
var allRows = self.instance.getData();
|
|
|
|
|
var rowKey = null;
|
|
|
|
|
allRows.forEach(function(row) {
|
|
|
|
|
if( CrdnDetailView.pstnInfoId === null ){
|
|
|
|
|
rowKey = allRows[0].rowKey;
|
|
|
|
|
CrdnDetailView.pstnInfoId = row.pstnInfoId;
|
|
|
|
|
}else if (row.pstnInfoId === CrdnDetailView.pstnInfoId) {
|
|
|
|
|
rowKey = row.rowKey
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 1. 체크박스 선택
|
|
|
|
|
//self.instance.check(rowKey);
|
|
|
|
|
|
|
|
|
|
// 2. 행 전체 선택 (파란색 배경)
|
|
|
|
|
self.instance.setSelectionRange({
|
|
|
|
|
start: [rowKey, 0],
|
|
|
|
|
end: [rowKey, self.instance.getColumns().length - 1]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 3. 첫 번째 보이는 컬럼으로 포커스 이동 및 스크롤
|
|
|
|
|
self.instance.focus(rowKey, firstVisibleColumn.name, true);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 행 클릭 이벤트
|
|
|
|
|
this.instance.on('click', function(ev) {
|
|
|
|
|
if (ev.rowKey !== undefined && ev.rowKey !== null) {
|
|
|
|
|
var rowData = self.instance.getRow(ev.rowKey);
|
|
|
|
|
console.log('위치 정보 행 클릭:', rowData);
|
|
|
|
|
//console.log('위치 정보 행 클릭:', rowData);
|
|
|
|
|
CrdnDetailView.pstnInfoId = rowData.pstnInfoId;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
@ -188,9 +206,9 @@
|
|
|
|
|
this.instance.on('dblclick', function(ev) {
|
|
|
|
|
var rowKey = ev.rowKey;
|
|
|
|
|
var rowData = self.instance.getRow(rowKey);
|
|
|
|
|
//console.log('위치 정보 행 더블클릭:', rowData);
|
|
|
|
|
if (rowData) {
|
|
|
|
|
console.log('위치 정보 행 더블클릭:', rowData);
|
|
|
|
|
// 중요로직: 수정 팝업 호출
|
|
|
|
|
CrdnDetailView.pstnInfoId = rowData.pstnInfoId;
|
|
|
|
|
self.openEditPopup(rowData);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
@ -286,10 +304,6 @@
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//console.log( CrdnDetailView.grids.ownrInfo.grid.instance.getData() && CrdnDetailView.grids.ownrInfo.grid.instance.getData().length > 0 );
|
|
|
|
|
//console.log( CrdnDetailView.grids.actInfo.grid.instance.getData() && CrdnDetailView.grids.actInfo.grid.instance.getData().length > 0 );
|
|
|
|
|
//console.log( CrdnDetailView.grids.actrInfo.grid.instance.getData() && CrdnDetailView.grids.actrInfo.grid.instance.getData().length > 0 );
|
|
|
|
|
|
|
|
|
|
if( (CrdnDetailView.grids.ownrInfo.grid.instance.getData() && CrdnDetailView.grids.ownrInfo.grid.instance.getData().length > 0)
|
|
|
|
|
|| (CrdnDetailView.grids.actInfo.grid.instance.getData() && CrdnDetailView.grids.actInfo.grid.instance.getData().length > 0)
|
|
|
|
|
|| (CrdnDetailView.grids.actrInfo.grid.instance.getData() && CrdnDetailView.grids.actrInfo.grid.instance.getData().length > 0)
|
|
|
|
|
|