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