Author: lektran
Date: Sat Jul 4 13:34:18 2009
New Revision: 791126
URL: http://svn.apache.org/viewvc?rev=791126&view=rev
Log:
Add to new attributes to the Menu Widget's link element:
request-confirmation - if set to true displays a dialog requesting
confirmation from the user before proceeding
confirmation-message - the confirmation request message to be
displayed if the above is set to true
This removes the need to put javascript inside the menu widget when
requesting confirmation
Modified:
ofbiz/trunk/framework/widget/dtd/widget-menu.xsd
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/
HtmlMenuRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/
ModelMenuItem.java
Modified: ofbiz/trunk/framework/widget/dtd/widget-menu.xsd
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-menu.xsd?rev=791126&r1=791125&r2=791126&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-menu.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-menu.xsd Sat Jul 4
13:34:18 2009
@@ -210,6 +210,16 @@
</xs:restriction>
</xs:simpleType>
</xs:attribute>
+ <xs:attribute name="request-confirmation" default="false">
+ <xs:annotation><xs:documentation>If true then the user
is presented with a dialog box requesting confirmation prior to
proceeding</xs:documentation></xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="confirmation-message"
type="xs:string"><xs:annotation><xs:documentation>The message
displayed when request-confirm is set to true</xs:documentation></
xs:annotation></xs:attribute>
</xs:attributeGroup>
<xs:element name="parameter">
<xs:complexType>
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/
HtmlMenuRenderer.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java?rev=791126&r1=791125&r2=791126&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/
HtmlMenuRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/
HtmlMenuRenderer.java Sat Jul 4 13:34:18 2009
@@ -453,12 +453,29 @@
writer.append(" href=\"");
if ("hidden-form".equals(linkType)) {
- writer.append("javascript:document.");
- writer.append(uniqueItemName);
- writer.append(".submit()");
+ if (link.getRequestConfirmation()) {
+
writer.append("javascript:confirmActionFormLink('");
+ writer.append(link.getConfirmationMsg(context));
+ writer.append("', '");
+ writer.append(uniqueItemName);
+ writer.append("')");
+ } else {
+ writer.append("javascript:document.");
+ writer.append(uniqueItemName);
+ writer.append(".submit()");
+ }
} else {
+ if (link.getRequestConfirmation()) {
+ writer.append("javascript:confirmActionLink('");
+ writer.append(link.getConfirmationMsg(context));
+ writer.append("', '");
+ WidgetWorker.buildHyperlinkUrl(writer, target,
link.getUrlMode(), link.getParameterList(), link.getPrefix(context),
+ link.getFullPath(), link.getSecure(),
link.getEncode(), request, response, context);
+ writer.append("')");
+ } else {
WidgetWorker.buildHyperlinkUrl(writer, target,
link.getUrlMode(), link.getParameterList(), link.getPrefix(context),
link.getFullPath(), link.getSecure(),
link.getEncode(), request, response, context);
+ }
}
writer.append("\">");
}
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/
ModelMenuItem.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java?rev=791126&r1=791125&r2=791126&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/
ModelMenuItem.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/
ModelMenuItem.java Sat Jul 4 13:34:18 2009
@@ -601,6 +601,8 @@
protected boolean encode = false;
protected String linkType;
protected List<WidgetWorker.Parameter> parameterList =
FastList.newInstance();
+ protected boolean requestConfirmation = false;
+ protected FlexibleStringExpander confirmationMsgExdr;
public Link(Element linkElement, ModelMenuItem
parentMenuItem) {
this.linkMenuItem = parentMenuItem;
@@ -625,6 +627,8 @@
for (Element parameterElement: parameterElementList) {
this.parameterList.add(new
WidgetWorker.Parameter(parameterElement));
}
+
setRequestConfirmation
("true".equals(linkElement.getAttribute("request-confirmation")));
+
setConfirmationMsg(linkElement.getAttribute("confirmation-message"));
}
public Link(ModelMenuItem parentMenuItem) {
@@ -640,6 +644,7 @@
setSecure("");
setEncode("");
setName("");
+ setConfirmationMsg("");
}
public void renderLinkString(Appendable writer, Map<String,
Object> context, MenuStringRenderer menuStringRenderer) throws
IOException {
@@ -718,6 +723,14 @@
public List<WidgetWorker.Parameter> getParameterList() {
return this.parameterList;
}
+
+ public boolean getRequestConfirmation() {
+ return this.requestConfirmation;
+ }
+
+ public String getConfirmationMsg(Map<String, Object>
context) {
+ return this.confirmationMsgExdr.expandString(context);
+ }
public void setText(String val) {
String textAttr = UtilFormatOut.checkNull(val);
@@ -780,6 +793,14 @@
public void setImage(Image img) {
this.image = img;
}
+
+ public void setRequestConfirmation(boolean val) {
+ this.requestConfirmation = val;
+ }
+
+ public void setConfirmationMsg(String val) {
+ this.confirmationMsgExdr =
FlexibleStringExpander.getInstance(val);
+ }
public ModelMenuItem getLinkMenuItem() {
return linkMenuItem;