/**
* admin/pushForm
*/
var mplus_admin_pushForm = function(){
//상속
mplus_admin.call(this);
var self = this;
//변수
var $btnSave = $('#btnSave'),
$crudServiceBaseUrl = contextPath + "/admin/pushform";
var pushFormList = [];
var pushFormInfo = {};
var pageSize = 15;
/**
* 초기화
*/
this.init = function(){
initPushFormList(1);
setPageList(1);
if($('#page_1')!=null) $('#page_1').addClass('active');
initDropdownList();
addEvent();
$('#sltFormType').on('change', function(e){
formTypeChange(e.currentTarget.value);
})
};
var initDropdownList = function(){
var opt = {
url: contextPath + "/admin/menu/getList.json",
type : "POST",
dataType : "json"
};
var success = function(data){
for( var i = 0; i < data.length; i++ ){
var item = data[i];
if( (item.accessUriAddr).indexOf(".page") > 0 ){
$('#sltMenu').append("");
}
};
};
var error = function(xhr,d,t){
};
self.ajaxAdmin( opt, success, error );
}
/**
* 이벤트 등록
*/
var addEvent = function(){
$('#btnCreate, #btnCreateEmpty').on('click', function(){
newPushForm();
});
$btnSave.on('click', function(){
savePushForm();
});
};
var formTypeChange = function(value){
if(value=='PAGE'){
$('#formMenu').css('display', 'block');
}else{
$('#formMenu').css('display', 'none');
}
}
var initPushFormList = function(page){
var opt = {
url: $crudServiceBaseUrl + "/getList.json",
type : "POST",
async: false,
dataType : "json",
contentType: "application/json",
data: self.util.stringifyJson({
pageSize: pageSize,
page: page
})
};
var success = function(result){
pushFormList = result.data;
totalCount = result.totalCount;
$('#table_pushForm').empty();
for(var i=0; i').clone().attr('seq', i).attr('formId', pushFormList[i].formId);
var tdFormId = $(' | ').clone().text(pushFormList[i].formId);
var tdFormType = $(' | ').clone().text(pushFormList[i].formType);
var tdMenu = $(' | ').clone().text(pushFormList[i].menuName==null? '': pushFormList[i].menuName);
var tdUseYn = $(' | ').clone().text(pushFormList[i].useYn);
var tdIncludeNameYn = $(' | ').clone().text(pushFormList[i].includeNameYn);
var tdFormDesc = $(' | ').clone().text(pushFormList[i].formDesc==null? '': self.util.getBytes(pushFormList[i].formDesc)>20? self.util.cut(pushFormList[i].formDesc, 20)+'...': pushFormList[i].formDesc);
$('#table_pushForm').append(tr.append(tdFormId).append(tdFormType).append(tdMenu).append(tdUseYn).append(tdIncludeNameYn).append(tdFormDesc));
$('#table_pushForm tr').on('click', function(e){
getPushFormInfo(e.currentTarget.attributes.seq.value);
$('#table_pushForm tr').removeClass('active');
$(this).addClass('active');
});
}
if($('#table_pushForm tr')[0]==undefined){
$('#pushFormDetail').css('display', 'none');
$('#pushFormDetailEmpty').css('display', 'block');
}else{
$('#table_pushForm tr')[0].click();
}
};
var error = function(xhr,d,t){
};
self.ajaxAdmin( opt, success, error );
};
var pageEvent = function(e) {
var type = e.currentTarget.id.split('_')[0];
var page = Number(e.currentTarget.id.split('_')[1]);
if( type == 'page' ) {
initPushFormList(page);
$('#ulPagination li[id*="page_"]').removeClass('active');
} else if ( type == 'next') {
initPushFormList(page);
setPageList(page);
} else if ( type == 'previous' ) {
initPushFormList(page);
setPageList(page - 9);
}
if($('#page_'+page)!=null) $('#page_'+page).addClass('active');
};
var setPageList = function(start) {
$('#ulPagination').empty();
var end = start + 9;
if( Math.ceil(totalCount/pageSize) < end ) {
end = Math.ceil(totalCount/pageSize);
}
if( start > 10 ) {
$('#ulPagination').append('<<');
}
for( var i = start; i <= end; i++ ) {
$('#ulPagination').append(''+i+'');
}
if( end < Math.ceil(totalCount/pageSize) ) {
$('#ulPagination').append('>>');
}
$('#ulPagination li').unbind();
$('#ulPagination li').click(function(e) {pageEvent(e);});
};
var getPushFormInfo = function(seq){
pushFormInfo = pushFormList[seq];
$('#txtFormId').val(pushFormInfo.formId);
$('#sltFormType').val(pushFormInfo.formType);
formTypeChange(pushFormInfo.formType);
$(':radio[name="useYn"][value="'+pushFormInfo.useYn+'"]').prop('checked', true);
$('#sltMenu').val(pushFormInfo.menuId);
$(':radio[name="includeNameYn"][value="'+pushFormInfo.includeNameYn+'"]').prop('checked', true);
$('#txtFormDesc').val(pushFormInfo.formDesc);
$('#txtFormId').attr('readonly', true);
$('#sltFormType').attr('disabled', true);
$('#sltMenu').attr('disabled', true);
$('#pushFormDetail').css('display', 'block');
$('#pushFormDetailEmpty').css('display', 'none');
};
var newPushForm = function(){
pushFormInfo = {};
$('#table_pushForm tr').removeClass('active');
$('#txtFormId').val('');
$('#sltFormType').val('');
$(':radio[name="useYn"][value="Y"]').prop('checked', true);
$('#sltMenu').val('');
$(':radio[name="includeNameYn"][value="Y"]').prop('checked', true);
$('#txtFormDesc').val('');
$('#txtFormId').attr('readonly', false);
$('#sltFormType').attr('disabled', false);
$('#sltMenu').attr('disabled', false);
$('#pushFormDetail').css('display', 'block');
$('#pushFormDetailEmpty').css('display', 'none');
$('#txtFormId').focus();
};
var savePushForm = function(){
var param;
var opt;
if(pushFormInfo.formId==undefined||pushFormInfo.formId==''){
var id = $('#txtFormId').val(),
rex1 = /[~!@\#$%<>^&*\()\-=+\’]/gi,
rex2 = /\s/gi;
if( rex1.test(id) ){
alert("이름은 특수문자를 사용할 수 없습니다.");
return false;
} else if( rex2.test(id) ){
alert("이름은 공백을 포함할 수 없습니다." );
return false;
};
param = {
formId: $('#txtFormId').val(),
formType: $('#sltFormType').val(),
useYn: $(':radio[name="useYn"]:checked').val(),
menuId: $('#sltFormType').val()=='PAGE'? $('#sltMenu').val(): null,
menuName: $('#sltFormType').val()=='PAGE'? $('#sltMenu option:selected').text(): null,
includeNameYn: $(':radio[name="includeNameYn"]:checked').val(),
formDesc: $('#txtFormDesc').val()
};
}else{
param = {
formId: pushFormInfo.formId,
formType: $('#sltFormType').val(),
useYn: $(':radio[name="useYn"]:checked').val(),
menuId: $('#sltFormType').val()=='PAGE'? $('#sltMenu').val(): null,
menuName: $('#sltFormType').val()=='PAGE'? $('#sltMenu option:selected').text(): null,
includeNameYn: $(':radio[name="includeNameYn"]:checked').val(),
formDesc: $('#txtFormDesc').val()
};
};
opt = {
url: $crudServiceBaseUrl + "/save.json",
method: "post",
contentType: "application/json",
data: self.util.stringifyJson(param)
};
var success = function(result){
alert("저장되었습니다.");
initPushFormList(Number($('#ulPagination li.active')[0].id.split('_')[1]));
$('#pushFormDetail').css('display', 'none');
$('#pushFormDetailEmpty').css('display', 'block');
};
var error = function(xhr,d,t){
console.log(xhr);
console.log(t);
};
self.ajaxAdmin( opt, success, error );
};
};