File "jeditable.min.js"
Full Path: /home/humancap/cl.humancap.com.my/admin/assets/javascripts/plugins/jeditable.min.js
File size: 7.34 KB
MIME-type: text/plain
Charset: utf-8
(function($){$.fn.editable=function(t,e){if("disable"==t)return void $(this).data("disabled.editable",!0);if("enable"==t)return void $(this).data("disabled.editable",!1);if("destroy"==t)return void $(this).unbind($(this).data("event.editable")).removeData("disabled.editable").removeData("event.editable");const n=$.extend({},$.fn.editable.defaults,{target:t},e),i=$.editable.types[n.type].plugin||function(){},a=$.editable.types[n.type].submit||function(){},l=$.editable.types[n.type].buttons||$.editable.types.defaults.buttons,o=$.editable.types[n.type].content||$.editable.types.defaults.content,s=$.editable.types[n.type].element||$.editable.types.defaults.element,d=$.editable.types[n.type].reset||$.editable.types.defaults.reset,c=n.callback||function(){},r=n.onedit||function(){},u=n.onsubmit||function(){},p=n.onreset||function(){},h=n.onerror||d;return n.tooltip&&$(this).attr("title",n.tooltip),n.autowidth="none"==n.width,n.autoheight="none"==n.height,this.each((function(){const t=this,e=$(t).width(),m=$(t).height();$(this).data("event.editable",n.event),$.trim($(this).html())||$(this).html(n.placeholder),$(this).bind(n.event,(function(i){!0!==$(this).data("disabled.editable")&&(t.editing||($(i.target).attr({"data-value":i.target.innerText,"data-loading":!0}),!1!==r.apply(this,[n,t])&&(i.preventDefault(),i.stopPropagation(),n.tooltip&&$(t).removeAttr("title"),0==$(t).width()?(n.width=e,n.height=m):("none"!=n.width&&(n.width=n.autowidth?$(t).width():n.width),"none"!=n.height&&(n.height=n.autoheight?$(t).height():n.height)),$(this).html().toLowerCase().replace(/(;|")/g,"")==n.placeholder.toLowerCase().replace(/(;|")/g,"")&&$(this).html(""),t.editing=!0,t.revert=$(t).html(),$(t).html(""),setTimeout((()=>{f(i)}),0))))}));const f=e=>{$(e.target).removeAttr("data-loading");const r=$("<form />");n.cssclass&&("inherit"==n.cssclass?r.attr("class",$(t).attr("class")):r.attr("class",n.cssclass)),n.style&&("inherit"==n.style?(r.attr("style",$(t).attr("style")),r.css("display",$(t).css("display"))):r.attr("style",n.style));const p=s.apply(r,[n,t]);let m,f;if(n.loadurl){f=setTimeout((function(){p.disabled=!0,o.apply(r,[n.loadtext,n,t])}),100);const e={};e[n.id]=t.id,$.isFunction(n.loaddata)?$.extend(e,n.loaddata.apply(t,[t.revert,n])):$.extend(e,n.loaddata),$.ajax({type:n.loadtype,url:n.loadurl,data:e,async:!1,success:function(t){window.clearTimeout(f),m=t,p.disabled=!1}})}else n.data?(m=n.data,$.isFunction(n.data)&&(m=n.data.apply(t,[t.revert,n]))):m=t.revert;o.apply(r,[m,n,t]),p.attr("name",n.name),l.apply(r,[n,t]),$(t).append(r),i.apply(r,[n,t]),$(":input:visible:enabled:first",r).focus(),n.select&&p.select(),p.keydown((function(){27==e.keyCode&&(e.preventDefault(),d.apply(r,[n,t]))})),"cancel"==n.onblur?p.blur((function(){f=setTimeout((function(){d.apply(r,[n,t])}),500)})):"submit"==n.onblur?p.blur((function(){f=setTimeout((function(){r.submit()}),200)})):$.isFunction(n.onblur)?p.blur((function(){n.onblur.apply(t,[p.val(),n])})):p.blur((function(){})),r.submit((function(){if(f&&clearTimeout(f),e.preventDefault(),!1!==u.apply(r,[n,t])&&!1!==a.apply(r,[n,t]))if($.isFunction(n.target)){const e=n.target.apply(t,[p.val(),n]);$(t).html(e),t.editing=!1,c.apply(t,[t.innerHTML,n]),$.trim($(t).html())||$(t).html(n.placeholder)}else{const e={};e[n.name]=p.val(),e[n.id]=t.id,$.isFunction(n.submitdata)?$.extend(e,n.submitdata.apply(t,[t.revert,n])):$.extend(e,n.submitdata),"PUT"==n.method&&(e._method="put"),$(t).html(n.indicator);const i={type:"POST",data:e,dataType:"html",url:n.target,success:function(e,a){"html"==i.dataType&&$(t).html(e),t.editing=!1,c.apply(t,[e,n]),$.trim($(t).html())||$(t).html(n.placeholder)},error:function(e,i,a){h.apply(r,[n,t,e])}};$.extend(i,n.ajaxoptions),$.ajax(i)}return $(t).attr("title",n.tooltip),!1}))};this.reset=function(e){this.editing&&!1!==p.apply(e,[n,t])&&($(t).html(t.revert),t.editing=!1,$.trim($(t).html())||$(t).html(n.placeholder),n.tooltip&&$(t).attr("title",n.tooltip))}}))},$.editable={types:{defaults:{element:function(t,e){const n=$('<input type="hidden"></input>');return $(this).append(n),n},content:function(t,e,n){$(":input:first",this).val(t)},reset:function(t,e){e.reset(this)},buttons:function(t,e){const n=this;let i=$("<div></div>");if(t.submit&&t.cancel&&(i=$('<div class="btn-group"></div>')),$(this).append(i),t.cancel){let a;t.cancel.match(/>$/)?a=$(t.cancel):(a=$('<button type="cancel" class="btn btn-warning btn-xs mt-2" />'),a.html(t.cancel)),$(i).append(a),$(a).click((function(i){let a;return a=$.isFunction($.editable.types[t.type].reset)?$.editable.types[t.type].reset:$.editable.types.defaults.reset,a.apply(n,[t,e]),!1}))}if(t.submit){let e;t.submit.match(/>$/)?e=$(t.submit).click((function(){"submit"!=e.attr("type")&&n.submit()})):(e=$('<button type="submit" class="btn btn-primary btn-xs mt-2" />'),e.html(t.submit)),$(i).append(e)}}},text:{element:function(t,e){const n=$("<input />").attr("class","form-control");return n.attr("autocomplete","off"),$(this).append(n),n}},textarea:{element:function(t,e){const n=$("<textarea />");return t.rows?n.attr("rows",t.rows):"none"!=t.height&&n.height(t.height),t.cols?n.attr("cols",t.cols):"none"!=t.width&&n.width(t.width),$(this).append(n),n}},select:{element:function(t,e){const n=$("<select />");return $(this).append(n),n},content:function(data,_settings,original){let json;String==data.constructor?eval("json = "+data):json=data;for(const t in json){if(!json.hasOwnProperty(t))continue;if("selected"==t)continue;const e=$("<option />").val(t).append(json[t]);$("select",this).append(e)}void 0!==$(original)&&null!=$(original).attr("data-value")&&(json.selected=$(original).attr("data-value")),$("select",this).children().each((function(){$(this).val()!=json.selected&&$(this).text()!=$.trim(original.revert)||$(this).attr("selected","selected")}))},plugin:function(t,e){const n=this.find("select");let i=this.find("select option").length>10;t.onblur="nothing",new SlimSelect({select:document.querySelector('select[name="'+$(n).attr("name")+'"]'),showSearch:i})}}},addInputType:function(t,e){$.editable.types[t]=e}},$.fn.editable.defaults={name:"value",id:"id",type:"text",width:"auto",height:"auto",event:"click.editable",onblur:"cancel",loadtype:"GET",loadtext:"Loading...",placeholder:"Click to edit",loaddata:{},submitdata:{},ajaxoptions:{}}})(jQuery),$.editable.addInputType("datepicker",{element:function(t,e){const n=$(this),i=$("<input />");return i.attr("autocomplete","off"),n.append(i),i},plugin:function(t,e){const n=this,i=n.find("input");t.onblur="nothing";const a={dateFormat:"yy-mm-dd",onSelect:function(){n.submit()},onClose:function(){setTimeout((function(){i.is(":focus")?n.submit():e.reset(n)}),150)}};t.datepicker&&jQuery.extend(a,t.datepicker),i.datepicker(a)}}),$.editable.addInputType("pickadate",{element:function(t,e){const n=$(this),i=$("<input />");return"undefined"!=$(e).attr("data-value")&&i.attr("data-value",$(e).attr("data-value")),i.attr("autocomplete","off"),n.append(i),i},plugin:function(t,e){const n=this,i=n.find("input");t.onblur="nothing";const a={formatSubmit:"yyyy-mm-dd",onOpen:function(){$(".mCSB_container")[0]&&$(".mCSB_container").css("overflow","visible")},onSet:function(t){"object"==typeof t.clear&&null==t.clear&&($(i).val(""),n.submit()),"number"==typeof t.select&&n.submit()},onClose:function(){$(".mCSB_container")[0]&&$(".mCSB_container").css("overflow","hidden"),setTimeout((function(){i.is(":focus")?n.submit():e.reset(n)}),150)}};t.pickadate&&jQuery.extend(a,t.pickadate),i.pickadate(a)}});