net.bootsfaces.component.scrollUp.ScrollUpRenderer Maven / Gradle / Ivy
/**
* Copyright 2014-2017 Riccardo Massera (TheCoder4.Eu) and Stephan Rauh (http://www.beyondjava.net).
*
* This file is part of BootsFaces.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.bootsfaces.component.scrollUp;
import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import javax.faces.render.FacesRenderer;
import net.bootsfaces.render.CoreRenderer;
/** This class generates the HTML code of <b:scrollUp />. */
@FacesRenderer(componentFamily = "net.bootsfaces.component", rendererType = "net.bootsfaces.component.scrollUp.ScrollUp")
public class ScrollUpRenderer extends CoreRenderer {
/**
* This methods generates the HTML code of the current b:scrollUp.
* @param context the FacesContext.
* @param component the current b:scrollUp.
* @throws IOException thrown if something goes wrong when writing the HTML code.
*/
@Override
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
// do nothing
}
@Override
public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
if (!component.isRendered()) {
return;
}
ScrollUp scrollUp = (ScrollUp) component;
ResponseWriter rw = context.getResponseWriter();
String clientId = scrollUp.getClientId();
// mixed params (can be boolean or string)
String scrollTitle = scrollUp.getTitle();
if(scrollTitle != null && !"false".equalsIgnoreCase(scrollTitle)) scrollTitle = "'" + scrollTitle + "'";
String scrollTrigger = scrollUp.getTrigger();
if(scrollTrigger != null && !"false".equalsIgnoreCase(scrollTrigger)) scrollTrigger = "'" + scrollTrigger + "'";
String scrollTarget = scrollUp.getTarget();
if(scrollTarget != null && !"false".equalsIgnoreCase(scrollTarget)) scrollTarget = "'" + scrollTarget + "'";
String scrollOverlay = scrollUp.getOverlay();
if(scrollOverlay != null && !"false".equalsIgnoreCase(scrollOverlay)) scrollOverlay = "'" + scrollOverlay + "'";
rw.startElement("script", scrollUp);
rw.writeAttribute("id", clientId, "id");
rw.writeText("" +
"$(function() {" +
" $.scrollUp({ " +
(scrollUp.getName() != null ? " scrollName: '" + scrollUp.getName() + "', ": "") +
(scrollUp.getDistance() != 0 ? " scrollDistance: " + scrollUp.getDistance() + ", ": "") +
(scrollUp.getFrom() != null ? " scrollFrom: '" + scrollUp.getFrom() + "', ": "") +
(scrollUp.getSpeed() != 0 ? " scrollSpeed: " + scrollUp.getSpeed() + ", ": "") +
(scrollUp.getEasing() != null ? " easingType: '" + scrollUp.getEasing() + "', ": "") +
(scrollUp.getAnimation() != null ? " animation: '" + scrollUp.getAnimation() + "', ": "") +
(scrollUp.getAnimationSpeed() != 0 ? " animationSpeed: " + scrollUp.getAnimationSpeed() + ", ": "") +
(scrollUp.getText() != null ? " scrollText: '" + scrollUp.getText() + "', ": "") +
(scrollTitle!= null ? " scrollTitle: " + scrollTitle + ", ": "") +
(scrollUp.getImage() != null ? " scrollImg: " + scrollUp.getImage() + ", ": "") +
(scrollTrigger != null ? " scrollTrigger: " + scrollTrigger + ", ": "") +
(scrollTarget != null ? " scrollTarget: " + scrollTarget + ", ": "") +
(scrollOverlay != null ? " activeOverlay: " + scrollOverlay + ", ": "") +
" zIndex: 2147483647 " +
" });" +
"});", null);
rw.endElement("script");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy