X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=wicket%2Fcomponents%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fbehavior%2FPreselectionBehavior.java;h=3331238b0b6d0f3a3cc30e27405dcfe04f4c9aa0;hb=a55dd335d284bdcc981191b03c23fe85ef253faa;hp=0ea11828bf552fbd5deba77b687233be31319ade;hpb=f8e52c2a9c6f35698eb6feb292290ea7c316f5e5;p=utils diff --git a/wicket/components/src/main/java/org/wamblee/wicket/behavior/PreselectionBehavior.java b/wicket/components/src/main/java/org/wamblee/wicket/behavior/PreselectionBehavior.java index 0ea11828..3331238b 100644 --- a/wicket/components/src/main/java/org/wamblee/wicket/behavior/PreselectionBehavior.java +++ b/wicket/components/src/main/java/org/wamblee/wicket/behavior/PreselectionBehavior.java @@ -20,8 +20,8 @@ import org.apache.wicket.Page; import org.apache.wicket.behavior.HeaderContributor; import org.apache.wicket.markup.html.IHeaderResponse; import org.apache.wicket.markup.html.JavascriptPackageResource; -import org.wamblee.wicket.jquery.JQueryBehavior; -import org.wamblee.wicket.jquery.JQueryUtils; +import org.wamblee.wicket.jquery.JQueryHeaderContributor; +import org.wamblee.wicket.jquery.AbstractJQueryBehavior; /** * Preselection behavior that preselects unaltered text in forms. When applied @@ -35,41 +35,17 @@ import org.wamblee.wicket.jquery.JQueryUtils; * @author Erik Brakkee * */ -public class PreselectionBehavior extends CompositeBehavior { +public class PreselectionBehavior extends AbstractJQueryBehavior { + + private static final String READY_FUNCTION = "org.wamblee.preselectionSetup"; static final String PRESELECT_SCRIPT = "wamblee-preselect.js"; - private static HeaderContributor CACHE = JavascriptPackageResource + private static HeaderContributor PRESELECTION_BEHAVIOR = JavascriptPackageResource .getHeaderContribution(PreselectionBehavior.class, PRESELECT_SCRIPT); - private Component component; - public PreselectionBehavior() { - super(new JQueryBehavior(), new NamespaceBehavior(), CACHE); - } - - @Override - public void bind(Component aComponent) { - if (component != null) { - throw new IllegalStateException( - "this kind of handler cannot be attached to " + - "multiple components; it is already attached to component " + - component + ", but component " + aComponent + - " wants to be attached too"); - } - if ( aComponent instanceof Page) { - throw new IllegalStateException("This behavior cannot be applied to a page: " + aComponent); - } - component = aComponent; - super.bind(aComponent); - aComponent.setOutputMarkupId(true); - } - - @Override - public void renderHead(IHeaderResponse aResponse) { - super.renderHead(aResponse); - String jsString = JQueryUtils.createReadyFunction("preselectSetup", component); - aResponse.renderJavascript(jsString, null); + super(READY_FUNCTION, new NamespaceBehavior(), PRESELECTION_BEHAVIOR); } }