/* (c) 2014 - 2016 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.web.wicket;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.resource.PackageResourceReference;
/**
* A text field linked to some javascript bits that make it a color picker.
* @author Andrea Aime - OpenGeo
*
*/
public class ColorPickerField extends TextField<String> {
private static final long serialVersionUID = -5126346882014020980L;
private static final PackageResourceReference JSCOLOR_JS = new PackageResourceReference(
ColorPickerField.class, "js/jscolor/jscolor.js");
public ColorPickerField(String id) {
super(id, String.class);
init();
}
public ColorPickerField(String id, IModel<String> model) {
super(id, model, String.class);
init();
}
void init() {
add(new Behavior() {
private static final long serialVersionUID = 4269437302317170665L;
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
response.render(JavaScriptHeaderItem.forReference(JSCOLOR_JS));
}
});
add(new AttributeAppender("class", new Model<String>("color {required:false}"), ","));
}
}