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

Last change on this file since 12649 was 12215, checked in by grum, 13 years ago

fix bugs
bug:2160 - CategorySelector : extended description are not managed
+add some functions to GPCCore

  • Property svn:executable set to *
File size: 8.9 KB
Line 
1/* file: ui.inputConsole.js - v1.0.1 | minified on 2011/09/21 with http://jscompress.com/ */
2(function(a){var b={init:function(b){return this.each(function(){var d=a(this),e=d.data("options"),f=d.data("objects"),g=d.data("properties"),h={disabled:false,prompt:">",historySize:8,historyHeight:60,change:null,submit:null,submited:null,focusChanged:null};d.data("options",h);if(!g){d.data("properties",{initialized:false,value:"",isValid:true,mouseIsOver:false,historyIsVisible:false,inputMargins:0,focus:false});g=d.data("properties")}if(!f){f={container:a("<div/>",{"class":"ui-inputConsole",css:{width:"100%"}}).bind("click.inputConsole",function(){f.input.focus()}).bind("mouseenter",function(){g.mouseIsOver=true}).bind("mouseleave",function(){g.mouseIsOver=false}),inputContainer:a("<div/>",{"class":"ui-inputConsole-input"}),input:a("<input>",{type:"text",value:""}).bind("focusout.inputConsole",function(){c.lostFocus(d)}).bind("focus.inputConsole",function(){c.getFocus(d)}).bind("keyup.inputConsole",function(a){c.keyUp(d,a)}),prompt:a("<div/>",{html:h.prompt,"class":"ui-inputConsole-prompt"}),historyContainer:a("<div/>",{"class":"ui-inputConsole-history",css:{display:"none"}}),historyBackground:a("<div/>",{"class":"ui-inputConsole-historyBg"}),historyListContainer:a("<div/>",{"class":"ui-inputConsole-historyListContainer"}),historyList:a("<ul/>")};d.html("").append(f.container.append(f.historyContainer.append(f.historyBackground).append(f.historyListContainer.append(f.historyList))).append(f.inputContainer.append(f.prompt).append(f.input))).bind("resize.inputConsole",function(){c.setObjectsWidth(d)});g.inputMargins=f.input.outerWidth(true)-f.input.width();d.data("objects",f)}c.setOptions(d,b)})},destroy:function(){return this.each(function(){var b=a(this),c=b.data("objects");c.input.unbind().remove();c.container.unbind().remove();b.unbind(".inputConsole").css({width:"",height:""})})},options:function(b){return this.each(function(){c.setOptions(a(this),b)})},disabled:function(b){if(b!=null){return this.each(function(){c.setDisabled(a(this),b)})}else{var d=this.data("options");if(d){return d.disabled}else{return""}}},prompt:function(b){if(b!=null){return this.each(function(){c.setPrompt(a(this),b)})}else{var d=this.data("options");if(d){return d.prompt}else{return""}}},historySize:function(b){if(b!=null){return this.each(function(){c.setHistorySize(a(this),b)})}else{var d=this.data("options");if(d){return d.historySize}else{return""}}},historyHeight:function(b){if(b!=null){return this.each(function(){c.setHistoryHeight(a(this),b)})}else{var d=this.data("options");if(d){return d.historyHeight}else{return""}}},value:function(b){if(b!=null){return this.each(function(){c.setValue(a(this),b,true)})}else{var d=this.data("properties");return d.value}},history:function(b,d){var e=this.data("objects");if(b!=null){return this.each(function(){switch(b){case"clear":e.historyList.html("");break;case"addResult":c.updateHistoryResult(a(this),d);break}})}else{var f=[];e.historyList.children().each(function(b,c){f.push(a(c).text())});return f}},isValid:function(b){if(b!=null){return this.each(function(){c.setIsValid(a(this),b)})}else{var d=this.data("properties");return d.isValid}},focus:function(b){if(b!=null){return this.each(function(){c.setFocus(a(this),b)})}else{var d=this.data("properties");return d.focus}},change:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventChange(a(this),b)})}else{var d=this.data("options");if(d){return d.change}else{return null}}},submit:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventSubmit(a(this),b)})}else{var d=this.data("options");if(d){return d.submit}else{return null}}},submited:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventSubmited(a(this),b)})}else{var d=this.data("options");if(d){return d.submited}else{return null}}},focusChanged:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventFocusChanged(a(this),b)})}else{var d=this.data("options");if(d){return d.focusChanged}else{return null}}}};var c={setOptions:function(b,d){var e=b.data("properties"),f=b.data("options");if(!a.isPlainObject(d))return false;e.initialized=false;c.setHistoryHeight(b,d.historyHeight!=null?d.historyHeight:f.historyHeight);c.setHistorySize(b,d.historySize!=null?d.historySize:f.historySize);c.setPrompt(b,d.prompt!=null?d.prompt:f.prompt);c.setValue(b,d.value!=null?d.value:f.value,true);c.setDisabled(b,d.disabled!=null?d.disabled:f.disabled);c.setEventChange(b,d.change!=null?d.change:f.change);c.setEventSubmit(b,d.submit!=null?d.submit:f.submit);c.setEventSubmited(b,d.submited!=null?d.submited:f.submited);c.setEventFocusChanged(b,d.focusChanged!=null?d.focusChanged:f.focusChanged);e.initialized=true},setPrompt:function(a,b){var d=a.data("objects"),e=a.data("options"),f=a.data("properties");if(!f.initialized||e.prompt!=b){e.prompt=b;d.prompt.html(e.prompt);c.setObjectsWidth(a)}return e.prompt},setHistorySize:function(a,b){var d=a.data("options"),e=a.data("properties");if(!e.initialized||d.historySize!=b){d.historySize=b;c.updateHistory(a,null)}return d.historySize},setHistoryHeight:function(a,b){var c=a.data("objects"),d=a.data("options"),e=a.data("properties");if(!e.initialized||d.historyHeight!=b){d.historyHeight=b;c.historyContainer.css({height:d.historyHeight+"px","margin-top":-d.historyHeight+"px"})}return d.historyHeight},setIsValid:function(a,b){var c=a.data("objects"),d=a.data("properties");if(d.isValid!=b){d.isValid=b;if(d.isValid){c.container.removeClass("ui-error");c.input.removeClass("ui-error")}else{c.container.addClass("ui-error");c.input.addClass("ui-error")}}return d.isValid},setDisabled:function(a,b){var c=a.data("options"),d=a.data("properties");if((!d.initialized||c.disabled!=b)&&(b==true||b==false)){c.disabled=b}return c.disabled},setValue:function(a,b,c){var d=a.data("options"),e=a.data("properties"),f=a.data("objects");e.value=b;if(c)f.input.val(e.value);if(d.change)a.trigger("inputConsoleChange",e.value);return true},setFocus:function(a,b){var c=a.data("objects"),d=a.data("options"),e=a.data("properties");if(b===true||b===false){if(b){c.input.focus()}else{c.input.blur()}e.focus=b;if(d.focusChanged)a.trigger("inputConsoleFocusChanged",e.focus)}return e.focus},getFocus:function(a){var b=a.data("objects"),d=a.data("options"),e=a.data("properties");e.focus=true;b.historyContainer.css("display","block");c.setObjectsWidth(a);if(d.focusChanged)a.trigger("inputConsoleFocusChanged",e.focus)},lostFocus:function(a){var b=a.data("objects"),c=a.data("options"),d=a.data("properties");d.focus=false;b.historyContainer.css("display","none");if(c.focusChanged)a.trigger("inputConsoleFocusChanged",d.focus)},setEventChange:function(a,b){var c=a.data("options");c.change=b;a.unbind("inputConsoleChange");if(b)a.bind("inputConsoleChange",c.change);return c.change},setEventSubmit:function(a,b){var c=a.data("options");c.submit=b;a.unbind("inputConsoleSubmit");if(b)a.bind("inputConsoleSubmit",c.submit);return c.submit},setEventSubmited:function(a,b){var c=a.data("options");c.submited=b;a.unbind("inputConsoleSubmited");if(b)a.bind("inputConsoleSubmited",c.submited);return c.submited},setEventFocusChanged:function(a,b){var c=a.data("options");c.focusChanged=b;a.unbind("inputConsoleFocusChanged");if(b)a.bind("inputConsoleFocusChanged",c.focusChanged);return c.focusChanged},keyUp:function(a,b){var d=a.data("properties"),e=a.data("options"),f=a.data("objects");if(b.keyCode==13&&d.isValid){if(e.submit)a.trigger("inputConsoleSubmit",d.value);c.updateHistory(a,d.value);if(e.submited)a.trigger("inputConsoleSubmited",d.value);c.setValue(a,"",true)}else{c.setValue(a,f.input.val(),false)}},updateHistory:function(b,d){var e=b.data("options"),f=b.data("objects");if(d!=""&&d!=null)f.historyList.append(a("<li/>",{html:'<span class="ui-inputConsole-historyCmd">'+d+"</span>"}).bind("click",b,function(b){c.setValue(b.data,a(this).children(".ui-inputConsole-historyCmd").html(),true)}));while(f.historyList.children().length>e.historySize){f.historyList.children(":first").remove()}f.historyContainer.scrollTop(f.historyList.height())},updateHistoryResult:function(a,b){var c=a.data("options"),d=a.data("objects");if(b!=""&&b!=null){d.historyList.children(":last").html(d.historyList.children(":last").html()+"<span class='ui-inputConsole-historyResult'>"+b+"</span>")}d.historyListContainer.scrollTop(d.historyList.height())},setObjectsWidth:function(a){var b=a.data("objects");properties=a.data("properties");if(b.inputContainer.width()>0){b.input.css("width",b.inputContainer.innerWidth()-b.prompt.outerWidth(true)-properties.inputMargins+"px");b.historyContainer.css({width:b.inputContainer.innerWidth()+"px","margin-left":(b.historyContainer.width()-b.historyContainer.outerWidth())/2+"px"})}}};a.fn.inputConsole=function(c){if(b[c]){return b[c].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof c==="object"||!c){return b.init.apply(this,arguments)}else{a.error("Method "+c+" does not exist on jQuery.inputConsole")}}})(jQuery)
Note: See TracBrowser for help on using the repository browser.