source: extensions/GrumPluginClasses/js/ui.inputConsole.min.js @ 10338

Last change on this file since 10338 was 8961, checked in by grum, 13 years ago

release 3.4.0
fix bug:1984, bug:2109
js file are minified, remove packed files

  • Property svn:executable set to *
File size: 8.9 KB
Line 
1/* file: ui.inputColorsFB.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
2(function($)
3{var publicMethods={init:function(opt)
4{return this.each(function()
5{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={disabled:false,prompt:'>',historySize:8,historyHeight:60,change:null,submit:null};$this.data('options',options);if(!properties)
6{$this.data('properties',{initialized:false,value:'',isValid:true,mouseIsOver:false,historyIsVisible:false,inputMargins:0});properties=$this.data('properties');}
7if(!objects)
8{objects={container:$('<div/>',{'class':'ui-inputConsole',css:{width:'100%'}}).bind('click.inputConsole',function()
9{objects.input.focus();}).bind('mouseenter',function()
10{properties.mouseIsOver=true;}).bind('mouseleave',function()
11{properties.mouseIsOver=false;}),inputContainer:$('<div/>',{'class':'ui-inputConsole-input'}),input:$('<input>',{type:"text",value:''}).bind('focusout.inputConsole',function()
12{privateMethods.lostFocus($this);}).bind('focus.inputConsole',function()
13{privateMethods.getFocus($this);}).bind('keyup.inputConsole',function(event)
14{privateMethods.keyUp($this,event);}),prompt:$('<div/>',{html:options.prompt,'class':'ui-inputConsole-prompt'}),historyContainer:$('<div/>',{'class':'ui-inputConsole-history',css:{display:'none'}}),historyList:$('<ul/>')};$this.html('').append(objects.container.append(objects.historyContainer.append(objects.historyList)).append(objects.inputContainer.append(objects.prompt).append(objects.input))).bind('resize.inputConsole',function()
15{privateMethods.setObjectsWidth($this);});properties.inputMargins=objects.input.outerWidth(true)-objects.input.width();$this.data('objects',objects);}
16privateMethods.setOptions($this,opt);});},destroy:function()
17{return this.each(function()
18{var $this=$(this),objects=$this.data('objects');objects.input.unbind().remove();objects.container.unbind().remove();$this.unbind('.inputConsole').css({width:'',height:''});});},options:function(value)
19{return this.each(function()
20{privateMethods.setOptions($(this),value);});},disabled:function(value)
21{if(value!=null)
22{return this.each(function()
23{privateMethods.setDisabled($(this),value);});}
24else
25{var options=this.data('options');if(options)
26{return(options.disabled);}
27else
28{return('');}}},prompt:function(value)
29{if(value!=null)
30{return this.each(function()
31{privateMethods.setPrompt($(this),value);});}
32else
33{var options=this.data('options');if(options)
34{return(options.prompt);}
35else
36{return('');}}},historySize:function(value)
37{if(value!=null)
38{return this.each(function()
39{privateMethods.setHistorySize($(this),value);});}
40else
41{var options=this.data('options');if(options)
42{return(options.historySize);}
43else
44{return('');}}},historyHeight:function(value)
45{if(value!=null)
46{return this.each(function()
47{privateMethods.setHistoryHeight($(this),value);});}
48else
49{var options=this.data('options');if(options)
50{return(options.historyHeight);}
51else
52{return('');}}},value:function(value)
53{if(value!=null)
54{return this.each(function()
55{privateMethods.setValue($(this),value,true);});}
56else
57{var properties=this.data('properties');return(properties.value);}},history:function(value)
58{var objects=this.data('objects');if(value!=null)
59{return this.each(function()
60{if(value=='clear')
61{objects.historyList.html('');}});}
62else
63{var returned=[];objects.historyList.children().each(function(index,item)
64{returned.push($(item).text());});return(returned);}},isValid:function(value)
65{if(value!=null)
66{return this.each(function()
67{privateMethods.setIsValid($(this),value);});}
68else
69{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
70{if(value!=null&&$.isFunction(value))
71{return this.each(function()
72{privateMethods.setEventChange($(this),value);});}
73else
74{var options=this.data('options');if(options)
75{return(options.change);}
76else
77{return(null);}}},submit:function(value)
78{if(value!=null&&$.isFunction(value))
79{return this.each(function()
80{privateMethods.setEventSubmit($(this),value);});}
81else
82{var options=this.data('options');if(options)
83{return(options.submit);}
84else
85{return(null);}}}};var privateMethods={setOptions:function(object,value)
86{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setHistoryHeight(object,(value.historyHeight!=null)?value.historyHeight:options.historyHeight);privateMethods.setHistorySize(object,(value.historySize!=null)?value.historySize:options.historySize);privateMethods.setPrompt(object,(value.prompt!=null)?value.prompt:options.prompt);privateMethods.setValue(object,(value.value!=null)?value.value:options.value,true);privateMethods.setDisabled(object,(value.disabled!=null)?value.disabled:options.disabled);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);privateMethods.setEventSubmit(object,(value.submit!=null)?value.submit:options.submit);properties.initialized=true;},setPrompt:function(object,value)
87{var objects=object.data('objects'),options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.prompt!=value)
88{options.prompt=value;objects.prompt.html(options.prompt);privateMethods.setObjectsWidth(object);}
89return(options.prompt);},setHistorySize:function(object,value)
90{var options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.historySize!=value)
91{options.historySize=value;privateMethods.updateHistory(object,null);}
92return(options.historySize);},setHistoryHeight:function(object,value)
93{var objects=object.data('objects'),options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.historyHeight!=value)
94{options.historyHeight=value;objects.historyContainer.css({height:options.historyHeight+'px','margin-top':(-options.historyHeight)+'px'});}
95return(options.historyHeight);},setIsValid:function(object,value)
96{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value)
97{properties.isValid=value;if(properties.isValid)
98{objects.container.removeClass('ui-error');objects.input.removeClass('ui-error');}
99else
100{objects.container.addClass('ui-error');objects.input.addClass('ui-error');}}
101return(properties.isValid);},setDisabled:function(object,value)
102{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.disabled!=value)&&(value==true||value==false))
103{options.disabled=value;}
104return(options.disabled);},setValue:function(object,value,apply)
105{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');properties.value=value;if(apply)objects.input.val(properties.value);if(options.change)object.trigger('inputConsoleChange',properties.value);return(true);},getFocus:function(object)
106{var objects=object.data('objects');objects.historyContainer.css('display','block');privateMethods.setObjectsWidth(object);},lostFocus:function(object)
107{var objects=object.data('objects');objects.historyContainer.css('display','none');},setEventChange:function(object,value)
108{var options=object.data('options');options.change=value;object.unbind('inputConsoleChange');if(value)object.bind('inputConsoleChange',options.change);return(options.change);},setEventSubmit:function(object,value)
109{var options=object.data('options');options.submit=value;object.unbind('inputConsoleSubmit');if(value)object.bind('inputConsoleSubmit',options.submit);return(options.submit);},keyUp:function(object,event)
110{var properties=object.data('properties'),options=object.data('options'),objects=object.data('objects');if(event.keyCode==13&&properties.isValid)
111{if(options.submit)object.trigger('inputConsoleSubmit',properties.value);privateMethods.updateHistory(object,properties.value);privateMethods.setValue(object,'',true);}
112else
113{privateMethods.setValue(object,objects.input.val(),false);}},updateHistory:function(object,item)
114{var options=object.data('options'),objects=object.data('objects');if(item!=''&&item!=null)objects.historyList.append($('<li/>',{html:item}));while(objects.historyList.children().length>options.historySize)
115{objects.historyList.children(':first').remove();}
116objects.historyContainer.scrollTop(objects.historyList.height());},setObjectsWidth:function(object)
117{var objects=object.data('objects')
118properties=object.data('properties');if(objects.inputContainer.width()>0)
119{objects.input.css('width',(objects.inputContainer.innerWidth()-objects.prompt.outerWidth(true)-properties.inputMargins)+'px');objects.historyContainer.css({width:objects.inputContainer.innerWidth()+'px','margin-left':((objects.historyContainer.width()-objects.historyContainer.outerWidth())/2)+'px'});}}};$.fn.inputConsole=function(method)
120{if(publicMethods[method])
121{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
122else if(typeof method==='object'||!method)
123{return publicMethods.init.apply(this,arguments);}
124else
125{$.error('Method '+method+' does not exist on jQuery.inputConsole');}}})(jQuery);
Note: See TracBrowser for help on using the repository browser.