123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- /**
- * jQuery EasyUI 1.3.6
- *
- * 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("searchbox-f").hide();
- var _3=$("<span class=\"searchbox\"></span>").insertAfter(_2);
- var _4=$("<input type=\"text\" class=\"searchbox-text\">").appendTo(_3);
- $("<span><span class=\"searchbox-button\"></span></span>").appendTo(_3);
- var _5=$(_2).attr("name");
- if(_5){
- _4.attr("name",_5);
- $(_2).removeAttr("name").attr("searchboxName",_5);
- }
- return _3;
- };
- function _6(_7,_8){
- var _9=$.data(_7,"searchbox").options;
- var sb=$.data(_7,"searchbox").searchbox;
- if(_8){
- _9.width=_8;
- }
- sb.appendTo("body");
- if(isNaN(_9.width)){
- _9.width=sb._outerWidth();
- }
- var _a=sb.find("span.searchbox-button");
- var _b=sb.find("a.searchbox-menu");
- var _c=sb.find("input.searchbox-text");
- sb._outerWidth(_9.width)._outerHeight(_9.height);
- _c._outerWidth(sb.width()-_b._outerWidth()-_a._outerWidth());
- _c.css({height:sb.height()+"px",lineHeight:sb.height()+"px"});
- _b._outerHeight(sb.height());
- _a._outerHeight(sb.height());
- var _d=_b.find("span.l-btn-left");
- _d._outerHeight(sb.height());
- _d.find("span.l-btn-text").css({height:_d.height()+"px",lineHeight:_d.height()+"px"});
- sb.insertAfter(_7);
- };
- function _e(_f){
- var _10=$.data(_f,"searchbox");
- var _11=_10.options;
- if(_11.menu){
- _10.menu=$(_11.menu).menu({onClick:function(_12){
- _13(_12);
- }});
- var _14=_10.menu.children("div.menu-item:first");
- _10.menu.children("div.menu-item").each(function(){
- var _15=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)});
- if(_15.selected){
- _14=$(this);
- return false;
- }
- });
- _14.triggerHandler("click");
- }else{
- _10.searchbox.find("a.searchbox-menu").remove();
- _10.menu=null;
- }
- function _13(_16){
- _10.searchbox.find("a.searchbox-menu").remove();
- var mb=$("<a class=\"searchbox-menu\" href=\"javascript:void(0)\"></a>").html(_16.text);
- mb.prependTo(_10.searchbox).menubutton({menu:_10.menu,iconCls:_16.iconCls});
- _10.searchbox.find("input.searchbox-text").attr("name",_16.name||_16.text);
- _6(_f);
- };
- };
- function _17(_18){
- var _19=$.data(_18,"searchbox");
- var _1a=_19.options;
- var _1b=_19.searchbox.find("input.searchbox-text");
- var _1c=_19.searchbox.find(".searchbox-button");
- _1b.unbind(".searchbox");
- _1c.unbind(".searchbox");
- if(!_1a.disabled){
- _1b.bind("blur.searchbox",function(e){
- _1a.value=$(this).val();
- if(_1a.value==""){
- $(this).val(_1a.prompt);
- $(this).addClass("searchbox-prompt");
- }else{
- $(this).removeClass("searchbox-prompt");
- }
- }).bind("focus.searchbox",function(e){
- if($(this).val()!=_1a.value){
- $(this).val(_1a.value);
- }
- $(this).removeClass("searchbox-prompt");
- }).bind("keydown.searchbox",function(e){
- if(e.keyCode==13){
- e.preventDefault();
- _1a.value=$(this).val();
- _1a.searcher.call(_18,_1a.value,_1b._propAttr("name"));
- return false;
- }
- });
- _1c.bind("click.searchbox",function(){
- _1a.searcher.call(_18,_1a.value,_1b._propAttr("name"));
- }).bind("mouseenter.searchbox",function(){
- $(this).addClass("searchbox-button-hover");
- }).bind("mouseleave.searchbox",function(){
- $(this).removeClass("searchbox-button-hover");
- });
- }
- };
- function _1d(_1e,_1f){
- var _20=$.data(_1e,"searchbox");
- var _21=_20.options;
- var _22=_20.searchbox.find("input.searchbox-text");
- var mb=_20.searchbox.find("a.searchbox-menu");
- if(_1f){
- _21.disabled=true;
- $(_1e).attr("disabled",true);
- _22.attr("disabled",true);
- if(mb.length){
- mb.menubutton("disable");
- }
- }else{
- _21.disabled=false;
- $(_1e).removeAttr("disabled");
- _22.removeAttr("disabled");
- if(mb.length){
- mb.menubutton("enable");
- }
- }
- };
- function _23(_24){
- var _25=$.data(_24,"searchbox");
- var _26=_25.options;
- var _27=_25.searchbox.find("input.searchbox-text");
- _26.originalValue=_26.value;
- if(_26.value){
- _27.val(_26.value);
- _27.removeClass("searchbox-prompt");
- }else{
- _27.val(_26.prompt);
- _27.addClass("searchbox-prompt");
- }
- };
- $.fn.searchbox=function(_28,_29){
- if(typeof _28=="string"){
- return $.fn.searchbox.methods[_28](this,_29);
- }
- _28=_28||{};
- return this.each(function(){
- var _2a=$.data(this,"searchbox");
- if(_2a){
- $.extend(_2a.options,_28);
- }else{
- _2a=$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_28),searchbox:_1(this)});
- }
- _e(this);
- _23(this);
- _17(this);
- _1d(this,_2a.options.disabled);
- _6(this);
- });
- };
- $.fn.searchbox.methods={options:function(jq){
- return $.data(jq[0],"searchbox").options;
- },menu:function(jq){
- return $.data(jq[0],"searchbox").menu;
- },textbox:function(jq){
- return $.data(jq[0],"searchbox").searchbox.find("input.searchbox-text");
- },getValue:function(jq){
- return $.data(jq[0],"searchbox").options.value;
- },setValue:function(jq,_2b){
- return jq.each(function(){
- $(this).searchbox("options").value=_2b;
- $(this).searchbox("textbox").val(_2b);
- $(this).searchbox("textbox").blur();
- });
- },clear:function(jq){
- return jq.each(function(){
- $(this).searchbox("setValue","");
- });
- },reset:function(jq){
- return jq.each(function(){
- var _2c=$(this).searchbox("options");
- $(this).searchbox("setValue",_2c.originalValue);
- });
- },getName:function(jq){
- return $.data(jq[0],"searchbox").searchbox.find("input.searchbox-text").attr("name");
- },selectName:function(jq,_2d){
- return jq.each(function(){
- var _2e=$.data(this,"searchbox").menu;
- if(_2e){
- _2e.children("div.menu-item[name=\""+_2d+"\"]").triggerHandler("click");
- }
- });
- },destroy:function(jq){
- return jq.each(function(){
- var _2f=$(this).searchbox("menu");
- if(_2f){
- _2f.menu("destroy");
- }
- $.data(this,"searchbox").searchbox.remove();
- $(this).remove();
- });
- },resize:function(jq,_30){
- return jq.each(function(){
- _6(this,_30);
- });
- },disable:function(jq){
- return jq.each(function(){
- _1d(this,true);
- _17(this);
- });
- },enable:function(jq){
- return jq.each(function(){
- _1d(this,false);
- _17(this);
- });
- }};
- $.fn.searchbox.parseOptions=function(_31){
- var t=$(_31);
- return $.extend({},$.parser.parseOptions(_31,["width","height","prompt","menu"]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)});
- };
- $.fn.searchbox.defaults={width:"auto",height:22,prompt:"",value:"",menu:null,disabled:false,searcher:function(_32,_33){
- }};
- })(jQuery);
|