[richfaces-svn-commits] JBoss Rich Faces SVN: r2389 - in trunk: framework/impl/src/main/java/org/ajax4jsf/util and 22 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Tue Aug 21 19:38:33 EDT 2007
Author: nbelaevski
Date: 2007-08-21 19:38:32 -0400 (Tue, 21 Aug 2007)
New Revision: 2389
Added:
trunk/framework/impl/src/main/java/org/ajax4jsf/util/Zipper2.java
trunk/framework/impl/src/test/java/org/ajax4jsf/util/
trunk/framework/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java
Removed:
trunk/framework/impl/src/main/javascript/dnd/dnd-draggable.js
trunk/framework/impl/src/main/javascript/dnd/dnd-dropzone.js
Modified:
trunk/framework/impl/generatescript.xml
trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/BaseGradient.java
trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-common.js
trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js
trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js
trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/json/json-mini.js
trunk/samples/pom.xml
trunk/samples/tree-demo/src/main/webapp/pages/index.jsp
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java
trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-draggable.js
trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js
trunk/ui/inputnumber-spinner/src/main/java/org/richfaces/renderkit/html/images/buttons/SpinnerButtonImage.java
trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/images/MenuNodeImage.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java
trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java
trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java
trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java
trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/images/ToolBarSeparatorImage.java
trunk/ui/tree/src/main/config/component/treeNode.xml
trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item-dnd.js
trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java
Log:
- Java2Dresource instances switched to Zipper2
- Legacy DnD scripts removed
- http://jira.jboss.com/jira/browse/RF-642:
- Evaluation to functions for on* properties of DnD options added
- EventHandlersWalk function added to json-mini.js
- tree-demo: ondrop handler added
- unit test for DnD event getters added
- getDraggableOptions & getDropzoneOptions methods added
- effect-sample added to pom.xml
Modified: trunk/framework/impl/generatescript.xml
===================================================================
--- trunk/framework/impl/generatescript.xml 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/generatescript.xml 2007-08-21 23:38:32 UTC (rev 2389)
@@ -55,7 +55,7 @@
<filelist id="dnd"
dir="${basedir}/src/main/javascript/dnd"
- files="prolog.js,dnd.js,dnd-draggable.js,dnd-dropzone.js,epilog.js"
+ files="prolog.js,dnd.js,epilog.js"
>
</filelist>
Added: trunk/framework/impl/src/main/java/org/ajax4jsf/util/Zipper2.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/util/Zipper2.java (rev 0)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/util/Zipper2.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -0,0 +1,104 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.util;
+
+import java.awt.Color;
+import java.nio.ByteBuffer;
+
+/**
+ *
+ * <br /><br />
+ *
+ * Created 21.08.2007
+ * @author Nick Belaevski
+ * @since 3.1
+ */
+
+public class Zipper2 {
+ private byte[] buffer;
+
+ int offset = 0;
+
+ public Zipper2(byte[] buffer) {
+ super();
+ this.buffer = buffer;
+ }
+
+ public Zipper2 addByte(byte b) {
+ buffer[offset++] = b;
+ return this;
+ }
+
+ public Zipper2 addShort(short s) {
+ ByteBuffer.wrap(buffer, offset, 2).asShortBuffer().put(s);
+ offset += 2;
+ return this;
+ }
+
+ public Zipper2 addColor(Color color) {
+ addColor(color.getRGB());
+ return this;
+ }
+
+ public Zipper2 addColor(int i) {
+ buffer[offset] = (byte) ((i >> 0) & 0xFF);
+ buffer[offset + 1] = (byte) ((i >> 8) & 0xFF);
+ buffer[offset + 2] = (byte) ((i >> 16) & 0xFF);
+ offset += 3;
+ return this;
+ }
+
+ public Zipper2 addInt(int i) {
+ ByteBuffer.wrap(buffer, offset, 4).asIntBuffer().put(i);
+ offset += 4;
+ return this;
+ }
+
+ public byte nextByte() {
+ return buffer[offset++];
+ }
+
+ public short nextShort() {
+ short s = ByteBuffer.wrap(buffer, offset, 2).asShortBuffer().get();
+ offset += 2;
+ return s;
+ }
+
+ public Color nextColor() {
+ return new Color(nextIntColor());
+ }
+
+ public int nextIntColor() {
+ int r0 = buffer[offset]&0x0ff;
+ int r1 = (buffer[offset+1]<<8)&0x0ff00;
+ int r2 = (buffer[offset+2]<<16)&0x0ff0000;
+ int ret = r0 | r1 | r2;
+ offset += 3;
+ return ret;
+ }
+
+ public int nextInt() {
+ int i = ByteBuffer.wrap(buffer, offset, 4).asIntBuffer().get();
+ offset += 4;
+ return i;
+ }
+}
Modified: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/BaseGradient.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/BaseGradient.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/BaseGradient.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -29,7 +29,6 @@
import java.awt.geom.Rectangle2D;
import java.io.Serializable;
import java.util.Date;
-import java.util.StringTokenizer;
import javax.faces.context.FacesContext;
@@ -38,7 +37,7 @@
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.resource.ResourceContext;
import org.ajax4jsf.util.HtmlColor;
-import org.ajax4jsf.util.Zipper;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
@@ -183,8 +182,9 @@
}
public Data(byte[] data) {
- headerBackgroundColor = new Integer(Zipper.unzip(data,0));
- headerGradientColor = new Integer(Zipper.unzip(data,3));
+ Zipper2 zipper2 = new Zipper2(data);
+ headerBackgroundColor = new Integer(zipper2.nextIntColor());
+ headerGradientColor = new Integer(zipper2.nextIntColor());
}
protected Data(FacesContext context) {
@@ -230,8 +230,7 @@
protected Integer headerGradientColor;
public byte[] toByteArray() {
byte[] ret = new byte[6];
- Zipper.zip(ret,headerBackgroundColor.intValue(),0);
- Zipper.zip(ret,headerGradientColor.intValue(),3);
+ new Zipper2(ret).addColor(headerBackgroundColor.intValue()).addColor(headerGradientColor.intValue());
return ret;
}
}
Deleted: trunk/framework/impl/src/main/javascript/dnd/dnd-draggable.js
===================================================================
--- trunk/framework/impl/src/main/javascript/dnd/dnd-draggable.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/src/main/javascript/dnd/dnd-draggable.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -1,55 +0,0 @@
-/**
- * @author Maksim Kaszynski
- * base class for draggable component.
- */
-DnD.Draggable = function() {};
-DnD.Draggable.prototype = {
-
- /**
- * @return type of draggable content
- */
- getContentType: function() {
- return "ZZZZZ";
- },
- /**
- * implementations are responsible for getting drag indicator
- * @return DnD.Indicator
- */
- getIndicator: function() {
- return null;
- },
-
- startDrag : function(event) {
- var type = this.getContentType();
- var indicator = this.getIndicator();
- var drag = new DnD.Drag(this, indicator, type);
- DnD.startDrag(drag);
- DnD.updateDrag(event);
- this.ondragstart(event, drag);
- if (indicator) {
- indicator.show();
- }
- },
- /**
- *
- * @param {DnD.Drag} drag
- */
- endDrag: function(event, drag) {
- var indicator = drag.indicator;
- if (indicator) {
- indicator.hide();
- }
- this.ondragend(event, drag);
- },
- /**
- * cubclasses may define custom behavior
- * @param {Object} drag
- */
- ondragstart: function(event, drag) {
-
- },
-
- ondragend: function (event, drag) {
-
- }
-};
\ No newline at end of file
Deleted: trunk/framework/impl/src/main/javascript/dnd/dnd-dropzone.js
===================================================================
--- trunk/framework/impl/src/main/javascript/dnd/dnd-dropzone.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/src/main/javascript/dnd/dnd-dropzone.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -1,82 +0,0 @@
-/**
- * @author Maksim Kaszynski
- * @classDescription
- * Base class for drop zones
- */
-DnD.Dropzone = function(){};
-DnD.Dropzone.DROP_TARGET_ID = "dropTargetId";
-DnD.Dropzone.prototype = {
- /**
- *
- * @param {Object} drag
- * @return
- */
- accept: function(drag) {
- return this.getAcceptedTypes().indexOf(drag.type) > -1 ;
- },
- getAcceptedTypes: function() {
- return [];
- },
- getTypeMapping: function() {
- return {};
- },
- drop: function(event, drag){
- },
- getIconCodeForType: function(type) {
- var types = this.getTypeMapping();
- if (type && types) {
- return types[type];
- }
- return null;
- },
-
- /**
- * implementations call this method when mouse over them
- * @param {Object} drag
- */
- dragEnter: function(event) {
- var drag = window.drag;
- drag.dropzone = this;
- var icon;
- var indicator = drag.indicator;
- if (this.accept(drag)) {
- icon = this.getIconCodeForType(drag.type);
- if (!indicator.hasTemplate(icon)) {
- icon = DnD.CODE_ACCEPT;
- }
- indicator.accept();
- } else {
- icon = DnD.CODE_REJECT;
- indicator.reject();
- }
- indicator.setLeftCell(icon);
- },
-
-
- /**
- * Implementations call this method when mouse exits them
- * @param {Object} drag
- */
- dragLeave: function(event) {
- var drag = window.drag;
- drag.dropzone = null;
- var indicator = drag.indicator;
- indicator.setLeftCell(DnD.CODE_DEFAULT);
- indicator.leave();
- },
-
- onafterdrag: function(event) {
- },
-
- onbeforedrag: function(event, drag){
- },
-
- ondragenter: function(event) {
-
- },
- ondragexit : function(event) {
-
- }
-
-};
-
Modified: trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-common.js
===================================================================
--- trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-common.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-common.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -2,7 +2,7 @@
var attr = Richfaces.getNSAttribute("defaultdndparams", elt);
if (attr) {
- var params = attr.parseJSON();
+ var params = attr.parseJSON(EventHandlersWalk);
if (params) {
return params;
}
@@ -17,7 +17,7 @@
var attr = Richfaces.getNSAttribute(name, elt);
if (attr) {
- var dndParams = attr.parseJSON();
+ var dndParams = attr.parseJSON(EventHandlersWalk);
if (params) {
if (dndParams) {
Object.extend(params, dndParams);
Modified: trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js
===================================================================
--- trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -64,6 +64,10 @@
return $(this.id);
},
+ getDraggableOptions: function() {
+ return null;
+ },
+
getDnDDefaultParams: function() {
return DnD.getDnDDefaultParams(this.getElement());
},
@@ -193,8 +197,9 @@
indicator.show();
}
- if( this.options && this.options.ondragstart) {
- this.options.ondragstart();
+ var options = this.getDraggableOptions();
+ if (options && options.ondragstart) {
+ options.ondragstart();
}
// cancel out any text selections
@@ -230,8 +235,9 @@
this.ondragend(event, drag);
}
- if( this.options && this.options.ondragend) {
- this.options.ondragend();
+ var options = this.getDraggableOptions();
+ if (options && options.ondragend) {
+ options.ondragend();
}
},
Modified: trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js
===================================================================
--- trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -12,6 +12,10 @@
return $(this.id);
},
+ getDropzoneOptions: function() {
+ return null;
+ },
+
getDnDDefaultParams: function() {
return DnD.getDnDDefaultParams(this.getElement());
},
@@ -112,8 +116,9 @@
dragUp: function(event) {
this.ondropend(event);
- if( this.options && this.options.ondropend) {
- this.options.ondropend();
+ var options = this.getDropzoneOptions();
+ if (options && options.ondropend) {
+ options.ondropend();
}
},
Modified: trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/json/json-mini.js
===================================================================
--- trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/json/json-mini.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/framework/impl/src/main/resources/org/richfaces/renderkit/html/scripts/json/json-mini.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -69,3 +69,29 @@
throw new SyntaxError("parseJSON");
};
}
+
+EventHandlersWalk = function(v) {
+ if (v && typeof v == 'object') {
+ var names = new Array();
+ for (var i in v) {
+ if (v.hasOwnProperty(i)) {
+ if (i.length > 2 && i.substring(0, 2) == 'on') {
+ names.push(i);
+ }
+ }
+ }
+
+ for (var i = 0; i < names.length; i++) {
+ var name = names[i];
+ var value = v[name];
+ if (value && typeof value != 'function') {
+ var f = eval('([' + v[name] + '])')[0];
+ if (typeof f == 'function') {
+ v[name] = f;
+ }
+ }
+ }
+ }
+
+ return v;
+};
\ No newline at end of file
Added: trunk/framework/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java
===================================================================
--- trunk/framework/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java (rev 0)
+++ trunk/framework/impl/src/test/java/org/ajax4jsf/util/Zipper2Test.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -0,0 +1,89 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.util;
+
+import java.awt.Color;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * <br /><br />
+ *
+ * Created 21.08.2007
+ * @author Nick Belaevski
+ * @since 3.1
+ */
+
+public class Zipper2Test extends TestCase {
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testByte() throws Exception {
+ byte[] b = new byte[3];
+ new Zipper2(b).addByte((byte) 0xDF).addByte((byte) 0x90).addByte((byte) 0xAA);
+ Zipper2 zipper2 = new Zipper2(b);
+ assertEquals((byte) 0xDF, zipper2.nextByte());
+ assertEquals((byte) 0x90, zipper2.nextByte());
+ assertEquals((byte) 0xAA, zipper2.nextByte());
+ }
+
+ public void testShort() throws Exception {
+ byte[] b = new byte[6];
+ new Zipper2(b).addShort((short) 0xA7DF).addShort((short) 0xFE90).addShort((short) 0x34AA);
+ Zipper2 zipper2 = new Zipper2(b);
+ assertEquals((short) 0xA7DF, zipper2.nextShort());
+ assertEquals((short) 0xFE90, zipper2.nextShort());
+ assertEquals((short) 0x34AA, zipper2.nextShort());
+ }
+
+ public void testColor() throws Exception {
+ byte[] b = new byte[9];
+ new Zipper2(b).addColor(new Color(0xA7DFE0)).addColor(0xE2349A).addColor(new Color(0x4812F9));
+ Zipper2 zipper2 = new Zipper2(b);
+ assertEquals(0xA7DFE0, zipper2.nextIntColor());
+ assertEquals(new Color(0xE2349A), zipper2.nextColor());
+ assertEquals(0x4812F9, zipper2.nextIntColor());
+ }
+
+ public void testInt() throws Exception {
+ byte[] b = new byte[12];
+ new Zipper2(b).addInt(0x12A7DFE0).addInt(0x67E2349A).addInt(0xBD4812F9);
+ Zipper2 zipper2 = new Zipper2(b);
+ assertEquals(0x12A7DFE0, zipper2.nextInt());
+ assertEquals(0x67E2349A, zipper2.nextInt());
+ assertEquals(0xBD4812F9, zipper2.nextInt());
+ }
+
+}
Modified: trunk/samples/pom.xml
===================================================================
--- trunk/samples/pom.xml 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/samples/pom.xml 2007-08-21 23:38:32 UTC (rev 2389)
@@ -405,6 +405,7 @@
<module>dataTableDemo</module>
<module>modalpanel-sample</module>
<module>datascroller-sample</module>
+ <module>effect-sample</module>
<module>richfaces-demo</module>
<module>dropdownmenu-sample</module>
<module>tooltip-sample</module>
Modified: trunk/samples/tree-demo/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/samples/tree-demo/src/main/webapp/pages/index.jsp 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/samples/tree-demo/src/main/webapp/pages/index.jsp 2007-08-21 23:38:32 UTC (rev 2389)
@@ -42,7 +42,18 @@
height : 32px;
}
</style>
-
+ <script type="text/javascript">
+ function blinkElement(elt) {
+ while (elt.tagName.toLowerCase() != 'table') {
+ elt = elt.parentNode;
+ }
+
+ elt.style.borderColor= '#5555FF';
+ elt.style.borderStyle= 'dotted';
+ elt.style.borderWidth = '3px';
+ setTimeout( function() { this.style.borderStyle = 'none'; }.bind(elt), 300);
+ }
+ </script>
</head>
<body>
<f:view>
@@ -120,7 +131,8 @@
iconLeaf="#{bean.iconLeaf}"
icon="#{bean.icon}"
dropListener="#{bean.processDrop}"
- styleClass="#{bean.styleClass}">
+ styleClass="#{bean.styleClass}"
+ >
<f:facet name="icon">
<h:outputText value="icon" rendered="#{bean.renderFacets}"/>
@@ -141,7 +153,7 @@
<dnd:dndParam name="treeParam" value="Tree Parameter" />
<dnd:dndParam name="accept" value="accept" />
- <rich:treeNode type="input" dropListener="#{bean.processDrop}" oncollapse="Element.removeClassName(event['treeItem'].getElement(), 'colored')" onexpand="Element.addClassName(event['treeItem'].getElement(), 'colored')">
+ <rich:treeNode ondrop="blinkElement(this.getElement())" type="input" dropListener="#{bean.processDrop}" oncollapse="Element.removeClassName(event['treeItem'].getElement(), 'colored')" onexpand="Element.addClassName(event['treeItem'].getElement(), 'colored')">
<h:outputText value="#{data} : " />
<h:inputText value="#{data.name}" required="true" styleClass="inputs">
</h:inputText>
Modified: trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java
===================================================================
--- trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -40,6 +40,8 @@
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.resource.ResourceContext;
import org.ajax4jsf.util.HtmlColor;
+import org.ajax4jsf.util.Zipper;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
@@ -80,29 +82,31 @@
Skin skin = SkinFactory.getInstance().getSkin(context);
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
- Object [] stored = new Object[2];
-
- Color col = null;
-
String skinParameter = "headerBackgroundColor";
String headerTextColor = (String) skin.getParameter(context, skinParameter);
if (null == headerTextColor || "".equals(headerTextColor))
headerTextColor = (String) defaultSkin.getParameter(context, skinParameter);
- col = HtmlColor.decode(headerTextColor);
- stored[0] = col;
+ byte[] ret = new byte[6];
+ Zipper2 zipper2 = new Zipper2(ret).addColor(HtmlColor.decode(headerTextColor).getRGB());
skinParameter = "selectControlColor";
String headerBackgroundColor = (String) skin.getParameter(context, skinParameter);
if (null == headerBackgroundColor || "".equals(headerBackgroundColor))
headerBackgroundColor = (String) defaultSkin.getParameter(context, skinParameter);
- col = HtmlColor.decode(headerBackgroundColor);
- stored[1] = col;
-
- return stored;
+ zipper2.addColor(HtmlColor.decode(headerBackgroundColor).getRGB());
+
+ return ret;
}
+ protected Object deserializeData(byte[] objectArray) {
+ Object[] colors = new Object[2];
+ Zipper2 z = new Zipper2(objectArray);
+ colors[0] = z.nextColor();
+ colors[1] = z.nextColor();
+ return colors;
+ }
public void paint(ResourceContext context, Graphics2D graphics) {
Object[] stored = (Object[]) restoreData(context);
Modified: trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java
===================================================================
--- trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -169,7 +169,7 @@
definition.addToBody("options.parameters['" + DROP_TARGET_ID + "'] = '" + component.getClientId(context) + "';");
//TODO nick - remove as legacy
definition.addToBody("Object.extend(options.parameters,drag.getParameters());");
- definition.addToBody("if (this.options.ondrop) { if (!this.options.ondrop.call(this, event)) return; };");
+ definition.addToBody("var dzOptions = this.getDropzoneOptions(); if (dzOptions.ondrop) { if (!dzOptions.ondrop.call(this, event)) return; };");
JSFunction dropFunction = AjaxRendererUtils.buildAjaxFunction(component, context);
dropFunction.addParameter(new JSReference("options"));
Modified: trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-draggable.js
===================================================================
--- trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-draggable.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-draggable.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -21,7 +21,7 @@
getDnDDragParams: function() {
if (this.options.dndParams) {
- return this.options.dndParams.parseJSON();
+ return this.options.dndParams.parseJSON(EventHandlersWalk);
}
return null;
@@ -49,6 +49,10 @@
return this.options.dragType;
},
+ getDraggableOptions: function() {
+ return this.options;
+ },
+
initDrag: function(event) {
if(Event.isLeftClick(event)) {
var src = Event.element(event);
Modified: trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js
===================================================================
--- trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -35,9 +35,13 @@
},
+ getDropzoneOptions: function() {
+ return this.options;
+ },
+
getDnDDropParams: function() {
if (this.options.dndParams) {
- return this.options.dndParams.parseJSON();
+ return this.options.dndParams.parseJSON(EventHandlersWalk);
}
return null;
Modified: trunk/ui/inputnumber-spinner/src/main/java/org/richfaces/renderkit/html/images/buttons/SpinnerButtonImage.java
===================================================================
--- trunk/ui/inputnumber-spinner/src/main/java/org/richfaces/renderkit/html/images/buttons/SpinnerButtonImage.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/inputnumber-spinner/src/main/java/org/richfaces/renderkit/html/images/buttons/SpinnerButtonImage.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -29,6 +29,7 @@
import org.ajax4jsf.resource.InternetResourceBuilder;
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.util.HtmlColor;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
@@ -39,6 +40,10 @@
setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
}
+ protected Object deserializeData(byte[] objectArray) {
+ return new Integer(new Zipper2(objectArray).nextIntColor());
+ }
+
protected Object getDataToStore(FacesContext context, Object data) {
Skin skin = SkinFactory.getInstance().getSkin(context);
@@ -50,7 +55,9 @@
}
int intValue = HtmlColor.decode( tmp ==null? "#000000":tmp ).getRGB();
- return new Integer(intValue);
+ byte[] ret = new byte[3];
+ new Zipper2(ret).addColor(intValue);
+ return ret;
}
}
Modified: trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/images/MenuNodeImage.java
===================================================================
--- trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/images/MenuNodeImage.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/images/MenuNodeImage.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -14,6 +14,8 @@
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.resource.ResourceContext;
import org.ajax4jsf.util.HtmlColor;
+import org.ajax4jsf.util.Zipper;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
@@ -33,9 +35,15 @@
setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
}
+ protected Object deserializeData(byte[] objectArray) {
+ MenuNodeImageData mnd = new MenuNodeImageData();
+ Zipper2 zipper2 = new Zipper2(objectArray);
+ mnd.setGeneralColor(new Integer(zipper2.nextIntColor()));
+ mnd.setDisabledColor(new Integer(zipper2.nextIntColor()));
+ return mnd;
+ }
+
protected Object getDataToStore(FacesContext context, Object data) {
-
- MenuNodeImageData mnd = new MenuNodeImageData();
Skin skin = SkinFactory.getInstance().getSkin(context);
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
@@ -50,8 +58,10 @@
if (tmp == null || "".equals(tmp))
tmp = "#4A75B5";
intValue = HtmlColor.decode(tmp).getRGB();
- mnd.setGeneralColor(new Integer(intValue));
+ byte[] ret = new byte[6];
+ Zipper2 zipper2 = new Zipper2(ret).addColor(intValue);
+
skinParameter = "tabDisabledTextColor";
tmp = (String) skin.getParameter(context, skinParameter);
if (null == tmp || "".equals(tmp)) {
@@ -60,9 +70,10 @@
if (tmp == null || "".equals(tmp))
tmp = "#6A92CF";
intValue = HtmlColor.decode(tmp).getRGB();
- mnd.setDisabledColor(new Integer(intValue));
- return mnd;
+ zipper2.addColor(intValue);
+
+ return ret;
}
protected void paint(ResourceContext context, Graphics2D g2d) {
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -32,10 +32,10 @@
import org.ajax4jsf.resource.InternetResourceBuilder;
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.resource.ResourceContext;
+import org.ajax4jsf.util.HtmlColor;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
-import org.ajax4jsf.util.HtmlColor;
-import org.ajax4jsf.util.HtmlDimensions;
/**
@@ -62,21 +62,21 @@
}
protected Dimension calculateDimensions(Object data){
- Object [] stored = (Object []) data;
- int h = ((Integer) stored[0]).intValue();
- return new Dimension(h,h);
+ return new Dimension(16, 16);
}
+ protected Object deserializeData(byte[] objectArray) {
+ return new Zipper2(objectArray).nextColor();
+ }
/**
* @param data - pass icon color there
*/
protected Object getDataToStore(FacesContext context, Object data) {
- Object[] stored = new Object[5];
Skin skin = SkinFactory.getInstance().getSkin(context);
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
- stored[0] = new Integer(HtmlDimensions.decode("16px").intValue());
+ byte[] ret = new byte[3];
Color col = null;
@@ -89,8 +89,10 @@
headerTextColor = (String) defaultSkin.getParameter(context, skinParameter);
col = HtmlColor.decode(headerTextColor);
}
- stored[1]= col;
- return stored;
+
+ new Zipper2(ret).addColor(col);
+
+ return ret;
}
public boolean isCacheable() {
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -53,8 +53,7 @@
GeneralPath path = new GeneralPath();
g2d.setStroke(new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER));
g2d.translate(28,28);
- Object [] data = (Object[]) restoreData(context);
- Color col = (Color)data[1];
+ Color col = (Color) restoreData(context);
g2d.setColor(col);
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -52,8 +52,7 @@
GeneralPath path = new GeneralPath();
g2d.setStroke(new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER));
g2d.translate(28,28);
- Object [] data = (Object[]) restoreData(context);
- Color col = (Color)data[1];
+ Color col = (Color) restoreData(context);
g2d.setColor(col);
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -52,8 +52,7 @@
GeneralPath path = new GeneralPath();
g2d.setStroke(new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER));
g2d.translate(28,28);
- Object [] data = (Object[]) restoreData(context);
- Color col = (Color)data[1];
+ Color col = (Color) restoreData(context);
g2d.setColor(col);
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -35,8 +35,7 @@
protected void paint(ResourceContext context, Graphics2D g2d) {
Dimension dimension = getDimensions(context);
- Object [] data = (Object[]) restoreData(context);
- Color col = (Color)data[1];
+ Color col = (Color) restoreData(context);
int dim = (int) Math.round(dimension.getWidth() / 3);
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -50,8 +50,7 @@
g2d.translate(40,40);
path.setRect(0,0,40,40);
- Object [] data = (Object[]) restoreData(context);
- Color col = (Color)data[1];
+ Color col = (Color) restoreData(context);
g2d.setColor(col);
Color bcolor = new Color(1f,1f,1f,0f);
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -45,7 +45,7 @@
path.lineTo(33,34);
path.lineTo(0,67);
path.closePath();
- g2d.setColor((Color)(((Object[]) restoreData(context))[1]));
+ g2d.setColor((Color)restoreData(context));
g2d.fill(path);
}
}
\ No newline at end of file
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -48,8 +48,7 @@
path.lineTo(34,33);
path.lineTo(67,0);
path.closePath();
- Object [] data = (Object[]) restoreData(context);
- Color col = (Color)data[1];
+ Color col = (Color) restoreData(context);
g2d.setColor(col);
g2d.fill(path);
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -47,8 +47,7 @@
path.lineTo(34,0);
path.lineTo(67,33);
path.closePath();
- Object [] data = (Object[]) restoreData(context);
- Color col = (Color)data[1];
+ Color col = (Color) restoreData(context);
g2d.setColor(col);
g2d.fill(path);
Modified: trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java
===================================================================
--- trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -11,6 +11,7 @@
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.resource.ResourceContext;
import org.ajax4jsf.util.HtmlColor;
+import org.ajax4jsf.util.Zipper;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
@@ -28,6 +29,13 @@
return calculateDimensions();
}
+ protected Object deserializeData(byte[] objectArray) {
+ Object [] stored = new Object[2];
+ stored[0] = new Color(Zipper.unzip(objectArray, 0));
+ stored[1] = new Color(Zipper.unzip(objectArray, 3));
+ return stored;
+ }
+
public abstract Dimension calculateDimensions();
@@ -35,8 +43,6 @@
Skin skin = SkinFactory.getInstance().getSkin(context);
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
- Object [] stored = new Object[2];
-
Color col = null;
String skinParameter = "headerTextColor";
@@ -45,7 +51,8 @@
headerTextColor = (String) defaultSkin.getParameter(context, skinParameter);
col = HtmlColor.decode(headerTextColor);
- stored[0] = col;
+ byte[] ret = new byte[6];
+ Zipper.zip(ret, col.getRGB(), 0);
skinParameter = "headerBackgroundColor";
String headerBackgroundColor = (String) skin.getParameter(context, skinParameter);
@@ -53,8 +60,8 @@
headerBackgroundColor = (String) defaultSkin.getParameter(context, skinParameter);
col = HtmlColor.decode(headerBackgroundColor);
- stored[1] = col;
+ Zipper.zip(ret, col.getRGB(), 3);
- return stored;
+ return ret;
}
}
Modified: trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java
===================================================================
--- trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -39,6 +39,8 @@
import org.ajax4jsf.resource.ResourceContext;
import org.ajax4jsf.util.HtmlColor;
import org.ajax4jsf.util.HtmlDimensions;
+import org.ajax4jsf.util.Zipper;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.component.UISeparator;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
@@ -126,17 +128,29 @@
}
}
+
+ protected Object deserializeData(byte[] objectArray) {
+ SeparatorData separatorData = new SeparatorData();
+ Zipper2 zipper2 = new Zipper2(objectArray);
+ separatorData.setHeight(zipper2.nextShort());
+ separatorData.setLevel3D(zipper2.nextShort());
+ separatorData.setBgColor(zipper2.nextIntColor());
+ separatorData.setGradColor(zipper2.nextIntColor());
+ return separatorData;
+ }
protected Object getDataToStore(FacesContext context, Object data) {
- SeparatorData separatorData = new SeparatorData();
Skin skin = SkinFactory.getInstance().getSkin(context);
//XXX by nick - fantonov - ((UISeparator)data).getHeight() ?
String tmp = (String) ((UISeparator) data).getHeight();
- separatorData.setHeight(HtmlDimensions.decode(tmp == null ? "6" : tmp).intValue());
+
+ byte[] ret = new byte[10];
+
+ Zipper2 zipper2 = new Zipper2(ret).addShort((short) HtmlDimensions.decode(tmp == null ? "6" : tmp).intValue());
tmp = (String) skin.getParameter(context, "interfaceLevel3D");
- separatorData.setLevel3D(HtmlDimensions.decode(tmp == null ? "5" : tmp).intValue());
+ zipper2.addShort((short) HtmlDimensions.decode(tmp == null ? "5" : tmp).intValue());
String skinParameter = "headerBackgroundColor";
tmp = (String) skin.getParameter(context, skinParameter);
@@ -144,7 +158,7 @@
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
tmp = (String) defaultSkin.getParameter(context, skinParameter);
}
- separatorData.setBgColor(HtmlColor.decode(tmp == null ? "#4169E1" : tmp).getRGB());
+ zipper2.addColor(HtmlColor.decode(tmp == null ? "#4169E1" : tmp).getRGB());
skinParameter = "overAllBackground";
tmp = (String) skin.getParameter(context, skinParameter);
@@ -152,9 +166,9 @@
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
tmp = (String) defaultSkin.getParameter(context, skinParameter);
}
- separatorData.setGradColor(HtmlColor.decode(tmp == null ? "#FFFFFF" : tmp).getRGB());
+ zipper2.addColor(HtmlColor.decode(tmp == null ? "#FFFFFF" : tmp).getRGB());
- return separatorData;
+ return ret;
}
protected static class SeparatorData implements Serializable {
Modified: trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java
===================================================================
--- trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -37,6 +37,8 @@
import org.ajax4jsf.resource.ResourceContext;
import org.ajax4jsf.util.HtmlColor;
import org.ajax4jsf.util.HtmlDimensions;
+import org.ajax4jsf.util.Zipper;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.component.UISeparator;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
@@ -103,12 +105,23 @@
return null;
}
+ protected Object deserializeData(byte[] objectArray) {
+ SimpleSeparatorData separatorData = new SimpleSeparatorData();
+ Zipper2 zipper2 = new Zipper2(objectArray);
+ separatorData.setHeight(zipper2.nextShort());
+ separatorData.setColor(zipper2.nextIntColor());
+ separatorData.setLineType(zipper2.nextByte());
+ return separatorData;
+ }
+
protected Object getDataToStore(FacesContext context, Object data) {
- SimpleSeparatorData separatorData = new SimpleSeparatorData();
Skin skin = SkinFactory.getInstance().getSkin(context);
+ byte[] ret = new byte[6];
+
String tmp = (String) ((UIComponent) data).getAttributes().get("height");
- separatorData.setHeight(HtmlDimensions.decode(tmp == null ? "6" : tmp).intValue());
+ int height = HtmlDimensions.decode(tmp == null ? "6" : tmp).intValue();
+ Zipper2 zipper2 = new Zipper2(ret).addShort((short) height);
String skinParameter = "headerBackgroundColor";
tmp = (String) skin.getParameter(context, skinParameter);
@@ -116,7 +129,7 @@
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
tmp = (String) defaultSkin.getParameter(context, skinParameter);
}
- separatorData.setColor(HtmlColor.decode(tmp == null ? "#4169E1" : tmp).getRGB());
+ zipper2.addColor(HtmlColor.decode(tmp == null ? "#4169E1" : tmp).getRGB());
//XXX by nick - fantonov - ((UISeparator)data).getLineType() ?
tmp = (String) ((UISeparator) data).getLineType();
@@ -126,12 +139,12 @@
} else if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DASHED)) {
lineType = LINE_TYPE_DASHED;
} else
- if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DOUBLE) && separatorData.getHeight() > 2)
+ if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DOUBLE) && height > 2)
{
lineType = LINE_TYPE_DOUBLE;
}
- separatorData.setLineType(lineType);
- return separatorData;
+ zipper2.addByte((byte) lineType);
+ return ret;
}
protected static class SimpleSeparatorData implements Serializable {
Modified: trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/images/ToolBarSeparatorImage.java
===================================================================
--- trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/images/ToolBarSeparatorImage.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/images/ToolBarSeparatorImage.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -31,6 +31,8 @@
import org.ajax4jsf.resource.Java2Dresource;
import org.ajax4jsf.util.HtmlColor;
import org.ajax4jsf.util.HtmlDimensions;
+import org.ajax4jsf.util.Zipper;
+import org.ajax4jsf.util.Zipper2;
import org.richfaces.component.UIToolBar;
import org.richfaces.component.UIToolBarGroup;
import org.richfaces.skin.Skin;
@@ -47,8 +49,19 @@
setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
}
+ protected Object deserializeData(byte[] objectArray) {
+ SeparatorData separatorData = new SeparatorData();
+ Zipper2 zipper2 = new Zipper2(objectArray);
+ separatorData.setHeaderBackgroundColor(zipper2.nextIntColor());
+ separatorData.setHeaderGradientColor(zipper2.nextIntColor());
+ separatorData.setHeaderTextColor(zipper2.nextIntColor());
+ separatorData.setFontSize(zipper2.nextShort());
+ separatorData.setSeparatorHeight(zipper2.nextShort());
+
+ return separatorData;
+ }
+
protected Object getDataToStore(FacesContext context, Object data) {
- SeparatorData separatorData = new SeparatorData();
Skin skin = SkinFactory.getInstance().getSkin(context);
Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
@@ -57,32 +70,33 @@
if (null == tmp || "".equals(tmp)) {
tmp = (String) defaultSkin.getParameter(context, skinParameter);
}
- separatorData.setHeaderBackgroundColor(HtmlColor.decode( tmp == null ? "#224986" : tmp ).getRGB());
+ byte[] ret = new byte[13];
+ Zipper2 zipper2 = new Zipper2(ret).addColor(HtmlColor.decode( tmp == null ? "#224986" : tmp ).getRGB());
+
skinParameter = "headerGradientColor";
tmp = (String) skin.getParameter(context, skinParameter);
if (null == tmp || "".equals(tmp)) {
tmp = (String) defaultSkin.getParameter(context, skinParameter);
}
- separatorData.setHeaderGradientColor(HtmlColor.decode( tmp == null ? "#CCCCFF" : tmp).getRGB());
+ zipper2.addColor(HtmlColor.decode( tmp == null ? "#CCCCFF" : tmp).getRGB());
skinParameter = "headerTextColor";
tmp = (String) skin.getParameter(context, skinParameter);
if (null == tmp || "".equals(tmp)) {
tmp = (String) defaultSkin.getParameter(context, skinParameter);
}
- separatorData.setHeaderTextColor(HtmlColor.decode( tmp == null ? "#000000" : tmp ).getRGB());
+ zipper2.addColor(HtmlColor.decode( tmp == null ? "#000000" : tmp ).getRGB());
skinParameter = "headerSizeFont";
tmp = (String) skin.getParameter(context, skinParameter);
if (null == tmp || "".equals(tmp)) {
tmp = (String) defaultSkin.getParameter(context, skinParameter);
}
- separatorData.setFontSize(HtmlDimensions.decode( tmp == null ? "11px" : tmp ).intValue());
-
- separatorData.setSeparatorHeight(resolveBarHeight(data));
+ zipper2.addShort((short) HtmlDimensions.decode( tmp == null ? "11px" : tmp ).intValue());
+ zipper2.addShort((short) resolveBarHeight(data));
- return separatorData;
+ return ret;
}
private int resolveBarHeight(Object data){
Modified: trunk/ui/tree/src/main/config/component/treeNode.xml
===================================================================
--- trunk/ui/tree/src/main/config/component/treeNode.xml 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/tree/src/main/config/component/treeNode.xml 2007-08-21 23:38:32 UTC (rev 2389)
@@ -59,7 +59,34 @@
<name>ondrop</name>
<classname>java.lang.String</classname>
<description>It's an event that is called when something is dropped on a drop zone</description>
+ <defaultvalue>getDefaultOndrop()</defaultvalue>
</property>
+ <property>
+ <name>ondropend</name>
+ <classname>java.lang.String</classname>
+ <defaultvalue>getDefaultOndropend()</defaultvalue>
+ </property>
+ <property>
+ <name>ondragstart</name>
+ <classname>java.lang.String</classname>
+ <defaultvalue>getDefaultOndragstart()</defaultvalue>
+ </property>
+ <property>
+ <name>ondragend</name>
+ <classname>java.lang.String</classname>
+ <defaultvalue>getDefaultOndragend()</defaultvalue>
+ </property>
+ <property>
+ <name>ondragenter</name>
+ <classname>java.lang.String</classname>
+ <defaultvalue>getDefaultOndragenter()</defaultvalue>
+ </property>
+ <property>
+ <name>ondragexit</name>
+ <classname>java.lang.String</classname>
+ <defaultvalue>getDefaultOndragexit()</defaultvalue>
+ </property>
+
<property>
<name>oncontextmenu</name>
<classname>java.lang.String</classname>
Modified: trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -359,4 +359,53 @@
return null;
}
+ protected String getDefaultOndragend() {
+ //tag invokes read method on component creation
+ //we shouldn't fail with NPE
+ UITree tree = getUITree();
+ if (tree == null) {
+ return null;
+ }
+ return tree.getOndragend();
+ }
+
+ protected String getDefaultOndragenter() {
+ UITree tree = getUITree();
+ if (tree == null) {
+ return null;
+ }
+ return tree.getOndragenter();
+ }
+
+ protected String getDefaultOndragexit() {
+ UITree tree = getUITree();
+ if (tree == null) {
+ return null;
+ }
+ return tree.getOndragexit();
+ }
+
+ protected String getDefaultOndragstart() {
+ UITree tree = getUITree();
+ if (tree == null) {
+ return null;
+ }
+ return tree.getOndragstart();
+ }
+
+ protected String getDefaultOndrop() {
+ UITree tree = getUITree();
+ if (tree == null) {
+ return null;
+ }
+ return tree.getOndrop();
+ }
+
+ protected String getDefaultOndropend() {
+ UITree tree = getUITree();
+ if (tree == null) {
+ return null;
+ }
+ return tree.getOndropend();
+ }
}
Modified: trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -6,6 +6,7 @@
import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@@ -13,6 +14,7 @@
import javax.faces.context.FacesContext;
import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.JSFunctionDefinition;
import org.ajax4jsf.javascript.ScriptUtils;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.ComponentVariables;
@@ -308,11 +310,25 @@
return null;
}
+
+ private void convertOptions(Map opts) {
+ //converts JSFunctionDefinition to string
+ Iterator iterator = opts.entrySet().iterator();
+ while (iterator.hasNext()) {
+ Map.Entry entry = (Map.Entry) iterator.next();
+ Object value = entry.getValue();
+ if (value instanceof JSFunctionDefinition) {
+ JSFunctionDefinition definition = (JSFunctionDefinition) value;
+ entry.setValue(definition.toScript());
+ }
+ }
+ }
public String getDraggableScriptOptions(FacesContext context,
UITreeNode component) {
ScriptOptions options = new TreeNodeOptions(component);
mergeScriptOptions(options, context, component, Draggable.class);
+ convertOptions(options.getMap());
return ScriptUtils.toScript(options);
}
@@ -320,6 +336,7 @@
UITreeNode component) {
ScriptOptions options = new TreeNodeOptions(component);
mergeScriptOptions(options, context, component, Dropzone.class);
+ convertOptions(options.getMap());
return ScriptUtils.toScript(options);
}
}
Modified: trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item-dnd.js
===================================================================
--- trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item-dnd.js 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item-dnd.js 2007-08-21 23:38:32 UTC (rev 2389)
@@ -56,7 +56,7 @@
getDropzoneOptions: function() {
var attr = Richfaces.getNSAttribute("dropzoneoptions", $(this.elementID.icon));
if (attr) {
- return attr.parseJSON();
+ return attr.parseJSON(EventHandlersWalk);
}
return null;
@@ -74,7 +74,7 @@
Object.extend(drag.params, opts.parameters);
}
- this.tree.drop(event, drag);
+ this.tree.drop.call(this, event, drag);
},
getIndicator: function() {
@@ -110,7 +110,7 @@
var attr = Richfaces.getNSAttribute("draggableoptions", $(this.elementID.icon));
if (attr) {
- var opts = attr.parseJSON();
+ var opts = attr.parseJSON(EventHandlersWalk);
if (window.drag) {
window.drag.treeDraggableOptions = opts;
}
Modified: trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java
===================================================================
--- trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java 2007-08-21 23:19:31 UTC (rev 2388)
+++ trunk/ui/tree/src/test/java/org/richfaces/component/TreeComponentTest.java 2007-08-21 23:38:32 UTC (rev 2389)
@@ -72,26 +72,27 @@
private static Set javaScripts = new HashSet();
static {
- javaScripts.add("/org/richfaces/renderkit/html/scripts/json/json-mini.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/json/json-dom.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/json/json-mini.js");
- javaScripts.add("org.ajax4jsf.framework.resource.PrototypeScript");
- javaScripts.add("scripts/AJAX.js");
- javaScripts.add("org.ajax4jsf.dnd.DnDScript");
+ javaScripts.add("org.ajax4jsf.javascript.PrototypeScript");
+ javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
+ javaScripts.add("org.ajax4jsf.javascript.DnDScript");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/utils.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-common.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/utils.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/dnd/dnd-common.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js");
- javaScripts.add("/org/ajax4jsf/renderkit/html/scripts/form.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/form.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/events.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/tree.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/tree-selection.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/tree-item.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/tree-item-dnd.js");
- javaScripts.add("/org/richfaces/renderkit/html/scripts/drag-indicator.js");
+ javaScripts.add("org/ajax4jsf/javascript/scripts/form.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/form.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/events.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/tree.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/tree-selection.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/tree-item.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/tree-item-dnd.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/drag-indicator.js");
}
@@ -801,6 +802,58 @@
assertEquals("indicator2", treeNode.getDragIndicator());
assertNull(treeNode.getLocalDragIndicator());
}
+
+ public void testDnDEventGetters() throws Exception {
+ assertNull(treeNode.getOndragend());
+ assertNull(treeNode.getOndragenter());
+ assertNull(treeNode.getOndragexit());
+ assertNull(treeNode.getOndragstart());
+ assertNull(treeNode.getOndrop());
+ assertNull(treeNode.getOndropend());
+
+ tree.setOndragend("dragEnd1");
+ tree.setOndragenter("dragEnter1");
+ tree.setOndragexit("dragExit1");
+ tree.setOndragstart("dragStart1");
+ tree.setOndrop("drop1");
+ tree.setOndropend("dropEnd1");
+
+ assertEquals("dragEnd1", treeNode.getOndragend());
+ assertEquals("dragEnter1", treeNode.getOndragenter());
+ assertEquals("dragExit1", treeNode.getOndragexit());
+ assertEquals("dragStart1", treeNode.getOndragstart());
+ assertEquals("drop1", treeNode.getOndrop());
+ assertEquals("dropEnd1", treeNode.getOndropend());
+
+ treeNode.setOndragend("dragEnd2");
+ treeNode.setOndragenter("dragEnter2");
+ treeNode.setOndragexit("dragExit2");
+ treeNode.setOndragstart("dragStart2");
+ treeNode.setOndrop("drop2");
+ treeNode.setOndropend("dropEnd2");
+
+ assertEquals("dragEnd2", treeNode.getOndragend());
+ assertEquals("dragEnter2", treeNode.getOndragenter());
+ assertEquals("dragExit2", treeNode.getOndragexit());
+ assertEquals("dragStart2", treeNode.getOndragstart());
+ assertEquals("drop2", treeNode.getOndrop());
+ assertEquals("dropEnd2", treeNode.getOndropend());
+
+ tree.setOndragend(null);
+ tree.setOndragenter(null);
+ tree.setOndragexit(null);
+ tree.setOndragstart(null);
+ tree.setOndrop(null);
+ tree.setOndropend(null);
+
+ assertEquals("dragEnd2", treeNode.getOndragend());
+ assertEquals("dragEnter2", treeNode.getOndragenter());
+ assertEquals("dragExit2", treeNode.getOndragexit());
+ assertEquals("dragStart2", treeNode.getOndragstart());
+ assertEquals("drop2", treeNode.getOndrop());
+ assertEquals("dropEnd2", treeNode.getOndropend());
+
+ }
}
More information about the richfaces-svn-commits
mailing list