You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.6 KiB
124 lines
4.6 KiB
<div class="page-header" data-fit-aside>
|
|
<h1 class="page-title">팝업 관리</h1>
|
|
</div>
|
|
<div class="ax-button-group" data-fit-aside>
|
|
<div class="left">
|
|
<button type="button" onclick="grid.form()" class="btn btn-primary"><i class="fal fa-plus"></i> 신규 팝업 등록</button>
|
|
</div>
|
|
<div class="right">
|
|
<button type="button" onclick="grid.refresh()" class="btn btn-default"><i class="fal fa-sync"></i> 새로고침</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid-wrapper" data-fit-content>
|
|
<div class="grid-container" id="grid-container"></div>
|
|
</div>
|
|
|
|
<script>
|
|
var grid = new GRID('#grid-container', {
|
|
paging: {
|
|
pageSize: 15
|
|
},
|
|
columns: [
|
|
{caption:'번호', dataField:'nums', alignment:'right', dataType:'number', format:'fixedPoint', width:80},
|
|
{caption:'표시상태', dataField:'pop_state', alignment:'center', width:80},
|
|
{caption:'팝업 구분', dataField:'pop_type', alignment:'center', width:80, customizeText: function(cell) { return cell.value == 'N' ? '레이어' : '새창' }},
|
|
{caption:'팝업 이름', dataField:'pop_title', alignment:'left', minWidth:120},
|
|
{caption:'너비 (px)', dataField:'pop_width', alignment:'right', dataType:'number', format:'fixedPoint', width:80},
|
|
{caption:'높이 (px)', dataField:'pop_height', alignment:'right', dataType:'number', format:'fixedPoint', width:80},
|
|
{caption:'표시 시작일', dataField:'pop_start', alignment:'center', width:120},
|
|
{caption:'표시 종료일', dataField:'pop_end', alignment:'center', width:120},
|
|
{caption:'최종수정자', dataField:'upd_username', alignment:'center', width:120},
|
|
{caption:'최종수정일', dataField:'upd_datetime', alignment:'center', width:120},
|
|
],
|
|
onCellPrepared: function(e) {
|
|
if(e.rowType == 'data') {
|
|
if(e.column.dataField == 'pop_state') {
|
|
var color = ( e.value == '표시중' )? '#3498db': '#e32815';
|
|
e.cellElement.css("color", color);
|
|
}
|
|
}
|
|
},
|
|
dataSource: new DevExpress.data.DataSource({
|
|
key : 'pop_idx',
|
|
load: function(loadOptions) {
|
|
var d = $.Deferred();
|
|
var params = grid.getSearchParam(loadOptions);
|
|
|
|
$.ajax({
|
|
url : base_url + '/admin/ajax/management/popups',
|
|
type: 'GET',
|
|
async: false,
|
|
cache: false,
|
|
data: params
|
|
}).done(function(res) {
|
|
d.resolve(res.lists, {
|
|
totalCount : res.totalCount
|
|
});
|
|
});
|
|
|
|
return d.promise();
|
|
}
|
|
}),
|
|
onRowDblClick: function(e) {
|
|
grid.form(e.data.pop_idx);
|
|
},
|
|
onContextMenuPreparing: function(e) {
|
|
if (e.row.rowType === "data") {
|
|
e.items = [
|
|
{
|
|
icon: 'edit',
|
|
text: '수정',
|
|
onItemClick: function () {
|
|
grid.form(e.row.data.pop_idx);
|
|
}
|
|
},
|
|
{
|
|
icon : 'trash',
|
|
text: "삭제",
|
|
onItemClick: function () {
|
|
grid.delete(e.row.data);
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
});
|
|
|
|
grid.form = function(pop_idx) {
|
|
pop_idx = typeof pop_idx != 'undefined' && pop_idx ? pop_idx : '';
|
|
APP.MODAL.callback = function() {
|
|
grid.refresh();
|
|
APP.MODAL.close();
|
|
};
|
|
APP.MODAL.open({
|
|
iframe: {
|
|
url: base_url + '/admin/management/popup_form/' + pop_idx,
|
|
},
|
|
width:800,
|
|
height:600,
|
|
header: {
|
|
title:'팝업 정보 입력'
|
|
}
|
|
});
|
|
};
|
|
|
|
grid.delete = function(data) {
|
|
if(! confirm('선택하신 팝업 정보 [' + data.pop_title + ']를 삭제하시겠습니까?')) return false;
|
|
$.ajax({
|
|
url: base_url + '/admin/ajax/management/popups',
|
|
type: 'DELETE',
|
|
data: {
|
|
pop_idx : data.pop_idx
|
|
},
|
|
success:function() {
|
|
toastr.success('팝업삭제가 완료되었습니다.');
|
|
grid.refresh();
|
|
}
|
|
})
|
|
};
|
|
|
|
$(function() {
|
|
grid.init();
|
|
});
|
|
</script>
|