![JAR search and dependency download from the Maven repository](/logo.png)
net.bootsfaces.component.video.Video Maven / Gradle / Ivy
/**
* Copyright 2014-2019 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.video;
import javax.faces.context.FacesContext;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.ComponentSystemEvent;
import javax.faces.event.ListenerFor;
import javax.faces.event.ListenersFor;
import javax.faces.event.PostAddToViewEvent;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import javax.el.ValueExpression;
import javax.faces.component.FacesComponent;
import javax.faces.component.behavior.ClientBehaviorHolder;
import net.bootsfaces.C;
import net.bootsfaces.component.ajax.IAJAXComponent;
import net.bootsfaces.listeners.AddResourcesListener;
import net.bootsfaces.render.Tooltip;
import net.bootsfaces.utils.BsfUtils;
/** This class holds the attributes of <b:video />. */
@ListenersFor({ @ListenerFor(systemEventClass = PostAddToViewEvent.class) })
@FacesComponent(Video.COMPONENT_TYPE)
public class Video extends VideoCore implements net.bootsfaces.render.IHasTooltip, net.bootsfaces.render.IResponsive,
IAJAXComponent, ClientBehaviorHolder {
public static final String COMPONENT_TYPE = C.BSFCOMPONENT + ".video.Video";
public static final String COMPONENT_FAMILY = C.BSFCOMPONENT;
public static final String DEFAULT_RENDERER = "net.bootsfaces.component.video.Video";
private static final Collection EVENT_NAMES = Collections
.unmodifiableCollection(Arrays.asList("blur", "click", "dblclick", "focus", "input", "keydown", "keypress",
"keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup",
"abort", "canplay", "canplaythrough", "durationchange", "emptied",
"ended", "eeror", "loadeddata", "loadedmetadata", "loadstart",
"pause", "play", "playing", "progress", "ratechange", "seeked",
"seeking", "stalled", "suspend", "timeupdate", "volumechange", "waiting"));
public Video() {
Tooltip.addResourceFiles();
AddResourcesListener.addThemedCSSResource("core.css");
setRendererType(DEFAULT_RENDERER);
}
public void processEvent(ComponentSystemEvent event) throws AbortProcessingException {
if (isAutoUpdate()) {
if (FacesContext.getCurrentInstance().isPostback()) {
FacesContext.getCurrentInstance().getPartialViewContext().getRenderIds().add(getClientId());
}
super.processEvent(event);
}
}
public String getFamily() {
return COMPONENT_FAMILY;
}
/**
* Manage EL-expression for snake-case attributes
*/
public void setValueExpression(String name, ValueExpression binding) {
name = BsfUtils.snakeCaseToCamelCase(name);
super.setValueExpression(name, binding);
}
@Override
public Map getJQueryEvents() {
return null;
}
/**
* Returns the subset of the parameter list of jQuery and other non-standard JS callbacks which is sent to the server via AJAX.
* If there's no parameter list for a certain event, the default is simply null.
*
* @return A hash map containing the events. May be null.
*/
@Override
public Map getJQueryEventParameterListsForAjax() {
return null;
}
/**
* Returns the parameter list of jQuery and other non-standard JS callbacks.
* If there's no parameter list for a certain event, the default is simply "event".
*
* @return A hash map containing the events. May be null.
*/
@Override
public Map getJQueryEventParameterLists() {
return null;
}
public Collection getEventNames() {
return EVENT_NAMES;
}
public String getDefaultEventName() {
return "input";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy