package fr.openwide.core.wicket.more.markup.html.template.js.jquery.plugins.scrollinviewport; import java.io.Serializable; import org.apache.wicket.Component; import org.wicketstuff.wiquery.core.javascript.ChainableStatement; import org.wicketstuff.wiquery.core.javascript.JsStatement; import org.wicketstuff.wiquery.core.options.Options; public class ScrollInViewport implements ChainableStatement, Serializable { private static final long serialVersionUID = 1428052564237850262L; private static final String SCROLL_IN_VIEWPORT = "scrollInViewport"; private Integer delay; private Integer margin; private Component referenceComponent; public ScrollInViewport() { super(); } @Override public String chainLabel() { return SCROLL_IN_VIEWPORT; } @Override public CharSequence[] statementArgs() { Options options = new Options(); if (delay != null) { options.put("delay", delay); } if (margin != null) { options.put("margin", margin); } if (referenceComponent != null) { options.put("referenceComponent", new JsStatement().$(referenceComponent).render(false).toString()); } return new CharSequence[] { options.getJavaScriptOptions() }; } public Integer getDelay() { return delay; } /** * Délai de calcul de la position en millisecondes.<br /> * <strong>Attention</strong> : en dessous de 50ms, des ralentissements sur * l'affichage d'un panneau simple peuvent apparaître. * * @param delay en ms */ public void setDelay(Integer delay) { this.delay = delay; } public Integer getMargin() { return margin; } public void setMargin(Integer margin) { this.margin = margin; } public Component getReferenceComponent() { return referenceComponent; } public void setReferenceComponent(Component referenceComponent) { this.referenceComponent = referenceComponent; } }