//ฟังก์ชั่นเปิดปิดฟอร์ม function toggle_form_data(){ $('.frm').val(''); $('#form_action').val('1'); $('#div-main-form').toggle(); $('#div-show-data').toggle(); var validator = $("#frm-main").validate(); validator.resetForm(); //$('#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="
"; ms+="
"; ms+=""; ms+="
"; ms+="
"; ms+="

พบข้อผิดพลาด

"; ms+="ชื่อที่แสดงบน URL ซ้ำครับ"; 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', }); $('#menu_url').val('').focus(); } }); } //ย้ายตำแหน่งข้อมูล function sort_data(id,label,order){ $('#oposition').html(''); let param = new FormData(); param.append('id',id); param.append('form_action',7); $.post(folder+'db.php',param).done(function(data){ //$('#results').html(data); obj = jQuery.parseJSON(data); da1=''; x=1; $.each(obj,function(i){ da1+=''; }); da+=''; $( "#nposition" ).html(da1); }); } function sort(){ let param = new FormData(document.getElementById("frm_sort")); param.append('form_action',8); $.post(folder+'db.php',param) .done(function(data){ //$('#results').html(data); //alert(data); if(data=='0'){ show_data(); ms="
"; ms+="
"; ms+=""; 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', }); } }); } //ฟังก์ชั่นซ่อนรายการใน dialog ปรับลำดับ function sh_nposition(id){ if(id>3){ $('#dnposition').hide(); }else{$('#dnposition').show();} } //สิ้นสุดย้ายตำแหน่งข้อมูล //pagination แบ่งหน้าแสดงข้อมูล function pagination(max_page,page){ $('#total_page').html(' จาก '+ max_page + ' หน้า'); var width = $(window).width(); if(max_page>=1){ $('#pagination').empty(); if(page==1){ ds='class="disabled"'; oc=''; }else{ ds=''; pe=parseInt(page)-1; oc='onclick="show_data('+pe+');"'; } pag='
  • '; $('#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){ //alert(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+=''; da+=''; da+=''; 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+=""; 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+=""; 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+=""; 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; }, }); });