source: extensions/GrumPluginClasses/js/ui.inputColorsFB.min.js @ 10385

Last change on this file since 10385 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: 9.5 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={width:0,height:0,disabled:false,fg:{color:'#ffffff',opacity:1},bg:{color:'#000000',opacity:1},selected:'fg',mode:2,boxSize:0.6,change:null,click:null};$this.data('options',options);if(!properties)
6{$this.data('properties',{initialized:false});properties=$this.data('properties');}
7if(!objects)
8{objects={container:$('<div/>',{'class':'ui-inputColorsFB',css:{width:'100%',height:'100%'}}),fg:$('<div/>',{'class':'ui-inputColorsFB-fg'}).bind('click.inputColorsFB',function(event)
9{if(options.mode==2)privateMethods.setSelected($this,'fg');if(options.click)$this.trigger('inputColorsFBClick',{target:'fg',color:options.fg});}),bg:$('<div/>',{'class':'ui-inputColorsFB-bg'}).bind('click.inputColorsFB',function(event)
10{if(options.mode==2)privateMethods.setSelected($this,'bg');if(options.click)$this.trigger('inputColorsFBClick',{target:'bg',color:options.bg});}),fgopacity:$('<div/>',{'class':'ui-inputColorsFB-fgopacity'}),bgopacity:$('<div/>',{'class':'ui-inputColorsFB-bgopacity'})};$this.html('').append(objects.container.append(objects.fgopacity.append(objects.fg)).append(objects.bgopacity.append(objects.bg)));$this.data('objects',objects);}
11privateMethods.setOptions($this,opt);});},destroy:function()
12{return this.each(function()
13{var $this=$(this),objects=$this.data('objects');objects.dot.remove();objects.container.unbind().remove();$this.unbind('.inputColorsFB').css({width:'',height:''});});},options:function(value)
14{return(this.each(function()
15{privateMethods.setOptions($(this),value);}));},disabled:function(value)
16{if(value!=null)
17{return(this.each(function()
18{privateMethods.setDisabled($(this),value);}));}
19else
20{var options=this.data('options');if(options)
21{return(options.disabled);}
22else
23{return('');}}},mode:function(value)
24{if(value!=null)
25{return(this.each(function()
26{privateMethods.setMode($(this),value,true);}));}
27else
28{var options=this.data('options');return(options.mode);}},boxSize:function(value)
29{if(value!=null)
30{return(this.each(function()
31{privateMethods.setBoxSize($(this),value,true);}));}
32else
33{var options=this.data('options');return(options.boxSize);}},width:function(value)
34{if(value!=null)
35{return(this.each(function()
36{privateMethods.setWidth($(this),value,true);}));}
37else
38{var options=this.data('options');return(options.width);}},height:function(value)
39{if(value!=null)
40{return(this.each(function()
41{privateMethods.setHeight($(this),value,true);}));}
42else
43{var options=this.data('options');return(options.height);}},fg:function(value)
44{if(value!=null)
45{return(this.each(function()
46{privateMethods.setFG($(this),value,true);}));}
47else
48{var options=this.data('options');return(options.fg);}},bg:function(value)
49{if(value!=null)
50{return(this.each(function()
51{privateMethods.setBG($(this),value,true);}));}
52else
53{var options=this.data('options');return(options.bg);}},selected:function(value)
54{if(value!=null)
55{return(this.each(function()
56{privateMethods.setSelected($(this),value);}));}
57else
58{var options=this.data('options');return(options.selected);}},isValid:function(value)
59{if(value!=null)
60{return(this.each(function()
61{privateMethods.setIsValid($(this),value);}));}
62else
63{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
64{if(value!=null&&$.isFunction(value))
65{return(this.each(function()
66{privateMethods.setEventChange($(this),value);}));}
67else
68{var options=this.data('options');if(options)
69{return(options.change);}
70else
71{return(null);}}},click:function(value)
72{if(value!=null&&$.isFunction(value))
73{return(this.each(function()
74{privateMethods.setEventClick($(this),value);}));}
75else
76{var options=this.data('options');if(options)
77{return(options.click);}
78else
79{return(null);}}}};var privateMethods={setOptions:function(object,value)
80{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setMode(object,(value.mode!=null)?value.mode:options.mode);privateMethods.setBoxSize(object,(value.boxSize!=null)?value.boxSize:options.boxSize);privateMethods.setWidth(object,(value.width!=null)?value.width:options.width);privateMethods.setHeight(object,(value.height!=null)?value.height:options.height);privateMethods.setFG(object,(value.fg!=null)?value.fg:options.fg);privateMethods.setBG(object,(value.bg!=null)?value.bg:options.bg);privateMethods.setSelected(object,(value.selected!=null)?value.selected:options.selected,true);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);privateMethods.setEventClick(object,(value.click!=null)?value.click:options.click);properties.initialized=true;},setIsValid:function(object,value)
81{var objects=object.data('objects'),properties=object.data('properties');return(properties.isValid);},setMode:function(object,value)
82{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.mode!=value)&&(value==1||value==2))
83{options.mode=value;privateMethods.setSelected(object,'fg');if(options.mode==1)
84{objects.bg.css('display','none');objects.bgopacity.css('display','none');objects.fgopacity.removeClass('ui-inputColorsFB-selected');if(options.click==null)objects.fgopacity.removeClass('ui-inputColorsFB-clickable');}
85else
86{objects.bg.css('display','block');objects.bgopacity.css('display','block').addClass('ui-inputColorsFB-clickable');objects.fgopacity.addClass('ui-inputColorsFB-clickable');}
87privateMethods.updateSizes(object);}
88return(options.mode);},setBoxSize:function(object,value)
89{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.boxSize!=value)&&(value>0&&value<=1))
90{options.boxSize=value;privateMethods.updateSizes(object);}
91return(options.boxSize);},setWidth:function(object,value)
92{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.width!=value)&&value>0)
93{options.width=value;privateMethods.updateSizes(object);}
94return(options.width);},setHeight:function(object,value)
95{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.height!=value)&&value>0)
96{options.height=value;privateMethods.updateSizes(object);}
97return(options.height);},setDisabled:function(object,value)
98{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.disabled!=value)&&(value==true||value==false))
99{options.disabled=value;objects.input.attr('disabled',options.disabled);}
100return(options.disabled);},setSelected:function(object,value)
101{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.selected!=value)&&(value=='fg'||value=='bg')&&options.mode==2)
102{options.selected=value;if(options.selected=='fg')
103{objects.fgopacity.addClass('ui-inputColorsFB-selected');objects.bgopacity.removeClass('ui-inputColorsFB-selected');}
104else
105{objects.fgopacity.removeClass('ui-inputColorsFB-selected');objects.bgopacity.addClass('ui-inputColorsFB-selected');}
106if(options.change)object.trigger('inputColorsFBChange',options.selected);}
107return(options.selected);},setFG:function(object,value)
108{var options=object.data('options'),objects=object.data('objects');if(value.color==null||value.opacity==null)
109{return(false);}
110options.fg.color=value.color;options.fg.opacity=value.opacity;objects.fg.css({'background':options.fg.color,'opacity':options.fg.opacity});return(true);},setBG:function(object,value,apply)
111{var options=object.data('options'),objects=object.data('objects');if(value.color==null||value.opacity==null)
112{return(false);}
113options.bg.color=value.color;options.bg.opacity=value.opacity;objects.bg.css({'background':options.bg.color,'opacity':options.bg.opacity});return(true);},setEventChange:function(object,value)
114{var options=object.data('options');options.change=value;object.unbind('inputColorsFBChange');if(value)object.bind('inputColorsFBChange',options.change);return(options.change);},setEventClick:function(object,value)
115{var options=object.data('options'),objects=object.data('objects');options.click=value;object.unbind('inputColorsFBClick');if(value)
116{object.bind('inputColorsFBClick',options.click);objects.fgopacity.addClass('ui-inputColorsFB-clickable');}
117else if(options.mode==1)
118{objects.fgopacity.removeClass('ui-inputColorsFB-clickable');}
119return(options.click);},updateSizes:function(object)
120{var options=object.data('options'),objects=object.data('objects'),tmpSize=1;if(options.mode==2)tmpSize=options.boxSize;objects.container.css({'width':options.width+'px','height':options.height+'px'});objects.fgopacity.css({'width':(options.width*tmpSize)+'px','height':(options.height*tmpSize)+'px'});if(options.mode==2)
121{objects.bgopacity.css({'width':(options.width*options.boxSize)+'px','height':(options.height*options.boxSize)+'px','margin-left':(options.width*(1-options.boxSize))+'px','margin-top':(options.height*(1-options.boxSize))+'px'});}}};$.fn.inputColorsFB=function(method)
122{if(publicMethods[method])
123{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
124else if(typeof method==='object'||!method)
125{return publicMethods.init.apply(this,arguments);}
126else
127{$.error('Method '+method+' does not exist on jQuery.inputColorsFB');}}})(jQuery);
Note: See TracBrowser for help on using the repository browser.