1 24 package org.riotfamily.forms.element; 25 26 import java.io.PrintWriter ; 27 28 import org.riotfamily.common.markup.Html; 29 import org.riotfamily.common.markup.TagWriter; 30 import org.riotfamily.forms.DHTMLElement; 31 import org.riotfamily.forms.resource.FormResource; 32 import org.riotfamily.forms.resource.ResourceElement; 33 import org.riotfamily.forms.resource.Resources; 34 import org.riotfamily.forms.resource.ScriptResource; 35 import org.riotfamily.forms.resource.StylesheetResource; 36 37 41 public class ColorPicker extends AbstractTextElement 42 implements ResourceElement, DHTMLElement { 43 44 public ColorPicker() { 45 setStyleClass("text color-input"); 46 setMaxLength(new Integer (6)); 47 } 48 49 public void renderInternal(PrintWriter writer) { 50 super.renderInternal(writer); 51 TagWriter tag = new TagWriter(writer); 52 tag.start(Html.BUTTON).attribute(Html.COMMON_ID, getId() + "-swatch") 53 .attribute(Html.COMMON_CLASS, "color-swatch"); 54 } 55 public FormResource getResource() { 56 return new ScriptResource( 57 "form/colorPicker/colorPicker.js", "Control.ColorPicker", 58 new FormResource[] { 59 Resources.SCRIPTACULOUS_SLIDER, 60 Resources.SCRIPTACULOUS_DRAG_DROP, 61 new ScriptResource("form/colorPicker/yahoo.color.js", "YAHOO.util.Color"), 62 new StylesheetResource("form/colorPicker/colorPicker.css") 63 } 64 ); 65 } 66 67 public String getInitScript() { 68 StringBuffer sb = new StringBuffer ("new Control.ColorPicker('") 69 .append(getId()).append("', {IMAGE_BASE: '") 70 .append(getFormContext().getContextPath()) 71 .append(getFormContext().getResourcePath()) 72 .append("form/colorPicker/").append("', swatch: '") 73 .append(getId() + "-swatch").append("'});"); 74 75 return sb.toString(); 76 } 77 78 } 79 | Popular Tags |