/** * jQuery EasyUI 1.4.1 * * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. * * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt * To use it on other terms please contact us at info@jeasyui.com * */ (function($){ function _1(_2){ $(_2).addClass("textbox-f").hide(); var _3=$(""+""+""+"").insertAfter(_2); var _4=$(_2).attr("name"); if(_4){ _3.find("input.textbox-value").attr("name",_4); $(_2).removeAttr("name").attr("textboxName",_4); } return _3; }; function _5(_6){ var _7=$.data(_6,"textbox"); var _8=_7.options; var tb=_7.textbox; tb.find(".textbox-text").remove(); if(_8.multiline){ $("").prependTo(tb); }else{ $("").prependTo(tb); } tb.find(".textbox-addon").remove(); var bb=_8.icons?$.extend(true,[],_8.icons):[]; if(_8.iconCls){ bb.push({iconCls:_8.iconCls,disabled:true}); } if(bb.length){ var bc=$("").prependTo(tb); bc.addClass("textbox-addon-"+_8.iconAlign); for(var i=0;i"); } } tb.find(".textbox-button").remove(); if(_8.buttonText||_8.buttonIcon){ var _9=$("").prependTo(tb); _9.addClass("textbox-button-"+_8.buttonAlign).linkbutton({text:_8.buttonText,iconCls:_8.buttonIcon}); } _a(_6,_8.disabled); _b(_6,_8.readonly); }; function _c(_d){ var tb=$.data(_d,"textbox").textbox; tb.find(".textbox-text").validatebox("destroy"); tb.remove(); $(_d).remove(); }; function _e(_f,_10){ var _11=$.data(_f,"textbox"); var _12=_11.options; var tb=_11.textbox; var _13=tb.parent(); if(_10){ _12.width=_10; } if(isNaN(parseInt(_12.width))){ var c=$(_f).clone(); c.css("visibility","hidden"); c.insertAfter(_f); _12.width=c.outerWidth(); c.remove(); } tb.appendTo("body"); var _14=tb.find(".textbox-text"); var btn=tb.find(".textbox-button"); var _15=tb.find(".textbox-addon"); var _16=_15.find(".textbox-icon"); tb._size(_12,_13); btn.linkbutton("resize",{height:tb.height()}); btn.css({left:(_12.buttonAlign=="left"?0:""),right:(_12.buttonAlign=="right"?0:"")}); _15.css({left:(_12.iconAlign=="left"?(_12.buttonAlign=="left"?btn._outerWidth():0):""),right:(_12.iconAlign=="right"?(_12.buttonAlign=="right"?btn._outerWidth():0):"")}); _16.css({width:_12.iconWidth+"px",height:tb.height()+"px"}); _14.css({paddingLeft:(_f.style.paddingLeft||""),paddingRight:(_f.style.paddingRight||""),marginLeft:_17("left"),marginRight:_17("right")}); if(_12.multiline){ _14.css({paddingTop:(_f.style.paddingTop||""),paddingBottom:(_f.style.paddingBottom||"")}); _14._outerHeight(tb.height()); }else{ var _18=Math.floor((tb.height()-_14.height())/2); _14.css({paddingTop:_18+"px",paddingBottom:_18+"px"}); } _14._outerWidth(tb.width()-_16.length*_12.iconWidth-btn._outerWidth()); tb.insertAfter(_f); _12.onResize.call(_f,_12.width,_12.height); function _17(_19){ return (_12.iconAlign==_19?_15._outerWidth():0)+(_12.buttonAlign==_19?btn._outerWidth():0); }; }; function _1a(_1b){ var _1c=$(_1b).textbox("options"); var _1d=$(_1b).textbox("textbox"); _1d.validatebox($.extend({},_1c,{deltaX:$(_1b).textbox("getTipX"),onBeforeValidate:function(){ var box=$(this); if(!box.is(":focus")){ _1c.oldInputValue=box.val(); box.val(_1c.value); } },onValidate:function(_1e){ var box=$(this); if(_1c.oldInputValue!=undefined){ box.val(_1c.oldInputValue); _1c.oldInputValue=undefined; } var tb=box.parent(); if(_1e){ tb.removeClass("textbox-invalid"); }else{ tb.addClass("textbox-invalid"); } }})); }; function _1f(_20){ var _21=$.data(_20,"textbox"); var _22=_21.options; var tb=_21.textbox; var _23=tb.find(".textbox-text"); _23.attr("placeholder",_22.prompt); _23.unbind(".textbox"); if(!_22.disabled&&!_22.readonly){ _23.bind("blur.textbox",function(e){ if(!tb.hasClass("textbox-focused")){ return; } _22.value=$(this).val(); if(_22.value==""){ $(this).val(_22.prompt).addClass("textbox-prompt"); }else{ $(this).removeClass("textbox-prompt"); } tb.removeClass("textbox-focused"); }).bind("focus.textbox",function(e){ if(tb.hasClass("textbox-focused")){ return; } if($(this).val()!=_22.value){ $(this).val(_22.value); } $(this).removeClass("textbox-prompt"); tb.addClass("textbox-focused"); }); for(var _24 in _22.inputEvents){ _23.bind(_24+".textbox",{target:_20},_22.inputEvents[_24]); } } var _25=tb.find(".textbox-addon"); _25.unbind().bind("click",{target:_20},function(e){ var _26=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)"); if(_26.length){ var _27=parseInt(_26.attr("icon-index")); var _28=_22.icons[_27]; if(_28&&_28.handler){ _28.handler.call(_26[0],e); _22.onClickIcon.call(_20,_27); } } }); _25.find(".textbox-icon").each(function(_29){ var _2a=_22.icons[_29]; var _2b=$(this); if(!_2a||_2a.disabled||_22.disabled||_22.readonly){ _2b.addClass("textbox-icon-disabled"); }else{ _2b.removeClass("textbox-icon-disabled"); } }); var btn=tb.find(".textbox-button"); btn.unbind(".textbox").bind("click.textbox",function(){ if(!btn.linkbutton("options").disabled){ _22.onClickButton.call(_20); } }); btn.linkbutton((_22.disabled||_22.readonly)?"disable":"enable"); tb.unbind(".textbox").bind("_resize.textbox",function(e,_2c){ if($(this).hasClass("easyui-fluid")||_2c){ _e(_20); } return false; }); }; function _a(_2d,_2e){ var _2f=$.data(_2d,"textbox"); var _30=_2f.options; var tb=_2f.textbox; if(_2e){ _30.disabled=true; $(_2d).attr("disabled","disabled"); tb.find(".textbox-text,.textbox-value").attr("disabled","disabled"); }else{ _30.disabled=false; $(_2d).removeAttr("disabled"); tb.find(".textbox-text,.textbox-value").removeAttr("disabled"); } }; function _b(_31,_32){ var _33=$.data(_31,"textbox"); var _34=_33.options; _34.readonly=_32==undefined?true:_32; var _35=_33.textbox.find(".textbox-text"); _35.removeAttr("readonly").removeClass("textbox-text-readonly"); if(_34.readonly||!_34.editable){ _35.attr("readonly","readonly").addClass("textbox-text-readonly"); } }; $.fn.textbox=function(_36,_37){ if(typeof _36=="string"){ var _38=$.fn.textbox.methods[_36]; if(_38){ return _38(this,_37); }else{ return this.each(function(){ var _39=$(this).textbox("textbox"); _39.validatebox(_36,_37); }); } } _36=_36||{}; return this.each(function(){ var _3a=$.data(this,"textbox"); if(_3a){ $.extend(_3a.options,_36); if(_36.value!=undefined){ _3a.options.originalValue=_36.value; } }else{ _3a=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_36),textbox:_1(this)}); _3a.options.originalValue=_3a.options.value; } _5(this); _1f(this); _e(this); _1a(this); $(this).textbox("initValue",_3a.options.value); }); }; $.fn.textbox.methods={options:function(jq){ return $.data(jq[0],"textbox").options; },cloneFrom:function(jq,_3b){ return jq.each(function(){ var t=$(this); if(t.data("textbox")){ return; } if(!$(_3b).data("textbox")){ $(_3b).textbox(); } var _3c=t.attr("name")||""; t.addClass("textbox-f").hide(); t.removeAttr("name").attr("textboxName",_3c); var _3d=$(_3b).next().clone().insertAfter(t); _3d.find("input.textbox-value").attr("name",_3c); $.data(this,"textbox",{options:$.extend(true,{},$(_3b).textbox("options")),textbox:_3d}); var _3e=$(_3b).textbox("button"); if(_3e.length){ t.textbox("button").linkbutton($.extend(true,{},_3e.linkbutton("options"))); } _1f(this); _1a(this); }); },textbox:function(jq){ return $.data(jq[0],"textbox").textbox.find(".textbox-text"); },button:function(jq){ return $.data(jq[0],"textbox").textbox.find(".textbox-button"); },destroy:function(jq){ return jq.each(function(){ _c(this); }); },resize:function(jq,_3f){ return jq.each(function(){ _e(this,_3f); }); },disable:function(jq){ return jq.each(function(){ _a(this,true); _1f(this); }); },enable:function(jq){ return jq.each(function(){ _a(this,false); _1f(this); }); },readonly:function(jq,_40){ return jq.each(function(){ _b(this,_40); _1f(this); }); },isValid:function(jq){ return jq.textbox("textbox").validatebox("isValid"); },clear:function(jq){ return jq.each(function(){ $(this).textbox("setValue",""); }); },setText:function(jq,_41){ return jq.each(function(){ var _42=$(this).textbox("options"); var _43=$(this).textbox("textbox"); if($(this).textbox("getText")!=_41){ _42.value=_41; _43.val(_41); } if(!_43.is(":focus")){ if(_41){ _43.removeClass("textbox-prompt"); }else{ _43.val(_42.prompt).addClass("textbox-prompt"); } } $(this).textbox("validate"); }); },initValue:function(jq,_44){ return jq.each(function(){ var _45=$.data(this,"textbox"); _45.options.value=""; $(this).textbox("setText",_44); _45.textbox.find(".textbox-value").val(_44); $(this).val(_44); }); },setValue:function(jq,_46){ return jq.each(function(){ var _47=$.data(this,"textbox").options; var _48=$(this).textbox("getValue"); $(this).textbox("initValue",_46); if(_48!=_46){ _47.onChange.call(this,_46,_48); } }); },getText:function(jq){ var _49=jq.textbox("textbox"); if(_49.is(":focus")){ return _49.val(); }else{ return jq.textbox("options").value; } },getValue:function(jq){ return jq.data("textbox").textbox.find(".textbox-value").val(); },reset:function(jq){ return jq.each(function(){ var _4a=$(this).textbox("options"); $(this).textbox("setValue",_4a.originalValue); }); },getIcon:function(jq,_4b){ return jq.data("textbox").textbox.find(".textbox-icon:eq("+_4b+")"); },getTipX:function(jq){ var _4c=jq.data("textbox"); var _4d=_4c.options; var tb=_4c.textbox; var _4e=tb.find(".textbox-text"); var _4f=tb.find(".textbox-addon")._outerWidth(); var _50=tb.find(".textbox-button")._outerWidth(); if(_4d.tipPosition=="right"){ return (_4d.iconAlign=="right"?_4f:0)+(_4d.buttonAlign=="right"?_50:0)+1; }else{ if(_4d.tipPosition=="left"){ return (_4d.iconAlign=="left"?-_4f:0)+(_4d.buttonAlign=="left"?-_50:0)-1; }else{ return _4f/2*(_4d.iconAlign=="right"?1:-1); } } }}; $.fn.textbox.parseOptions=function(_51){ var t=$(_51); return $.extend({},$.fn.validatebox.parseOptions(_51),$.parser.parseOptions(_51,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign",{multiline:"boolean",editable:"boolean",iconWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)}); }; $.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",height:22,prompt:"",value:"",type:"text",multiline:false,editable:true,disabled:false,readonly:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",inputEvents:{blur:function(e){ var t=$(e.data.target); var _52=t.textbox("options"); t.textbox("setValue",_52.value); },keydown:function(e){ if(e.keyCode==13){ var t=$(e.data.target); t.textbox("setValue",t.textbox("getText")); } }},onChange:function(_53,_54){ },onResize:function(_55,_56){ },onClickButton:function(){ },onClickIcon:function(_57){ }}); })(jQuery);