A prototype color picker class
Download the Zip file here.
The most simple, no options specified:
var cp1 = new colorPicker('color1');
With a preview box:
var cp2 = new colorPicker('color2',{
color:'#008a20',
previewElement:'color2-preview'
});
Inline, no popup:
var cp3 = new colorPicker('color3',{
color:'#008a20',
flat:true
});
With lots of other options:
var cp4 = new colorPicker('color4',{
color:'#008a20',
previewElement:'color4-preview',
inputElement:'color4-input',
eventName: 'click',
onShow:function(picker){
new Effect.Appear(picker.cp);
return false;
},
onHide:function(picker){
new Effect.Fade(picker.cp);
return false;
},
origColor:'#000000',
livePreview: true,
hideOnSubmit:false,
updateOnChange:false,
flat: false,
hasExtraInfo:true,
extraInfo:function(picker){
var colors = $A([
'000000', '993300', '333300', '003300', '003366', '000080', '333399', '333333',
'800000', 'FF6600', '808000', '008000', '008080', '0000FF', '666699', '808080',
'FF0000', 'FF9900', '99CC00', '339966', '33CCCC', '3366FF', '800080', '969696',
'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF', '993366', 'C0C0C0',
'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', '99CCFF', 'CC99FF', 'FFFFFF'
]);
var div = Builder.node('DIV').setStyle({padding:'10px 12px'});
colors.each(function(color){
var div_inner = Builder.node('DIV').setStyle({backgroundColor:'#'+color,cursor:'pointer',width:'10px',height:'10px','float':'left',border:'2px solid #'+color,margin:'1px'});
div.insert(div_inner);
div_inner.observe('click',function(ev){picker.setColor(color);});
div_inner.observe('mouseover',function(ev){ev.element().setStyle({border:'2px solid #000'});});
div_inner.observe('mouseout',function(ev){ev.element().setStyle({border:'2px solid #'+color});});
});
picker.extraInfo.update(div);
}
});
|