You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2016/11/26 11:04:51 UTC
svn commit: r1771462 - in
/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal:
component/ renderkit/renderer/ taglib/component/ taglib/declaration/
Author: lofwyr
Date: Sat Nov 26 11:04:50 2016
New Revision: 1771462
URL: http://svn.apache.org/viewvc?rev=1771462&view=rev
Log:
TOBAGO-1636: End of theme-dependent resource selection (ResourceManager)
TOBAGO-1503: Optimize the tc:tree Bootstrap implementation
Added:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAlt.java
- copied, changed from r1771432, myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasTip.java
Modified:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ImageTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeIconTagDeclaration.java
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java?rev=1771462&r1=1771461&r2=1771462&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java Sat Nov 26 11:04:50 2016
@@ -27,4 +27,5 @@ public abstract class AbstractUIImage ex
implements Visual {
public abstract boolean isDisabled();
+ public abstract String getAlt();
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java?rev=1771462&r1=1771461&r2=1771462&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ImageRenderer.java Sat Nov 26 11:04:50 2016
@@ -19,17 +19,16 @@
package org.apache.myfaces.tobago.internal.renderkit.renderer;
-import org.apache.myfaces.tobago.component.Attributes;
-import org.apache.myfaces.tobago.context.ResourceManagerUtils;
import org.apache.myfaces.tobago.internal.component.AbstractUICommandBase;
import org.apache.myfaces.tobago.internal.component.AbstractUIImage;
+import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
+import org.apache.myfaces.tobago.internal.util.StringUtils;
import org.apache.myfaces.tobago.renderkit.RendererBase;
+import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
import org.apache.myfaces.tobago.renderkit.css.Classes;
import org.apache.myfaces.tobago.renderkit.css.FontAwesomeIconEncoder;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
-import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
-import org.apache.myfaces.tobago.util.ComponentUtils;
import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
import javax.faces.component.UIComponent;
@@ -45,55 +44,33 @@ public class ImageRenderer extends Rende
final AbstractUIImage image = (AbstractUIImage) component;
final String value = image.getUrl();
- final String src;
- boolean fontAwesome = false;
- if (value != null) {
- if (ResourceManagerUtils.isAbsoluteResource(value)) {
- // absolute Path to image : nothing to do
- src = value;
- } else {
-// final boolean disabled = isDisabled(image);
- if (ResourceManagerUtils.indexOfExtension(value) > -1) { // has extension
- src = value;
-// XXX RM src = ResourceManagerUtils.getImageOrDisabledImageWithPath(facesContext, value, disabled);
- } else if (value.startsWith("fa-")) {
- fontAwesome = true;
- src = null;
- } else {
- src = value;
-// XXX RM src = ResourceManagerUtils.getImageOrDisabledImage(facesContext, value, disabled);
- }
- }
- } else {
- src = null;
- }
-
- final String alt = ComponentUtils.getStringAttribute(image, Attributes.alt, "");
-
+ boolean fontAwesome = StringUtils.startsWith(value, "fa-");
if (fontAwesome) {
// todo: should not be static
writer.writeIcon(null, image.getStyle(), FontAwesomeIconEncoder.generateClass(value));
} else {
+ final String alt = image.getAlt();
writer.startElement(HtmlElements.IMG);
writer.writeIdAttribute(image.getClientId(facesContext));
HtmlRendererUtils.writeDataAttributes(facesContext, writer, image);
- if (src != null) {
- writer.writeAttribute(HtmlAttributes.SRC, src, true);
- }
- writer.writeAttribute(HtmlAttributes.ALT, alt, true);
+ writer.writeAttribute(HtmlAttributes.SRC, value, true);
+ writer.writeAttribute(HtmlAttributes.ALT, alt != null ? alt : "", true);
final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, image);
if (title != null) {
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
}
- writer.writeClassAttribute(Classes.create(image), image.getCustomClass());
+ writer.writeClassAttribute(
+ Classes.create(image),
+ isDisabled(image) ? BootstrapClass.DISABLED : null,
+ image.getCustomClass());
writer.writeStyleAttribute(image.getStyle());
writer.endElement(HtmlElements.IMG);
}
}
- private boolean isDisabled(final AbstractUIImage graphic) {
- return graphic.isDisabled()
- || (graphic.getParent() instanceof AbstractUICommandBase
- && ((AbstractUICommandBase) graphic.getParent()).isDisabled());
+ private boolean isDisabled(final AbstractUIImage image) {
+ return image.isDisabled()
+ || (image.getParent() instanceof AbstractUICommandBase
+ && ((AbstractUICommandBase) image.getParent()).isDisabled());
}
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ImageTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ImageTagDeclaration.java?rev=1771462&r1=1771461&r2=1771462&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ImageTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ImageTagDeclaration.java Sat Nov 26 11:04:50 2016
@@ -24,6 +24,7 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
import org.apache.myfaces.tobago.component.RendererTypes;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasAlt;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTip;
import org.apache.myfaces.tobago.internal.taglib.declaration.IsDisabled;
@@ -43,7 +44,7 @@ import javax.faces.component.UIGraphic;
rendererType = RendererTypes.IMAGE,
allowedChildComponenents = "NONE")
public interface ImageTagDeclaration
- extends HasIdBindingAndRendered, HasTip, IsDisabled, IsVisual {
+ extends HasIdBindingAndRendered, HasTip, IsDisabled, IsVisual, HasAlt {
/**
* Absolute url to an image or image name to lookup in tobago resource path.
@@ -54,11 +55,4 @@ public interface ImageTagDeclaration
@UIComponentTagAttribute()
void setValue(String value);
- /**
- * Alternate textual description of the image rendered by this component.
- */
- @TagAttribute
- @UIComponentTagAttribute()
- void setAlt(String alt);
-
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeIconTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeIconTagDeclaration.java?rev=1771462&r1=1771461&r2=1771462&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeIconTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeIconTagDeclaration.java Sat Nov 26 11:04:50 2016
@@ -24,6 +24,7 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
import org.apache.myfaces.tobago.component.RendererTypes;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasAlt;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTip;
import org.apache.myfaces.tobago.internal.taglib.declaration.IsDisabled;
@@ -42,7 +43,7 @@ import javax.faces.component.UIGraphic;
componentFamily = UIGraphic.COMPONENT_FAMILY,
rendererType = RendererTypes.TREE_ICON,
allowedChildComponenents = "NONE")
-public interface TreeIconTagDeclaration extends HasIdBindingAndRendered, HasTip, IsDisabled, IsVisual {
+public interface TreeIconTagDeclaration extends HasIdBindingAndRendered, HasTip, IsDisabled, IsVisual, HasAlt {
/**
* Name of the icon.
Copied: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAlt.java (from r1771432, myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasTip.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAlt.java?p2=myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAlt.java&p1=myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasTip.java&r1=1771432&r2=1771462&rev=1771462&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasTip.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAlt.java Sat Nov 26 11:04:50 2016
@@ -22,11 +22,11 @@ package org.apache.myfaces.tobago.intern
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
-public interface HasTip {
+public interface HasAlt {
/**
- * Text value to display as tooltip.
+ * Alternate textual description of the image rendered by this component.
*/
@TagAttribute
@UIComponentTagAttribute()
- void setTip(String tip);
+ void setAlt(String alt);
}