//ฟังก์ชั่นเปิดปิดฟอร์ม
function toggle_form_data(){
$('.frm').val('');
$('#form_action').val('1');
$('#div-main-form').toggle();
$('#div-show-data').toggle();
//$('#frm').show();
}
// ฟังก์ชั่น disable/enable
function disable_input(sid,vdid,did){
if($('#'+sid).val()==vdid){
$('#'+did).attr("disabled", 'disabled');
}else{
$('#'+did).removeAttr("disabled");
}
}
function chk_menu_url(){
let param = new FormData();
param.append('menu_url',$('#menu_url').val());
param.append('form_action','4');
$.post(folder+'db.php',param)
.done(function(data){
if(data>0){
ms="
';
$('#pagination').append(pag);
if(width<370){
max=6;
}else if(width<650){
max=12;
}else if(width<740){
max=15;
}else if(width<1025){
max=20;
}else if(width>1100){
max=7;
}
if(page==1){
i=1;
}else{
if(max_pagemax_page){
i=max_page-max+1;
}else{
i=page;
}
}
}
var x=1;
var pag='';
while(i<=max_page){
if(page==i){ at='active';}else{at='';}
pag+=''+i+'';
++i;
++x;
if(x>max){break;}
}
if(page==max_page){
ds='class="disabled"';
oc='';
}else{
ds='';
po=parseInt(page)+1;
oc='onclick="show_data('+po+');"';
}
pag+='';
$('#pagination').append(pag);
}else{$('#pagination').empty();}
}
//สิ้นสุด pagination แบ่งหน้าแสดงข้อมูล
//แสดงข้อมูล
function show_data(page){
if(page==null){
page=$('#page').val();
}else{
$('#page').val(page);
}
$('#show_data').empty();
let param = new FormData(document.getElementById("frm-search"));
//let param = new FormData();
param.append('page',page);
param.append('qpage',$('#qpage').val());
param.append('form_action',6);
$.post(folder+'db.php',param)
.done(function(data){
//$('#results').html(data);
obj = jQuery.parseJSON(data);
$('#show_state').html(obj['pagination'].state);
pagination(obj['pagination'].max_loop,page);
if(page==1){x=1;}else{x=(page-1)*$('#qpage').val()+1;}
da="";
$.each(obj,function(i){
if(i!=='pagination'){
da+='';
da+='| '+x+' | ';
da+=''+obj[i].title+' | ';
da+=''+obj[i].menu_type+' | ';
da+=''+obj[i].menu_url+' | ';
da+=' : '+obj[i].menu_icon+' | ';
da+=''+obj[i].menu_file+' | ';
da+='';
if(obj[i].status=='1'){ sel='checked';}else{sel='';}
//action buttons
// show a dropdown in mobile
da+="';
da+=' | ';
da+='
';
++x;
}
});
$('#show_data').html(da);
});
}
function show_data2(){
$('#qpage option:first').prop('selected',true);
$('#page').val(1);
show_data();
}
function edit_data(id){
let param = new FormData();
param.append('id',id);
param.append('form_action','5');
$.post(folder+'db.php',param).done(function(data){
//$('#results').html(data);
obj = jQuery.parseJSON(data);
$.each(obj,function(index,value){
$('#'+index).val(value);
if(index=='menu_type'){ disable_input('menu_type','2','menu_file');}
});
$('#form_action').val(2);
});
$('#frm-label').html('แก้ไขข้อมูล');
toggle_form_data();
}
function delete_data(did){
ms='';
ms+='';
ms+='
';
ms+='คำเตือน
';
ms+='หากลบข้อมูลแล้วจะไม่สามารถกู้คืนกลับมาได้
';
ms+='
';
ms+='';
ms+='';
ms+=' ';
ms+='
';
$.aceToaster.add({
placement: 'tc',
title: 'ยืนยันการลบข้อมูล',
body: ms,
width: '420px',
sticky: true,
belowNav: true,
closeClass: 'btn btn-bgc-tp border-0 btn-light-danger btn-xs px-2 py-1px m2-px radius-1 text-100 font-normal position-tr mt-2px mr-2px',
//icon: '',
headerClass: 'bgc-transparent border-0 text-white text-140 mb-3 p-0 pl-3 pr-4',
titleClass: 'text-dark-tp3 font-normal pt-15',
className: 'brc-danger-m1 border-1 border-t-4 radius-0 pr-0',
bodyClass: 'pt-0 pl-3 text-105'
})
}
function confirm_delete(did){
let param=new FormData();
param.append('id',did);
param.append('form_action',3);
$.post(folder+'db.php',param)
.done(function(data){
//alert(data);
if(data=='0'){
ms="";
ms+="";
ms+="
Success
";
ms+="ลบข้อมูลเรียบร้อยแล้ว";
ms+="";
ms+="";
$.aceToaster.add({
placement: 'tc',
body: ms,
width: 420,
delay: 5000,
close: false,
className: 'bgc-white-tp1 shadow border-0',
bodyClass: 'd-flex border-0 p-0 text-dark-tp2',
headerClass: 'd-none',
});
show_data(1);
}else{
$('#dia-derror').modal();
}
});
}
//ฟังก์ชั่น update status
function update_status(id){
//alert(id);
if($('#st_'+id).prop("checked")){ st='1'; }else{st='2';}
let param=new FormData();
param.append('id',id);
param.append('status',st);
param.append('form_action',2);
$.post(folder+'db.php',param)
.done(function(data){
if(data=='0'){
ms="";
ms+="";
ms+="
Success
";
ms+="บันทึกข้อมูลเรียบร้อยแล้ว";
ms+="";
ms+="";
$.aceToaster.add({
placement: 'tc',
body: ms,
width: 420,
delay: 5000,
close: false,
className: 'bgc-white-tp1 shadow border-0',
bodyClass: 'd-flex border-0 p-0 text-dark-tp2',
headerClass: 'd-none',
});
}else{
$('#dia-ierror').modal();
}
});
}
$(function(){
//ปรับการแสดงผลเลขหน้าตามขนาดจอ
$(window).on('resize', function() {
show_data($('#page').va());
});
//แสดงผลข้อมูลเมื่อกด enter ที่เลขหน้า
$('#page').on('keypress',function(e) {
if(e.which == 13) {
show_data($('#page').val());
return false;
}
});
//แสดงข้อมูลเมื่อเปิดหน้า
show_data();
//แสดงข้อมูลตามจำนวนที่ผู้ใช้งานต้องการ
$('#qpage').change(function(){show_data(1);});
//แสดงข้อมูลตามหน้าที่ผู้ใช้งานต้องการ
$('#go_page').click(function(){show_data($('#page').val());});
//ซ่อนและแสดง main form และ data
$('#btn-show-main-form').click(function(){toggle_form_data(); $('#frm-label').html('เพิ่มข้อมูล');});
$('#btn-hide-main-form').click(function(){toggle_form_data();});
//เช็ค menu_url ซ้ำ
$('#menu_url').blur(function(){ chk_menu_url();});
//คลิกเลือกประเภทแล้ว disable/enable input
$('#menu_type').change(function(){disable_input('menu_type','2','menu_file');});
//คลิกปุ่ม reset แล้วไม่ enable menu_file
$('#btn-reset').click(function(){ $('#menu_file').attr('disabled',false);});
//ฟอร์มค้นหาข้อมูลโดยละเอียด
$('#aside-search').aceAside({
placement: 'right',
dismiss: true,
belowNav: true,
extrwNav: true,
extraClass: 'my-2'
})
var $invalidClass = 'brc-danger-tp2'
var $validClass = 'brc-info-tp2'
$('#frm-main').validate({
errorElement: 'span',
errorClass: 'form-text form-error text-danger-m2',
focusInvalid: false,
ignore: "",
rules: {
menu_type: {
required: true,
},
menu_url: {
required: true,
},
menu_title: {
required: true,
},
menu_icon: {
required: true,
},
},
messages: {
menu_type: {
required: " กรุณาเลือกประเภทเมนูด้วยครับ",
},
menu_url: {
required: " กรุณาพิมพ์ชื่อเมนูที่แสดงบน URL ด้วยครับ",
},
menu_title: {
required: " กรุณาพิมพ์ชื่อเมนูด้วยครับ",
},
menu_file: {
required: " กรุณาพิมพ์ไฟล์ปลายทางด้วยครับ",
},
menu_icon: {
required: " กรุณาพิมพ์ชื่อ Class Icon ด้วยครับ",
},
},
highlight: function (element) {
var $element = $(element);
//remove error messages to be inserted again, so that the `.fa-exclamation-circle` is inserted in `errorPlacement` function
$element.closest('.form-group').find('.form-text').remove()
if( $element.is('input[type=checkbox]') || $element.is('input[type=radio]') ) return
else if( $element.is('.select2')) {
var container = $element.siblings('[class*="select2-container"]')
container.find('.select2-selection').addClass( $invalidClass )
}
else if( $element.is('.chosen')) {
var container = $element.siblings('[class*="chosen-container"]');
container.find('.chosen-choices, .chosen-single').addClass( $invalidClass )
}else {
$element.addClass($invalidClass + ' d-inline-block').removeClass( $validClass )
}
},
success: function (error, element) {
var parent = error.parent()
var $element = $(element)
$element.removeClass( $invalidClass )
.closest('.form-group').find('.form-text').remove()
if ($element.is('input[type=checkbox]') || $element.is('input[type=radio]')) return
else if( $element.is('.select2')) {
var container = $element.siblings('[class*="select2-container"]')
container.find('.select2-selection').removeClass($invalidClass)
}
else if( $element.is('.chosen')) {
var container = $element.siblings('[class*="chosen-container"]')
container.find('.chosen-choices, .chosen-single').removeClass($invalidClass)
}
else {
$element.addClass($validClass + ' d-inline-block')
}
// append 'fa-check' icon
parent.append('')
},
errorPlacement: function (error, element) {
// prepend 'fa-exclamation-circle' icon
error.prepend('')
if(element.is('input[type=checkbox]') || element.is('input[type=radio]')) {
element.closest('div[class*="col-"]').append(error)
}
else if(element.is('.select2')) {
var container = element.siblings('[class*="select2-container"]')
error.insertAfter(container)
container.find('.select2-selection').addClass($invalidClass)
}
else if(element.is('.chosen')) {
var container = element.siblings('[class*="chosen-container"]')
error.insertAfter(container)
container.find('.chosen-choices, .chosen-single').addClass($invalidClass)
}
else {
error.addClass('d-inline-block').insertAfter(element)
}
},
submitHandler: function (form) {
$('#show_data').empty();
let param=new FormData(document.getElementById('frm-main'));
$.post(folder+'db.php',param)
.done(function(data){
//$('#results').html(data);
if(data=='0'){
ms="";
ms+="";
ms+="
Success
";
if($('#form_action').val()==1){
ms+="บันทึกข้อมูลเรียบร้อยแล้ว";
}else{
ms+="แก้ไขข้อมูลเรียบร้อยแล้วครับ";
}
ms+="";
ms+="";
$.aceToaster.add({
placement: 'tc',
body: ms,
width: 420,
delay: 5000,
close: false,
className: 'bgc-white-tp1 shadow border-0',
bodyClass: 'd-flex border-0 p-0 text-dark-tp2',
headerClass: 'd-none',
});
$('.frm').val('');
toggle_form_data();
show_data();
$('#form_action').val('1');
}else{
}
});
return false;
},
});
});