You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2010/06/16 01:32:00 UTC
svn commit: r955086 - in
/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller:
AbstractHtmlDataScroller.java HtmlDataScrollerRenderer.java
Author: lu4242
Date: Tue Jun 15 23:32:00 2010
New Revision: 955086
URL: http://svn.apache.org/viewvc?rev=955086&view=rev
Log:
TOMAHAWK-769 Datascroller - context sensitive previous, next links and TOMAHAWK-1426 Next and Previous facets
Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/AbstractHtmlDataScroller.java
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/HtmlDataScrollerRenderer.java
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/AbstractHtmlDataScroller.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/AbstractHtmlDataScroller.java?rev=955086&r1=955085&r2=955086&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/AbstractHtmlDataScroller.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/AbstractHtmlDataScroller.java Tue Jun 15 23:32:00 2010
@@ -869,4 +869,40 @@ public abstract class AbstractHtmlDataSc
*/
public abstract boolean isImmediate();
+ /**
+ * If the dataScroller is on the first page (index is at 1), links for
+ * first, prev and fastprev are disabled. Default is false.
+ *
+ * @JSFProperty
+ * defaultValue="false"
+ */
+ public abstract boolean isDisableFacetLinksIfFirstPage();
+
+ /**
+ * If the dataScroller is on the last page (index is at pagecount), links for
+ * last, next and fastnext are disabled. Default is false.
+ *
+ * @JSFProperty
+ * defaultValue="false"
+ */
+ public abstract boolean isDisableFacetLinksIfLastPage();
+
+ /**
+ * If the dataScroller is on the first page (index is at 1), links for
+ * first, prev and fastprev are rendered. Default is true.
+ *
+ * @JSFProperty
+ * defaultValue="true"
+ */
+ public abstract boolean isRenderFacetLinksIfFirstPage();
+
+ /**
+ * If the dataScroller is on the last page (index is at pagecount), links for
+ * last, next and fastnext are rendered. Default is true.
+ *
+ * @JSFProperty
+ * defaultValue="true"
+ */
+ public abstract boolean isRenderFacetLinksIfLastPage();
+
}
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/HtmlDataScrollerRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/HtmlDataScrollerRenderer.java?rev=955086&r1=955085&r2=955086&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/HtmlDataScrollerRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/datascroller/HtmlDataScrollerRenderer.java Tue Jun 15 23:32:00 2010
@@ -238,12 +238,17 @@ public class HtmlDataScrollerRenderer ex
}
writeScrollerRowStart(writer, scroller);
+ boolean startActive = (scroller.getPageIndex() != 1);
+
+ boolean endActive = (scroller.getPageIndex() != scroller.getPageCount());
+
UIComponent facetComp = scroller.getFirst();
if (facetComp != null)
{
writeScrollerElementStart(writer, scroller);
writeStyleClass("firstStyleClass", scroller.getFirstStyleClass(), writer);
- renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_FIRST);
+ renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_FIRST, startActive,
+ scroller.isRenderFacetLinksIfFirstPage(), scroller.isDisableFacetLinksIfFirstPage());
writeScrollerElementEnd(writer, scroller);
}
facetComp = scroller.getFastRewind();
@@ -251,7 +256,8 @@ public class HtmlDataScrollerRenderer ex
{
writeScrollerElementStart(writer, scroller);
writeStyleClass("fastrStyleClass", scroller.getFastrStyleClass(), writer);
- renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_FAST_REWIND);
+ renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_FAST_REWIND, startActive,
+ scroller.isRenderFacetLinksIfFirstPage(), scroller.isDisableFacetLinksIfFirstPage());
writeScrollerElementEnd(writer, scroller);
}
facetComp = scroller.getPrevious();
@@ -259,7 +265,8 @@ public class HtmlDataScrollerRenderer ex
{
writeScrollerElementStart(writer, scroller);
writeStyleClass("previous", scroller.getPreviousStyleClass(), writer);
- renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_PREVIOUS);
+ renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_PREVIOUS, startActive,
+ scroller.isRenderFacetLinksIfFirstPage(), scroller.isDisableFacetLinksIfFirstPage());
writeScrollerElementEnd(writer, scroller);
}
if (scroller.isPaginator())
@@ -279,7 +286,8 @@ public class HtmlDataScrollerRenderer ex
{
writeScrollerElementStart(writer, scroller);
writeStyleClass("next", scroller.getNextStyleClass(), writer);
- renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_NEXT);
+ renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_NEXT, endActive,
+ scroller.isRenderFacetLinksIfLastPage(), scroller.isDisableFacetLinksIfLastPage());
writeScrollerElementEnd(writer, scroller);
}
facetComp = scroller.getFastForward();
@@ -287,7 +295,8 @@ public class HtmlDataScrollerRenderer ex
{
writeScrollerElementStart(writer, scroller);
writeStyleClass("fastf", scroller.getFastfStyleClass(), writer);
- renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_FAST_FORWARD);
+ renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_FAST_FORWARD, endActive,
+ scroller.isRenderFacetLinksIfLastPage(), scroller.isDisableFacetLinksIfLastPage());
writeScrollerElementEnd(writer, scroller);
}
facetComp = scroller.getLast();
@@ -295,7 +304,8 @@ public class HtmlDataScrollerRenderer ex
{
writeScrollerElementStart(writer, scroller);
writeStyleClass("last", scroller.getLastStyleClass(), writer);
- renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_LAST);
+ renderFacet(facesContext, scroller, facetComp, HtmlDataScroller.FACET_LAST, endActive,
+ scroller.isRenderFacetLinksIfLastPage(), scroller.isDisableFacetLinksIfLastPage());
writeScrollerElementEnd(writer, scroller);
}
@@ -339,25 +349,47 @@ public class HtmlDataScrollerRenderer ex
}
protected void renderFacet(FacesContext facesContext, HtmlDataScroller scroller,
- UIComponent facetComp, String facetName) throws IOException
+ UIComponent facetComp, String facetName, boolean active, boolean renderLinks, boolean disableLinks) throws IOException
{
String onclick = scroller.getOnclick();
String ondblclick = scroller.getOndblclick();
HtmlCommandLink link = getLink(facesContext, scroller, facetName);
+
if(onclick != null){
link.setOnclick(onclick);
}
+
if(ondblclick != null){
link.setOndblclick(ondblclick);
}
- link.encodeBegin(facesContext);
+ if (active) {
+ if (disableLinks && link.isDisabled())
+ {
+ //Enable because the facet is active
+ link.setDisabled(false);
+ }
+ link.encodeBegin(facesContext);
+ }
+ else if (renderLinks)
+ {
+ if (disableLinks && !link.isDisabled())
+ {
+ //Disable because the facet is not active
+ link.setDisabled(true);
+ }
+ link.encodeBegin(facesContext);
+ }
+
facetComp.encodeBegin(facesContext);
if (!facetComp.getRendersChildren())
facetComp.encodeChildren(facesContext);
facetComp.encodeEnd(facesContext);
- link.encodeEnd(facesContext);
+
+ if (active || renderLinks) {
+ link.encodeEnd(facesContext);
+ }
}
/**