Author: abelevich
Date: 2007-11-15 10:48:28 -0500 (Thu, 15 Nov 2007)
New Revision: 4008
Modified:
trunk/ui/modal-panel/src/main/config/component/modalPanel.xml
trunk/ui/modal-panel/src/main/java/org/richfaces/renderkit/ModalPanelRendererBase.java
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanelBorders.js
trunk/ui/modal-panel/src/main/templates/org/richfaces/htmlModalPanel.jspx
Log:
add onresize, onmove, onbeforeshow client events
Modified: trunk/ui/modal-panel/src/main/config/component/modalPanel.xml
===================================================================
--- trunk/ui/modal-panel/src/main/config/component/modalPanel.xml 2007-11-15 14:45:23 UTC
(rev 4007)
+++ trunk/ui/modal-panel/src/main/config/component/modalPanel.xml 2007-11-15 15:48:28 UTC
(rev 4008)
@@ -135,6 +135,24 @@
<defaultvalue><![CDATA[""]]></defaultvalue>
</property>
<property>
+ <name>onmove</name>
+ <classname>java.lang.String</classname>
+ <description> Event must occurs before panel moved </description>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
+ </property>
+ <property>
+ <name>onresize</name>
+ <classname>java.lang.String</classname>
+ <description>Event must occurs before panel resized </description>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
+ </property>
+ <property>
+ <name>onbeforeshow</name>
+ <classname>java.lang.String</classname>
+ <description> Event must occurs before panel opened</description>
+ <defaultvalue><![CDATA[""]]></defaultvalue>
+ </property>
+ <property>
<name>showWhenRendered</name>
<classname>boolean</classname>
<description> If "true" value for this attribute makes a modal panel
opened as default. </description>
Modified:
trunk/ui/modal-panel/src/main/java/org/richfaces/renderkit/ModalPanelRendererBase.java
===================================================================
---
trunk/ui/modal-panel/src/main/java/org/richfaces/renderkit/ModalPanelRendererBase.java 2007-11-15
14:45:23 UTC (rev 4007)
+++
trunk/ui/modal-panel/src/main/java/org/richfaces/renderkit/ModalPanelRendererBase.java 2007-11-15
15:48:28 UTC (rev 4008)
@@ -120,6 +120,12 @@
variables.setVariable("onshow", onshow);
String onhide =
ScriptUtils.toScript(panel.getAttributes().get("onhide"));
variables.setVariable("onhide", onhide);
+ String onbeforeshow =
ScriptUtils.toScript(panel.getAttributes().get("onbeforeshow"));
+ variables.setVariable("onbeforeshow", onbeforeshow);
+ String onmove =
ScriptUtils.toScript(panel.getAttributes().get("onmove"));
+ variables.setVariable("onmove", onmove);
+ String onresize =
ScriptUtils.toScript(panel.getAttributes().get("onresize"));
+ variables.setVariable("onresize", onresize);
}
Modified:
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
===================================================================
---
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2007-11-15
14:45:23 UTC (rev 4007)
+++
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2007-11-15
15:48:28 UTC (rev 4008)
@@ -211,8 +211,17 @@
if (this.options.onhide && this.options.onhide != ""){
this.eventOnHide = new
Function("event",this.options.onhide).bindAsEventListener(this);
}
+ if(this.options.onbeforeshow){
+ this.eventOnBeforeShow = new
Function("event",this.options.onbeforeshow).bindAsEventListener(this);
+ }
+ if(this.options.onmove){
+ this.eventOnMove = new
Function("event",this.options.onmove).bindAsEventListener(this);
+ }
+ if(this.options.onresize){
+ this.eventOnResize = new
Function("event",this.options.onresize).bindAsEventListener(this);
+ }
+
-
ModalPanel.panels.push(this);
this.eventFirstOnfocus = this.firstOnfocus.bindAsEventListener(this);
@@ -456,8 +465,8 @@
},
show: function(opts) {
+ if(this.eventOnBeforeShow) this.eventOnBeforeShow(event);
this.preventFocus();
-
var element = $(this.id);
if (!this.floatedToBody) {
this.parent = element.parentNode;
Modified:
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanelBorders.js
===================================================================
---
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanelBorders.js 2007-11-15
14:45:23 UTC (rev 4007)
+++
trunk/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanelBorders.js 2007-11-15
15:48:28 UTC (rev 4008)
@@ -77,7 +77,18 @@
var dy = evtY - this.dragY;
if (dx != 0 || dy != 0) {
- var diff = this.sizer.doDiff(dx, dy);
+
+ var id = this.id;
+
+ if (id.indexOf('panelHeader') > 0) {
+ var eventOnMove = this.modalPanel.eventOnMove;
+ if(eventOnMove) eventOnMove(event);
+ } else {
+ var eventOnResize = this.modalPanel.eventOnResize;
+ if(eventOnResize) eventOnResize(event);
+ }
+
+ var diff = this.sizer.doDiff(dx, dy);
var vetoes = this.modalPanel.doResizeOrMove(diff);
if (!vetoes.x) {
Modified: trunk/ui/modal-panel/src/main/templates/org/richfaces/htmlModalPanel.jspx
===================================================================
--- trunk/ui/modal-panel/src/main/templates/org/richfaces/htmlModalPanel.jspx 2007-11-15
14:45:23 UTC (rev 4007)
+++ trunk/ui/modal-panel/src/main/templates/org/richfaces/htmlModalPanel.jspx 2007-11-15
15:48:28 UTC (rev 4008)
@@ -134,6 +134,9 @@
onshow: #{onshow},
onhide: #{onhide},
+ onmove: #{onmove},
+ onresize: #{onresize},
+ onbeforeshow: #{onbeforeshow},
keepVisualState: #{component.keepVisualState},
showWhenRendered: #{component.showWhenRendered},
Show replies by date