const yearValidation = (year) => { const text = /^[0-9]+$/; if (!text.test(year) || year.length != 4) { iziToast.error({ title: 'Error', message: 'Year is invalid', }); return false; } } const numberWithCommas = (x) => { const parts = x.toString().split("."); parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); return parts.join("."); } var swalInit = swal.mixin({ buttonsStyling: false, confirmButtonClass: 'btn btn-primary', cancelButtonClass: 'btn btn-light' }), alert = (msg, type, url, time = 500) => { swalInit.fire({ title: 'Information', text: msg, type: ( type != undefined && type != '' ) ? type : 'info', timer: time }).then(function(){ switch( url ){ case 'reload' : location.reload(); break; default : if( url != undefined && url != '' ) window.location.replace(url); } }); }, ajax_from = async (data, url, async = false, callback = null) => { return $.ajax({ headers : {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}, url : url, type : 'POST', data : data, dataType : 'json', async: async, success : function(response){ if (callback) { callback(response) } }, error : function(request,status,error){ console.log('code:'+request.status+'\n'+'message:'+request.responseText+'\n'+'error:'+error); } }) } get_table_no = (total, page, limit = 10) => { return total - ( page - 1 ) * limit; }, // 검색 및 페이징, 라인 변경시 파라미터 생성 (전체) make_parameter = (_id, class_name = undefined) => { let id = `#modal-${_id}`; if (! isEmpty(class_name)) { id = `#modal-${_id}.${class_name}`; } const limit = $(id).find(`.modal-line-select`).val(), offset = 0; return {limit: limit, offset: offset} // filtername = $(`${id}`).find(`.modal-input`).val()?$(`${id}`).find(`.modal-select`).val():``, // filtervalue = $(`${id}`).find(`.modal-input`).val()?$(`${id}`).find(`.modal-input`).val():``; }, make_pagination = (_id, total, page = 1, class_name = '') => { let id = `#modal-${_id}`; if (! isEmpty(class_name)) { id = `#modal-${_id}.${class_name}`; } let overFlow = false const limit = $(id).find(`.modal-line-select`).val(), totalPage = Math.ceil( total / limit ), pageGroup = Math.ceil( page / 5 ), last_ = pageGroup * 5, first = last_ - 4 last = (overFlow = last_ > totalPage) ? totalPage : last_, links = `
  • %datas%
  • `; let next = last + 1, prev = first - 1, html = ''; if (page <= 5) { html += `
  • ` } else { html += links.co_split({active: '', offset: 0, page: 1, datas: `«`, target: _id, class: class_name}); html += links.co_split({active: '', offset: (prev - 1) * limit, page: prev, datas: `‹`, target: _id, class: class_name}); } for (let i = first; i <= last; i++) { if ( i >= 1 && i <= totalPage ) { const active = (page == i) ? ` active ` : ``, offset = (i - 1) * limit; html += links.co_split({active: active, offset: offset, page: i, datas: i, target: _id, class: class_name}); } } if (! overFlow && ! (first + 5 > totalPage)) { html += links.co_split({active: '', offset: (next - 1) * limit, page: next, datas: `›`, target: _id, class: class_name}); html += links.co_split({active: '', offset: (totalPage - 1) * limit, page: totalPage, datas: `»`, target: _id, class: class_name}); } else { html += `
  • ` } $(id).find(`.pagination`).html(html); }; String.prototype.co_split = String.prototype.co_split || function () { "use strict"; let str = this.toString(); if (arguments.length) { let t = typeof arguments[0], key, args = ("string" === t || "number" === t) ? Array.prototype.slice.call(arguments) : arguments[0]; for (key in args) { str = str.replace(new RegExp("\\%" + key + "\\%", "gi"), args[key]); } } return str; }; String.prototype.co_trim = String.prototype.co_trim || function () { "use strict"; return this.replace(/ /gi, ''); }; function search_text_box_reset(id) { $(id).find('input[type="text"]:enabled').each(function(){ $(this).val(''); }) } function getParameterByName(name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); } function $ComTimer(){ //prototype extend } $ComTimer.prototype = { comSecond : "" , fnCallback : function(){} , timer : "" , domId : "" , fnTimer : function(){ var m = Math.floor(this.comSecond / 60) + "분 " + (this.comSecond % 60) + "초"; // 남은 시간 계산 this.comSecond--; // 1초씩 감소 this.domId.innerText = m; if (this.comSecond < 0) { // 시간이 종료 되었으면.. clearInterval(this.timer); // 타이머 해제 this.fnCallback() } } ,fnStop : function(){ clearInterval(this.timer); } }