Author: yradtsevich
Date: 2008-12-05 07:06:48 -0500 (Fri, 05 Dec 2008)
New Revision: 12300
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataListTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableStyleClassesApplier.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesSubTableTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/util/RichFaces.java
Log:
RESOLVED - issue JBIDE-3261: rich:dataList bugs.
https://jira.jboss.org/jira/browse/JBIDE-3261
- the issue have been fixed;
- some cut-paste removed
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataListTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataListTemplate.java 2008-12-05
11:59:04 UTC (rev 12299)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataListTemplate.java 2008-12-05
12:06:48 UTC (rev 12300)
@@ -10,13 +10,19 @@
******************************************************************************/
package org.jboss.tools.jsf.vpe.richfaces.template;
+import java.util.List;
+
import org.jboss.tools.jsf.vpe.richfaces.ComponentUtil;
-import org.jboss.tools.jsf.vpe.richfaces.HtmlComponentUtil;
+import org.jboss.tools.jsf.vpe.richfaces.template.util.RichFaces;
import org.jboss.tools.vpe.editor.context.VpePageContext;
import org.jboss.tools.vpe.editor.template.VpeAbstractTemplate;
import org.jboss.tools.vpe.editor.template.VpeChildrenInfo;
import org.jboss.tools.vpe.editor.template.VpeCreationData;
+import org.jboss.tools.vpe.editor.template.expression.VpeExpression;
+import org.jboss.tools.vpe.editor.template.expression.VpeExpressionException;
+import org.jboss.tools.vpe.editor.util.HTML;
import org.jboss.tools.vpe.editor.util.VisualDomUtil;
+import org.jboss.tools.vpe.editor.util.VpeClassUtil;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
import org.w3c.dom.Element;
@@ -28,33 +34,50 @@
*/
public class RichFacesDataListTemplate extends VpeAbstractTemplate {
/** CSS_FILE_NAME */
- final static private String CSS_FILE_NAME = "dataList/dataList.css";
+ final static private String CSS_FILE_NAME =
"dataList/dataList.css";//$NON-NLS-1$
final static private int NUMBER_OF_ROWS_TO_DISPLAY = 1;
public VpeCreationData create(VpePageContext pageContext, Node sourceNode,
nsIDOMDocument visualDocument) {
Element sourceElement = (Element)sourceNode;
- nsIDOMElement unorderedList = visualDocument.createElement("ul");
+ nsIDOMElement unorderedList = visualDocument.createElement(HTML.TAG_UL);
- ComponentUtil.setCSSLink(pageContext, CSS_FILE_NAME, "richFacesDataList");
+ ComponentUtil.setCSSLink(pageContext, CSS_FILE_NAME,
"richFacesDataList");//$NON-NLS-1$
VisualDomUtil.copyAttributes(sourceNode, unorderedList);
ComponentUtil.correctAttribute(sourceElement, unorderedList,
- HtmlComponentUtil.HTML_STYLECLASS_ATTR,
- HtmlComponentUtil.HTML_CLASS_ATTR,
- "dr-list rich-datalist",
- "dr-list rich-datalist");
+ RichFaces.ATTR_STYLE_CLASS,
+ HTML.ATTR_CLASS,
+ "dr-list rich-datalist", //$NON-NLS-1$
+ "dr-list rich-datalist");//$NON-NLS-1$
ComponentUtil.correctAttribute(sourceElement, unorderedList,
- HtmlComponentUtil.HTML_STYLE_ATTR,
- HtmlComponentUtil.HTML_STYLE_ATTR, null, null);
+ RichFaces.ATTR_STYLE,
+ HTML.ATTR_STYLE, null, null);
VpeCreationData creatorInfo = new VpeCreationData(unorderedList);
+
+ final List<String> rowClasses;
+ try {
+ final VpeExpression exprRowClasses = RichFaces.getExprRowClasses();
+ rowClasses = VpeClassUtil.getClasses(exprRowClasses, sourceNode,
+ pageContext);
+ } catch (VpeExpressionException e) {
+ throw new RuntimeException(e);
+ }
+ final int rowClassesSize = rowClasses.size();
+
int rows = NUMBER_OF_ROWS_TO_DISPLAY;
for (int i = 0; i < rows; i++) {
- nsIDOMElement listItem = visualDocument.createElement(HtmlComponentUtil.HTML_TAG_LI);
- listItem.setAttribute(HtmlComponentUtil.HTML_CLASS_ATTR, "dr-list-item
rich-list-item");
+ nsIDOMElement listItem = visualDocument.createElement(HTML.TAG_LI);
+
+ String rowClass = "dr-list-item rich-list-item"; //$NON-NLS-1$
+ if (rowClassesSize > 0) {
+ rowClass+= " " + rowClasses.get(i % rowClassesSize); //$NON-NLS-1$
+ }
+
+ listItem.setAttribute(HTML.ATTR_CLASS, rowClass);
unorderedList.appendChild(listItem);
VpeChildrenInfo info = new VpeChildrenInfo(listItem);
@@ -66,7 +89,7 @@
}
- void encodeListItem(VpeChildrenInfo info, Element sourceElement) {
+ private void encodeListItem(VpeChildrenInfo info, Element sourceElement) {
NodeList children = sourceElement.getChildNodes();
int cnt = children != null ? children.getLength() : 0;
@@ -86,4 +109,11 @@
}
}
}
+
+ @Override
+ public boolean isRecreateAtAttrChange(VpePageContext pageContext,
+ Element sourceElement, nsIDOMDocument visualDocument,
+ nsIDOMElement visualNode, Object data, String name, String value) {
+ return true;
+ }
}
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableStyleClassesApplier.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableStyleClassesApplier.java 2008-12-05
11:59:04 UTC (rev 12299)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesDataTableStyleClassesApplier.java 2008-12-05
12:06:48 UTC (rev 12300)
@@ -37,10 +37,6 @@
* @author yradtsevich
*/
public class RichFacesDataTableStyleClassesApplier {
- private static final String COLUMN_CLASSES_EXPRESSION =
- "{@" + RichFaces.ATTR_COLUMN_CLASSES + "}"; //$NON-NLS-1$
//$NON-NLS-2$
- private static final String ROW_CLASSES_EXPRESSION =
- "{@" + RichFaces.ATTR_ROW_CLASSES + "}"; //$NON-NLS-1$
//$NON-NLS-2$
private final List<String> rowClasses;
private final List<String> columnClasses;
@@ -54,21 +50,13 @@
*/
public RichFacesDataTableStyleClassesApplier(final nsIDOMDocument visualDocument,
final VpePageContext pageContext, final Node sourceNode) {
- VpeExpression rowClassesExpr;
- VpeExpression columnClassesExpr;
+ final VpeExpression exprRowClasses = RichFaces.getExprRowClasses();
+ final VpeExpression exprColumnClasses = RichFaces.getExprColumnClasses();
+
try {
- rowClassesExpr = VpeExpressionBuilder
- .buildCompletedExpression(ROW_CLASSES_EXPRESSION, true).getExpression();
- columnClassesExpr = VpeExpressionBuilder
- .buildCompletedExpression(COLUMN_CLASSES_EXPRESSION, true).getExpression();
- } catch (final VpeExpressionBuilderException e) {
- throw new RuntimeException(e);
- }
-
- try {
- rowClasses = VpeClassUtil.getClasses(rowClassesExpr, sourceNode,
+ rowClasses = VpeClassUtil.getClasses(exprRowClasses, sourceNode,
pageContext);
- columnClasses = VpeClassUtil.getClasses(columnClassesExpr, sourceNode,
+ columnClasses = VpeClassUtil.getClasses(exprColumnClasses, sourceNode,
pageContext);
} catch (final VpeExpressionException e) {
throw new RuntimeException(e);
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesSubTableTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesSubTableTemplate.java 2008-12-05
11:59:04 UTC (rev 12299)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesSubTableTemplate.java 2008-12-05
12:06:48 UTC (rev 12300)
@@ -35,10 +35,6 @@
public class RichFacesSubTableTemplate extends VpeAbstractTemplate {
- private static final String COLUMN_CLASSES_EXPRESSION =
- "{@" + RichFaces.ATTR_COLUMN_CLASSES + "}"; //$NON-NLS-1$
//$NON-NLS-2$
- private static final String ROW_CLASSES_EXPRESSION =
- "{@" + RichFaces.ATTR_ROW_CLASSES + "}"; //$NON-NLS-1$
//$NON-NLS-2$
private static final String DEAFAULT_CELL_CLASS = "dr-subtable-cell
rich-subtable-cell"; //$NON-NLS-1$
private static List<String> rowClasses;
private static List<String> columnClasses;
@@ -275,21 +271,13 @@
}
private void initClasses(final Node sourceNode, final VpePageContext pageContext) {
- VpeExpression rowClassesExpr;
- VpeExpression columnClassesExpr;
- try {
- rowClassesExpr = VpeExpressionBuilder
- .buildCompletedExpression(ROW_CLASSES_EXPRESSION, caseSensitive).getExpression();
- columnClassesExpr = VpeExpressionBuilder
- .buildCompletedExpression(COLUMN_CLASSES_EXPRESSION, caseSensitive).getExpression();
- } catch (final VpeExpressionBuilderException e) {
- throw new RuntimeException(e);
- }
+ final VpeExpression exprRowClasses = RichFaces.getExprRowClasses();
+ final VpeExpression exprColumnClasses = RichFaces.getExprColumnClasses();
try {
- rowClasses = VpeClassUtil.getClasses(rowClassesExpr, sourceNode,
+ rowClasses = VpeClassUtil.getClasses(exprRowClasses, sourceNode,
pageContext);
- columnClasses = VpeClassUtil.getClasses(columnClassesExpr, sourceNode,
+ columnClasses = VpeClassUtil.getClasses(exprColumnClasses, sourceNode,
pageContext);
} catch (final VpeExpressionException e) {
throw new RuntimeException(e);
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/util/RichFaces.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/util/RichFaces.java 2008-12-05
11:59:04 UTC (rev 12299)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/util/RichFaces.java 2008-12-05
12:06:48 UTC (rev 12300)
@@ -11,6 +11,10 @@
package org.jboss.tools.jsf.vpe.richfaces.template.util;
+import org.jboss.tools.vpe.editor.template.expression.VpeExpression;
+import org.jboss.tools.vpe.editor.template.expression.VpeExpressionBuilder;
+import org.jboss.tools.vpe.editor.template.expression.VpeExpressionBuilderException;
+
/**
* contain rich faces tags and general attributes.
*
@@ -100,4 +104,40 @@
public static final String VAL_TRUE = "true"; //$NON-NLS-1$
public static final String VAL_FALSE = "false"; //$NON-NLS-1$
+
+ private static VpeExpression exprColumnClasses = null;
+ /**
+ * Returns the expression to extract style-classes from a {@code
'columnClasses'} attribute.
+ */
+ public static VpeExpression getExprColumnClasses() {
+ if (exprColumnClasses == null) {
+ try {
+ exprColumnClasses = VpeExpressionBuilder
+ .buildCompletedExpression("{@" + ATTR_COLUMN_CLASSES + "}",
true) //$NON-NLS-1$ //$NON-NLS-2$
+ .getExpression();
+ } catch (VpeExpressionBuilderException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ return exprColumnClasses;
+ }
+
+ private static VpeExpression exprRowClasses = null;
+ /**
+ * Returns the expression to extract style-classes from a {@code 'rowClasses'}
attribute.
+ */
+ public static VpeExpression getExprRowClasses() {
+ if (exprRowClasses == null) {
+ try {
+ exprRowClasses = VpeExpressionBuilder
+ .buildCompletedExpression("{@" + ATTR_ROW_CLASSES + "}", true)
//$NON-NLS-1$ //$NON-NLS-2$
+ .getExpression();
+ } catch (VpeExpressionBuilderException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ return exprRowClasses;
+ }
}